lecture 3 codificación fuente

44
COM II- I. Zamor a Uni II - Conf3: Cod. fte y Fmteo 1 Comunicaciones II Conferencia 3: Codificación Fuente. Generalidades y Algoritmos populares. UNIDAD II: FORMATEO DE SEÑALES Y CODIFICACIÓN FUENTE Instructor: Israel M. Zamora, P.E., MS Telecommunications Management Profesor Titular, Departamento de Sistemas Digitales y Telecomunicaciones. Universidad Nacional de Ingeniería Universidad Nacional de Ingeniería

Upload: nica2009

Post on 01-Jul-2015

3.448 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Lecture 3 codificación fuente

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

Comunicaciones II

Conferencia 3: Codificación Fuente. Generalidades y Algoritmos populares.

UNIDAD II: FORMATEO DE SEÑALES Y CODIFICACIÓN FUENTE

Instructor: Israel M. Zamora, P.E., MS Telecommunications ManagementProfesor Titular, Departamento de Sistemas Digitales y Telecomunicaciones.

Universidad Nacional de Ingeniería

Universidad Nacional de Ingeniería

Page 2: Lecture 3 codificación fuente

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

Contenido

• Modelo sistema comunicación banda base

• Codificación fuente• Fuente Textual• Objetivo de la codificación fuente• Diferentes Códigos en uso hoy en día• Casos especiales:

– El código Huffman– Código Lempel Ziv

Page 3: Lecture 3 codificación fuente

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

Codificación fuente

• Consiste en codificar (asignar) códigos binarios a información cuyo origen es textual/caracteres o analógico.

• La información digital binaria por naturaleza es generada en formato binario por lo que no requiere de este proceso, sino mas bien de entramado.

• La información analógica requiere de un proceso de conversión Analógico-a-Digital (A/D) antes que pueda ser codificada. Este tema se desarrollará cuando tratemos en detalle la modulación PCM, DM, etc.

• Esta conferencia se enfoca en el caso de información de tipo textual (símbolos alfanuméricos) en la cual abordamos el esquema de codificación de Huffman.

Page 4: Lecture 3 codificación fuente

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

Sistema de comunicación banda base

Muestreador Cuantificador Codificador

Binario

Codificador de línea

Transmisor

Filtropasabajos

DecodificadorBinario

Detector de línea

Receptor

Medio de transmisión

Información Digital Binaria

Información Textual o Caracteres

Información Analógica

Información Analógica

Información Textual o Caracteres

Información Digital Binaria

Formas de Onda de pulsos

...10110110001...Secuencia binariaPulsos digitales

de voltaje/corriente

La Codificación de Línea la estudiaremos

en conferencias posteriores.

Codificación Fuente

Page 5: Lecture 3 codificación fuente

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

Codificación fuentes de texto/caracteres

• En la transmisión de datos, los mismos son previamente arreglados (formateados) de acuerdo a a varios códigos que se han desarrollado a través de los años.

• Es a menudo aconsejable seleccionar códigos ya disponibles para propósito de desarrollo y solución de fallas.

Page 6: Lecture 3 codificación fuente

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

Codificación fuentes de texto/caracteres

• Corresponde a los mensajes o símbolos alfanuméricos que generamos por medios electrónicos

• Algunos ejemplos:• Código Binario Natural• Código Binario Gray• Código Morse• Código BAUDOT• Código EBCDIC• Código ASCII• Código de Barras• Código Huffman• Código Lempel-Ziv• Etc.

Page 7: Lecture 3 codificación fuente

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

Código binario natural

• Son los códigos definidos por 1´s y 0´s que normalmente representan símbolos que son parte de un alfabeto de comunicación.

• El alfabeto puede ser alfanumérico, o de otra índole (ej: nivel de voltaje de un cuatizador) que sea finito.

• Consiste en asignar de forma creciente (natural) códigos binarios a cada símbolo.

