Está en la página 1de 18

COMPRESIN DE FUENTE

Francisco Jos Rico


Departamento de Ingeniera Telemtica
ETSET de Barcelona
Universidad Politcnica de Catalua

f.rico@entel.upc.es

Objetivos de la Codificacin de Fuente


Objetivos de la transmisin digital de la informacin:
Transmisin rpida
Transmisin fiable

(compresin)
(control de errores)

Transmisin segura (autenticidad, privacidad)

Codificacin de fuente
Codificacin de canal
Criptografa

Codificacin de fuente
Sin prdidas: La informacin decodificada es idntica a la original:
Huffman, Lempel-Ziv, etc.
Con prdidas: La informacin decodificada puede ser distinta de la original
JPEG,MPEG,etc.

f.rico@entel.upc.es

Concepto de Informacin (i)


z

La informacin que proporciona la ocurrencia


de un suceso es tanto mayor cuanto menos
probable es el suceso.
La
La informacin es funcin inversa de la
probabilidad
probabilidad

z
z

Incertidumbre:
Incertidumbre antes del suceso
Informacin:
Informacin despus del suceso

Incertidumbre
Resuelta

Informacin
Proporcionada
f.rico@entel.upc.es

Concepto de Informacin (ii)


z

S1,
S1 S2 sucesos independientes:

(S1S2)= (S1)+ (S2)


z

La funcin logaritmo satisface las condiciones


anteriores.

(S)=logb(1/p(S))
Unidades: b=2 bit b=e nat

f.rico@entel.upc.es

Entropa de una Fuente


z

La Entropa es la Informacin Media por


smbolo que emite una fuente.

H = I = p ( Si ) I ( Si )
i

Para una fuente sin memoria

H = p ( Si ) log 2 (1 / p ( Si ))
i

f.rico@entel.upc.es

Longitud Media de Codificacin

Nmero medio de dgitos binarios que se


emplean para codificar un smbolo.
Ejemplo:
Sm bolo Probabilidad
0,5
A
0,25
B
0,125
C
0,125
D

Bits
Cdigo A Cdigo B
1
00
0
2
01
10
3
10
110
3
11
111
1,75
2
1,75
Entropa Long. Med. Long. Med.
f.rico@entel.upc.es

Tipos de Cdigos
z
z

Trabajaremos con cdigos de decodificacin


nica.
nica
Cdigos Instantneos:
Se pueden decodificar las palabras cdigo segn se
van recibiendo.

Requisito:
Ninguna palabra cdigo es prefijo de otra

f.rico@entel.upc.es

Cdigos Instantneos
Instantneo Decodificacin nica
Decodificacin nica Instantneo
Ejemplo:

No es instantneo pero es
de decodificacin nica

Sm bolo Cdigo A Cdigo B Cdigo C


00
0
0
A
01
10
01
B
10
110
011
C
11
111
0111
D
f.rico@entel.upc.es

Desigualdad de Kraft (i)


z

Condicin necesaria y suficiente para la


existencia de cdigos instantneos.
cdigo

A = {a 1 , , a n } con longitudes
alfabeto
n

{L 1 , , L n }

D smbolos
D Lk 1

k =1

Si la satisfacen con Igualdad se llaman


compactos.
f.rico@entel.upc.es

Desigualdad de Kraft (ii)


z

Ejemplo Sm bolo
A
B
C
D

1 1 1 1
+ + + =1
4 4 4 4

Cdigo A Cdigo B Cdigo C


00
0
0
01
10
01
10
110
011
11
111
0111

1 1 1 1
+ + + =1
2 4 8 8

1 1 1 1
+ + + = 0.9375 < 1
2 4 8 16

f.rico@entel.upc.es

Lmite Fundamental
z

Shanon demostr que:

H l

La longitud media de codificacin de una


fuente obtenida mediante un cdigo
unvocamente decodificable es siempre
mayor o igual que su entropa
f.rico@entel.upc.es

Lema de Gibbs
z

Da una cota para el valor de la entropa de


A
A
A
una fuente.

p log (1/ p ) log (1/ q )


i =1

i =1

con qi = 1
i =1

0 H ( x ) log 2 A
La entropa es mxima cuando los smbolos
son equiprobables
f.rico@entel.upc.es

Aspecto de la Entropa

f.rico@entel.upc.es

Taxonoma de los cdigos de fuente


z

Fuentes SIN memoria:

Huffman
Huffman adaptativo (*)
Aritmticos

Fuentes CON memoria:

Rfagas
Lempel-Ziv

(*) En este caso, la clasificacin es discutible


f.rico@entel.upc.es

