You are on page 1of 44

Universidad Nacional de Ingeniera

Comunicaciones II

Conferencia 3: Codificacin Fuente. Generalidades y Algoritmos


populares.
UNIDAD II: FORMATEO DE SEALES Y CODIFICACIN FUENTE

Instructor: Israel M. Zamora, P.E., MS Telecommunications Management


Profesor Titular, Departamento de Sistemas Digitales y Telecomunicaciones.
Universidad Nacional de Ingeniera

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 1


Contenido

Modelo sistema comunicacin banda


base
Codificacin fuente
Fuente Textual
Objetivo de la codificacin fuente
Diferentes Cdigos en uso hoy en da
Casos especiales:
El cdigo Huffman
Cdigo Lempel Ziv

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 2


Codificacin fuente

Consiste en codificar (asignar) cdigos binarios a


informacin cuyo origen es textual/caracteres o analgico.

La informacin digital binaria por naturaleza es generada en


formato binario por lo que no requiere de este proceso, sino
mas bien de entramado.

La informacin analgica requiere de un proceso de


conversin Analgico-a-Digital (A/D) antes que pueda ser
codificada. Este tema se desarrollar cuando tratemos en
detalle la modulacin PCM, DM, etc.

Esta conferencia se enfoca en el caso de informacin de tipo


textual (smbolos alfanumricos) en la cual abordamos el
esquema de codificacin de Huffman.

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 3


Sistema de comunicacin banda base
Pulsos digitales
Secuencia binaria ...10110110001... de voltaje/corriente
Informacin Digital Binaria

Informacin Textual o Caracteres

Muestreador Cuantificador Codificado Codificado Transmisor


Informacin r r de lnea
Analgica Binario

Codificacin Fuente
Medio de
Formas de transmisin
Onda de
pulsos

Informacin
Analgica Filtro Decodificador Detector Receptor
pasabajos Binario de lnea

Informacin Textual o Caracteres


La Codificacin de
Lnea la estudiaremos
Informacin Digital Binaria en conferencias
posteriores.
COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 4
Codificacin fuentes de texto/caracteres

En la transmisin de datos, los mismos son


previamente arreglados (formateados) de acuerdo
a a varios cdigos que se han desarrollado a
travs de los aos.

Es a menudo aconsejable seleccionar cdigos ya


disponibles para propsito de desarrollo y
solucin de fallas.

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 5


Codificacin fuentes de texto/caracteres
Corresponde a los mensajes o smbolos
alfanumricos que generamos por medios
electrnicos
Algunos ejemplos:
Cdigo Binario Natural
Cdigo Binario Gray
Cdigo Morse
Cdigo BAUDOT
Cdigo EBCDIC
Cdigo ASCII
Cdigo de Barras
Cdigo Huffman
Cdigo Lempel-Ziv
Etc.
COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 6
Cdigo binario natural
Son los cdigos definidos por 1s y 0s que normalmente
representan smbolos que son parte de un alfabeto de
comunicacin.
El alfabeto puede ser alfanumrico, o de otra ndole (ej: nivel de
voltaje de un cuatizador) que sea finito.
Consiste en asignar de forma creciente (natural) cdigos
binarios a cada smbolo.

Se guarda la relacin:

b = log2 L

b: nmero de bits del cdigo


L: Nmero de smbolos

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 7


Cdigo Gray

Una desventaja de los cdigos binarios naturales es que varios


bits pueden cambiar de estado simultneamente entre cuentas
adyacentes.
Ej: cuando en un sistema BCD (binario natural) se cambia la cuenta
de 7 (0111) a 8 (1000), todos los bits permutan

El cdigo GRAY es nico en que las cuentas sucesivas resultan


en solamente un cambio en un solo bit, reduciendo errores de
bits y errores de permutacin en los bits.

Se basa en el uso de la funcin OR Exclusiva o EXOR.

FUNCIN
FUNCINEXOR:
EXOR:Complemento
Complemento22

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 8


