JPEG, GIF e Manipulação de Imagens Filipe César Silva de Andrade Henrique Seabra Diniz Rilter Tavares do Nascimento {fcsa, hsd, rtn}@cin.ufpe.br Objetivos da Apresentação Ao final da apresentação todos deverão: Conhecer basicamente arquivos JPEG Conhecer basicamente arquivos GIF Saber como editar imagens Conteúdo Motivação JPEG História Um pouco mais... Codificação Aplicações GIF História Algoritmo de compressão LZW Paletas Aplicações Manipulação de Imagens Lista de exercícios Motivação Imagens são um meio de repassar alguma mensagem, sendo um bom meio para facilitar o entendimento de algum problema Também deixam o ambiente mais agradável Motivação Seu uso é muito comum em Web Sites. Então, quanto menor o arquivo e maior a qualidade melhor! JPEG e GIF apresentam ótimos algoritmos de compressão Conteúdo Motivação JPEG História Um pouco mais... Codificação Aplicações GIF História Algoritmo de compressão LZW Paletas Aplicações Manipulação de Imagens Lista de exercícios JPEG “Joint Photographic Experts Group” Um formato de compressão com perda de dados aplicado em imagens fotográficas JPEG – História Em 1986, apenas com a “Junção” (o ‘Joint’ do JPEG) de vários grupos tentando compartilhar e desenvolver suas experiências é que foi possível adicionar gráficos com qualidade de foto e tamanho reduzido nos terminais de texto daquela época. JPEG – Um pouco mais... Sua forma de compressão funciona muito bem em fotografias, artes naturalistas e materiais similares, mas não tão bem em escritas, desenhos simples ou linhas de um desenho JPEG possui a compressão com perda de dados, isto significa que o arquivo não comprimido não é o mesmo que o compresso JPEG – Um pouco mais... Armazena informações de cores completas: 24 bits/pixel (16 milhões de cores) Foi definido para aproveitar-se de algumas já conhecidas limitações do olho humano, como a pequena mudança de cores é menos precisamente perceptível do que uma pequena mudança no brilho JPEG – Um pouco mais... O grau de compressão pode ser variado ajustando os parâmetros de compressão. Isto significa que um criador de imagens pode trocar o tamanho de arquivos pela qualidade de imagem JPEG – Codificação É feita em várias etapas: Transformação do espaço de cores Divisão em blocos Redução da qualidade DCT (Transformação discreta do cosseno) Quantização Codificação da entropia JPEG – Codificação Transformação do espaço de cores a imagem é convertida de RGB para um espaço de cores diferente chamado YCrCb, o mesmo utilizado por MAC, PAL e pela transmissão de televisão digital o Y representa o brilho do pixel e o Cr e o CB juntos representam o tom e a saturação da imagem JPEG – Codificação Divisão em blocos os dados de cada canal da imagem são subdivididos em blocos de 8x8 caso os dados não sejam representados por números inteiros, é feito o preenchimento do restante do bloco com dados falsos JPEG – Codificação Redução da qualidade a divisão em blocos permite a redução dos componentes Cr e Cb as taxas de redução permitidas em JPEG são: 4: 4: 4 (sem redução), 4: 2: 2 (reduz pelo fator 2 na direção horizontal) e a mais comum 4: 2: 0 (que reduz pelo fator 2 tanto na direção horizontal quanto na vertical) JPEG – Codificação Redução da qualidade a redução da qualidade pode reduzir de 33% a 50% o tamanho do arquivo. JPEG – Codificação DCT (Transformação discreta do cosseno) os componentes da imagem (Y, Cr e Cb) são colocados em seções de 8x8 pixels cada daí os componentes sofrem uma conversão usando-se uma transformação de co-seno discreta de duas dimensões à frente. JPEG – Codificação DCT (Transformação discreta do cosseno) Subimagem de 8 por 8 pixels e 8 bits de cores JPEG – Codificação DCT (Transformação discreta do cosseno) É subtraído 128 de cada elemento JPEG – Codificação DCT (Transformação discreta do cosseno) Na transformação da matriz cada elemento é arredondado para o inteiro mais próximo O valor mais alto e à esquerda da matriz é chamado de coeficiente de transformação discreta JPEG – Codificação Quantização o fato do olho humano conseguir distinguir bem pequenas diferenças no brilho em áreas relativamente grandes e não tão bem variações de brilho em altas freqüências, permite a redução na informação dos dados dos componentes de alta freqüência JPEG – Codificação Quantização isto é feito simplesmente dividindo cada componente do domínio da freqüência por uma constante e arredondando para o inteiro mais próximo este é o processo com a principal perda de dados JPEG – Codificação Codificação da entropia é uma forma especial de compressão com perda de dados JPEG – Codificação Codificação da entropia envolve a combinação dos componentes da imagem em uma ordem de “zig-zag” utilizando-se o algoritmo de Codificação Run-Length, que agrupa freqüências similares -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 – Codificação Codificação da entropia Quando resta uma sequencia final de zeros se usa a Codificação de Huffman que usa a palavra especial: “EOB” -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 JPEG – Aplicações Na internet, jpeg é o formato padrão para a exibição de imagens; Quase todos os equipamentos de fotografia digital vendidos dão suporte ao formato jpeg JPEG – Aplicações No campo da medicina, o jpeg pode ser usado para codificar totalmente ou parcialmente sem perdas uma imagem. E fornece uma boa performance de compressão para este propósito Nos sistemas de comunicação sem fio (wireless) utiliza-se uma grande compressão na transmissão de imagens. O jpeg fornece uma alta qualidade na compressão de dados, é um bom candidato para aplicações multimídia em redes sem fio JPEG – Aplicações Na utilização no formato base de arquivos para coleções de imagens e banco de dados. 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 Conteúdo Motivação JPEG História Um pouco mais... Codificação Aplicações GIF História Algoritmo de compressão LZW Paletas Aplicações Manipulação de Imagens Lista de exercícios GIF Graphics Interchange Format Objetivo de fornecer um formato de imagem colorida, de tamanho reduzido, para download mesmo com uma conexão lenta GIF – História Apresentado em 1987 pela CompuServe (a primeira grande empresa de serviços online dos Estados Unidos) Substituir o antigo formato RLE que era apenas preto e branco A versão original do GIF foi chamada de 87a. Em 1989 o GIF foi melhorado. Versão conhecida como 89a. GIF – História GIF (colorido) e XBM (preto e branco), na época, tornaram-se os mais usados na internet Patente do LZW pertencente a Unisys Surgimento do PNG Muito utilizado em animações e pequenos vídeos GIF – Algoritmo LZW Algoritmo de compressão sem perda de informação Redução de 66-75% do tamanho original do arquivo GIF – Algoritmo LZW GIF – Paletas GIF é baseado em Paletas Uma tabela que associa cada número da seleção da paleta com um valor específico do RGB Opcionalmente, uma das seleções na paleta pode ser ajustada como transparente, que permite a transparência binária simples GIF – Paletas True-color True Color GIF image (32697 colors, 184565 bytes) Quantized GIF image (256 colors, 54197 bytes) Dithered GIF image (101 colors, 48069 bytes) GIF – Paletas True-color Vantagens Maior representação da informação Mais qualidade na imagem Desvantagens Arquivos grandes Forma de compressão menos eficiente do que o JPEG GIF – Aplicações Animações Vídeos de baixa qualidade Cartoons Imagens Banners Exemplos Conteúdo Motivação JPEG História Um pouco mais... Codificação Aplicações GIF História Algoritmo de compressão LZW Paletas Aplicações Manipulação de Imagens Lista de exercícios Manipulação de Imagens http://youtube.com/watch?v=scGEqN ZCL2E Um pouco sobre o Photoshop Perguntas Conteúdo Motivação JPEG História Um pouco mais... Codificação Aplicações GIF História Algoritmo de compressão LZW Paletas Aplicações Manipulação de Imagens Lista de exercícios Lista de Exercícios Qual formato armazena mais informações de cores: JPEG ou GIF? Por que? Quais as etapas do processo de codificação de um JPEG? Em que situações é preferível a utilização de GIF a JPEG?