Cdigos de Huffman(i)
z

Asignar los cdigos ms cortos a las palabras


ms probables.
A

0.5

0.25

0.125

0.125

1
0.5
0.25

l = 1.75 dig.bin./s imb.


H = 1.75 bits.

Smbolo Cdigo B
1
A
01
B
001
C
010
D
f.rico@entel.upc.es

Cdigos de Huffman(ii)

0.55
1

0.45

0.30

0.13

0.12

0.55
0.25

l = 1.80 dig.bin./simb.
H = 1.7892 bits.

Smbolo Cdigo B
0
A
11
B
101
C
100
D
f.rico@entel.upc.es

Cdigos de Huffman Extendidos


Extensin de fuente
AA
AB
BA
BB
AC
CA
AD
DA
BC
CB
BD
DB
CC
CD
DC
DD

0,45
0,45
0,3
0,3
0,45
0,13
0,45
0,12
0,3
0,13
0,3
0,12
0,13
0,13
0,12
0,12

0,45
0,3
0,45
0,3
0,13
0,45
0,12
0,45
0,13
0,3
0,12
0,3
0,13
0,12
0,13
0,12

0,2025
0,135
0,135
0,09
0,0585
0,0585
0,054
0,054
0,039
0,039
0,036
0,036
0,0169
0,0156
0,0156
0,0144

00
110
101
1111
0111
0110
0101
0100
11101
11100
10011
10010
100011
100010
100001
100000

Hace tender la longitud


media de codificacin a la
entropa.

El crecimiento del nmero


de smbolos es
exponencial

f.rico@entel.upc.es

Cdigos de Huffman (iv)


z
z
z

Son ptimos en cuanto que alcanzan la


entropa de la fuente.
Requieren el conocimiento a priori de la
estadstica de smbolos.
Pueden modificarse par fuentes no
estacionarias:
Huffman Adaptativo

f.rico@entel.upc.es

Huffman Adaptativo (i)


P(A)=1/4
P(B)=1/4
P(C)=1/4
p(D)=1/4
P(A)=2/5
P(B)=1/5
P(C)=1/5
p(D)=1/5
P(A)=2/6
P(B)=2/6
P(C)=1/6
p(D)=1/6
P(A)=2/7
P(B)=3/7
P(C)=1/7
p(D)=1/7

A=00
B=01
C=10
D=11
A=00
B=10
C=101
D=100
A=0
B=11
C=101
D=100
A=11
B=0
C=101
D=100

A 00 A

B 10 B

B 11 B

A 11 A

P(A)=1/4
P(B)=1/4
P(C)=1/4
p(D)=1/4
P(A)=2/5
P(B)=1/5
P(C)=1/5
p(D)=1/5
P(A)=2/6
P(B)=2/6
P(C)=1/6
p(D)=1/6
P(A)=2/7
P(B)=3/7
P(C)=1/7
p(D)=1/7

A=00
B=01
C=10
D=11
A=00
B=10
C=111
D=110
A=0
B=11
C=101
D=100
A=11
B=0
C=101
D=100
f.rico@entel.upc.es

Huffman Adaptativo (ii)


z
z
z
z

No es necesario conocer la estadstica de


los smbolos
Se adapta a fuentes no estacionarias
No tiene sobrecarga en transmisin pues los
diccionarios no se transmiten
Aumenta la complejidad de computo pues se
han de recalcular los cdigos
f.rico@entel.upc.es

10

Cdigos Aritmticos
z
z
z
z
z

Un punto tiene informacin Infinita


Se realiza la codificacin mediante una
sucesin de segmentos encajados.
Para codificar secuencias largas se ha de
trabajar con aritmtica entera.
Hay que conocer la estadstica de la fuente.
Pueden hacerse adaptativos

f.rico@entel.upc.es

Ejemplo Cod. Aritmtico


A
B
C
D
E
F

0.2
0.3
0.1
0.2
0.1
0.1

0
0.2
0+0.2*0.5=0.1
0+0.2*0.6=0.12
0.1+0.02*0.2=0.104
0.1+0.02*0.5=0.11
0.104+0.006*0.8=0.1088
0.104+0.006*0.9=0.1094
ACBEF 0.1088+0.0006*0.9=0.10934
0.1088+0.0006*1=0.1094

[0,0.2)
A
[0.2,0.5)
[0.5,0.6) AC
[0.6,0.8)
[0.8,0.9) ACB
[0.9,1)
ACBE

0.2

0.1

0.12

0.104

0.11

0.1088 0.1094
0.10934 0.1094

f.rico@entel.upc.es

11

