documento

Document Sample
documento Powered By Docstoc
					      UNIVERSIDADE FEDERAL DE PERNAMBUCO
          CENTRO DE INFORMÁTICA – CIn
         INTRODUÇÃO À MULTIMÍDIA – IF687




JPEG, GIF ANIMADO E EDITORES




                               ALEXANDRE BARZA (ab@cin.ufpe.br)
                CASSIO DE ALBUQUERQUE MELO (cam2@cin.ufpe.br)
                        EDMAR CASSIANO PRISCO (ecp@cin.ufpe.br)
                      THIAGO JOSÉ MOREIRA LINS (tjml@cin.ufpe.br)




              21 DE AGOSTO DE 2006.
JPEG, GIF animado e editores

Sumário


1. Introdução JPEG - Motivação
2. Objetivos
3. História (e curiosidades)
4. Funcionamento
5. Aplicações
6. Ferramentas




1. Introdução GIF - Motivação
2. Objetivos
3. História (e curiosidades)
4. Funcionamento
5. Aplicações
6. Ferramentas


Conclusão




                                 2
JPEG

1. Introdução


O uso de imagens no computador é cada vez mais comum e essencial para as diversas
atividades. O uso das figuras pode representar uma maneira de transmitir ideias, como uma
forma de esclarecer determinados assuntos que até então seria incompreensíveis se não
houvesse o mesmo. As figuras são dados que podem assumir uma característica peculiar a
determinado contexto. Na construção de um site, por exemplo, o seu uso pode ser meramente
decorativa, ou então um meio de comunicação ou qualquer outra caracteristica que possa
representar. A presença da tecnologia para o formato de imagens vem contribuindo para a sua
diferenciação nos diversos tipos de arquivos. Uma imagem é formada por uma série de pontos
(pixels) na horizontal e na vertical. Para poder transmitir eletronicamente ou arquivar uma
imagem, é preciso gravá-la num ficheiro, segundo um certo padrão, de modo a poder restaurá-
la posteriormente. Ao longo dos anos, foram desenvolvidos muitos padrões, de acordo com as
necessidades ou interesses comerciais de empresas ou instituições. Muitos destes formatos,
tais como: GIF, BMP, TIFF e JPEG, estão disponíveis na maioria dos programas gráficos.


O formato JPEG (Joint Photographers Expert Group) é um tipo de arquivo para
armazenamento de imagens que pode trabalhar com esquema de cores de 24 bits, ou seja,
esse formato aceita 16,8 milhões de cores. Ele foi criado em por um comitê para projetar a
compressão de imagens de sujeitos reais, tais como fotos, tanto coloridas quanto em escala de
cinza. O JPEG tem como característica intrínseca a perda de qualidade da imagem, ou seja,
uma imagem descomprimida não é exatamente igual à original.


2. Objetivos


O JPEG surgiu com o propósito de comprimir imagens. Ele utiliza um algoritmo de
compactação que se baseia na capacidade do olho humano. No entanto, mesmo sabendo-se
que arquivos em JPEG podem trabalhar com até 16,8 milhões de cores, o olho humano não é
capaz de enxergar todas elas de uma vez. Assim, é possível tirar uma série de informações
que representam cores em imagens e manter apenas aquelas visíveis ao olho humano. Em
outras palavras, o formato JPEG exclui da imagem aquilo que os humanos não conseguem
ver. Esse processo é conhecido como compressão. Isso faz com que imagens bastante
realistas sejam criadas, ao mesmo tempo em que esses arquivos não ficam pesados. Algo
interessante no JPEG, é que os arquivos podem ter diferentes níveis de compressão.Quanto
mais compressão, menor o tamanho do arquivo. Porém, quanto maior a compressão, maior
será a perda de informação. O JPEG é muito eficiente em imagem de tons contínuos, tais
como fotografias, e menos eficiente em gráficos ou line art, onde a quantidade de tons
diferentes é menor. O formato JPEG é adequado para distribuir imagens que tenham variações


                                             3
de cor suaves. É quase sempre a escolha acertada para distribuir fotografias na Internet. Ele
não funciona bem com imagens que tenham transições rápidas de cor, como linhas muito bem
definidas e áreas de cor uniforme. Ele tende sempre a suavizar as variações de cor.


O JPEG permite graus de compressão de 10:1 a 20:1 sem perdas visíveis na qualidade da
imagem. Graus de compressão de 30:1 a 50:1 podem ser atingidos com perda moderada de
qualidade, enquanto imagem com qualidade baixa podem ser geradas permitindo uma
compressão de 100:1.Uma desvantagem do JPEG é que a imagem normalmente perde
qualidade a cada vez que o arquivo é salvo. Os arquivos em JPEG têm a extensão .jpg.


3. História


