Académique Documents
Professionnel Documents
Culture Documents
8
Captulo 8
Compresso de Imagem
Computao Grfica - Vol. 2 - Cap. 8
Compresso de Imagem:
Definio
Formas de diminuir a rea de armazenamento dos dados,
reduzindo a quantidade de bits para representar os dados
(imagem, texto, ou arquivo qualquer).
Em compresso de imagem define-se como a forma
(algoritmos e mtodos) de armazenar informaes visuais
mais compactamente.
Computao Grfica - Vol. 2 - Cap. 8
Captulo 8
8.1. Redundncias na Imagem
8.2. Mtodos de Compresso de Imagem
8.3. Elementos da teoria de informao
8.4. Entropia da Imagem
8.5. Mtodos de Codificao sem perda
8.6. Transformada Discreta do Co-seno (DCT)
8.7. Compresso Fractal
8.8. Compresso por Wavelets
8.9. Padres de Compresso de Imagem
Computao Grfica - Vol. 2 - Cap. 8
8.1. Redundncias na
Imagem
8.1.1. Compresso de imagens e modelos de cores
8.1.2. Medio do Desempenho
8.1.3. Critrios de fidelidade objetivos
8.1.4. Critrios de fidelidade subjetivos
8.1.5. Modelos de compresso de imagens
Computao Grfica - Vol. 2 - Cap. 8
8.1. Redundncias na
Imagem
Tipos de redundncia em imagens:
De codificao de tons ou cor - quando os nveis de cinza ou as cores
de uma imagem so codificados com mais smbolos de codificao do
que o necessrio.
Inter-pixel - resultantes das relaes geomtricas ou estruturais entre os
objetos na imagem.
Espectral - ocorre em imagens com mais de uma faixa espectral, quando
os valores espectrais, para a mesma posio na matriz de pixels de cada
banda, so correlacionados.
Psicovisuais - relacionadas ao fato do sistema visual humano no
responder com a mesma sensibilidade a todas as informaes visuais.
Computao Grfica - Vol. 2 - Cap. 8
8.1.1. Compresso de
imagens e modelos de cores
Erro Total.
1
0
1
0
) , ( ) , (
M
x
N
y
t
y x F y x G e
Sendo F(x, y) a imagem original e G(x, y) a imagem reconstruda,
tem-se:
(8.2)
Raiz Quadrada do Quadrado da Mdia dos Erros:
[ ]
e
MN
G x y F x y
rms
y
N
x
M
1
]
1
1 2
0
1
0
1
( , ) ( , )
(8.3)
Computao Grfica - Vol. 2 - Cap. 8
[ ]
SNR
G x y
e x y
G x y
G x y F x y
rms
y
N
x
M
y
N
x
M
y
N
x
M
y
N
x
M
( , )
( , )
( , )
( , ) ( , )
2
0
1
0
1
2
0
1
0
1
2
0
1
0
1
2
0
1
0
1
Razo ou Relao Sinal Rudo:
(8.5)
Relao Sinal Rudo de Pico:
PSNR
e
n
rms
_
,
20
2 1
10
log
(8.6)
Computao Grfica - Vol. 2 - Cap. 8
Figura 8.1. (a) imagem Lena original; (b) imagem comprimida e reconstruda
usando compresso fractal; (c) imagem de diferena absoluta ampliada e (d)
imagem de diferena relativa ampliada
Erro rms= 9,7622
SNR rms 10,4823
PSNR (dB)28,3398
Computao Grfica - Vol. 2 - Cap. 8
8.1.4 - Critrios de fidelidade
subjetivos
Tabela 8.1 Notas para um critrio de avaliao subjetivo usando HDTV.
Valor Avaliao Descrio
1 Excelente Extrema alta qualidade.
2 Muito Bem Alta qualidade, visualizao agradvel, a
interferncia no desagradvel.
3 Passvel Qualidade aceitvel. A interferncia no
desagradvel.
4 Marginal Qualidade pobre. Voc desejaria melhor-la. A
interferncia de alguma forma desagradvel.
5 Inferior Muito pobre, mas ainda assim voc poderia v-la.
Desagradvel interferncia presente.
6 No Usvel Muito ruim, que novoc no conseguiria ver.
Computao Grfica - Vol. 2 - Cap. 8
8.1.5. Modelos de
compresso de imagens
Figura 8.2. Modelo de sistema de compresso genrico de
Imagem.
Computao Grfica - Vol. 2 - Cap. 8
Figura 8.3. Etapas do codificador da imagem original ou fonte
Figura 8.4. Etapas do decodificador do arquivo para imagem
Computao Grfica - Vol. 2 - Cap. 8
8.2. Mtodos de
Compresso de Imagem
1. Compresso sem perda ou codificao de redundncia
2. Compresso com perda
Computao Grfica - Vol. 2 - Cap. 8
8.2.1. Compresso sem
Perda
J
i
j j
a p a p Pa H
1
) ( log ) ( ) (
(8.12)
Computao Grfica - Vol. 2 - Cap. 8
Probabilidade do recebimento de b
j
dado que a
j
foi
transmitido:
j
i
i i k k
a p a b p b p
1
) ( ) | ( ) (
(8.13)
Matriz do canal ou matriz de transio de canal direito:
[ ]
kj
J K K K
J
J
q
a b p a b p a b p
a b p a b p a b p
a b p a b p a b p
Q
1
1
1
1
]
1
) | ( ) | ( ) | (
) | ( ) | ( ) | (
) | ( ) | ( ) | (
2 1
2 2 2 1 2
1 2 1 1 1
(8.14)
Computao Grfica - Vol. 2 - Cap. 8
Equvoco dos conjuntos P
a
com relao a P
b.
(8.15)
J
j
K
k
k j k j b a
b a p b a p P P H
1 1
) | ( log ) , ( ) | (
Auto-informao mtua:
(8.16)
J
j
K
k
k j
k j
k j b a
b p a p
b a p
b a p P P I
1 1
) ( ) (
) , (
log ) , ( ) , (
Capacidade do canal:
[ ]
z
b a
P P I C ) , ( max
(8.17)
Computao Grfica - Vol. 2 - Cap. 8
8.4 Entropia da Imagem
J
j
j j
a P a P z H
1
) ( log ) ( ) (
(8.18)
Entropia:
Computao Grfica - Vol. 2 - Cap. 8
Tabela 8.2: Imagem 4x8=32 pixels em grayscale para efeito de
clculo.
4 4 4 4 64 64 128 128
4 4 4 4 64 64 128 128
4 4 16 16 128 128 128 128
4 4 16 16 128 128 128 128
Tabela 8.3: Probabilidades para cada nvel de cinza.
Cor: Total: Probabilidade:
4 12 12 / 32 = 3 / 8
16 4 4 / 32 = 1 / 8
64 4 4 / 32 = 1 / 8
128 12 12 / 32 = 3 / 8
Computao Grfica - Vol. 2 - Cap. 8
H(z) = P(4) * log
2
(P(4)) P(16) * log
2
(P(16)) P(64) * log
2
(P(64)) P(128) * log
2
(P(128))
H(z) = [3/8 * log
2
(3/8) + 1/8 * log
2
(1/8) + 1/8 * log
2
(1/8) + 3/8
* log
2
(3/8)] = 1.81 bits/pixel (8.19)
Computao Grfica - Vol. 2 - Cap. 8
Figura 8.6 - Esquema de codificao e decodificao.
Computao Grfica - Vol. 2 - Cap. 8
8.4.1. Teoremas
fundamentais da codificao
1. Codificao sem rudo.
2. Codificao com rudo.
3. Codificao da fonte.
Tambm denominados como primeiro e segundo teoremas
de Shannon (Shannon, 1948) respectivamente.
Computao Grfica - Vol. 2 - Cap. 8
8.4.2. Teorema da
codificao sem rudo
A entropia do decodificador ser a mesma da fonte ou da
imagem:
j
i
i i
p p z H
1
) ( log ) ( ) ' (
(8.20)
Comprimento mdio da palavra:
1
) (
1
log ) (
) (
1
log + <
i
i
i
p
l
p
(8.21)
Computao Grfica - Vol. 2 - Cap. 8
Tem-se:
) (
1
log ) ( ) ( ) (
) (
1
log ) (
1 1 1
i
j
i
i i
j
i
i
i
j
i
i
p
p l p
p
p
n n n
<
(8.22)
Primeiro teorema de Shannon para uma fonte de memria zero:
n
z H
n
L
z H
avg
1
) (
'
) ( + <
(8.24)
avg
L
z H
n
'
) ' (
A eficincia de um mtodo de codificao:
(8.25)
Computao Grfica - Vol. 2 - Cap. 8
8.4.3. Teorema da
codificao ruidosa
Segundo teorema de Shannon: considera que o canal de
comunicao tem erro e para solucionar este problema
trabalha com a repetio da palavra com o objetivo de tornar o
erro o menor possvel.
Para uma razo de mensagem codificada R menor que a
capacidade do canal C com matriz Q, a probabilidade de erro
pode ser feita arbitrariamente pequena, a medida que a razo
de mensagem codificada for menor que a capacidade do canal.
Computao Grfica - Vol. 2 - Cap. 8
8.4.4 Teorema da
codificao da fonte
Trata o problema quando o processo de codificao que
introduz erro e no o canal de informao.
A funo de razo de distoro :
} ) , ( { min ) (
b a Q Q
P P I D R
D
(8.28)
Computao Grfica - Vol. 2 - Cap. 8
Pelo teorema de codificao da fonte para qualquer existe
um tamanho de bloco r e R<R(D)+ tais que a distoro
mdia seja:
+ D Q d ) (
(8.29)
Computao Grfica - Vol. 2 - Cap. 8
8.5 Mtodos de Codificao
sem perda
8.5.1. Codificao de Huffman
8.5.2.Codificao por LZW
8.5.3. Codificao por LZ77
8.5.4. Codificao por Cdigo de Tons Corridos
- RLE
Computao Grfica - Vol. 2 - Cap. 8
8.5.1. Codificao de Huffman
A redundncia de codificao eliminada com base numa
codificao que produz um cdigo de tamanho varivel,
atribuindo os cdigos de tamanhos menores aos nveis de
cinza mais provveis de ocorrer.
Duas etapas:
2. Cria-se uma srie de redues dos smbolos atravs da
juno dos dois de menores probabilidades a cada iterao.
3. Codificam-se todos os smbolos que foram reduzidos
comeando com o de maior probabilidade que ser
associado ao menor cdigo e voltando para os originais.
Computao Grfica - Vol. 2 - Cap. 8
Exemplo: imagem de tamanho 10x10 e 6 tons de cinza (a
1
a
2
a
3
a
4
a
5
a
6
), tendo as seguintes probabilidade de ocorrncia: 5/8 de a
1;
3/32 de a
2
e a
3
, 1/32 de a
6
e a
4
, e 1/8 de a
5
.
Figura 8.7 Primeira etapa da codificao de Huffman.
Computao Grfica - Vol. 2 - Cap. 8
Tabela 8.3 - Segunda etapa da codificao de Huffman para as probabilidades
das palavras mostradas na figura 8.7.
Informao Probabilidade Cdigo
a
1
5/8=20/32 0
a
10
3/8=12/32 1
a
9
7/32 10
a
8
5/32 11
a
5
1/8=4/32 101
a
2
3/32 100
a
3
3/32 110
a
7
2/32 111
a
4
1/32 1110
a
6
1/32 1111
Para transmitir essa informao obtm uma taxa mdia de:
(5/8)*1+ (3/32)*3+ (3/32)*3+ (4/32)*3+ (1/32)*4+ (1/32)*4=
1,813 bits/informao
Computao Grfica - Vol. 2 - Cap. 8
8.5.2.Codificao por LZW
Faz uso de um dicionrio de palavras contendo os
smbolos que sero codificados.
Tabela 8.4 - Imagem a ser codificada.
39 39 126 126
39 39 126 126
39 39 126 126
39 39 126 126
Exemplo:
Computao Grfica - Vol. 2 - Cap. 8
Tabela 8.5 - Dicionrio para entrada de smbolos.
Posio do Dicionrio (Endereo): Entrada:
0 0
1 1
... ...
255 255
256
...
511
Computao Grfica - Vol. 2 - Cap. 8
Tabela 8.6 Preenchendo as entradas do dicionrio e codificando.
Seqncia
reconhecida:
Pixel
processado:
Sada
codificada:
Endereo do
Dicionrio:
Entrada do
Dicionrio
39
39 39 39 256 39-39
39 126 39 257 39-126
126 126 126 258 126-126
126 39 126 259 126-39
39 39
39-39 126 256 260 39-39-126
126 126
126-126 39 258 261 126-126-39
39 39
39-39 126
39-39-126 126 260 262 39-39-126-126
126 39
126-39 39 259 263 126-39-39
39 126
39-126 126 257 264 39-126-126
126 126
Computao Grfica - Vol. 2 - Cap. 8
8.5.3. Codificao por LZ77
Figura 8.9. Algoritmo LZ77
Computao Grfica - Vol. 2 - Cap. 8
8.5.4. Codificao por
Cdigo de Tons Corridos -
RLE
(8.30)
Coeficientes c(i,j):
N
2
) j , i ( c
N
1
) j , i ( c
, para i e j 0 e
, para i e j = 0 (8.31)
Computao Grfica - Vol. 2 - Cap. 8
Transformada Inversa IDCT 2-D:
N
j x
N
i y
j i T j i c x y I
N
j
N
i
2
) 1 2 (
cos
2
) 1 2 (
cos ] , [ ) , ( ] , [
1
0
1
0
+ +
(8.32)
Essa compresso usada no formato JPEG padro com valor
de N igual a 8.
Computao Grfica - Vol. 2 - Cap. 8
8.7. Compresso Fractal
Figura 8.10. Curva de Koch
Computao Grfica - Vol. 2 - Cap. 8
8.7.1 Comprimindo Imagens
com a Geometria Fractal
1
a
iterao 2
a
iterao 3
a
iterao
4
a
iterao 5
a
iterao 6
a
iterao
Figura 8.11 - Tringulo de Sierpinski
Computao Grfica - Vol. 2 - Cap. 8
DF do Tringulo de Sierpinski:
DF = log 3/log2 = 1,5849625007211561814537389439478.... (8.39)
Computao Grfica - Vol. 2 - Cap. 8
8.7.2- Teorema do
Mapeamento de Contrao
e Teorema da Colagem
Partindo de qualquer conjunto inicial (imagem inicial)
ser encontrado o mesmo atrator para um determinado
Sistema de Funes Interativas (SFI).
Pelo Teorema da Colagem o cdigo IFS de uma imagem
pode ser obtido cobrindo-se essa imagem com cpias
reduzidas dela mesma, e determinando as transformaes
que levam a imagem original em suas cpias.
Computao Grfica - Vol. 2 - Cap. 8
8.7.3 Determinando o SFI
de imagens
automaticamente
Sistemas de Funes de Iterao Particionados SFIP
que buscam a auto-similaridade entre partes maiores e
partes menores da imagem.
(8.46)
Os coeficientes so calculados por:
( ) dt t f
T
a
2
0
0
2
( ) dt nt t f
T
a
n
) cos(
2
2
0
( ) dt nt t f
T
b
n
) sen(
2
2
0
(8.47)
(8.48)
(8.49)
Computao Grfica - Vol. 2 - Cap. 8
8.8.2. Anlise de Wavelet
A Anlise de Wavelet uma ferramenta matemtica
para decomposio em nvel hierrquico em um
conjunto de aproximaes e detalhes.
O nvel hierrquico corresponde escala ditica (formado
por potncia de 2).
Permite a descrio de uma funo em termos globais, mais
termos que variam de detalhes globais at detalhes finos.
A funo em questo pode ser uma imagem, uma curva ou uma
superfcie.
Computao Grfica - Vol. 2 - Cap. 8
8.8.3. Transformada de
Wavelet Contnua
Transformada de Wavelet Contnua a soma ao longo do
tempo de um sinal multiplicado por uma escala, e deslocado
por uma funo wavelet (Psi), tambm chamada wavelet me:
( ) ( ) ( ) dt t posio escala t f posio escala C
, , ,
(8.50)
Computao Grfica - Vol. 2 - Cap. 8
A Transformada de Wavelets contnua em F(a,b) :
dt t t f b a F
b a
) ( ) ( ) , (
,
(8.53)
(8.52)
(8.51)
A funo denominada wavelet:
( ) t
b a,
( )
,
_
b a
a
b t
a
t
b a
, 0 ,
1
,
As funes wavelets so derivadas segundo os critrios:
<
du u u C
2
1
) (
2
Computao Grfica - Vol. 2 - Cap. 8
8.8.3.1. Parmetro de Escala
O fator escala a representa uma contrao ou dilatao no
sinal. Para a.>1 a funo sofre uma dilatao, para a<1
obtem-se uma contrao do sinal.
Computao Grfica - Vol. 2 - Cap. 8
Figura 8.21 - Fator de escala de uma funo
Computao Grfica - Vol. 2 - Cap. 8
Figura 8.22 - Fator de escala de uma funo wavelet
Computao Grfica - Vol. 2 - Cap. 8
8.8.3.2. Parmetro de
Posio ou Deslocamento
Figura 8.23. - Fator de deslocamento, direita funo
wavelet, esquerda funo wavelet deslocada
( ) t
( ) b t
Computao Grfica - Vol. 2 - Cap. 8
8.8.3.3. Clculo da
Transformada de Wavelet
Contnua
Figura 8.24 Comparao do sinal original com a wavelet
(1) Deve-se escolher a wavelet e fazer a comparao
em uma parte inicial do sinal original.
(2)
Computao Grfica - Vol. 2 - Cap. 8
(3)
(4)
Figura 8.25 Desloca-se a wavelet para a direita para calcular novo
C
Figura 8.26 Dilata-se a wavelet e repetem-se os passos (1) e (3)
Computao Grfica - Vol. 2 - Cap. 8
(5)
Figura 8.27 Repetem-se os passos de (1) at (4) para todas as escalas.
Figura 8.28 Representao 3D da Transformada de Wavelet.
Computao Grfica - Vol. 2 - Cap. 8
8.8.4. Transformada de
Wavelet Discreta
( ) ( )
2
,
, , 2 , 2 ,
1
Z k j k b a
a
b t
a
t
j j
b a
,
_
(8.54)
Computao Grfica - Vol. 2 - Cap. 8
8.8.5. Semelhanas entre
Transformada de Fourier e
Wavelet
j
W
Estas funes de base tm as seguintes propriedades:
1.As wavelets bases de , juntamente com as funes base
de formam a base para .
2. Toda a funo base de so ortogonais a todas as bases
de sob um certo produto interno escolhido.
j
i
j
i
j
W
j
V
1 + j
V
j
i
j
i
j
W
j
V
Computao Grfica - Vol. 2 - Cap. 8
As wavelets que correspondem base quadrada so conhecidas
como wavelets de Haar e so dadas por:
( ) ( ) 1 2 ..., , 0 , 2 :
j j j
i
i i x x
(8.57)
( )
'
<
<
<
1 0 0
1
2
1
1
2
1
0 1
:
x ou x se
x se
x se
x
Onde:
Computao Grfica - Vol. 2 - Cap. 8
Figura 8.34 - As wavelets de Haar para .
1
W
Expressando a imagem original unidimensional (ex. do item
8.8.7.1) como uma combinao linear das funes de base
quadrada em V
2
; pode-se escrever:
( ) ( ) ( ) ( ) ( ) x c x c x c x c x I
2
3
2
3
2
2
2
2
2
1
2
1
2
0
2
0
+ + +
Computao Grfica - Vol. 2 - Cap. 8
Figura 8.35 Descrevendo a imagem por V
2
possvel reescrever a expresso para em termos das funes
base em V
1
e W
1
e , usando coeficientes de mdia:
( ) ( ) ( ) ( ) ( ) x d x d x c x c x I
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
+ + +
(8.58)
Computao Grfica - Vol. 2 - Cap. 8
Figura 8.36 Descrevendo a imagem por mdia e detalhes
Pode-se reescrever I(x) como uma soma de funes de base
em V
o
, W
0
e W
1
:
( ) ( ) ( ) ( ) ( ) x d x d x d x c x I
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0
+ + +
(8.59)
Computao Grfica - Vol. 2 - Cap. 8
Figura 8.37 Descrevendo a imagem como mdia total e
detalhes
Computao Grfica - Vol. 2 - Cap. 8
8.8.7.3. Ortogonalidade
2
1
2
1
2 6
Computao Grfica - Vol. 2 - Cap. 8
8.8.7.5. Compresso
O objetivo da compresso expressar um conjunto inicial de dados
usando outro conjunto menor, com ou sem perda de informao.
Suponha a imagem f (x) expressa pela soma de funes base :
( ) ( )
m
i
i i
x u c x f
1
(8.62)
O conjunto de dados neste caso consiste de coeficientes
c
i
. Procura-se uma funo que aproxima f(x), mas com
menos coeficientes:
( ) ( ) ( ) x f x u c x f
m
i
i i
~
1
~ ~
~
(8.63)
Computao Grfica - Vol. 2 - Cap. 8
8.8.8. Wavelet Bidimensional
Para entender a compresso de imagem, descrevem-se as
funes escalar e de wavelets que formam as bases de
wavelet bidimensionais.
Computao Grfica - Vol. 2 - Cap. 8
8.8.8.1. Transformada de
Wavelet de Haar bidimensional
Figura 8.38 (a) Decomposio padro, (b) Decomposio no padro.
Computao Grfica - Vol. 2 - Cap. 8
8.8.9. Aproximaes e
Detalhes
Figura 8.39 rvore de
Decomposio Wavelet
Figura 8.40 rvore de Decomposio
Wavelet de um sinal
Computao Grfica - Vol. 2 - Cap. 8
8.8.10. Banco de Filtros
A forma de implementao eficiente do algoritmo de compresso por
wavelet por intermdio de um Banco de Filtros em Quadratura
Conjugado.
S S
2
2
2
2
H H'
L
L'
Anlise Sntese
cD
cA
cD
cA
Figura 8.41 - Banco de Filtros
Computao Grfica - Vol. 2 - Cap. 8
8.9. Padres de
Compresso de Imagem
8.9.1. GIF
8.9.2. PNG
8.9.3. JPEG
8.9.4. JPEG2000
8.9.5. MJPEG
8.9.6. BMP
8.9.7. Formato PCX
Computao Grfica - Vol. 2 - Cap. 8
8.9. Padres de
Compresso de Imagem
Tabela 8.9 Comparao entre alguns formatos de arquivos deimagens
Formato Sistema de Cor Compresso
GIF RGB com tabela de at 256 cores LZW
TIFF RGB*, CMYK,YCbCr, Lab, Luv RLE, LZW, JPEG, JBIG, Huffman
ou nenhuma e outros
JPEG RGB, YC
b
C
r
, CMYK DCT , Huffman
PCX RGB* RLE
BMP A BGR* RLE ou nenhuma
TGA RGB* RLE ou nenhuma
PNG, MNG RGBA (alfa em 256 tons) LZ77 + Huffman = deflate
JPEG2000 RGB, YC
b
C
r
, DWT (wavelets) ou nenhuma
Computao Grfica - Vol. 2 - Cap. 8
8.9.1. GIF
opcional.
Permite o uso de at 2
24
16 milhes de cores.
Encoded mode: O 1
o
byte do par contm o nmero de pixels que
sero desenhados usando os ndices de cores do 2
o
byte. O 2
o
byte
contm 2 ndices de cores
Absolute mode: O 1
o
byte contm ZERO e o 2
o
byte contm o
nmero de ndices de cores que se seguem e os bytes seguintes
indicam os ndices de cores primrias e secundrias, sendo um
ndice de cores para cada pixel.
Computao Grfica - Vol. 2 - Cap. 8
Tabela 8.16 Dados expandidos.
Dados Comprimidos Dados Expandidos
03 04 0 4 0
05 06 0 6 0 6 0
00 03 45 65 67 4 5 6 5 6 7
00 02 05 01 Delta: mova 5 p/esquerda e 1
p/baixo
02 78 7 8 7 8
00 00 Fim de Linha
09 1E 1 E 1 E 1 E 1 E 1
00 01 Fim dos dados da imagem
Delta: entendido como um deslocamento do prximo pixel a ser
representado na tela, da posio de sucessor do pixel anterior usual
para a posio ocupada pelos prximos bytes do arquivo que seguem.
Computao Grfica - Vol. 2 - Cap. 8
8.9.6.7 . Estrutura geral do
formato BMP
a) Cabealho de arquivo: Contm a assinatura BM e informaes
sobre o tamanho e lay-out do arquivo BMP.
b) Cabealho de mapa de bits: Contm as informaes da
imagem contida no arquivo.
c) Paleta ou mapa de cores (opcional): Somente estar presente
em arquivos de imagens que usam 16 ou 256 cores.
d) rea de dados da imagem contida no arquivo: Dados que
permitem a exibio da imagem propriamente dita, o dados dos
pixels a serem exibidos.
Computao Grfica - Vol. 2 - Cap. 8
8.9.6.8 Estrutura detalhada
do formato BMP
A) Cabealho de arquivo informaes do arquivo - Tamanho: 14
bytes
Campo Bytes Descrio
BfType 2 Assinatura do arquivo: os caracteres 4D)h.
BfSize 4 Tamanho do arquivo em Bytes
BfReser1 2 Campo reservado 1; deve ser ZERO
BfReser2 2 Campo reservado 2; deve ser ZERO
BfOffSetBits 4 Especifica o deslocamento, em de dados da imagem:
- Se a imagem usa tamanho=14+40+(4 x NumeroDeCores)
- Se a imagem for true tamanho=14+40=54
Computao Grfica - Vol. 2 - Cap. 8
B) Cabealho de mapa de bits informaes da imagem -
Tamanho: 40 bytes.
Campo Bytes Descrio
BiSize 4 Tamanho deste cabealho (40 bytes). Sempre (28)h.
BiWidth 4 Largura da imagem em pixels
BiHeight 4 Altura da imagem em pixels
BiPlanes 2 Nmero de planos de imagem. Sempre 1
BiBitCount 2 Quantidade de Bits por pixel (1,4,8,24,32)
BiCompress 4 Compresso usada. Pode ser:
0 = BI_RGB _ sem compresso
1 = BI_RLE8 compresso RLE 8 bits
2 = BI_RLE4 compresso RLE 4 bits
BiSizeImag 4 Tamanho da imagem (dados) em byte
- Se arquivo sem compresso, este campo pode ser ZERO.
- Se imagem em true color, ser Tamanho do arquivo (Bfsize)
menos deslocamento (BfOffSetBits)
BiXPPMeter 4 Resoluo horizontal em pixels por metro
BiYPPMeter 4 Resoluo vertical em pixels por metro
BiClrUsed 4 Nmero de cores usadas na imagem.
BiClrImpor 4 Nmero de cores importantes (realmente usadas) na imagem.
Computao Grfica - Vol. 2 - Cap. 8
C) Paleta cores - definio tabela de cores - Tamanho: 4 bytes x
Nmero de Cores.
D) rea de dados da imagem - cor que cada pixel deve ser ligado
ou esses dados comprimidos - Tamanho: campo BiSizeImg, do
cabealho de informaes da imagem.
Varia conforme existncia ou no de compresso.
Para imagens sem compresso, os dados so armazendados em uma
ordem sequencial, que corresponde a posies na tela de vdeo.
Campo Bytes Descrio
Blue 1 Intensidade de Azul. De 0 a 255
Green 1 Intensidade de Verde. De 0 a 255
Red 1 Intensidade de Vermelho. De 0 a 255
Reservado 1 Campo reservado deve ser ZERO sempre
Computao Grfica - Vol. 2 - Cap. 8
8.9.7. Formato PCX