Cdigo Gray
CONVERSIN BINARIO-GRAY
el primer bit, iniciando con el MSB de un cdigo binario dado, se vuelve
el de la posicin ms a la izquierda del cdigo Gray
Aplique funcin EXOR al primer y segundo bit del cdigo binario dado,
para generar el segundo bit del cdigo Gray.
El tercer bit del cdigo Gray se encuentra al aplicar EXOR al segundo y
tercer bits de un cdigo binario dado.
El proceso contina hasta que los ltimos 2 bits del cdigo binario han
sido sujetos de la operacin EXOR para producir el ltimo bit del cdigo
Gray equivalente.

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 9


Cdigo Gray
CONVERSIN GRAY-BINARIO
El primer bit, iniciando con el bit ubicado mas a la izquierda del cdigo
Gray dado, se convierte en el MSB cdigo binario.
Se aplica EXOR al segundo bit del cdigo Gray con el MSB del cdigo
binario para producir el segundo bit binario.
Se aplica EXOR al tercer bit del cdigo Gray con el segundo bit del
cdigo binario para producir el tercer bit binario.
Se aplica EXOR al cuarto bit del cdigo Gray con el tercer bit del cdigo
binario para producir el cuarto bit binario, y as mismo sigue el proceso.

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 10


Cdigo Morse
Uno de los mas antiguos cdigos de transmisin
Desarrollado y patentado en 1840 por Samuel F.B.
Morse.
Fue el primer cdigo usado por el sistema de
telgrafo.
Usualmente usado en radioaficionados.
Formados por puntos y guiones.
Un guin dura tres veces lo que un punto.

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 11


Cdigo Morse

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 12


Cdigo BAUDOT
Desarrollado en 1874 por el ingeniero francs Emile
Baudot.
Es usado en el campo de la telegrafa y RTTY (Radio
teletipo).
La versin estandarizada de UIT se usa mundialmente
en las redes internacionales de Tlex, las que se
interconectan a travs de las redes telefnicas pblicas
(PSTN).

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 13


Cdigo BAUDOT

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 14


Cdigo BAUDOT

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 15


Cdigo EBCDIC

Dearrollado por IBM en 1962, como un cdigo


extendido de 8 bits.
EBCDIC significa: Extended Binary-Coded Decimal
Interchange Code.
Se usa intensamente en computadoras de gran
escala (Mainframes) y equipos perifricos.
Es una mejora sobre el antiguo cdigo BAUDOT.

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 16


Cdigo EBCDIC

IBM
Mainframe

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 17


Cdigo EBCDIC

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 18


Cdigo EBCDIC

Tarjeta perforada

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 19


Cdigo EBCDIC

Foto de tarjeta impresa EBCDIC

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 20


Cdigo ASCII
La American Standard Code for Information
Interchange (ASCII) es el cdigo de mayor uso a nivel
mundial para la transmisin y procesamiento de datos.
ASCII fue desarrollado en 1962 especficamente para
sistemas de comunicacin por computadoras.
ASCII es un cdigo de 7 bits que puede representarse
como dos caracteres hexadecimales para simplicidad.
Generalmente se provee de un octavo bit que sirve de
paridad, haciendo que el cdigo sea igual a un byte (8
bits).

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 21


Cdigo ASCII

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 22


Cdigo de Barras
Surgieron a principio de los aos 70.
Es una serie de barras negras y blancas, consistentemente
dimensionadas que son anchas y angostas.
Las barras blancas que separan las negras, son
denominadas espacios
Se componen de modo que contengan un cdigo cifrado que
es identificado por una computadora digital en forma de 1s
y 0s.
Suelen usarse en aplicaciones comerciales, en productos
que se venden al pblico.

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 23


Cdigo de Barras
Esta tecnologa ha avanzado hasta convertirse en una industria
multimillonaria que automatizado la tarea de verificacin en los
puestos de venta.
Algunas de las aplicaciones mas comunes son:
Gestin y control de inventario
Seguridad de Acceso (Autenticacin)
Envo y recepcin
Conteo de productos
Procesamiento de documentos y rdenes (servicio, venta, etc.)
Chequeo y facturacin en la renta de vehculos
Gestin del avance del trabajo
Cdigos postales (ZIP codes)
Programacin funcional
Introduccin de datos
Facturacin automtica
Rastreo y seguimiento de garantas y servicios

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 24


