SlideShare una empresa de Scribd logo
1 de 46
Codificación de fuente
Teoría de las Telecomunicaciones
Comunicaciones I
Codificación de fuente
 Un problema de interés dentro de las comunicaciones es la
representación eficiente de los datos generados por una fuente de
información discreta.
 El proceso mediante el cual se lleva a cabo esta representación se llama
codificación de fuente y consiste en la asignación de un código a cada
símbolo de la fuente.
 Este código se forma con una secuencia de dígitos binarios y lo
llamaremos palabrade código.
Codificación de fuente
 La codificación más sencilla que se le puede hacer a una fuente de
información discreta es una asignación de palabras de código de
longitud fija.
 Por ejemplo, si la fuente tiene 3 símbolos entonces se le pueden asignar 2
bits a cada palabra de código de cada símbolo.
 Por ejemplo A = 00; B = 10; C = 11.
 Sin embargo, una codificación más eficiente es A = 0; B = 10; C = 11. Esta
codificación se llama de longitud variable.
Codificación de fuente
 Para hacer una codificación de longitud variable se requiere conocer la
probabilidad de ocurrencia de los elementos de la fuente.
 Conociendo esto, se asignan las palabras de código más cortas a los
elementos más probables, y las más largas a los elementos menos
probables.
 Por ejemplo, el código Morse asigna un punto (“.”) a la letra E que es la
que ocurre con mayor frecuencia, y el código “--.-” a la letra Q que es la
menos frecuente.
Codificación de fuente
 ¿Qué se logra con este criterio de codificación? Transmitir la menor cantidad posible
de bits (dígitos binarios) para transmitir la misma cantidad de información.
 Beneficios:
 Transmitir la información utilizando el mismo tiempo que en el caso de codificación
de longitud fija pero a menor velocidad (tasa de bit), o sea, usando un menor ancho
de banda.
 Transmitir con el mismo ancho de banda que en el caso de codificación de longitud
fija (es decir, a igual velocidad) pero en menor tiempo.
 Reducir la tasa de error de bit como consecuencia del aumento de la energía de bit.
Codificación de fuente
 Requisitos:
 1. El código generado por el codificador debe ser del tipo binario.
 2. El código debe ser unívocamentedecodificable, esto quiere decir
que el símbolo original se puede reconstruir perfectamente, sin
ambigüedad, a partir de la secuencia binaria codificada.
Codificación de fuente
 Supongamos entonces que los elementos sk que una fuente de información genera a su salida
son convertidos por el codificador en una secuencia de unos y ceros, denotada por bk.
 Asumimos que la fuente tiene un alfabeto con K símbolos diferentes y que el k-ésimo elemento
sk ocurre con una probabilidad pk (k desde 0 hasta K-1).
 Supongamos que la palabra de código asignada al símbolo sk tiene una longitud lk, medida en
bits (dígitos binarios).
 Definimos a la longitud promedio de la palabra de código, , generado por el codificador de
fuente, como:




1
0
K
k
k
k l
p
L
L
Codificación de fuente
 Conceptualmente, la ecuación anterior representa el número promedio de bits por
símbolo de fuente, que se obtiene con el codificador que se esté usando.
 Sea el mínimo valor posible que teóricamente puede tener para una fuente de
información discreta dada y usando alguna cierta codificación.
 Entonces definimos la eficiencia de un código generado por un codificador de fuente
como:
 Como > entonces resulta η < 1. Cuanto más cercano a 1 es η, más eficiente es
el código.
min
L L
L
Lmin


L min
L
Codificación de fuente
 ¿Cuál es el valor más pequeño posible que puede tener L medio mínimo?
¿Hay algún límite teórico? Sí:
 Es decir, nunca puede ser más pequeño que la entropía de la fuente. El
caso óptimo se da cuando = H(S).
 Por lo tanto, se obtiene cuando = H(S). Bajo esta condición
