formatos de arquivo - png
DESCRIPTION
Essa apresentação descreve a história, usos e resumo sobre o formato de arquivos digitais PNG, usado como extensão para alguns arquivos de imagem.NOTA: As animações que descrevem o algoritmo Adam7 e a comparação entre o método de entrelaçamento do PNG e do GIF não estão funcionando no slide. Para a primeira animação (descrição visual do algoritmo Adam7), visite:http://migre.me/5BhTYPara a segunda animação (comparativo), visite:http://migre.me/5BhSvTRANSCRIPT
PNGGabriel de Oliva Bemfica
Isabel Schreiber Rocha ScarlazzariLuter Caio da Cruz NobreMagno de Almeida Leitão
PNG - resumo• Formato de arquivo de imagens, similar ao
GIF, ao JPEG e ao BMP;
• Proposto em 1995/6 como substituição ao recém-patenteado GIF;
• Utiliza compressão sem perdas;
• Permite profundidade de cor de até 64 bits;
• Não suporta animação;
• Suportado pela maioria dos navegadores e editores de imagem.
História•O PNG (pronuncia-se “ping”) foi proposto primeiramente na lista de discussão comp.graphics da Usenet, após o anúncio, pelas empresas Unisys e CompuServe, de que o algoritmo de compressão do formato GIF havia sido patenteado, e que seus utilizadores (desenvolvedores, não consumidores finais) deveriam pagar royalties para seu uso.
História• O formato foi inicialmente proposto por Thomas
Boutell. Em pouco tempo, grandes nomes da área de TI e de imagens se juntaram ao projeto, como Adam Costello (responsável pelo algoritmo de entrelaçamento), Greg Roelofs (responsável pela ideia do CRC e mantenedor do projeto na internet), Lee Daniel Crocker (programador presente também na criação do GIF e do JPEG), entre outros.
• O nome original seria Portable Bitmap Format. A sugestão de PING como sigla para “PNG Is Not GIF”, com extensão .PNG, foi mantida em parte no projeto, final, mas com a alteração do significado para Portable Network Graphics.
Aspectos técnicosEstrutura:
•Cabeçalho (8 bytes): Define as características básicas do arquivo, servindo para identificar o formato e o tipo de sistema (UNIX/DOS) em que está rodando;
•Segmentos (“n” bytes): São diversos pedaços de código que dizem respeito a variadas partes do arquivo, bem como características diversas.
Aspectos técnicosEstrutura - cabeçalho:
• Bit inicial: (89, em hexadecimal): Bit de valor alto, define que o arquivo não deve ser lido em codificações de texto, como ASCII;
• Nomeação (50, 4E e 47): São os valores em HEX para as letras PNG;
• Quebras de linha (0D0A e 0A): São usadas para detectar o sistema no qual o arquivo está sendo aberto;
• Fim de arquivo (“end-of-file”): Dá início à seção dos segmentos.
Aspectos técnicosEstrutura - segmentos:
•São divididos em 2: segmentos críticos (obrigatórios) e auxiliares (opcionais);
•Estrutura: dimensão (valor de 4 bytes), tipo (4 bytes), dados (tamanho definido pela “dimensão”) e CRC (4 bytes);
•Podem estar em qualquer ordem, desde que o segmento IHDR seja o primeiro e o IEND, o último;
Aspectos técnicosEstrutura - segmentos:
• Segmentos críticos: IHDR (contém o cabeçalho), PLTE (contém a paleta de cores, obrigatório somente para PNGs com cores indexadas), IDAT (contém os dados do arquivo, a imagem em si - pode ser dividido em vários segmentos) e IEND (indica o fim do arquivo);
• Existem diversos segmentos auxiliares, indicando parâmetros, que vão da cor de fundo à data da última modificação do arquivo, passando por segmentos que definem a transparência, entre outros.
Aspectos técnicosProfundidade de cor:
•Existem 5 níveis: cores indexadas (paleta, até 8 bits), escala de cinza (16 bits), escala de cinza com canal alfa (com transparência, 24 bits), true-color (24 bits) e true-color com canal alfa (32 bits);
•Alguns computadores e monitores podem trabalhar com um modo especial de 16 bits por canal + 16 bits de transparência, criando PNGs de 64 bits.
Aspectos técnicosTransparência:
• O PNG possui um canal dedicado para transparência, com até 8 bits (diferentemente do GIF, onde apenas um nível de transparência era possível, sacrificando-se uma cor da paleta);
• Possibilita anti-aliasing com fundos de qualquer cor, não possuindo o problema de “efeito fantasma” criado por transparências no GIF;
• Pode ser usado também no modo de cores indexadas, onde uma cor com transparência ocupa um espaço na paleta.
Exemplo do “efeito fantasma”
Aspectos técnicosCompressão:
• Usa um método lossless (sem perdas) chamado DEFLATE;
• O método DEFLATE foi criado, originalmente, para arquivos ZIP. Seu autor colaborou diretamente na criação do PNG, e é citado como co-autor do formato;
• O método DEFLATE mistura os métodos LZ77 e Huffman para criar uma compressão sem perdas;
• Essa característica faz do PNG um método sem perda geracional de qualidade, ao contrário, por exemplo, do JPEG.
Aspectos técnicosEntrelaçamento:
• Utiliza o algoritmo Adam7, de 7 passos;
• Permite ao usuário identificar traços-chave da imagem antes que a mesma seja completamente carregada;
• O entrelaçamento é opcional no PNG. Todavia, seu método é superior, por exemplo, ao método padrão de entrelaçamento do GIF.
Exemplificação do algoritmo de entrelaçamento Adam7
Comparação dos entrelaçamentos de GIF e PNG
Aspectos técnicosAnimação e variações do formato:
•O PNG não suporta animações. Todavia, os formatos MNG (oficial) e APNG (não oficial, desenvolvido pela Mozilla) são alternativas;
•O formato JNG é uma mescla de JPEG com PNG, possibilitando compressão a nível de JPG com uma camada de transparência;
•Nenhum dos 3 formatos tem ampla aceitação ou uso.
Comparação com outros formatos
JPEG:
• Compressão: sem perdas no PNG, perda geracional no JPEG;
• Transparência: suporte a alfa inexistente no JPEG (apenas com JNG);
• Tamanho de arquivo: a compressão do JPEG garante arquivos até 10 vezes menores. Para trabalhos profissionais, usa-se RAW ou TIFF, e somente depois do trabalho pronto salva-se em JPEG (a perda de qualidade com apenas uma compressão não é significativa);
• Tags EXIF: O PNG não tem suporte a armazenamento EXIF, presente no JPEG.
Comparação com outros formatos
TIFF:
• Tamanho de arquivo: com tamanhos iguais, a qualidade de uma imagem TIFF é superior à de uma imagem PNG;
• Transparência: ambos os formatos suportam transparência;
• Complexidade: devido à sua estrutura complexa, o TIFF não é amplamente suportado em programas de visualização de imagens (como navegadores).
Comparação com outros formatos
GIF:
• Tamanho de arquivo: geralmente o PNG, nas mesmas configurações do GIF, gera arquivos menores para a mesma imagens, porém, há excessões;
• Transparência: ambos os formatos suportam transparência, mas de apenas um nível no GIF, e de 8 bits (256 níveis) no PNG;
• Profundidade de cor: O GIF está restrito a 8 bits, contra até 64 no PNG;
• Entrelaçamento: o tempo total para carregar uma mesma imagem é semelhante, mas o método do PNG permite discernir a imagem mais rapidamente;
• Animação: suportada no PNG somente através dos formatos MNG e APNG, nativa no GIF;
• Compatibilidade: navegadores mais antigos não suportam completamente o PNG.
Suporte e compatibilidade
Editores:
•Adobe Photoshop;
•Corel PhotoPaint
•Corel PaintShop Pro;
•GIMP
•Inkscape;
•Paint.NET.
Suporte e compatibilidade
Visualizadores:
•Windows PictView;
•Apple Preview;
•Apple iPhoto;
•Aplicativos diversos para Linux.
Suporte e compatibilidade
Navegadores:
•Internet Explorer;
•Netscape;
•Baseados em WebKit (Safari, Chrome, etc);
•Firefox;
•Opera;
•Konqueror;
•Entre outros.
Suporte e compatibilidade
Sistemas Operacionais:
•Windows;
•Mac OS;
•Linux (diversos);
•AmigaOS;
•Sistemas menores (ArchOS, etc);
•Sistemas móveis (iOS, Android, etc).
Bibliografia• Wikipédia (em inglês):
• en.wikipedia.org/wiki/Portable_Network_Graphics
• en.wikipedia.org/wiki/Comparison_of_graphic_file_formats
• en.wikipedia.org/wiki/Comparison_of_web_browsers#Image_format_support
• Outros sites:
• pt.kioskea.net/contents/video/format-png.php3
• www.libpng.org