O Joint Photoghaphic Experts Group foi criado por um grupo de especialistas que resolveu
reunir-se para estabelecer um método de compressão de imagens adequado à representação
de fotografias, que gerasse ficheiros de tamanho reduzido. Surgiu então o JPEG ou
simplesmente JPG. Deve-se salientar que não existe o formato JPEG,pois este é um método
de compressão, apesar que no decorrer do documento, nos referimos JPEG também como um
tipo de formato. Em muitas fontes de pesquisa sobre JPEG, alguns autores referem a ele tanto
como formato, como um método de compressão. Tecnicamente, a imagem que chamamos de
JPEG deveria ser chamada de JFIF (JPEG File Interchange Format), ou seja, imagem JFIF
comprimida em JPEG. A compressão em JPEG utiliza sempre um processo destrutivo (à
exceção do JPEG2000), no qual as cores dos pixels são trocadas por outras, de forma a
simplificar a imagem e obter um ficheiro reduzido. Por ser destrutivo, raramente é utilizado em
aplicações em que a qualidade máxima é esperada.


4. Funcionamento


4.1 Transformação do espaço de cores (color space transformation)


Primeiramente, a imagem é convertida do padrão RGB, para um espaço de cores diferente,
chamado de YCbCr. Este padrão é similar, por exemplo, aos padrões de cores NTSC e PAL-M,
que são usados para transmissão em sinais de televisão, mas tem um comportamento
parecido com o sistema de transmissão MAC.


       O componente Y representa o brilho (brightness) de um pixel;
       Os componentes Cb e Cr juntos representam a variação de cores (chrominance) de
        cada pixel.




                                              4
Este sistema de codificação é útil porque o olho humano pode ver mais detalhes no
componente Y do que nos componentes Cb e Cr. Partindo deste princípo, os codificadores
podem realizar a compressão de imagens de uma forma mais eficiente.


4.2 Downsampling


O olho humando pode ver mais detalhes no componente Y do que nos componentes Cb e Cr.
Usando este conhecimento, os codificadores podem ser projetados para comprimir imagens de
uma maneira mais eficiente. A transformação acima habilita o próximo passo, que é o de
"reduzir" os componentes (esta operação é chamada de "downsampling"). As razões de
compressão que podem ser usadas com o "downsampling" são 4:4:4 (sem downsampling),
4:2:2 (a redução a um fator de 2 na direção horizontal), e a mais comum que é a razão 4:2:0
(redução a um fator de 2 nas direções horizontal e vertical). Para o resto do processo de
compressão, Y, Cb e Cr são processados separadamente e de uma maneira bastante similar.


4.3 Discrete cosine transformation (ou "transformação discreta de cosseno")


A seguir, cada componente (Y, Cb, Cr) da imagem é "cortado" em seções de oito por oito pixels
cada, então cada pedaço é convertido para o espaço de frequência usando uma transformação
discreta de cosseno bi-dimensional (DCT, tipo II). O exemplo a seguir ilustra melhor este
processo:




                                             5
A matriz é transformada por 128 resultados em:




E então, recebe a transformação, e tem seus valores arredondados para o inteiro mais
próximo, em:




Observe o maior valor da matriz, localizado no canto esquerdo, ao topo. Este valor é chamado
de coeficiente de transformação.


4.4 A operação de quantização


O olho humano é muito bom para captar pequenas diferenças quanto ao brilho sobre uma
determinada área de uma imagem, mas não é tão bom para distinguir a força exata de uma
variação de brilho de alta freqüência. Este fato permite a redução de informação dos
componentes. Isto é feito simplesmente dividindo cada componente no domínio de freqüência,
por uma constante para aquele componente, e então realizando aproximações para o inteiro
mais próximo. Esta é a operação que sofre mais perdas em todo o processo. Como resultado
da operação, é tipicamente o caso em que muitos dos componentes de alta freqüência sofrem
aproximação para zero, e muitos do resto se tornam números positivos ou negativos de valor
pequeno.



                                             6
Uma matriz de quantização bastante comum é:




Usando essa matriz de quantização com o coeficiente da transformação apresentada no item
anterior, teremos como resultado a seguinte matriz:




Por exemplo, usando -415 como o coeficiente de transformação, e arredondando para o inteiro
mais próximo:




4.5 Codificação entrópica


A codificação entrópica é uma forma de compressão de dados sem perdas. Esta operação
envolve o arranjo dos componentes da matriz numa ordem alternada (em "zigue-zague"),
obedecendo a especificação do algoritmo RLE, que envolve o agrupamento de freqüências
similares, inserindo zeros na codificação, e depois é aplicada a codificação de Huffman nos
componentes restantes. O padrão JPEG também permite, mas não requer, o uso de
codificação aritmética, que é matematicamente superior à codificação de Huffman. Entretanto,
esta característica é raramente usada pelo fato de ser protegida por patentes, e também


                                              7
porque seu desempenho deixa a desejar quanto à codificação e decodificação, comparada
com a codificação de Huffman. A codificação aritmética também torna os arquivos cerca de 5%
menores.


Como exemplo, vamos tomar a matriz obtida como resultado na operação de quantização. A
seqüência de zigue-zague dos seus elementos, será algo igual a:


-26, -3, 0, -3, -2, -6, 2, -4, 1, -4, 1, 1, 5, 1, 2, -1, 1, -1, 2, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.


JPEG tem uma codificação especial de palavras de Huffman para finalizar a seqüência
prematuramente quando os coeficientes restantes são iguais a zero. Usando a seguinte
palavra, EOB, a seqüência fica dessa forma:


-26, -3, 0, -3, -2, -6, 2, -4, 1, -4, 1, 1, 5, 1, 2, -1, 1, -1, 2, 0, 0, 0, 0, 0, -1, -1, EOB.


As outras palavras-código de JPEG representam as combinações de (a) o número de bits
significantes de um coeficiente, incluindo sinais, e (b) o número de coeficientes consecutivos de
valor igual a zero subseqüentes. (Uma vez que você sabe o número de bits esperados, é gasto
apenas um bit para representar as escolhas {-1, +1}, dois bits para representar as escolhas {-3,
-2, +2, +3}, e assim por diante.) No nosso exemplo, a maioria dos coeficientes quantizados são
números pequenos, que não são seguidos imediatamente por um coeficiente de valor igual a
zero. Estes casos mais frequentes serão representados por pequenas palavras-código. O
padrão JPEG fornece tabelas de Huffman de propósito-geral; e os codificadores também
podem escolher por gerar tabelas de Huffman otimizadas para as distribuições reais de
frequência nas imagens que estão sendo codificadas.


4.6 Artefatos e taxas de compressão


A taxa resultante de compressão pode ser variável de acordo com a necessidade de ser mais
ou menos agressivo nos divisores usado na fase de quantização. A taxa de compressão de dez
para um normalmente resulta numa imagem que não pode ser distinguida da original pelo olho
humano. A compressão de 100 pra um também é possível, mas parecerá distintamente
"artificial" comparada com a original. O nível apropriado de compressão depende do uso a que
a imagem se submeterá.


O usuários da internet podem estar familiarizados com as irregularidades conhecidas como
"artefatos    de compressão" que aparecem                   nas   imagens      digitalizadas     JPEG. Estas
irregularidades são devido à operação de quantização no algoritmo de JPEG. São notadas
especialmente na região dos olhos, em fotografias de rostos. Elas podem ser reduzidas




                                                        8
escolhendo um nível baixo de compressão; elas podem ser eliminadas salvando uma imagem
num formato de arquivo sem perdas, embora, para imagens fotográficas, isso resulte num
arquivo de grande tamanho. Os artefatos de compressão fazem dos JPEGs de baixa qualidade
inapropriados para armazenar mapeamentos de relevo. As imagens criadas com programas de
ray-tracing apresentam formas irregulares no terreno.


Alguns programas permitem ao usuário variar a taxa de compressão de cada bloco de imagem.
Compressão mais poderosa é aplicado à áreas da imagem que mostram menos artefatos.
Desta forma, é possível fazer um arquivo de tamanho pequeno, porém com boa qualidade.


4.7 Decodificação


A decodificação para a exibição da imagem consiste em fazer todos os passos acima na ordem
inversa.


          Tomando o coeficiente de transformação da matriz (após adicionar a diferença do
           coeficiente de transformação de volta):




          Multiplicando a matriz anterior pela matriz de quantização, teremos como resultado:




                                                     9
   Isto lembra a matrix do coeficiente de transformação. Tomando o inverso do coeficiente
    de transformação, teremos como resultado uma imagem com os valores a seguir:




   Feito isso, adicionamos 128 a cada entrada da matriz:




   Esta é a representação da sub-imagem descomprimida e pode ser comparada com a
    representação da sub-imagem original tomando a diferença dos resultados (original -
    descomprimida) nos valores dos erros.




                                         10
      O "erro" na sub-imagem se torna mais visível na parte mais à esquerda da imagem,
       onde os pixels se tornam mais escuros do que o pixel que vem imediatamente à direita.


5. Aplicações


5.1 Uso de JPEG


JPEG desempenha melhor suas funções, em fotografias, e pinturas de cenas realísticas, com
variações suaves, de tonalidade e cor. Neste caso, normalmente tem resultados muito
melhores do que os métodos de compressão sem perdas, enquanto continua fornecendo uma
imagem de boa qualidade. Na verdade, acabará produzindo resultados muito melhores para
imagens do tipo GIF, que pode ser sem perdas enquanto a imagem contenha 256 cores ou
menos, mas requer severa quantização para imagens com um grande número de cores.


Algumas operações em imagens JPEG, tais como rotações por múltiplos de 90º, podem ser
feitas sem perdas, contanto que a imagem seja um múltiplo de oito pixels em ambas as
direções. Um programa que é capaz de fazer isso, é o utilitário jpegtran que vem na
implementação de JPEG.