obtenemos:
)
(S
H
L 
L
L
min
L L
L
S
H )
(


Codificación de fuente
 La eficiencia es un valor adimensional. Este resultado surge de
simplificar [bit/símbolo] del numerador con [bit/símbolo] del
denominador a pesar de que ambos términos “bit” son unidades
diferentes.
 La ecuación nos dice cuántosbits (dígitos binarios) se
requieren en promedio por cada símbolo de la fuente, comomínimo,
para transmitir la información que genera la fuente. La diferencia entre
los valores de Lmedio y H(S) da una idea de cuántos bits (dígitos binarios)
redundantes se está transmitiendo.
)
(S
H
L 
Codificación de fuente
 En general H(S) no es un número entero, pero si se usa codificación de
longitud fija, Lmedio sí es un número entero, entonces no es posible en este caso
alcanzar el 100% de eficiencia en la codificación.
 Por eso un código de longitud variable es más eficiente que uno de longitud
fija.
 Si la fuente tiene K elementos, con K = 2N, siendo N un entero, y son
igualmente probables, entonces la codificación de longitud fija es
perfectamente eficiente ya que se requieren N bits para codificar cada uno de
los K elementos y la entropía de la fuente resulta ser log2(K) = N.
Codificación de fuente
 Supongamos una fuente de información discreta sin memoria con 8 elementos, y que
tiene una H(S) = 2,3 bit/símbolo.
 Supongamos que se transmite un símbolo por segundo.
 La tasa de información es R = r.H(S).
 R = 1 símbolo/seg x 2,3 bit/símbolo.
 R = 2,3 bit/seg.
 El límite de Shannon nos dice que para transmitir 2,3 bits de información por
segundo, se requieren transmitir por lo menos 2,3 bits (dígitos binarios) por segundo.
 Para saber exactamente cuántos dígitos binarios por segundo se deben transmitir, se
debe conocer la distribución de probabilidades de los elementos de la fuente.
Código libre de prefijo
 Consideremos una fuente discreta sin memoria con un alfabeto {s0, s1,
...sK-1} con sus respectivas probabilidades {p0, p1, ...pK-1}.
 El código que represente a esta fuente tiene que ser unívocamente
decodificable.
 Esta restricción asegura que a dos diferentes secuencias finitas de
símbolos de la fuente le correspondan dos secuencias de palabras de
código también diferentes.
Código libre de prefijo
 Un código libre de prefijo es aquel en el que ninguna palabra de código es prefijo de ninguna
otra palabra de código del conjunto.
 Es decir, ninguna de las palabras de código asignadas a una fuente es parte inicial de
cualquiera de las otras palabras de código asignadas al resto de los elementos de esa misma
fuente.
 En la tabla siguiente, los códigos I y III no son libre de prefijo. No obstante, el III puede
resolverse pero no en forma instantánea.
Elemento
de la fuente
Probabilidad de
ocurrencia
Código I Código II Código III
s0 0,5 0 0 0
s1 0,25 1 10 01
s2 0,125 00 110 011
s3 0,125 11 111 0111
Código libre de prefijo
 Árbol de decisión:
 Por ejemplo, la secuencia codificada 1011111000... es decodificada en la
secuencia s1s3s2s0s0...
Código libre de prefijo
 Si se ha construido un código libre de prefijo para una fuente discreta sin memoria
con un alfabeto {s0, s1, ..., sK-1} y con distribución de probabilidades {p0, p1, ...,pK-1}, y
cada palabra de código correspondiente a cada símbolo sk tiene una longitud lk,
entonces con seguridad se cumple la siguiente desigualdad llamada desigualdad de
Kraft McMillan:
 A la inversa, podemos establecer que si las longitudes que se pretenden asignar a las
palabras de código de una fuente discreta sin memoria satisfacen la desigualdad de
Kraft-McMillan, entonces es posible construir un código libre de prefijo usando esas
longitudes de palabras de código.
1
2
1
0





K
k
lk
Código libre de prefijo
 Ejemplo. Una fuente de información discreta tiene tres elementos: A, B y C. ¿Es posible
construir un código libre de prefijos con la distribución de longitudes palabras de código
siguiente? (X representa uno o cero):
 Solución. Aplicando la desigualdad de Kraft-McMillan:
 Como el resultado es menor que 1, entones es posible obtener un código libre de prefijo con la
distribución de dígitos binarios pretendida.
Elemento
de la fuente
Código
A X
B XX
C XXX
875
,
0
2
2
2
2 3
2
1
1
0



 






K
k
lk
Código libre de prefijo
 Dada una fuente discreta sin memoria que tiene una entropía H(S), la longitud promedio de
palabras de código para una codificación óptima libre de prefijo, tiene los siguientes límites:
 Además, para una codificación óptima libre de prefijo, la ecuación de Kraft-McMillan da
siempre 1.
 ¿Qué ocurre con la longitud media de palabra de código usando fuentes extendidas?
 Teniendo en cuenta que H(Sn) = nH(S), obtenemos:
 O, equivalentemente:
1
)
(
)
( 

 s
H
L
s
H
1
)
(
)
( 

 n
n
n
S
H
L
S
H
1
)
(
)
( 

 S
nH
L
S
nH n
n
S
H
n
L
S
H n 1
)
(
)
( 


Codificación Huffman
 El código Huffman es una codificación de fuente cuya longitud media de
palabra de código se aproxima al límite fundamental dado por la
entropía H(S) de una fuente discreta sin memoria.
 El código de Huffman es óptimo en el sentido de que no hay otra
codificación que permita obtener una longitud media de palabra de
código más pequeña, o dicho de otro modo, que no permita obtener una
eficiencia η más alta.
Codificación Huffman
 Ejemplo. En la tabla siguiente se muestran los seis símbolos de una
fuente discreta sin memoria junto con sus respectivas probabilidades,
ordenadas de manera decreciente. Se desea armar un código libre de
prefijo mediante la codificación Huffman.
Símbolo Probabilidad
Código
resultante
lk lk x pk
a 0,4 11 2 0,8
b 0,2 00 2 0,4
c 0,1 101 3 0,3
d 0,1 100 3 0,3
e 0,1 011 3 0,3
f 0,1 010 3 0,3
L = 2,4
Codificación Huffman
 Los símbolos de la fuente se ordenan de acuerdo a su probabilidad en
forma decreciente.
Codificación Huffman
 A los dos símbolos menos probables se les asigna un 0 y un 1 (o un 1 y un
0, pero se debe mantener el mismo criterio durante todo el proceso).
Codificación Huffman
 Estos dos símbolos se combinan entre sí sumando sus probabilidades.
Codificación Huffman
 Este nuevo símbolo, con su nueva probabilidad, se coloca en una nueva
columna con el resto de los símbolos de la fuente, otra vez según un orden
decreciente.
Codificación Huffman
 El proceso de reducción continúa…
Codificación Huffman
 El proceso de reducción continúa…
Codificación Huffman
 El proceso de reducción continúa…
Codificación Huffman
 El algoritmo termina cuando en la última columna quedan dos elementos,
designados con un 1 y un 0 y cuya suma de probabilidades será obviamente 1.
Codificación Huffman
Símbolo Probabilidad
Código
resultante
lk lk x pk
a 0,4 11 2 0,8
b 0,2 00 2 0,4
c 0,1 101 3 0,3
d 0,1 100 3 0,3
e 0,1 011 3 0,3
f 0,1 010 3 0,3
L = 2,4
Codificación Huffman
 La longitud media de palabra de código es 2,4 bits por símbolo. Esto no significa que
se transmite un número no entero de bits. Significa que en promedio, para transmitir
por ejemplo 100 símbolos de la fuente, se transmiten 240 bits por el canal de
comunicación.
 Utilizando un sistema de codificación de longitud fija, se necesitarían 3 bits para
poder codificar los 6 elementos de la fuente. Es decir, en promedio, por cada 100
símbolos se transmitirían 300 bits.
 Se llama relación de compresión R al cociente entre la longitud media de palabra de
código para una codificación de longitud fija y la longitud media obtenida con la
codificación de longitud variable. Por lo tanto, para este ejemplo, la relación de
compresión R es (3/2,4) = 1,25.
Codificación Huffman
 La eficiencia de compresión es:
 Es decir que se “comprime” a un 96,7% del máximo teórico posible.
También se puede observar que la longitud media de palabra de código
es mayor que H(S) y menor que H(S) + 1.
%
7
,
96
100
lo
bits/símbo
4
,
2
lo
bits/símbo
32
,
2




Codificación Huffman
 El proceso de codificación de Huffman no es único es decir, se puede llegar al mismo
resultado por otro camino.
 En cada etapa es arbitraria la asignación del 1 y el 0 a las dos últimas ramas que se
suman, pudiendo invertirse el orden.
 Si la suma de estos dos elementos da como resultado una probabilidad que es igual a
la de un elemento de la siguiente columna, este elemento resultante puede ubicarse ya
sea lo más arriba posible como en cualquier otro puesto intermedio en la columna
siguiente, siempre respetando el orden decreciente.
 Estas alternativas conducen a resultados diferentes en cuanto a la longitud de las
palabras de código que le terminará correspondiendo a cada símbolo, aunque la
longitud media resultante sigue siendo la misma.
Codificación Huffman
 Se puede medir la variabilidad de las longitudes de las palabras de código a
través de su varianza, es decir, la dispersión que hay entre las longitudes de
palabras de código correspondientes a cada elemento de la fuente:
 En la ecuación anterior pk es la probabilidad del símbolo sk y lk es la longitud
de la palabra de código asociada al símbolo sk.
 Cuando se aplica el algoritmo de Huffman colocando la probabilidad
resultante de la suma de las dos últimas ramas en el lugar más alto posible de
la columna siguiente, entonces se obtiene el valor más pequeño para σ2.
 





1
0
2
2
K
k
k
k L
l
p

Codificación Huffman
 Ejemplo. Considérese el siguiente alfabeto con sus respectivas probabilidades. Resolver el
algoritmo de Huffman para esta fuente y para la fuente extendida de orden 2.
 En la tabla anterior se muestra el código resultante, luego de aplicar Huffman, como así
también la longitud media de palabra de código que es 1,27. De aquí resulta que la relación de
compresión es R = 2/1,27 = 1,57, teniendo en cuenta que usando codificación de longitud fija
tres símbolos se pueden codificar con dos bits. Así mismo, la eficiencia de compresión es η =
0,944/1,27 x 100 = 74%, ya que la entropía es H(S) = 0,944 bits/símbolo.
Símbolo Probabilidad
Código
resultante
lk lk x pk
a 0,73 1 1 0,73
b 0,25 01 2 0,50
c 0,02 00 2 0,04
L = 1,27
Codificación Huffman
 Aplicando Huffman a la fuente extendida se obtiene la tabla siguiente:
 El valor de Lmedio es 1,9342 bits por cada dos símbolos de la fuente original, o bien 0,9671 bit por cada símbolo de la
fuente original. La relación de compresión es R = 2/0,9671 = 2,068. La eficiencia del código ahora es η = 97,6%.
 Al extender la fuente se consigue una mejor eficiencia en la representación de los símbolos y una mejor relación de
compresión.
Símbolo Probabilidad
Código
resultante
lk lk x pk
aa 0,5329 1 1 0,5329
ab 0,1825 00 2 0,3650
ba 0,1825 011 3 0,5475
bb 0,0625 0101 4 0,2500
ac 0,0146 01000 5 0,0730
ca 0,0146 010011 6 0,0876
bc 0,0050 0100100 7 0,0350
cb 0,0050 01001011 8 0,0400
cc 0,0004 01001010 8 0,0032
L = 1,9342
Método de compresión de Shannon - Fano
 Es otro método de compresión, en el que también se deben ubicar los elementos de la
fuente en orden decreciente de probabilidad para proceder con el algoritmo. La tabla
formada se divide en dos partes buscando que la suma de probabilidades en ambas
partes sean lo más próximas posibles entre sí.
Símbolo Probabilidad I II III Código
a 0,4 0 0 00
b 0,2 0 1 01
c 0,1 1 0 0 100
d 0,1 1 0 1 101
e 0,1 1 1 0 110
f 0,1 1 1 1 111
Método de compresión de Shannon - Fano
 A los símbolos de la mitad superior se les asigna el bit 0 mientras que a
los de la mitad inferior se les asigna el bit 1 (o viceversa, pero
manteniendo el mismo criterio durante todo el algoritmo).
Símbolo Probabilidad I II III Código
a 0,4 0 0 00
b 0,2 0 1 01
c 0,1 1 0 0 100
d 0,1 1 0 1 101
e 0,1 1 1 0 110
f 0,1 1 1 1 111
Método de compresión de Shannon - Fano
 El proceso continúa iterativamente hasta que no se puedan hacer más
divisiones.
Símbolo Probabilidad I II III Código
a 0,4 0 0 00
b 0,2 0 1 01
c 0,1 1 0 0 100
d 0,1 1 0 1 101
e 0,1 1 1 0 110
f 0,1 1 1 1 111
Método de compresión de Shannon - Fano
 El proceso continúa iterativamente hasta que no se puedan hacer más
divisiones.
Símbolo Probabilidad I II III Código
a 0,4 0 0 00
b 0,2 0 1 01
c 0,1 1 0 0 100
d 0,1 1 0 1 101
e 0,1 1 1 0 110
f 0,1 1 1 1 111
Método de compresión de Shannon - Fano
 El proceso continúa iterativamente hasta que no se puedan hacer más
divisiones.
Símbolo Probabilidad I II III Código
a 0,4 0 0 00
b 0,2 0 1 01
c 0,1 1 0 0 100
d 0,1 1 0 1 101
e 0,1 1 1 0 110
f 0,1 1 1 1 111
Códigos de longitud de pasada (Run Lengh Codes, RLC)
 Este esquema de codificación se aplica a aquellas fuentes de datos cuyos elementos se van
transmitiendo a modo de secuencias repetidas de un mismo elemento, como por ejemplo
acccbbaaabb...
 En vez de transmitir un código para cada elemento de la fuente, la idea es transmitir pares
que, para el ejemplo dado serían:
 (1, a), (3, c), (2, b), (3, a), (2, b)...
 Es decir, el primer término del par indica cuántas veces se transmite el segundo elemento del
par. La secuencia sería 1a3c2b3a2b..., donde cada letra es reemplazada por el código ASCII
correspondiente, por ejemplo:
000000111000010000011110001100000101100010000001111000
01...
 Por lo tanto, si se usa un ASCII de 7 bits, se transmitirían 11 x 7 = 77 bits, mientras que usando
Run Length Code se transmiten 5 x 2 x 7 = 70 bits.
Códigos de longitud de pasada (Run Lengh Codes, RLC)
 Esta idea es explotada en la codificación de mensajes de fax. Los mensajes de
fax están formados por largas cadenas binarias que representan puntos
blancos o negros, como ser:
11111111111110000000000111111000000000111111111111111111100001111110... donde 1
representa blanco y 0 representa negro, por ejemplo.
 Para el caso del fax, como las cadenas de repeticiones de blancos y negros se
transmiten en forma alternada, la idea básica sería transmitir secuencias del
tipo 22, 11, 30, 99, 48, ..., etc., en lugar de pares, ya que el primer elemento del
par no es necesario debido a la alternancia en los colores de los píxeles.
Códigos de longitud de pasada (Run Lengh Codes, RLC)
 La Recomendación T.4 de la ITU-T es la que establece el mecanismo para la
transmisión de fax. Cada línea de la hoja de fax se compone de una secuencia de
palabras de código de longitud variable. Cada palabra de código representa una
longitud de repeticiones de elementos todos blancos o todos negros. Las repeticiones
de blanco y de negro se realizan de forma alternada. Cada línea horizontal de
exploración está formada por 1728 elementos o píxeles.
 Para garantizar el sincronismo entre transmisor y receptor todas las líneas de datos
comienzan con una palabra de código correspondiente a una repetición de elementos
blancos.
Códigos de longitud de pasada (Run Lengh Codes, RLC)
 La secuencia de repeticiones 200B, 10N,
10B, 84N, 884B, 540N se descompone
como 192B, 8B; 10N, 10B; 64N, 20N; 832B,
52B; 512N, 28N; EOL
Resumen
 Hemos visto los beneficios de codificar una fuente de información discreta con
la menor cantidad posible de dígitos binarios.
 Shannon establece un límite inferior para la longitud promedio de palabra de
código, el cual es igual a la entropía de la fuente.
 Un código que conduce a la longitud media más pequeña posible se dice que
es óptimo. Un algoritmo para obtenerlo es el de la codificación Huffman.
 Shannon-Fano es un algoritmo alternativo pero no garantiza que el código sea
óptimo.
 La codificación RLC se aplica en secuencias que tienen repeticiones, como por
ejemplo las líneas que conforman una hoja de fax.
Compresión por diccionarios
Nos vemos en el próximo capítulo:

Más contenido relacionado

La actualidad más candente

Códigos de línea
Códigos de líneaCódigos de línea
Códigos de líneaOscar Llanos
 
CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOS
CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOSCAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOS
CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOSStudent A
 
Practica #15 modulacion - demodulacion FSK
Practica #15 modulacion - demodulacion FSKPractica #15 modulacion - demodulacion FSK
Practica #15 modulacion - demodulacion FSKFernando Ojeda
 
Modulacion FM
Modulacion FMModulacion FM
Modulacion FMgbermeo
 
Modulación digital con portadora análoga
Modulación digital con portadora análogaModulación digital con portadora análoga
Modulación digital con portadora análogaJoaquin Vicioso
 
3.1 Introducción a la transmision por radio
3.1 Introducción a la transmision por radio3.1 Introducción a la transmision por radio
3.1 Introducción a la transmision por radioEdison Coimbra G.
 
Modulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicionModulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicionAlieth Guevara
 
Codificacion Modulacion Digital.PPT
Codificacion Modulacion Digital.PPTCodificacion Modulacion Digital.PPT
Codificacion Modulacion Digital.PPTJuanAlvaradoDiaz2
 
Frecuencia modulada (FM) UAS
Frecuencia modulada (FM) UASFrecuencia modulada (FM) UAS
Frecuencia modulada (FM) UASIgnacio Velasco
 
Modulacion Digital de Señales Analogicas
Modulacion Digital de Señales AnalogicasModulacion Digital de Señales Analogicas
Modulacion Digital de Señales AnalogicasCarlos Toth
 
7. atenuacion, distorsion y ruido en la transmision
7. atenuacion, distorsion y ruido en la transmision7. atenuacion, distorsion y ruido en la transmision
7. atenuacion, distorsion y ruido en la transmisionEdison Coimbra G.
 

La actualidad más candente (20)

Códigos de línea
Códigos de líneaCódigos de línea
Códigos de línea
 
CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOS
CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOSCAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOS
CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOS
 
Tema 4 codificación de canal
Tema 4   codificación de canalTema 4   codificación de canal
Tema 4 codificación de canal
 
BANDA LATERAL UNICA
BANDA LATERAL UNICABANDA LATERAL UNICA
BANDA LATERAL UNICA
 
Practica #15 modulacion - demodulacion FSK
Practica #15 modulacion - demodulacion FSKPractica #15 modulacion - demodulacion FSK
Practica #15 modulacion - demodulacion FSK
 
codificacion de linea
codificacion de lineacodificacion de linea
codificacion de linea
 
Modulacion FM
Modulacion FMModulacion FM
Modulacion FM
 
Modulación digital con portadora análoga
Modulación digital con portadora análogaModulación digital con portadora análoga
Modulación digital con portadora análoga
 
Capacidad del canal
Capacidad del canalCapacidad del canal
Capacidad del canal
 
3.1 Introducción a la transmision por radio
3.1 Introducción a la transmision por radio3.1 Introducción a la transmision por radio
3.1 Introducción a la transmision por radio
 
Modulación fm y pm
Modulación fm y pmModulación fm y pm
Modulación fm y pm
 
Modulacion analogica
Modulacion analogicaModulacion analogica
Modulacion analogica
 
Modulacion-digital
 Modulacion-digital Modulacion-digital
Modulacion-digital
 
Modulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicionModulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicion
 
Codificacion Modulacion Digital.PPT
Codificacion Modulacion Digital.PPTCodificacion Modulacion Digital.PPT
Codificacion Modulacion Digital.PPT
 
Frecuencia modulada (FM) UAS
Frecuencia modulada (FM) UASFrecuencia modulada (FM) UAS
Frecuencia modulada (FM) UAS
 
Codigos de linea.pdfcódiga
Codigos de linea.pdfcódigaCodigos de linea.pdfcódiga
Codigos de linea.pdfcódiga
 
Modulacion Digital de Señales Analogicas
Modulacion Digital de Señales AnalogicasModulacion Digital de Señales Analogicas
Modulacion Digital de Señales Analogicas
 
7. atenuacion, distorsion y ruido en la transmision
7. atenuacion, distorsion y ruido en la transmision7. atenuacion, distorsion y ruido en la transmision
7. atenuacion, distorsion y ruido en la transmision
 
1 modulación psk
1 modulación psk1 modulación psk
1 modulación psk
 

Similar a Codificación de fuente: longitud variable y eficiencia

Similar a Codificación de fuente: longitud variable y eficiencia (20)

Teoría de la información
Teoría de la informaciónTeoría de la información
Teoría de la información
 
Entropia
EntropiaEntropia
Entropia
 
Comunicaciones
ComunicacionesComunicaciones
Comunicaciones
 
Grafos 9.2 2016
Grafos 9.2 2016Grafos 9.2 2016
Grafos 9.2 2016
 
Expo 1
Expo 1Expo 1
Expo 1
 
Compresion de Datos - Telecomunicaciones III
Compresion de Datos - Telecomunicaciones IIICompresion de Datos - Telecomunicaciones III
Compresion de Datos - Telecomunicaciones III
 
Grafos 9.2 2016
Grafos 9.2 2016Grafos 9.2 2016
Grafos 9.2 2016
 
codificación de canal
codificación de canalcodificación de canal
codificación de canal
 
CodificacióN De Canal
CodificacióN De CanalCodificacióN De Canal
CodificacióN De Canal
 
Grafos 9.2_2016
Grafos 9.2_2016Grafos 9.2_2016
Grafos 9.2_2016
 
Conferencia n 6
Conferencia n 6Conferencia n 6
Conferencia n 6
 
Hpcs conf poster
Hpcs conf posterHpcs conf poster
Hpcs conf poster
 
Códigos y Modos de Transmisión de Datos
Códigos y Modos de Transmisión de DatosCódigos y Modos de Transmisión de Datos
Códigos y Modos de Transmisión de Datos
 
Codificacion HUFFMAN en matlab
Codificacion HUFFMAN en matlabCodificacion HUFFMAN en matlab
Codificacion HUFFMAN en matlab
 
Sistemas de Telecomunicaciones cap 2
Sistemas de Telecomunicaciones cap 2Sistemas de Telecomunicaciones cap 2
Sistemas de Telecomunicaciones cap 2
 
Lecture 3 codificación fuente
Lecture 3 codificación fuenteLecture 3 codificación fuente
Lecture 3 codificación fuente
 
Sistema ascii y binario
Sistema ascii y binarioSistema ascii y binario
Sistema ascii y binario
 
Codigo Binario
Codigo BinarioCodigo Binario
Codigo Binario
 
Deteccion Y Control De
Deteccion Y Control DeDeteccion Y Control De
Deteccion Y Control De
 
CODIGO HUFFMAN-1.pptx
CODIGO HUFFMAN-1.pptxCODIGO HUFFMAN-1.pptx
CODIGO HUFFMAN-1.pptx
 

Último

Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfyoseka196
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfReneBellido1
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfDanielaVelasquez553560
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdfFlorenciopeaortiz
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdfAnthonyTiclia
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 

Último (20)

Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdf
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdf
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdf
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 

Codificación de fuente: longitud variable y eficiencia

  • 1. Codificación de fuente Teoría de las Telecomunicaciones Comunicaciones I
  • 2. Codificación de fuente  Un problema de interés dentro de las comunicaciones es la representación eficiente de los datos generados por una fuente de información discreta.  El proceso mediante el cual se lleva a cabo esta representación se llama codificación de fuente y consiste en la asignación de un código a cada símbolo de la fuente.  Este código se forma con una secuencia de dígitos binarios y lo llamaremos palabrade código.
  • 3. Codificación de fuente  La codificación más sencilla que se le puede hacer a una fuente de información discreta es una asignación de palabras de código de longitud fija.  Por ejemplo, si la fuente tiene 3 símbolos entonces se le pueden asignar 2 bits a cada palabra de código de cada símbolo.  Por ejemplo A = 00; B = 10; C = 11.  Sin embargo, una codificación más eficiente es A = 0; B = 10; C = 11. Esta codificación se llama de longitud variable.
  • 4. Codificación de fuente  Para hacer una codificación de longitud variable se requiere conocer la probabilidad de ocurrencia de los elementos de la fuente.  Conociendo esto, se asignan las palabras de código más cortas a los elementos más probables, y las más largas a los elementos menos probables.  Por ejemplo, el código Morse asigna un punto (“.”) a la letra E que es la que ocurre con mayor frecuencia, y el código “--.-” a la letra Q que es la menos frecuente.
  • 5. Codificación de fuente  ¿Qué se logra con este criterio de codificación? Transmitir la menor cantidad posible de bits (dígitos binarios) para transmitir la misma cantidad de información.  Beneficios:  Transmitir la información utilizando el mismo tiempo que en el caso de codificación de longitud fija pero a menor velocidad (tasa de bit), o sea, usando un menor ancho de banda.  Transmitir con el mismo ancho de banda que en el caso de codificación de longitud fija (es decir, a igual velocidad) pero en menor tiempo.  Reducir la tasa de error de bit como consecuencia del aumento de la energía de bit.
  • 6. Codificación de fuente  Requisitos:  1. El código generado por el codificador debe ser del tipo binario.  2. El código debe ser unívocamentedecodificable, esto quiere decir que el símbolo original se puede reconstruir perfectamente, sin ambigüedad, a partir de la secuencia binaria codificada.
  • 7. Codificación de fuente  Supongamos entonces que los elementos sk que una fuente de información genera a su salida son convertidos por el codificador en una secuencia de unos y ceros, denotada por bk.  Asumimos que la fuente tiene un alfabeto con K símbolos diferentes y que el k-ésimo elemento sk ocurre con una probabilidad pk (k desde 0 hasta K-1).  Supongamos que la palabra de código asignada al símbolo sk tiene una longitud lk, medida en bits (dígitos binarios).  Definimos a la longitud promedio de la palabra de código, , generado por el codificador de fuente, como:     1 0 K k k k l p L L
  • 8. Codificación de fuente  Conceptualmente, la ecuación anterior representa el número promedio de bits por símbolo de fuente, que se obtiene con el codificador que se esté usando.  Sea el mínimo valor posible que teóricamente puede tener para una fuente de información discreta dada y usando alguna cierta codificación.  Entonces definimos la eficiencia de un código generado por un codificador de fuente como:  Como > entonces resulta η < 1. Cuanto más cercano a 1 es η, más eficiente es el código. min L L L Lmin   L min L
  • 9. Codificación de fuente  ¿Cuál es el valor más pequeño posible que puede tener L medio mínimo? ¿Hay algún límite teórico? Sí:  Es decir, nunca puede ser más pequeño que la entropía de la fuente. El caso óptimo se da cuando = H(S).  Por lo tanto, se obtiene cuando = H(S). Bajo esta condición obtenemos: ) (S H L  L L min L L L S H ) (  
  • 10. Codificación de fuente  La eficiencia es un valor adimensional. Este resultado surge de simplificar [bit/símbolo] del numerador con [bit/símbolo] del denominador a pesar de que ambos términos “bit” son unidades diferentes.  La ecuación nos dice cuántosbits (dígitos binarios) se requieren en promedio por cada símbolo de la fuente, comomínimo, para transmitir la información que genera la fuente. La diferencia entre los valores de Lmedio y H(S) da una idea de cuántos bits (dígitos binarios) redundantes se está transmitiendo. ) (S H L 
  • 11. Codificación de fuente  En general H(S) no es un número entero, pero si se usa codificación de longitud fija, Lmedio sí es un número entero, entonces no es posible en este caso alcanzar el 100% de eficiencia en la codificación.  Por eso un código de longitud variable es más eficiente que uno de longitud fija.  Si la fuente tiene K elementos, con K = 2N, siendo N un entero, y son igualmente probables, entonces la codificación de longitud fija es perfectamente eficiente ya que se requieren N bits para codificar cada uno de los K elementos y la entropía de la fuente resulta ser log2(K) = N.
  • 12. Codificación de fuente  Supongamos una fuente de información discreta sin memoria con 8 elementos, y que tiene una H(S) = 2,3 bit/símbolo.  Supongamos que se transmite un símbolo por segundo.  La tasa de información es R = r.H(S).  R = 1 símbolo/seg x 2,3 bit/símbolo.  R = 2,3 bit/seg.  El límite de Shannon nos dice que para transmitir 2,3 bits de información por segundo, se requieren transmitir por lo menos 2,3 bits (dígitos binarios) por segundo.  Para saber exactamente cuántos dígitos binarios por segundo se deben transmitir, se debe conocer la distribución de probabilidades de los elementos de la fuente.
  • 13. Código libre de prefijo  Consideremos una fuente discreta sin memoria con un alfabeto {s0, s1, ...sK-1} con sus respectivas probabilidades {p0, p1, ...pK-1}.  El código que represente a esta fuente tiene que ser unívocamente decodificable.  Esta restricción asegura que a dos diferentes secuencias finitas de símbolos de la fuente le correspondan dos secuencias de palabras de código también diferentes.
  • 14. Código libre de prefijo  Un código libre de prefijo es aquel en el que ninguna palabra de código es prefijo de ninguna otra palabra de código del conjunto.  Es decir, ninguna de las palabras de código asignadas a una fuente es parte inicial de cualquiera de las otras palabras de código asignadas al resto de los elementos de esa misma fuente.  En la tabla siguiente, los códigos I y III no son libre de prefijo. No obstante, el III puede resolverse pero no en forma instantánea. Elemento de la fuente Probabilidad de ocurrencia Código I Código II Código III s0 0,5 0 0 0 s1 0,25 1 10 01 s2 0,125 00 110 011 s3 0,125 11 111 0111
  • 15. Código libre de prefijo  Árbol de decisión:  Por ejemplo, la secuencia codificada 1011111000... es decodificada en la secuencia s1s3s2s0s0...
  • 16. Código libre de prefijo  Si se ha construido un código libre de prefijo para una fuente discreta sin memoria con un alfabeto {s0, s1, ..., sK-1} y con distribución de probabilidades {p0, p1, ...,pK-1}, y cada palabra de código correspondiente a cada símbolo sk tiene una longitud lk, entonces con seguridad se cumple la siguiente desigualdad llamada desigualdad de Kraft McMillan:  A la inversa, podemos establecer que si las longitudes que se pretenden asignar a las palabras de código de una fuente discreta sin memoria satisfacen la desigualdad de Kraft-McMillan, entonces es posible construir un código libre de prefijo usando esas longitudes de palabras de código. 1 2 1 0      K k lk
  • 17. Código libre de prefijo  Ejemplo. Una fuente de información discreta tiene tres elementos: A, B y C. ¿Es posible construir un código libre de prefijos con la distribución de longitudes palabras de código siguiente? (X representa uno o cero):  Solución. Aplicando la desigualdad de Kraft-McMillan:  Como el resultado es menor que 1, entones es posible obtener un código libre de prefijo con la distribución de dígitos binarios pretendida. Elemento de la fuente Código A X B XX C XXX 875 , 0 2 2 2 2 3 2 1 1 0            K k lk
  • 18. Código libre de prefijo  Dada una fuente discreta sin memoria que tiene una entropía H(S), la longitud promedio de palabras de código para una codificación óptima libre de prefijo, tiene los siguientes límites:  Además, para una codificación óptima libre de prefijo, la ecuación de Kraft-McMillan da siempre 1.  ¿Qué ocurre con la longitud media de palabra de código usando fuentes extendidas?  Teniendo en cuenta que H(Sn) = nH(S), obtenemos:  O, equivalentemente: 1 ) ( ) (    s H L s H 1 ) ( ) (    n n n S H L S H 1 ) ( ) (    S nH L S nH n n S H n L S H n 1 ) ( ) (   
  • 19. Codificación Huffman  El código Huffman es una codificación de fuente cuya longitud media de palabra de código se aproxima al límite fundamental dado por la entropía H(S) de una fuente discreta sin memoria.  El código de Huffman es óptimo en el sentido de que no hay otra codificación que permita obtener una longitud media de palabra de código más pequeña, o dicho de otro modo, que no permita obtener una eficiencia η más alta.
  • 20. Codificación Huffman  Ejemplo. En la tabla siguiente se muestran los seis símbolos de una fuente discreta sin memoria junto con sus respectivas probabilidades, ordenadas de manera decreciente. Se desea armar un código libre de prefijo mediante la codificación Huffman. Símbolo Probabilidad Código resultante lk lk x pk a 0,4 11 2 0,8 b 0,2 00 2 0,4 c 0,1 101 3 0,3 d 0,1 100 3 0,3 e 0,1 011 3 0,3 f 0,1 010 3 0,3 L = 2,4
  • 21. Codificación Huffman  Los símbolos de la fuente se ordenan de acuerdo a su probabilidad en forma decreciente.
  • 22. Codificación Huffman  A los dos símbolos menos probables se les asigna un 0 y un 1 (o un 1 y un 0, pero se debe mantener el mismo criterio durante todo el proceso).
  • 23. Codificación Huffman  Estos dos símbolos se combinan entre sí sumando sus probabilidades.
  • 24. Codificación Huffman  Este nuevo símbolo, con su nueva probabilidad, se coloca en una nueva columna con el resto de los símbolos de la fuente, otra vez según un orden decreciente.
  • 25. Codificación Huffman  El proceso de reducción continúa…
  • 26. Codificación Huffman  El proceso de reducción continúa…
  • 27. Codificación Huffman  El proceso de reducción continúa…
  • 28. Codificación Huffman  El algoritmo termina cuando en la última columna quedan dos elementos, designados con un 1 y un 0 y cuya suma de probabilidades será obviamente 1.
  • 29. Codificación Huffman Símbolo Probabilidad Código resultante lk lk x pk a 0,4 11 2 0,8 b 0,2 00 2 0,4 c 0,1 101 3 0,3 d 0,1 100 3 0,3 e 0,1 011 3 0,3 f 0,1 010 3 0,3 L = 2,4
  • 30. Codificación Huffman  La longitud media de palabra de código es 2,4 bits por símbolo. Esto no significa que se transmite un número no entero de bits. Significa que en promedio, para transmitir por ejemplo 100 símbolos de la fuente, se transmiten 240 bits por el canal de comunicación.  Utilizando un sistema de codificación de longitud fija, se necesitarían 3 bits para poder codificar los 6 elementos de la fuente. Es decir, en promedio, por cada 100 símbolos se transmitirían 300 bits.  Se llama relación de compresión R al cociente entre la longitud media de palabra de código para una codificación de longitud fija y la longitud media obtenida con la codificación de longitud variable. Por lo tanto, para este ejemplo, la relación de compresión R es (3/2,4) = 1,25.
  • 31. Codificación Huffman  La eficiencia de compresión es:  Es decir que se “comprime” a un 96,7% del máximo teórico posible. También se puede observar que la longitud media de palabra de código es mayor que H(S) y menor que H(S) + 1. % 7 , 96 100 lo bits/símbo 4 , 2 lo bits/símbo 32 , 2    
  • 32. Codificación Huffman  El proceso de codificación de Huffman no es único es decir, se puede llegar al mismo resultado por otro camino.  En cada etapa es arbitraria la asignación del 1 y el 0 a las dos últimas ramas que se suman, pudiendo invertirse el orden.  Si la suma de estos dos elementos da como resultado una probabilidad que es igual a la de un elemento de la siguiente columna, este elemento resultante puede ubicarse ya sea lo más arriba posible como en cualquier otro puesto intermedio en la columna siguiente, siempre respetando el orden decreciente.  Estas alternativas conducen a resultados diferentes en cuanto a la longitud de las palabras de código que le terminará correspondiendo a cada símbolo, aunque la longitud media resultante sigue siendo la misma.
  • 33. Codificación Huffman  Se puede medir la variabilidad de las longitudes de las palabras de código a través de su varianza, es decir, la dispersión que hay entre las longitudes de palabras de código correspondientes a cada elemento de la fuente:  En la ecuación anterior pk es la probabilidad del símbolo sk y lk es la longitud de la palabra de código asociada al símbolo sk.  Cuando se aplica el algoritmo de Huffman colocando la probabilidad resultante de la suma de las dos últimas ramas en el lugar más alto posible de la columna siguiente, entonces se obtiene el valor más pequeño para σ2.        1 0 2 2 K k k k L l p 
  • 34. Codificación Huffman  Ejemplo. Considérese el siguiente alfabeto con sus respectivas probabilidades. Resolver el algoritmo de Huffman para esta fuente y para la fuente extendida de orden 2.  En la tabla anterior se muestra el código resultante, luego de aplicar Huffman, como así también la longitud media de palabra de código que es 1,27. De aquí resulta que la relación de compresión es R = 2/1,27 = 1,57, teniendo en cuenta que usando codificación de longitud fija tres símbolos se pueden codificar con dos bits. Así mismo, la eficiencia de compresión es η = 0,944/1,27 x 100 = 74%, ya que la entropía es H(S) = 0,944 bits/símbolo. Símbolo Probabilidad Código resultante lk lk x pk a 0,73 1 1 0,73 b 0,25 01 2 0,50 c 0,02 00 2 0,04 L = 1,27
  • 35. Codificación Huffman  Aplicando Huffman a la fuente extendida se obtiene la tabla siguiente:  El valor de Lmedio es 1,9342 bits por cada dos símbolos de la fuente original, o bien 0,9671 bit por cada símbolo de la fuente original. La relación de compresión es R = 2/0,9671 = 2,068. La eficiencia del código ahora es η = 97,6%.  Al extender la fuente se consigue una mejor eficiencia en la representación de los símbolos y una mejor relación de compresión. Símbolo Probabilidad Código resultante lk lk x pk aa 0,5329 1 1 0,5329 ab 0,1825 00 2 0,3650 ba 0,1825 011 3 0,5475 bb 0,0625 0101 4 0,2500 ac 0,0146 01000 5 0,0730 ca 0,0146 010011 6 0,0876 bc 0,0050 0100100 7 0,0350 cb 0,0050 01001011 8 0,0400 cc 0,0004 01001010 8 0,0032 L = 1,9342
  • 36. Método de compresión de Shannon - Fano  Es otro método de compresión, en el que también se deben ubicar los elementos de la fuente en orden decreciente de probabilidad para proceder con el algoritmo. La tabla formada se divide en dos partes buscando que la suma de probabilidades en ambas partes sean lo más próximas posibles entre sí. Símbolo Probabilidad I II III Código a 0,4 0 0 00 b 0,2 0 1 01 c 0,1 1 0 0 100 d 0,1 1 0 1 101 e 0,1 1 1 0 110 f 0,1 1 1 1 111
  • 37. Método de compresión de Shannon - Fano  A los símbolos de la mitad superior se les asigna el bit 0 mientras que a los de la mitad inferior se les asigna el bit 1 (o viceversa, pero manteniendo el mismo criterio durante todo el algoritmo). Símbolo Probabilidad I II III Código a 0,4 0 0 00 b 0,2 0 1 01 c 0,1 1 0 0 100 d 0,1 1 0 1 101 e 0,1 1 1 0 110 f 0,1 1 1 1 111
  • 38. Método de compresión de Shannon - Fano  El proceso continúa iterativamente hasta que no se puedan hacer más divisiones. Símbolo Probabilidad I II III Código a 0,4 0 0 00 b 0,2 0 1 01 c 0,1 1 0 0 100 d 0,1 1 0 1 101 e 0,1 1 1 0 110 f 0,1 1 1 1 111
  • 39. Método de compresión de Shannon - Fano  El proceso continúa iterativamente hasta que no se puedan hacer más divisiones. Símbolo Probabilidad I II III Código a 0,4 0 0 00 b 0,2 0 1 01 c 0,1 1 0 0 100 d 0,1 1 0 1 101 e 0,1 1 1 0 110 f 0,1 1 1 1 111
  • 40. Método de compresión de Shannon - Fano  El proceso continúa iterativamente hasta que no se puedan hacer más divisiones. Símbolo Probabilidad I II III Código a 0,4 0 0 00 b 0,2 0 1 01 c 0,1 1 0 0 100 d 0,1 1 0 1 101 e 0,1 1 1 0 110 f 0,1 1 1 1 111
  • 41. Códigos de longitud de pasada (Run Lengh Codes, RLC)  Este esquema de codificación se aplica a aquellas fuentes de datos cuyos elementos se van transmitiendo a modo de secuencias repetidas de un mismo elemento, como por ejemplo acccbbaaabb...  En vez de transmitir un código para cada elemento de la fuente, la idea es transmitir pares que, para el ejemplo dado serían:  (1, a), (3, c), (2, b), (3, a), (2, b)...  Es decir, el primer término del par indica cuántas veces se transmite el segundo elemento del par. La secuencia sería 1a3c2b3a2b..., donde cada letra es reemplazada por el código ASCII correspondiente, por ejemplo: 000000111000010000011110001100000101100010000001111000 01...  Por lo tanto, si se usa un ASCII de 7 bits, se transmitirían 11 x 7 = 77 bits, mientras que usando Run Length Code se transmiten 5 x 2 x 7 = 70 bits.
  • 42. Códigos de longitud de pasada (Run Lengh Codes, RLC)  Esta idea es explotada en la codificación de mensajes de fax. Los mensajes de fax están formados por largas cadenas binarias que representan puntos blancos o negros, como ser: 11111111111110000000000111111000000000111111111111111111100001111110... donde 1 representa blanco y 0 representa negro, por ejemplo.  Para el caso del fax, como las cadenas de repeticiones de blancos y negros se transmiten en forma alternada, la idea básica sería transmitir secuencias del tipo 22, 11, 30, 99, 48, ..., etc., en lugar de pares, ya que el primer elemento del par no es necesario debido a la alternancia en los colores de los píxeles.
  • 43. Códigos de longitud de pasada (Run Lengh Codes, RLC)  La Recomendación T.4 de la ITU-T es la que establece el mecanismo para la transmisión de fax. Cada línea de la hoja de fax se compone de una secuencia de palabras de código de longitud variable. Cada palabra de código representa una longitud de repeticiones de elementos todos blancos o todos negros. Las repeticiones de blanco y de negro se realizan de forma alternada. Cada línea horizontal de exploración está formada por 1728 elementos o píxeles.  Para garantizar el sincronismo entre transmisor y receptor todas las líneas de datos comienzan con una palabra de código correspondiente a una repetición de elementos blancos.
  • 44. Códigos de longitud de pasada (Run Lengh Codes, RLC)  La secuencia de repeticiones 200B, 10N, 10B, 84N, 884B, 540N se descompone como 192B, 8B; 10N, 10B; 64N, 20N; 832B, 52B; 512N, 28N; EOL
  • 45. Resumen  Hemos visto los beneficios de codificar una fuente de información discreta con la menor cantidad posible de dígitos binarios.  Shannon establece un límite inferior para la longitud promedio de palabra de código, el cual es igual a la entropía de la fuente.  Un código que conduce a la longitud media más pequeña posible se dice que es óptimo. Un algoritmo para obtenerlo es el de la codificación Huffman.  Shannon-Fano es un algoritmo alternativo pero no garantiza que el código sea óptimo.  La codificación RLC se aplica en secuencias que tienen repeticiones, como por ejemplo las líneas que conforman una hoja de fax.
  • 46. Compresión por diccionarios Nos vemos en el próximo capítulo: