Universidade federal de pernambuco


Compressão de imagens versus compressão de texturas



Baixar 6.87 Mb.
Página8/23
Encontro17.06.2020
Tamanho6.87 Mb.
1   ...   4   5   6   7   8   9   10   11   ...   23

2.1 Compressão de imagens versus compressão de texturas


O projeto de esquemas para compressão de texturas difere daqueles para compressão de imagens em alguns pontos importantes. Quando projetamos um esquema de compressão de texturas, não estamos preocupados apenas com armazenamento e transmissão como ocorre com a compressão de imagens. Ao lidar com texturas temos que levar em conta outros aspectos como a velocidade de decodificação do algoritmo e o acesso randômico a qualquer elemento da textura, por exemplo. Esses aspectos são divididos por A. Beers, em [9], da seguinte forma:

  • Velocidade de decodificação: O tempo para acessar um pixel é um fator crítico, por isso é necessária uma descompressão rápida já que a textura será renderizada diretamente a partir do seu formato comprimido (economizando memória).

  • Acesso randômico: Por não termos como saber antecipadamente como o sistema de renderização irá acessar a textura, temos que garantir que qualquer pixel possa ser acessado a qualquer momento sem que, por exemplo, seja necessário descompactar toda a textura.

  • Taxa de compressão e qualidade visual: Alguns esquemas de compressão conseguem preservar completamente a qualidade da imagem (lossless), mas acabam chegando a taxas de compressão relativamente baixas quando comparados com os algoritmos lossy, onde ocorre alguma perda na qualidade da imagem. Aqui, fica evidente mais uma diferença entre compressão de imagens e texturas: em compressão de imagens a qualidade da imagem comprimida é mais importante, enquanto em compressão de texturas a qualidade da cena renderizada, não o mapa de texturas, tem maior importância.

A classificação elaborada por [9] deixa implícita outra diferença fundamental entre algoritmos de compressão de imagens e de texturas: a forma como a imagem é codificada. Em JPEG [1], a imagem é dividida e comprimida em blocos de 8x8 separadamente. A maioria dos algoritmos de compressão de imagens, como JPEG, são classificados como Variable Bit Length Coding (VBLC), ou seja, partes das imagens são codificadas com quantidades de bits diferentes. Algoritmos VBLC permitem situações onde um bloco que é difícil de codificar ocupa mais bits do que um bloco mais simples, por exemplo, bloco composto por uma única cor (figura 2.1).

Figura 2.1: Ilustração de Variable Bit Length Coding (VBLC).

Entretanto, taxa de bits variável significa que não se pode calcular o endereço de um pixel diretamente a partir dos bits em JPEG. Para saber o endereço de um determinado pixel, todo arquivo deve ser decodificado, o que não é viável em várias situações. Desta forma, a maioria dos codificadores de compressão de textura trabalha com uma taxa fixa de compressão, ou seja, cada bloco na imagem ocupa o mesmo número de bits e, desta forma, é possível calcular o endereço de um bloco particular a partir de uma seqüência de bits comprimida. Uma técnica de compressão de imagens como JPEG não é aplicável a compressão de texturas devido ao custo computacional de sua descompressão e a taxa de codificação variável feita de forma a dificultar o acesso randômico aos pixels.

Pelos motivos apresentados ate aqui, é evidente que um esquema de compressão de texturas, por ser mais genérico, rápido, simples e de menor custo, é mais viável em aplicações móveis.




Compartilhe com seus amigos:
1   ...   4   5   6   7   8   9   10   11   ...   23


©historiapt.info 2019
enviar mensagem

    Página principal