Cdigo de Barras

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 25


Cdigo de Barras

Posible seal de la bestia?

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 26


Objetivo de la Codificacin Fuente
Teorema de la codificacin fuente:
Uno de los tres teoremas fundamentales introducidos por Shannon
en 1948.
Establece un lmite fundamental en la tasa a la cual la salida de una
fuente de informacin puede ser comprimida sin causar
probabilidades de error grandes.

El principal objetivo es construir un conjunto de cdigos que


representen a cada smbolo del alfabeto fuente y cuya longitud
media sea la menor posible.

En principio, los smbolos ms frecuentes en la transmisin se


le asigna los cdigos de menor longitud (no. de bits), y a los
smbolos menos frecuente se le asigna los cdigos de mayor
longitud.

Algunos de algoritmos utilizados en la codificacin fuente son el


cdigo Huffman y el Lempel-Ziv.
COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 27
Cdigo Huffman
En 1951, a David Huffman y sus compaeros de clase de la
asignatura Teora de la Informacin se les permiti optar entre
la realizacin de un examen final o la presentacin de un trabajo.
El profesor Robert. M Fano asign las condiciones del trabajo
bajo la premisa de encontrar el cdigo binario ms eficiente.
Huffman, ante la imposibilidad de demostrar qu cdigo era ms
eficiente, se rindi y empez a estudiar para el examen final.
Mientras estaba en este proceso vino a su mente la idea de usar
rboles binarios de frecuencia ordenada y rpidamente prob que
ste era el mtodo ms eficiente.
Con este estudio, Huffman super a su profesor, quien haba
trabajado con el inventor de la teora de la informacin Claude
Shannon con el fin de desarrollar un cdigo similar. Huffman
solucion la mayor parte de los errores en el algoritmo de
codificacin Shannon-Fano. La solucin se basaba en el proceso
de construir el rbol desde el fondo hasta la raz en vez de al
contrario.
COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 28
Cdigo Huffman
Se basa en el principio indicado en la diapositiva
anterior

Mtodo:
1. Ordenar las probabilidades de los smbolos en orden
decreciente
2. Fusionar los dos smbolos de menor probabilidades
3. Si el nmero de elementos = 2, entonces:
A. Asignar 0 y 1 a los cdigos y pasar a 4.
B. Si no es as, volver a 1.
4. Si algn elemento es resultado de la fusin de dos elementos:
A. Agregar al cdigo un 0 y un 1 y pasar a A.
B. Si no es as entonces parar.

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 29


Cdigo Huffman

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 30


Ejemplo
Disee un cdigo de Huffman para el alfabeto {A, B, C, D, E} con
probabilidades de ser transmitidos de {1/2,1/4,1/8,1/16,1/16} respectivamente.

Solucin: Cdigo
Cdigo
Especular Real
0
A 1/2 A: 0 0

1.0 B: 01 10
0
B 1/4
C: 011 110
1/2
0 D: 0111 1110
C 1/8
1 E: 1111 1111
1/4
0
D 1/16
1
1/8

1
E 1/16
1

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 31


Ejercicio en casa 1

Disee el cdigo binario para el alfabeto


{a1, a2, a3} con probabilidades {1/3, 1/3,
1/3}. Cul es su comentario a este caso?

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 32


Ejercicio en casa 2

Disee el cdigo binario para el alfabeto


{A, B, C, D, E, F, G, H, I} con probabilidades
{2/9, 1/9, 1/9, 1/9, 2/9, 1/27, 1/27,1/27, 1/9}.

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 33