Nivel/Símbolo Código Natural A 00 B 01 C 10 D 11

Se guarda la relación:

b = log2 L

b: número de bits del códigoL: Número de símbolos

Page 8: Lecture 3 codificación fuente

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

Código Gray

• Una desventaja de los códigos binarios naturales es que varios bits pueden cambiar de estado simultáneamente 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 código GRAY es único en que las cuentas sucesivas resultan en solamente un cambio en un solo bit, reduciendo errores de bits y errores de permutación en los bits.

FUNCIÓN EXOR: Complemento 2FUNCIÓN EXOR: Complemento 2

Se basa en el uso de la función OR Exclusiva o EXOR.

Page 9: Lecture 3 codificación fuente

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

Código Gray

• CONVERSIÓN BINARIO-GRAY– el primer bit, iniciando con el MSB de un código binario dado, se vuelve

el de la posición más a la izquierda del código Gray

– Aplique función EXOR al primer y segundo bit del código binario dado, para generar el segundo bit del código Gray.

– El tercer bit del código Gray se encuentra al aplicar EXOR al segundo y tercer bits de un código binario dado.

– El proceso continúa hasta que los últimos 2 bits del código binario han sido sujetos de la operación EXOR para producir el último bit del código Gray equivalente.

Page 10: Lecture 3 codificación fuente

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

Código Gray

• CONVERSIÓN GRAY-BINARIO– El primer bit, iniciando con el bit ubicado mas a la izquierda del código

Gray dado, se convierte en el MSB código binario.

– Se aplica EXOR al segundo bit del código Gray con el MSB del código binario para producir el segundo bit binario.

– Se aplica EXOR al tercer bit del código Gray con el segundo bit del código binario para producir el tercer bit binario.

– Se aplica EXOR al cuarto bit del código Gray con el tercer bit del código binario para producir el cuarto bit binario, y así mismo sigue el proceso.

Page 11: Lecture 3 codificación fuente

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

Código Morse

• Uno de los mas antiguos códigos de transmisión• Desarrollado y patentado en 1840 por Samuel F.B.

Morse.• Fue el primer código usado por el sistema de

telégrafo.• Usualmente usado en radioaficionados.• Formados por puntos y guiones.• Un guión dura tres veces lo que un punto.

Page 12: Lecture 3 codificación fuente

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

Código Morse

Page 13: Lecture 3 codificación fuente

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

Código BAUDOT

• Desarrollado en 1874 por el ingeniero francés Emile Baudot.

• Es usado en el campo de la telegrafía y RTTY (Radio teletipo).

• La versión estandarizada de UIT se usa mundialmente en las redes internacionales de Télex, las que se interconectan a través de las redes telefónicas públicas (PSTN).

Page 14: Lecture 3 codificación fuente

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

Código BAUDOT

Page 15: Lecture 3 codificación fuente

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

Código BAUDOT

Page 16: Lecture 3 codificación fuente

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

Código EBCDIC

• Dearrollado por IBM en 1962, como un código extendido de 8 bits.

• EBCDIC significa: Extended Binary-Coded Decimal Interchange Code.

• Se usa intensamente en computadoras de gran escala (Mainframes) y equipos periféricos.

• Es una mejoría sobre el antiguo código BAUDOT.

Page 17: Lecture 3 codificación fuente

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

Código EBCDIC

IBM Mainframe

Page 18: Lecture 3 codificación fuente

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

Código EBCDIC

Page 19: Lecture 3 codificación fuente

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

Código EBCDIC

Tarjeta perforada

Page 20: Lecture 3 codificación fuente

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

Código EBCDIC

Foto de tarjeta impresa EBCDIC

Page 21: Lecture 3 codificación fuente

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

Código ASCII

• La American Standard Code for Information Interchange (ASCII) es el código de mayor uso a nivel mundial para la transmisión y procesamiento de datos.

• ASCII fue desarrollado en 1962 específicamente para sistemas de comunicación por computadoras.

• ASCII es un código 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 código sea igual a un byte (8 bits).

Page 22: Lecture 3 codificación fuente

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

Código ASCII

Page 23: Lecture 3 codificación fuente

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

Código de Barras

• Surgieron a principio de los años 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 código cifrado que

es identificado por una computadora digital en forma de 1´s y 0´s.

• Suelen usarse en aplicaciones comerciales, en productos que se venden al público.

Page 24: Lecture 3 codificación fuente

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

Código de Barras

• Esta tecnología ha avanzado hasta convertirse en una industria multimillonaria que automatizado la tarea de verificación en los puestos de venta.

• Algunas de las aplicaciones mas comunes son:• Gestión y control de inventario• Seguridad de Acceso (Autenticación)• Envío y recepción• Conteo de productos• Procesamiento de documentos y órdenes (servicio, venta, etc.)• Chequeo y facturación en la renta de vehículos• Gestión del avance del trabajo• Códigos postales (ZIP codes)• Programación funcional• Introducción de datos• Facturación automática• Rastreo y seguimiento de garantías y servicios

Page 25: Lecture 3 codificación fuente

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

Código de Barras

Page 26: Lecture 3 codificación fuente

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

Código de Barras

¿Posible señal de la bestia?

Page 27: Lecture 3 codificación fuente

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

• Teorema de la codificación fuente:• Uno de los tres teoremas fundamentales introducidos por Shannon

en 1948.• Establece un límite fundamental en la tasa a la cual la salida de una

fuente de información puede ser comprimida sin causar probabilidades de error grandes.

• El principal objetivo es construir un conjunto de códigos que representen a cada símbolo del alfabeto fuente y cuya longitud media sea la menor posible.

• En principio, los símbolos más frecuentes en la transmisión se le asigna los códigos de menor longitud (no. de bits), y a los símbolos menos frecuente se le asigna los códigos de mayor longitud.

• Algunos de algoritmos utilizados en la codificación fuente son el código Huffman y el Lempel-Ziv.

Objetivo de la Codificación Fuente

Page 28: Lecture 3 codificación fuente

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

Código Huffman

• En 1951, a David Huffman y sus compañeros de clase de la asignatura “Teoría de la Información” se les permitió optar entre la realización de un examen final o la presentación de un trabajo. El profesor Robert. M Fano asignó las condiciones del trabajo bajo la premisa de encontrar el código binario más eficiente. Huffman, ante la imposibilidad de demostrar qué código era más 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 rápidamente probó que éste era el método más eficiente.

• Con este estudio, Huffman superó a su profesor, quien había trabajado con el inventor de la teoría de la información Claude Shannon con el fin de desarrollar un código similar. Huffman solucionó la mayor parte de los errores en el algoritmo de codificación Shannon-Fano. La solución se basaba en el proceso de construir el árbol desde el fondo hasta la raíz en vez de al contrario.

Page 29: Lecture 3 codificación fuente

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

Código Huffman

• Se basa en el principio indicado en la diapositiva anterior

• Método:1. Ordenar las probabilidades de los símbolos en orden

decreciente2. Fusionar los dos símbolos de menor probabilidades3. Si el número de elementos = 2, entonces:

A. Asignar “0” y “1” a los códigos y pasar a 4. B. Si no es así, volver a 1.

4. Si algún elemento es resultado de la fusión de dos elementos:A. Agregar al código un “0” y un “1” y pasar a A.B. Si no es así entonces parar.

Page 30: Lecture 3 codificación fuente

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

Código Huffman

Page 31: Lecture 3 codificación fuente

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

Ejemplo

• Diseñe un código 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.

• Solución:

A

B

C

D

E

1/2

1/4

1/8

1/16

1/16

0

1

0

1

0

1

0

1

1/8

1/4

1/2

1.0

A: 0

B: 01