JPEG tem um campo de atuação bastante abrangente, como mostra a lista a seguir:


      Na internet, é o formato padrão para a exibição de imagens. Atualmente, tem
       começado a perder espaço para formatos como o PNG, que realiza compressões sem
       grandes perdas e mantêm arquivos com um tamanho similar ao JPEG.


      Quase todos os equipamentos de fotografia digital vendidos nos últimos 10 anos
       suportam o formato JPEG (DCT). O padrão atual continuará a ter uma grande parte no
       mercado de fotografia digital. É esperado que o padrão JPEG continue contribuindo
       para o mercado, enquanto que as câmeras fotográficas digitais continuam a se
       aperfeiçoar.


      JPEG possui muitas características que são bastante utéis para outro de seus muitos
       mercados alvo, o da medicina. Um aspecto principal que frequentemente preocupa a
       área médica é a necessidade de assegurar que as imagens são geradas sem perdas,
       sem nenhuma distorção por parte dos algoritmos de compressão, o que poderia levar a
       um erro na análise do paciente. Isso acaba resultando em arquivos grandes, os quais
       se tornam difíceis de armazenar, e editar. JPEG pode ser usado para codificar
       totalmente (ou parcialmente) sem perdas, e fornece uma boa performance de
       compressão para este propósito.




                                            11
   Os sistemas de comunicação sem fio (wireless), possuem seu próprio conjunto de
    problemas. Mais especificamente, os protocolos de comunicação sem fio são
    caracterizados pela frequente ocorrência de erros ao longo de sua rede de banda
    estreita. Sendo assim, é posta uma grande compressão na transmissão de imagens.
    Uma vez que JPEG fornece alta qualidade na compressão de dados, é um bom
    candidato para aplicações multimídia em redes sem fio. Mais à frente, graças a sua alta
    escalabilidade, JPEG habilita uma grande variedade de estratégias de serviços para os
    operadores de redes sem-fio.


   A questão de imagens para documentos sempre foi um meio-termo entre qualidade e
    compressão. Com o aperfeiçoamento das tecnologias, e a transformação das cores,
    em normas para a publicação de inúmeros formatos, então as expectativas de
    qualidade também aumentaram.         Embora haja freqüentemente um requisito para
    visualizações de documentos na tela com maior eficácia, assim como a habilidade de
    imprimir cópias de alta qualidade do original de um documento, os requerimentos de
    compressão, são por vezes, conflitantes. Muitos documentos possuem áreas que são
    melhor comunicáveis em formatos de codificação de textos (para assim, permitir uma
    otimização na compressão e na indexação), junto com imagens de qualidade
    fotográfica, gráficos e outros tipos de imagens.


   Pre-press é o processo usado para imagens que estão sendo preparadas para
    impressão. Dois requerimentos chave desse processo são a fidelidade e a
    consistência. No passado, a indústria de pre-press era dependente da compressão
    sem perdas de imagens (por exemplo, usando formatos como EPS ou TIFF) e da
    calibração de cores de todos os componentes no processo, usando luminosidade pré-
    definida e condições de visualização para atingir melhores resultados. JPEG oferece
    grandes oportunidades para a indústria de pre-press, para a substituição de seus
    formatos atuais por aspectos mais avançados encontrados no JPEG, e para propôr que
    seu conteúdo possa ser usado para publicações na Internet ou em qualquer outro
    contexto. A mesma imagem em JPEG pode gerar miniaturas (thumbnails),
    visualizações na tela e a impressão de material pronto, simplesmente truncando um
    fluxo preparado de dados em diferentes pontos.


   Os sistemas de informação geográfica, também conhecidos pela sigla GIS, permitem a
    análise e a visualização de múltiplas camadas de informação disposta espacialmente
    associadas a uma locação ou região geográfica. O GIS permite que companhias e
    entidades governamentais analisem facilmente o desenvolvimento, a manutenção e o
    impacto imposto nas estradas, na vegetação, bem como nos recursos fornecidos pela
    região (água, eletricidade, comunicação, sistema de tratamento de esgoto). GIS
    também inclui mapas, informações sobre vetores, e um grande banco de dados de




                                           12
    imagens. A coleção de imagens é comumente alcançada através de sensores remotos
    espalhados pela região. O monitoramento por sensores começou com a fotografia
    aérea em meados do século 19 através do uso de balões. Aviões começaram a ser
    usados para coletar informações a partir do século 20, e a primeira imagem tirada do
    espaço foi a bordo da espaçonave Apolo em 1969. No começo dos anos 70, o primeiro
    satélite de captura de imagens, o ERTS-1 coletou imagens do planeta Terra. As
    imagens continuam a ser coletadas seja do espaço, ou por aviões, e estão disponíveis
    para uso comercial e pessoal na Internet. O desafio para os sensores de
    monitoramento e outras aplicações é principalmente o tamanho de cada imagem.
    Atualmente, é comum ter imagens que são maiores que 10000 por 10000 pixels,
    bandas múltiplas e maiores do que 8 bits por pixel por banda. Enquanto o JPEG está
    atualmente sendo usado para a coleta, armazenamento e entrega de diversas
    aplicações e sistemas de sensores de monitoramento remoto, outras técnicas de
    compressão se tornaram populares graças à grande eficiência de armazenamento e
    acesso de arquivos com um tamanho grande. Os requerimentos originais para o JPEG
    incluem requerimentos dos sensores de monitoramento que foram satisfeitos. Grandes
    profundidades de cor, resoluções, qualidade e acesso rápido a localizações espaciais
    contribuem para a capabilidade e a funcionalidade do JPEG, que o torna uma
    tecnologia ideal para sistemas de monitoramento e aplicações GIS. Como um padrão
    aberto, é esperado que o JPEG prevaleça nas aplicações e nos sistemas de
    monitoramento remoto.


   Muitas instituições de patrimônio cultural, tais como museus e galerias de arte
    possuem coleções bastante extensas que não são abertas para a apreciação do
    grande público, graças a capacidade de exibição dentre outras razões. Projetos, como
    o "NOF-Digitise" no Reino Unido com um orçamento que ultrapassa os $80 milhões,
    estão sendo criados para fornecer recursos para aprendizado on-line, e outras
    soluções para o acesso global. Desastres naturais como o fogo, terremotos e
    enchentes, bem como os problemas causados pela guerra, vandalismo e terrorismo
    mostram a necessidade de preservar este tipo de informação da forma mais eficaz
    possível, caso contrário, todo este patrimônio pode ser pedido permanentemente.
    Adicionalmente, é criticalmente importante o uso de padrões amplamente adotados
    que possuem alguma chance de longecidade em vista das constantes mudanças
    técnologicas. O padrão original JPEG foi criado para tentar indexar muitas das áreas
    que preocupam aos encarregados dos setores de Patrimônio histórico. Dentre elas,
    estão, os principais:




        o   Compressões sem perdas de alta qualidade, e com total gerenciamento dos
            componentes cromáticos do documento em questão;




                                        13
        o   Extensões para a criação de imagens 3D com as mesmas vantagens
            propostas pelo JPEG;


   Um dos usos para JPEG será o de formato base de arquivos para coleções de
    imagens e bancos de dados. Tradicionalmente, as coleções de arquivos armazenam
    cópias múltiplas de arquivos individuais em resoluções variadas e níveis de qualidade
    para que elas possam suportar dados apropriados da imagem a cada pedido.
    Adicionalmente, os metadados considerados são mantidos em cada imagem para
    permitir uma classificação e recuperação mais fácil. Os arquivos do tipo JPEG podem
    ter metadados extensivos armazenados com eles, num ambiente padrão XML.
    Enquanto um metadado de um banco de dados pode ser distribuído para os seus
    usuários, isto permite o intercâmbio dos arquivos de imagem com metadados entre os
    bancos de dados, e exclui a necessidade de uma nova entrada de dados quando é
    feita uma nova catalogação de imagens. Adicionalmente, os arquivos podem ser
    armazenados em alta qualidade num ambiente facilmente gerenciável e sem perdas,
    com conversão para uma resolução mais baixa.


   Um problema principal, pelo menos para o usuário de PC, em vez de um Apple
    Macintosh, tem sido a dificuldade de combinar padrões apropriados do escaneamento
    de imagens, das câmeras digitais, e de outros dispositivos de captura, para as telas de
    monitor e as impressoras. Embora tenha havido um considerável progresso na área, e
    talvez seja possível trabalhar num ambiente com a calibração correta das cores, ainda
    é quase impossível lidar com muitos dos arquivos que o usuário recebe de uma
    maneira eficaz e segura. Com a chegada do JPEG, a situação mudou um pouco, como
    uma parte mandatória dos padrões requer que o equipamento gere arquivos JPEG
    para definir com eficácia como a cor será tratada no arquivo. Enquanto as impressoras
    e os scanners se tornam mais sofisticados, suas capacidades tendem a aumentar. Há
    alguns anos atrás, 600 dpi era considerada uma resolução de alta qualidade para uma
    impressora laser ou jato de tinta. Hoje, as impressoras capazes de imprimir fotografias
    e custando menos de 100 dólares, podem ter resoluções que ultrapassam 4800x1200.
    Os scanners também possuíam baixa qualidade - sendo um pouco maior do que uma
    máquina de fac-símile, por exemplo - agora a maioria dos scanners usam pelo menos
    36 bits para a representação de cores, ou mais. O seu formato de saída deve ser pré-
    processado para 24 bits, que é o que a maioria dos monitores de PC e displays
    suportam. O JPEG pode suportar esse tipo de resolução facilmente - mais importante,
    graças à maneira com que o padrão foi projetado, é fácil de extrair uma versão de
    baixa resolução da imagem para uma stream de dados JPEG para visualização ou
    processamento iniciais, enquanto a imagem original é armazenada para impressão
    subseqüente ou armazenamento. Adicionalmente, enquanto os dispositivos de




                                          14
        armazenamento vão ficando sem espaço livre, se torna apropriado começar a
        comprimir as imagens de alta resolução para ganhar mais espaço, de maneira seletiva
        ou automática. Um slide de 35 mm de uma câmera de qualidade, por exemplo pode ter
        qualidade comparável a uma imagem de 48 bits de cor a uma resolução de 12
        megapixels - isso são quase 72 megabytes. Usando qualquer forma de compressão
        sem perdas (até mesmo o JPEG), isto normalmente requer cerca de 36 megabytes de
        espaço para armazenamento.