Decodificacin
A
B
C
D
E
F

0.2
0.3
0.1
0.2
0.1
0.1

[0,0.2)
[0.2,0.5)
[0.5,0.6)
[0.6,0.8)
[0.8,0.9)
[0.9,1)

0,10934
0,10934 A
(0,10934-0)/0,2
0,5467 C
(0,5467-0,5)/(0,6-0,5) 0,467 B
(0,467-0,2)/(0,5-0,2)
0,89 E
(0,89-0,8)/(0,9-0,8)
0,9 F

f.rico@entel.upc.es

Cdificacin Lempel-Ziv
z

Forman una familia de cdigos de uso muy


extendido.
LZLZ-77
LZSS
LZLZ-78
LZW
LZMW

f.rico@entel.upc.es

12

LZ-77: Ejemplo
A

(0,0)A (1,1)B (0,0)C (3,3)C (0,0)A

f.rico@entel.upc.es

LZ-77:Algoritmo
1
2
3
4

Posicin a Codificar (PC


PC) al inicio de la secuencia
Hallar coincidencia ms larga
Codificar (Desp,Long)Car
Si No Fin: Actualizar PC y volver a 2

f.rico@entel.upc.es

13

LZSS: Ejemplo
A

A A B C (3,3) C A

f.rico@entel.upc.es

LZ-78: Ejemplo
A

DICCI0NARIO
1

AB

ABC

CA

DICCI0NARIO

(0,A) (1,B) (0,C) (2,C) (3,A)

AB

ABC

CA

f.rico@entel.upc.es

14

LZW: Ejemplo

DICCI0NARIO
1

DICCI0NARIO
1

AA

AA

AB

AB

BC

BC

CA

CA

AAC

AAC

CB

CB

10

BCC

10

BCC

(1) (1) (2) (3) (4) (3) (6) (3)

f.rico@entel.upc.es

LZMW: Ejemplo
DICCI0NARIO

DICCI0NARIO

AA

AA

BC

BC

AAC

AAC

BCC

BCC

(1,1) (2,3) (4,3) (5,3)

f.rico@entel.upc.es

15

Burrows-Wheeler (i)
z

Transformacin !REVERSIBLE
P
0C
1O
2L
3L
4E
5B
6A

A
C
O
L
L
E
B

B
A
C
O
L
L
E

E
B
A
C
O
L
L

L
E
B
A
C
O
L

L
L
E
B
A
C
O

U
O
L
L
E
B
A
C

P
6A
5B
0C
4E
3L
2L
1O

B
E
A
L
L
O
C

E
L
B
L
O
C
A

L
L
E
O
C
A
B

L
O
L
C
A
B
E

O
C
L
A
B
E
L

U
C 0
A
O
B
E
L
L

SALIDA: CAOBELL,0
f.rico@entel.upc.es

Burrows-Wheeler (ii)
z

Sorprendentemente? la transformacin
anterior (para bloques de algunos KB)
agrupa los caracteres en rfagas.
Usando luego codificadores sencillos,se
consiguen tasas de compresin altas.

f.rico@entel.upc.es

16

Resultados con BWT


Resultados con Calgary Corpus
(ftp.cpsc.ucalgary.ca/pub/projects/text.compression.corpus)
obtenidos por Mark. Nelson
(http://www.dogma.net/markn/articles/bwt/bwt.htm )
Original Con PKZIP Burrow-Wheeler
Tamao 3251493 1072986
978122
Bits/Byte
8
2,64
2,41
f.rico@entel.upc.es

Inversin de la BWT

0
0
1
2
3
4
5
6

U
C
A
O
B
E
L
L

P
A
B
C
E
L
L
O

1
3
0
4
5
6
2

0 1 3 4 5 6 2
C A B E L L O

f.rico@entel.upc.es

17

Prestaciones
z

Tamao
Bits/Byte

Pruebas con Calgary Corpus

ORIGINAL BWT-ARI(A) BWT-ARI(B) gzip(LZ-77) ARI


compress(LZW) pack(Huffman)
3251493
978122
1148618
1066824 1779911
1313536
1829589
8
2,41
2,83
2,62
4,38
3,23
4,50

Leyenda
BWT-ARI(A)
BWT-ARI(B)
gzip(LZ-77)
ARI
compress(LZW)
pack(Huffman)

RLE-BWT-MTF-RLE (Bloque BWT 200 Kbytes)


RLE-BWT-MTF-RLE (Bloque BWT 20 Kbytes)
Programa gzip
Cdigo aritmtico
Programa compress
Programa pack

f.rico@entel.upc.es

18

También podría gustarte