Representação da Informação Faculdade de Ciências Aplicadas e Sociais de Petrolina - FACAPE Ciência da Computação Professora: Cynara Carvalho E-mail: [email protected] Introdução Os sistemas de computação trabalham com o sistema de numeração binário. Onde cada símbolo 0 ou 1 da numeração binária é chamado de dígito binário. BInary digT = BIT “Bit é a menor unidade da informação” Entendo os Bits... Para entender como o sistema faz isso, imagine a existência dos faróis traseiros de um veículo... • Você vai trabalhar pela manhã no seu carro e tem outro carro na sua frente. • As lâmpadas apresentam dois estados possíveis: acessa e apagada. Carro andando em frente 0 0 Carro andando em frente Carro virando à direita 0 1 Carro virando à direita Carro virando à esquerda 1 0 Carro virando à esquerda Carro parado 1 1 Carro parado Entendo os Bits... O computador, sendo um equipamento eletrônico, armazena e movimenta as informações internamente sob forma eletrônica; tudo o que faz é reconhecer dois estados físicos distintos, produzidos pela eletricidade, pela polaridade magnética ou pela luz refletida – em essência, eles sabem dizer se um “interruptor” está ligado ou desligado, a presença ou ausência de energia e ainda verdadeiro ou falso. O – desligado – ausência - falso 1 – ligado – presença - verdadeiro Entendo os Bits... Para que a máquina pudesse representar eletricamente todos os símbolos utilizados na linguagem humana, seriam necessários mais de 100 diferentes valores de tensão (ou de corrente). Então como foi resolvido este impasse de quantidade de bits necessários para representar as várias e possíveis necessidades humanas de números, símbolos e etc.? Entendo os Bits... Um bit pode representar apenas 2 símbolos (0 e 1), mas teve a necessidade de uma unidade maior, formada por um conjunto de bits, para representar números e outros símbolos, como os caracteres e os sinais de pontuação que usamos nas linguagens escritas. Unidade maior (grupo de bits) - precisa ter bits suficientes para representar todos os símbolos que possam ser usados: – dígitos numéricos, – letras maiúsculas e minúsculas do alfabeto, – sinais de pontuação, – símbolos matemáticos e assim por diante. Entendo os Bits... Necessidade: Entendo os Bits... Capacidade de representação: 8 256 Entendo os Bits... BYTE (BinarY TErm) Com 8 bits, podemos arranjar 256 configurações diferentes: • Dá para 256 caracteres, ou para números de 0 a 255, por exemplo. • Todas as letras, números e outros caracteres são codificados e decodificados pelos equipamentos através dos bytes que os representam, permitindo, dessa forma, a comunicação entre o usuário e a máquina. Entendo os Bits... Exemplo: Um livro com 250 páginas tem aproximadamente 1.000.000 de caracteres (letras, símbolos e espaços em branco), caso fossemos modelar esses caracteres em bytes esse texto seria representado então por 1.000.000 de bytes, ou melhor, o tamanho desse texto para o computador seria 1.000.000 de bytes... Sendo assim, para facilitar a contagem dos bytes foram denominadas unidades de medidas de bytes conforme tabela: Entendo os Bits... Quantidade de Bytes Valor Aproximado 1.024 B 1.000 B 1 KB – KILOBYTE 1.048.576 B 1.000.000 B 1 MB – MEGABYTE 1.073.741.824 B 1.000.000.000 B 1 GB – GIGABYTE 1.099.511.627.776 B 1.000.000.000.000 B 1 TB - TERABYTE Existem também outras denominações: Nome Nybble: 4 bits Word(Palavra): 16 bits Double Word: 32 bits Quad Word: 64 bits Representação de Símbolos O sistema de numeração binário só consegue representar números (0 e 1), então como o sistema de computação consegue trabalhar com outros tipos de dados é necessário utilizar um sistema de codificação para representar esses dados. Na década de 60 surgiu a necessidade de os computadores comunicarem-se (trocarem informações). Por esse motivo, surgiram padrões de codificação. Esses padrões consistem em tabelas com grupos de bits que representam determinados caracteres. Representação de Símbolos Codificação BCD O código BCD (Binary Codec Decimal) foi um dos primeiros a ser usado e foi criado pela IBM. A codificação BCD utiliza apenas letras maiúsculas mais alguns poucos símbolos. Rapidamente tornou-se inadequado pela necessidade de letras maiúsculas e minúsculas. Representação de Símbolos Codificação EBCDIC Para resolver o problema do código BCD, a IBM criou a codificação EBCDIC (Extended Binary Codec with Decimal Interchange Code), que usa oito bits para representar os caracteres, permitindo 256 símbolos. O único problema dessas codificações é que ficaram restritas aos equipamentos criados pela IBM. Representação de Símbolos Codificação ASCII A ANSI (American National Institute) criou em 1963 a codificação ASCII (American Standard Codec for Information Interchange) com o intuito de que ela fosse um padrão para indústria de computadores. Foi idealizada utilizando 8 bits, dos quais 7 eram utilizados para representar caracteres (128 símbolos) e 1 era utilizado com uma função especial (paridade). Com o tempo a necessidade do bit especial perdeu a importância e a IBM criou um novo código ASCII, com os 8 bits podendo então representar até 256 símbolos, mas mantendo compatibilidade com o ASCII original. Representação de Símbolos Unicode Com a disseminação dos computadores surgiu a necessidade de representar caracteres diferentes daqueles apresentados pelas tabelas ASCII por exemplo, para isso foi criado o Unicode, um código desenvolvido por um consórcio de empresas (IBM, Apple, Microsoft, Nokia, HP, America On Line e outras) e especialistas. Esse código utiliza 16 bits (2 bytes) e permite a representação de 65.536 símbolos, essa quantidade é suficiente para representar a maioria dos caracteres e símbolos em vários alfabetos, tornando-se ideal para um padrão mundial. O Unicode representa uma grande quantidade de símbolos diferentes, entre eles os alfabetos árabe, grego, hebraico, japonês, latino, formas geométricas, padrões Braile, setas e símbolos matemáticos e musicais entre outros. Para conhecer basta acessar: www.unicode.org Representando Imagens e Sons Imagens Como representar imagens? Para uma imagem ser trabalhada no computador é necessário adequá-la ao modelo de numeração binária, como é feito com os caracteres. Representando Imagens e Sons Imagens Exemplificaremos abaixo uma imagem preto e branco onde: representa ao bit O representa o bit 1. Então poderemos calcular o tamanho desta imagem sendo 10 linhas de 8 bits temos 80 bits o que equivale a 10 bytes. 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 0 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 Representando Imagens e Sons Imagens Já nas imagens coloridas deve-se levar em consideração que a imagem continuará sendo representada por pontos, mas eles assumirão cores diferentes, na qual uma combinação de bits representará uma determinada cor. 000 011 010 100 111 001 110 101 111 001 110 101 000 011 010 100 1 ponto 3 bits 1 linha 4 pontos 12 bits Figura 4 linhas 48 bits 6 bytes O número de bits utilizados para representar as cores de cada ponto é conhecido como PROFUNDIDADE DA COR, quanto mais bits por ponto, mais cores serão representadas. Representando Imagens e Sons Formato das Imagens Quando uma imagem é codificada em um sistema de computação ela pode assumir diferentes tipos de formatos, que na verdade são padrões de codificação. Alguns tipos são: • Windows Bitmap (BMP): formato que utiliza o processo que acabamos de conhecer, o tamanho de uma imagem é proporcional ao seu número de pontos e profundidade de cor. Representando Imagens e Sons • Graphics Interchange Format (GIF): formato que utiliza o algoritmo de compressão de dados, com isso consegue apresentar a mesma imagem, mas com um tamanho menor e sem perda de qualidade. O único problema é que na compressão só é possível no máximo 256 cores, o que pode modificar um pouco da imagem original. • Joint Photographic Experts Group (JPEG): formato que utiliza um algoritmo de compressão de dados que pode gerar imagens menores, mas que, ao mesmo tempo gera alguma perda de qualidade. Representando Imagens e Sons Imagem em Movimento (Vídeo e Animações) Para compreender a representação das imagens em movimento através dos sistemas de computação é necessário compreender como funciona o cinema. Quando várias imagens são apresentadas sucessivamente em uma determinada velocidade, com pequenas variações de movimento entre uma e outra, os nosso olhos são enganados e entendem que a imagem está em movimento (no cinema são 24 imagens por segundo, no computador são 30). Portanto uma imagem em movimento é na verdade uma sucessão de imagens estáticas, apresentadas a uma velocidade e é dessa forma que deve ser trabalha para que seja representada pelo sistema de computação. Representando Imagens e Sons A partir desta constatação é possível realizar o seguinte cálculo: • Cada imagem do filme -> 800 x 600(tela inteira do computador) • Profundidade de cor -> 24bits • Tamanho de cada quadro do filme -> 800 x 600 x 24 = 11.520.000 bits • Velocidade: 30 quadros por segundo -> 1 segundo de filme tem 345600000 bits • Um filme em média de duas horas (7.200 segundos) • Tamanho do filme: 311 GB Representando Imagens e Sons Imagem em Movimento (Vídeo e Animações) O tamanho obtido é exageradamente grande. Para evitar esse problema é utilizado o Codec (Codificador/Decodificador), um dispositivo de hardware ou um programa que codifica os dados, nesse processo os dados são comprimidos de modo que os dispositivos existentes possam armazenar e manipular essa imagem em movimento. Alguns são: • MPEG (Moving Picture Expert Group): os padrões MPEG utilizam a técnica de armazenar somente os quadros principais da imagem em movimento e prevêm como seriam os quadros intermediários analisando as alterações ocorridas. Representando Imagens e Sons Imagem em Movimento (Vídeo e Animações) Os padrões MPEG são: • MPEG-1: padrão usado para Vídeo CD, qualidade menor que a fita de videocassete. • MPEG-2: lançado em 1994 é o padrão utilizado para televisão digital e para DVD. • MPEG-4: lançado em 1998 é o padrão utilizado para distribuição de vídeo pela Internet e conversação (videoconferência). Representando Imagens e Sons Imagem em Movimento (Vídeo e Animações) • QuickTime: padrão desenvolvido pela Apple, primeiramente para seus computadores Macintosh, utilizados diferentes formas de compactação de vídeo. • AVI (Audio Video Interleave): padrão para compressão de vídeo definido pela Microsoft, que armazena os dados de um quadro e, a partir dele armazena apenas o que é diferente nos quadros seguintes. • DivX: padrão de compressão de vídeo derivado do MPEG4, permite que um filme gravado em DVD com aproximadamente 6 GB passe a ter em torno de 600 MB. Representando Imagens e Sons Som O sons são ondas que trafegam pelo ar e chegam aos ouvidos ou ao microfone do sistema de computação. Essas ondas não apresentam valores binários, mas valores analógicos. A codificação desse sinal analógico em digital é chamada de Digitalização do Som. Para sons (músicas) também são utilizados alguns Codecs para compressão de áudio, por exemplo: MP3, WMA, Ogg Vorgis, AAC e etc. que podem reduzir esses tamanhos. Desafio O1_ Qual será o tamanho desta imagem em bytes? Tendo profundidade da Cor: 4 bits. Imagem composta por 20 linhas e 20 colunas. Desafio O1_ Qual será o tamanho desta imagem em bytes? Tendo profundidade da Cor: 4 bits Na imagem anterior temos uma imagem composta por 20 linhas e 20 colunas onde em cada ponto possui então 4 bits... A conta deve ser a seguinte 20 x 20 x 4 = 1600 bits , mas cada byte é formado por 8 bits temos então... Uma imagem com tamanho de 200 bytes. Desafio O2_ A Empresa ART’S está produzindo um filme e contratou você para ajudá-lo na parte de conversão e cálculos... Logo sabemos que o filme será rodado em telas de tamanho 300 x 400 e que utilizará um sistema de cores de 16 bits, será utilizado ainda 45 quadros por segundo para ter um efeito melhor que o cinema, não podemos esquecer que será um curta de 30 minutos.... Fazendo as contas qual será o tamanho deste filme em bytes? Desafio O2_Fazendo as contas qual será o tamanho deste filme em bytes? Cada imagem: 300 x 400 x 16 = 1.920.000 bits Cada segundo: 45 x 1.920.000 = 846.00.000 bits 30 minutos tem: 30 x 60 = 1800 segundos O curta tem: 846.000.000 x 1800 = 155.520.000.000 bits Tamanho do curta: 19.440.000.000 bytes ou 19,44GB