6. Ferramentas


Falando-se de JPEG, tem-se uma gama infidável de aplicativos e/ou ferramentas, que lidam
com este tipo de formato de arquivo. Dentre as mais famosas estão os editores de imagens,
tais como o Adobe Photoshop, o Macromedia Fireworks, e o software aberto The GIMP, este
último disponível para diversas plataformas e sistemas operacionais, dentre eles, o Windows, o
Mac OS, e o Linux, entre outros.




                                             15
GIF

1. Introdução


O formato GIF (Graphics Interchange Format) foi criado pela CompuServe em 1987. Ele
trabalha com uma paleta de 256 cores, o que o torna limitado para imagens reais (exceto se a
imgem for Preta e Branca com seus respectivos tons de cinza). Devido a esta característica, o
GIF é muito aplicado na produção de ícones e imagens simples.


Apesar de limitado, o GIF possui características interessantes como o fundo da imagem
transparente, ou seja, a cor de fundo da imagem será a cor de fundo de onde ela está inserida.
Outra característica interessante é a possibilidade de armazenar diversas imagens em um
único arquivo. As imagens são dispostas em seqüência e são exibidas uma após a outra de
acordo com um tempo pré-definido. Isso permite a criação de animações.


O formato de compressão do GIF não altera a sua qualidade a cada salvamento. Seu algoritmo
de compressão aliado à sua paleta reduzida produz imagens de tamanho reduzido e esta era
uma característica desejada na época onde as conexões não passavam de 56Kbps.