Longitud media del cdigo
Para un cdigo correspondiente al alfabeto de K smbolos
AX=(x0, x1,...,xK-1) con probabilidad de ocurrencia PX=[p0, p1, ... ,
pK-1] y longitud de palabra por smbolo LX=[(l0, l1, ... , lK-1], se
define la longitud media del cdigo como:

K-1
L X pk l k
k 0

Como una medida de la variabilidad de las longitudes de palabra


de un cdigo fuente, definimos la Varianza de la longitud
promedio de palabra de cdigo L sobre el conjunto de smbolos
fuente como: 2
K-1
pk lk L
2
X
k 0

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 34


Ejercicio en casa 3

Calcule la longitud media para los


ejercicios en casa 1 y 2

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 35


Desventaja del Cdigo Huffman

Requiere de un conocimiento previo de las


estadsticas de los smbolos transmitidos.
No considera ni aprovecha la memoria de los eventos
encontrados.
La necesidad de conservar el cdigo para que pueda
ser utilizado por el decodifcador en el momento de la
decompresin.
El importante nmero de comparaciones de bits
necesarios para decodicar la sucesin recibida
Un error en algn bit se propaga produciendo errores
importantes en la decodifcacin.
Los resultados pueden variara segn el idioma.

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 36


Cdigo Lempel-Ziv
Es muy popular. Lo podemos encontrar usado en
UNIX por la orden compress y la utilidad de MSDOS
arc. Fue ideado por Jacob Ziv y Abraham Lempel, y
publicado en el IEEE Transactions on Information
Theory, vol. IT-23, No 3 de Mayo de 1977.
El factor de compresin medio es 2 en un fichero
largo: reduccin del 50% (til tanto para almacenar
como para transmitir informacin)

La idea bsica es no repetir trozos de texto, sino


indicar la localizacin de inicio de la primera
instancia de ese texto y la longitud. Por ejemplo, si
este tema comenzara con Es muy popular se
sustituira el principio de esta pgina con {1,14}

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 37


Cdigo Lempel-Ziv

Para sustituir un texto dado se busca en todo el texto


precedente la cadena ms larga que coincide con la
que vamos a sustituir. Por ejemplo, si Es muy
popular. Lo podemos est antes en el texto (en la
posicin 200) se sustituye por {200,26}.

El ancla y el indicador ocupan menos que el texto en


s mismo.

La eficiencia aumenta con la longitud del texto, pues


existen cadenas ms largas repetidas.

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 38


Ejemplo 1: Cdigo Lempel-Ziv
Ejemplo:
Comprimir usando LZ el texto the other one is the
oldest

Resultado
the o{1,3}r{4,2}n{3,2}is{4,1}{1,5}ld{3,1}{16,1}{1,1}

Las implementaciones reales difieren un poco para


hacerlo fcil de codificar al coste de que comprima
un poco menos.
COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 39
Algorimo de codificacin Lempel-Ziv

1. Inicializar un diccionario que contenga todos


los bloques de longitud unitaria.
2. Busque el mas grande bloque W que haya
aparecido en el diccionario.
3. Codifique W por su ndice de entrada en el
diccionario.
4. Agregue al diccionario el cdigo de W seguido
del primer smbolo del prximo bloque
5. Regrese al paso 2.

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 40


Ejemplo 2: Cdigo Lempel-Ziv

http://www.data-compression.com/lempelziv.html

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 41


Ejemplo: Cdigo Lempel-Ziv
En lugar de buscar en todo el texto la secuencia ms
larga que encaja se mantiene un diccionario con las
cadenas ya encontradas

Se busca en el diccionario la cadena ms larga que


encaja y se aaden a l las cadenas ms largas
cuando se encuentran.

BONIFICACIN 2:
INVESTIGUE HAGA UN RESUMEN DE LOS ALGORITMO DE COFICACIN:
HUFFMAN ADAPTATIVO
LEMPEL-ZIV-WELSH
SE ENTREGA EN UNA SEMANA.

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 42


Simuladores de Cdigos

Visite el sitio Web indicado abajo y descargue los simuladores (freewares)

http://www.cs.sjsu.edu/faculty/khuri/animation.html

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 43


METODO DE EVALUACIN

COM II- I. Zamora Uni II - Conf3: Cod. fte y Fmteo 44

You might also like