C: 011

D: 0111

E: 1111

0

10

110

1110

1111

Código Especular

Código Real

Page 32: Lecture 3 codificación fuente

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

Ejercicio en casa 1

• Diseñe el código binario para el alfabeto {a1, a2, a3} con probabilidades {1/3, 1/3, 1/3}. Cuál es su comentario a este caso?

Page 33: Lecture 3 codificación fuente

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

Ejercicio en casa 2

• Diseñe el código 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}.

Page 34: Lecture 3 codificación fuente

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

Longitud media del código

• Para un código correspondiente al alfabeto de K símbolos AX=(x0, x1,...,xK-1) con probabilidad de ocurrencia PX=[p0, p1, ... , pK-1] y longitud de palabra por símbolo LX=[(l0, l1, ... , lK-1], se define la longitud media del código como:

1

0

K-

kkkX lpL

21

0

2

K-

kkkX Llpσ

Como una medida de la variabilidad de las longitudes de palabra de un código fuente, definimos la Varianza de la longitud promedio de palabra de código L sobre el conjunto de símbolos fuente como:

Page 35: Lecture 3 codificación fuente

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

Ejercicio en casa 3

• Calcule la longitud media para los ejercicios en casa 1 y 2

Page 36: Lecture 3 codificación fuente

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

Desventaja del Código Huffman

• Requiere de un conocimiento previo de las estadísticas de los símbolos transmitidos.

• No considera ni aprovecha la memoria de los eventos encontrados.

• La necesidad de conservar el código para que pueda ser utilizado por el decodifcador en el momento de la decompresión.

• El importante número de comparaciones de bits necesarios para decodicar la sucesión recibida

• Un error en algún bit se propaga produciendo errores importantes en la decodifcación.

• Los resultados pueden variara según el idioma.

Page 37: Lecture 3 codificación fuente

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

Código 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 compresión medio es 2 en un fichero largo: reducción del 50% (útil tanto para almacenar como para transmitir información)

• La idea básica es no repetir trozos de texto, sino indicar la localización de inicio de la primera instancia de ese texto y la longitud. Por ejemplo, si este tema comenzara con “Es muy popular” se sustituiría el principio de esta página con {1,14}

Page 38: Lecture 3 codificación fuente

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

Código Lempel-Ziv

• Para sustituir un texto dado se busca en todo el texto precedente la cadena más larga que coincide con la que vamos a sustituir. Por ejemplo, si “Es muy popular. Lo podemos” está antes en el texto (en la posición 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 más largas repetidas.

Page 39: Lecture 3 codificación fuente

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

Ejemplo 1: Código 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 fácil de codificar al coste de que comprima un poco menos.

Page 40: Lecture 3 codificación fuente

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

Algorimo de codificación 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 código de W seguido del primer símbolo del próximo bloque

5. Regrese al paso 2.

Page 41: Lecture 3 codificación fuente

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

Ejemplo 2: Código Lempel-Ziv

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

Page 42: Lecture 3 codificación fuente

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

Ejemplo: Código Lempel-Ziv

• En lugar de buscar en todo el texto la secuencia más larga que encaja se mantiene un diccionario con las cadenas ya encontradas

• Se busca en el diccionario la cadena más larga que encaja y se añaden a él las cadenas más largas cuando se encuentran.

BONIFICACIÓN 2:INVESTIGUE HAGA UN RESUMEN DE LOS ALGORITMO DE COFICACIÓN:

HUFFMAN ADAPTATIVOLEMPEL-ZIV-WELSH

SE ENTREGA EN UNA SEMANA.

Page 43: Lecture 3 codificación fuente

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

Simuladores de Códigos

http://www.cs.sjsu.edu/faculty/khuri/animation.htmlVisite el sitio Web indicado abajo y descargue los simuladores (freewares)

Page 44: Lecture 3 codificación fuente

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

METODO DE EVALUACIÓN