2. Objetivos


Mesmo com a popularização da banda larga, o tamanho dos downloads continua sendo crítico
na internet. Páginas muito pesadas causam sensações negativas entre os internautas devido a
lentidão. Além disso, páginas grandes podem se tornar caras caso o webmaster page por
unidade de dado transmitido.


O GIF nasceu objetivando fornecer imagens de alta resolução na internet com tamanho
reduzido. Na época, 1987, a taxa de transmissão na rede era baixa (a banda ainda é estreita
para muitos usuários).


Com exceção do SWF da Adobe, o GIF é o único formato de imagem com animação usado
amplamente. É muito utilizado para produzir pequenas animações e filmes de curta duração e
baixa resolução na internet.


A maioria dos logos e imagens básicas nas páginas da Web são GIF devido seu algoritmo de
compressão funcionar bem para imagens que tenham padrões repetitivos ou grandes blocos
de mesma cor.




                                             16
3. História


O formato GIF foi criado em 1987 pela Compuserve com o objetivo de fornecer um formato de
imagem colorido para a sua área de download de arquivos visando substituir o formato anterior,
RLE, que era preto e branco. O GIF popularizou-se devido o seu algoritmo de compressão, o
LZW, ser mais eficiente que o de outros formatos gráficos da época como o PCX. Por ser mais
eficiente na compressão da imagem, o tempo de download de imagens GIF era bem menor
que o de outros formatos, principalmente se levar em consideração que o bitrate dos modens
da época era uma fração do que é atualmente.


A versão original do GIF foi denominada 87a. Em 1989, a Compuserve liberou uma versão
melhorada chamada de 89a que adicionou suporte a múltiplas imagens num só arquivo,
intercalamento (imagem mostrada em camadas) e a possibilidade de armazenar meta-dados
no cabeçalho do arquivo. Os seis primeiros bytes do arquivo guarda qual a versão que o
arquivo foi salvo, "GIF87a" ou "GIF89a".


Quando a WWW popularizou-se, o GIF juntamente com o XBM foram os formatos de imagem
mais utilizados. O GIF era colorido e o XBM preto e branco.


A versão 89a do GIF possibilitou o armazenamento múltiplas imagens em um único arquivo.
Essa facilidade é utilizada para montar pequenas animações. O intercalamento também foi útil
pois possibilitava o usuário ver prévias da imagem de modo que ele podia abortar o download
da mesma caso visse que não era a imagem que procurava. No início da década de 1990 essa
facilidade foi muito útil devido a baixa velocidade em que os dados trafegavam na rede. Um
ponto negativo do GIF é a sua limitação de cores num único arquivo, apenas 256. A
Compuserve impôs essa limitação por que na época poucos eram os usuários que tinham
acesso a monitores e a placas de vídeo capazes de mostrar 256 cores.


O algoritmo LZW utilizado pelo GIF era patenteado pela Unisys na época em que o GIF foi
desenvolvido pela Compuserve. Ela não sabia que o algoritmo estava sob uma patente. Com a
massificação da internet, em 1994, a Unisys descobriu que o GIF, na época um dos mais
populares formatos de arquivo, utilizava o LZW e resolveu cobrar royalties de todos os
programas que permitiam salvar um arquivo em formato GIF.


Na época, o GIF estava muito difundido e as produtoras de software não tiveram alternativa,
senão pagar. Isso reforçou o desenvolvimento de formatos abertos para imagens como o PNG
(Portable Network Graphics). Em 1999 a Unisys abriu mão de royalties para licensa do
algoritmo LZW para softwares grátis, softwares proprietários não-comerciais e usuários
individuais de softwares não licenciados. Isso se deu devido a pressão exercida pela Liga para
Liberdade de Programação que emcampou uma campanha contra o GIF. A maioria das




                                              17
patentes do LZW tem expirado nos últimos 2 anos o que pode contribuir para um acesso mais
livre a esse tipo de imagem e a todos os arquivos que usam o LZW como algoritmo de
compressão.


4. Funcionamento


4.1 Algoritmo de compressão LZW


LZW (Lempel-Ziv-Welch) é um algoritmo universal de compressão de dados sem perda criado
por Abraham Lempel, Jacob Ziv, e por Terry Welch. Foi publicado por Welch em 1984 como
uma versão melhorada do algoritmo LZ78 publicado por Lempel e por Ziv em 1978. O algoritmo
é projetado pra ser rápido de ser implementado, mas não necessariamente "ótimo" uma vez
que não executa nenhuma análise nos dados.


4.1.1 Descrição do algoritmo


O algoritmo compressor constrói uma tabela de tradução de strings do texto que está sendo
comprimido. A tabela de tradução de string mapeia os códigos de tamanho fixo (geralmente 12-
bit) das strings. A tabela de strings é inicializada com todas as strings de um único-caractere
(256 entradas no caso de caracteres de 8 bits). Enquanto o compressor examina o texto,
armazena cada par de caracteres originais na tabela como uma concatenação do
código/caractere, com o código que é mapeado do primeiro caractere.


Enquanto cada string de dois caracteres é armazenada, o primeiro caractere é colocado para
fora. Sempre que uma string precedente é lida da entrada, o mais longo tal string precedente-
encontrada é determinado, e o código para esta string concatenada com o caractere da
extensão (o caractere seguinte na entrada) é armazenado então na tabela. O código para esta
string precedente-encontrada a mais longa é outputted e o caractere da extensão é usado
como o começo da string seguinte.


O algoritmo do decompressor requer somente o texto comprimido como uma entrada, já que
pode construir uma tabela de string idêntica do texto comprimido enquanto está recriando o
texto   original.   Entretanto,     um    caso     anormal    aparece     sempre      que    o
caractere/string/caractere/string/caractere da seqüência (com o mesmo caractere para cada
caractere e string para cada string) são encontrados na entrada e o caractere/string já estão
armazenados na tabela de string. Quando o decompressor lê o código para o
caractere/string/caractere na entrada, não pode resolvê-la porque não armazenou ainda este
código em sua tabela. Este caso especial pode ser tratado de porque o decompressor sabe
que o caractere da extensão é o caractere precedente encontrado.




                                              18
4.1.2 Usos


O método tornou-se amplamente utilizado na compressão de programas, que tornou mais ou
menos utilidade padrão no circa 1986 dos sistemas Unix. (Tem desaparecido devido à razões
legais e técnicas). Diversas outras utilidades populares da compressão usaram também este
método, ou relacionados.


Tornou-se usado muito extensamente depois que se transformou parte do formato da imagem
do GIF em 1987. Pode (opcionalmente) seja usado também em arquivos TIFF. A compressão
de LZW forneceu uma taxa de compressão melhor, na maioria de suas aplicações, do que
outros métodos disponíveis na época. Transformou-se no primeiro método universal
extensamente usado da compressão de dados em computadores. Comprimia tipicamente
grandes textos na lígua inglesa em aproximadamente à metade dos seus tamanhos originais.


Hoje, uma implementação do algoritmo é utilizada no popular programa Adobe Acrobat.


4.1.3 A patente do algoritmo LZW


O algoritmo da compressão de LZW originalmente foi patenteado pela Unisys Corporation.
Quando a CompuServe desenvolveu primeiramente o formato do GIF, não souberam que LZW
estava coberto por uma patente. Em dezembro 1994, após Unisys descobrir que o novo
formato popular de arquivo usou a compressão LZW, eles anunciaram que estariam querendo
royalties da patente; todos os programas comerciais capazes de produzir arquivos GIF seriam
solicitados a pagar uma taxa de licença à Unisys.


Na época, o GIF já estava tão difundido que a maioria de companhias que produziam estes
programas    tiveram   pouca    escolha   para    pagar.   Estes   problemas   conduziram   ao
desenvolvimento do formato do PNG, que se tornou o terceiro formato de imagem mais popular
após GIF e JPEG.


Em agosto de 1999, a Unisys encerrou suas licenças royalty-free da tecnologia LZW para o
software livre e softwares proprietários não-comerciais.


Muitos peritos legais conclíram que a patente não cobre os dispositivos que podem somente
descomprimir dados LZW e não podem a comprimir; por esta razão, o programa popular livre
do gzip pode ler arquivos .Z mas não pode escrevê-los.


Em junho de 2003, a patente americana do algoritmo LZW expirarou, o que significa que
Unisys não pode mais coletar royalties para o uso do formato GIF nesse país. As patentes
equivalentes na Europa e no Japão expiraram em junho de 2004.




                                                 19
4.2 Paletas


O formato GIF é baseado em paletas de cores: embora toda a seleção da paleta possa ser um
dos milhões das máscaras, o número máximo que pode ser usado em um frame é 256. Estes
são armazenados em um “palette”, uma tabela que associa cada número da seleção do palette
com um valor específico do RGB. A limitação a 256 máscaras pareceu razoável na época de
criação do GIF porque poucas pessoas poderiam imaginar que se teriam recursos de hardware
capazes de mostrar mais. Os gráficos simples, como desenhos em linha, os cartoons, e
fotografias em escala de cinza necessitam tipicamente de menos de 256 máscaras.
Opcionalmente, uma das seleções no palette pode ser ajustada como transparente, o que
permite a transparência binária simples.


Existem maneiras criar efeitos difuse e dither em fotografias usando pixels de 2 ou mais
diferentes HUES para aproximar a um HUE do meio, mas esta transformação perde
inevitavelmente algum detalhe. Os algoritmos usados para selecionar o palette e para executar
o   efeito   difuse   afetam   bastante   a   qualidade   da   saída.   Adicionalmente,   dithering
significativamente reduz a compressibilidade da imagem sendo assim contrário à finalidade
principal do GIF.


Nos primeiros cartões gráficos dos web browsers tinham buffers de 8-bit (que permitem
somente 256 hues) e era razoavelmente comum fazer imagens GIF usando o palette do
websafe que foi baseado em um subconjunto comum dos palettes padrão do Windows e do
Macintosh. Esta estratégia permitia uma visualização assegurada mas limitava severamente a
escolha dos hues. Agora que cartões de 24 bits são comuns, os palettes otimizados só fazem
sentido ao criar imagens, embora há ainda muitos sites na web que recomendam o uso do
palette do websafe.


GIF89a foi projetado baseado no princípio de renderizar as imagens (conhecidas como frames
quando usadas para animação) a uma tela lógica. Cada imagem poderia opcionalmente ter seu
próprio palette, e o formato fornece flags para especificar o delay e a espera de input do
usuário entre eles. Esta é a forma que é usada para criar GIFs animados, mas pode também
ser usada armazenar sem perda uma imagem de 24 bits em RGB (truecolour) dividindo-a em
partes suficientemente pequenas para serem codificadas em um palette de 256 cores e
ajustando o GIF para renderizá-las sem nenhum delay na tela lógica (ver tópico abaixo).
Infelizmente, a maioria de browsers da web supõem que esta estratégia da multi-imagem será
usada somente para animação e inserem automaticamente um delay mínimo entre as imagens.
Há poucas ferramentas que podem facilmente produzir estes tipos de GIFs, e é raramente um
formato apropriado a menos que não haja absolutamente nenhuma outra opção.




                                                20
5. Aplicações


Mesmo com a adoção geral da internet em banda-larga, o tamanho dos downloads continua a
ser um fator crítico na web. Os grandes sites na web têm um efeito negativo na experiência do
usuário se forem lentos de carregar. Os grandes sites são também mais caros para seus
proprietários, que pagam baseado na quantidade de dados transferidos de seu site.
Conseqüentemente a compressão do GIF se faz desejável como um formato de imagem para o
uso em páginas da web.


O GIF é o único formato de imagem amplamente usado para suportar animação. É usado
freqüentemente fazer as animações e filmes curtos de baixa resolução para páginas da web.


A maioria logos e elementos gráficos das páginas da web são GIF ou PNG porque são
projetados para comprimir de forma eficiente as imagens que contêm blocos grandes da
mesma cor ou padrões de repetição; O JPEG não comprime bem áreas lisas, únicas com
transições às áreas adjacentes.


O JPEG é preferido para fotografias digitais porque permite que as imagens contenham mais
de 16 milhões de hues diferentes (GIF dá uma escolha de somente 256 por imagem) e
comprime fotografias melhor. Os formatos de bitmap sem compressão, como o bitmap do
Windows são recomentado às vezes para imagens no software de computador quando a
velocidade é mais importante do que o tamanho do arquivo reduzido, porque os bitmaps não
compressados podem ser processados mais rapidamente.


6. Ferramentas


Há poucas ferramentas que podem facilmente produzir tipos de GIFs, por questões de patente,
e é raramente um formato apropriado a menos que não haja absolutamente nenhuma outra
opção.




                                             21
Conclusão

O formato GIF nasceu com um propósito específico e cumpriu bem o seu papel. De um formato
despretensioso surgiu um dos ícones da Web. Suas características (transparência, animação,
intercalamento, tamanho reduzido) contribuíram para isso. Como ponto negativo podemos
destacar o seu algoritmo de compressão. Não por ser ruim ou pouco eficiente, muito pelo
contrário, mas por ser proprietário e ninguém ter se dado conta disso até a reclamação de seus
direitos por parte do dono da patente.


Há algum tempo o formato GIF vêm sendo substituido por formatos mais completos como o
PNG, que oferece melhor qualidade e compressão, além de permitir também animações.
Entretanto, o GIF ainda é muito utilizado devido à sua grande popularização no passado e
continua, de certo modo, sendo útil para pequenas animações ou imagens de baixa resolução
na web onde é mais eficiente.


Diretamente não concorre com outro formato bastante popular, o JPEG, pois seus propósitos
são diferentes. O JPEG é destinado à imagens de maior resolução, como fotos. Imagens de
baixa resolução em JPEG são maiores que as do GIF.




                                             22
Referências

http://en.wikipedia.org/wiki/GIF
http://phil.ipal.org/tc.html
http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28graphics%29
http://www.infowester.com/imagensnet.php
http://www.cin.ufpe.br/~if124/mult_imagem.htm
http://pt.wikipedia.org/wiki/GIF




                                            23

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:35
posted:11/2/2011
language:
pages:23