Está en la página 1de 5

TELECOMUNICACIONES – UNIVERSIDAD NACIONAL DE COLOMBIA 1

TELECOMUNICANES DIGITALES
COMPRESIÓN SIN PERDIDA
ACTIVIDAD II

INTRODUCCIÓN

La compresión es un método que permite el ahorro de


recursos de almacenamiento por medio de la localización
de datos repetitivos o redundantes en el interior de los
archivos. La compresión actúa eliminando estas
redundancias o los datos duplicados en los archivos por
medio de un algoritmo, entre los que se encuentran LZW,
Huffman y RLE. [1] Todas estas técnicas buscan que los
datos tengan menor tiempo de transmisión y altas
velocidades de transferencia. [2]

I. OBJETIVOS Figura 1. Creación del diccionario

 Aplicar los conceptos aprendidos sobre compresión 2. Luego se inicializa dejando un espacio en P y en
LZW en LabVIEW. C se coloca el primer carácter del mensaje, es
 Emplear los métodos de compresión de LZW, RLE decir N, en P+C se encuentra la concatenación
y Huffman para comprimir un mensaje. de los caracteres, y se pregunta si está o no en el
 Evaluar el desempeño de los métodos de compresión diccionario, como se muestra en la figura 2
por medio de la razón y el factor de compresión.

II. PROCEDIMIENTO
Figura 2. Inicialización del ciclo
Se realiza la compresión de la palabra NO TRACES EN
3. Como el carácter N ya se encuentra en el
ESE CARTÓN, por medio del algoritmo LZW y
diccionario, N pasa a ocupar la posición en P y el
posteriormente por el algoritmo de Huffman, en busca de
siguiente carácter O ocupa la posición en C y
comparar su desempeño mediante la razón y el factor de
nueva se concatenan en P+C formando NO, se
compresión.
pregunta de nuevo ¿si está o no en el diccionario?,
como se muestra en la figura 3
Compresión por el método de LZW
Según lo visto en clase, los pasos para comprimir un
mensaje por LZW son:

1. Se inicia el diccionario, a cada carácter del


mensaje se le asigna un índice, como se muestra Figura 3. Descripción del paso 3
en la figura 1.

4. Como el carácter no está, se procede a añadirlo al


diccionario asignándole un índice y
adicionalmente se inicia el código que
TELECOMUNICACIONES – UNIVERSIDAD NACIONAL DE COLOMBIA 2

representara el mensaje con el índice que se


encuentra en P en ese momento, es decir N=4.
Realizando de manera sucesiva los anteriores pasos,
tenemos que:

Como se observa en la figura 5, se requieren 31


caracteres para escribir el mensaje, para determinar a
cuantos bits equivalen, usamos la siguiente expresión:

log 2 31 = 5 𝑏𝑖𝑡𝑠

Adicionalmente se sabe que el código asignado por LZW


contiene 22 dígitos, por lo cual para transmitir el mensaje
completo se requieren 110 bits lo que equivale a 14 bytes.

a) Calcule la razón y el factor de compresión

El número de bytes del mensaje original en


código ASCI es
184
𝑁° 𝑑𝑒 𝑏𝑦𝑡𝑒𝑠 𝑎𝑟𝑐ℎ𝑖𝑣𝑜 𝑜𝑟𝑖𝑔𝑖𝑛𝑎𝑙 = = 23 𝑏𝑦𝑡𝑒𝑠
8
14
Figura 4. Algoritmo completo LZW 𝑅𝑎𝑧ó𝑛 𝑑𝑒 𝑐𝑜𝑚𝑝𝑟𝑒𝑠𝑖ó𝑛 = = 0.61
23
23
𝐹𝑎𝑐𝑡𝑜𝑟 𝑑𝑒 𝑐𝑜𝑚𝑝𝑟𝑒𝑠𝑖ó𝑛 = = 1.64
14

b) ¿Cuántos bytes usarías para transmitir el mensaje


original asignado en formato ASCII y cuántos bytes usas
comprimiéndolo?

23 bytes para el mensaje original y 14 bytes


comprimiéndolo

c) ¿Cuánto tiempo llevará (en segundos) transmitir el


mensaje total en formato ASCII con una velocidad de
transmisión de 9.600 baudios, ¿cuántos caracteres se
pueden transmitir por segundo y cuál sería la velocidad en
bps?

A partir de:

1 𝑏𝑎𝑢𝑑𝑖𝑜 = 1 𝑏𝑝𝑠

𝑏𝑖𝑡
𝑏𝑎𝑢𝑑𝑖𝑜 =
𝑠
Figura 5. Diccionario por medio de LZW 184
= 0.0192 𝑠𝑒𝑔
9600
TELECOMUNICACIONES – UNIVERSIDAD NACIONAL DE COLOMBIA 3

23 bytes para el mensaje original y 46 bytes


Para transmitir 23 caracteres se toman 0.0192 seg, así que, comprimiéndolo.
realizando una regla de tres, llegamos a que se tardaría
0.000835 seg en transmitir un solo caracter c) ¿Cuánto tiempo llevará (en segundos) transmitir el
mensaje total en formato ASCII con una velocidad de
d) ¿Cuánto tiempo llevará (en segundos) transmitir el transmisión de 9.600 baudios, ¿cuántos caracteres se
mensaje total en formato compreso con una velocidad de pueden transmitir por segundo y cuál sería la velocidad en
transmisión de 9.600 baudios, ¿cuántos caracteres se bps?
pueden transmitir por segundo, ¿cuál sería la velocidad en
bps? A partir de:
1 𝑏𝑎𝑢𝑑𝑖𝑜 = 1 𝑏𝑝𝑠
1 𝑏𝑎𝑢𝑑𝑖𝑜 = 1 𝑏𝑝𝑠

𝑏𝑖𝑡
𝑏𝑎𝑢𝑑𝑖𝑜 = 𝑏𝑖𝑡
𝑠 𝑏𝑎𝑢𝑑𝑖𝑜 =
𝑠
110𝑏𝑖𝑡𝑠 𝑑𝑒𝑙 𝑚𝑒𝑛𝑠𝑎𝑗𝑒 𝑐𝑜𝑚𝑝𝑟𝑖𝑚𝑑𝑜 184
= 0.01146 𝑠𝑒𝑔 = 0.0192 𝑠𝑒𝑔
9600 9600

Para transmitir 16 caracteres del mensaje comprimido se Para transmitir 23 caracteres se toman 0.0192 seg, así que,
tarda 0.01146 seg, así que, realizando una regla de tres, realizando una regla de tres, llegamos a que se tardaría
llegamos a que se tardaría 0.000716 seg. 0.000835 seg en transmitir un solo carácter

d) ¿Cuánto tiempo llevará (en segundos) transmitir el


Compresión por algoritmo RLE mensaje total en formato compreso con una velocidad de
transmisión de 9.600 baudios, ¿cuántos caracteres se
El principio fundamental del método de compresión RLE pueden transmitir por segundo, ¿cuál sería la velocidad en
(Run length encoding) consiste en codificar un primer bps?
elemento al dar el número de repeticiones de un valor y 1 𝑏𝑎𝑢𝑑𝑖𝑜 = 1 𝑏𝑝𝑠
posteriormente el valor a repetirse.

El mensaje NO_TRACES_EN_ESE_CARTÓN en RLE 𝑏𝑖𝑡


es: 𝑏𝑎𝑢𝑑𝑖𝑜 =
𝑠

1N1O1_1T1R1A1C1E1S1_1E1N1_1E1S1E1_1C1A1R 368 𝑏𝑖𝑡𝑠 𝑑𝑒𝑙 𝑚𝑒𝑛𝑠𝑎𝑗𝑒 𝑐𝑜𝑚𝑝𝑟𝑖𝑚𝑑𝑜


1T1Ó1N = 0.0383 𝑠𝑒𝑔
9600
184 Para transmitir 46 caracteres del mensaje comprimido se
𝑁° 𝑑𝑒 𝑏𝑦𝑡𝑒𝑠 𝑎𝑟𝑐ℎ𝑖𝑣𝑜 𝑜𝑟𝑖𝑔𝑖𝑛𝑎𝑙 = = 23 𝑏𝑦𝑡𝑒𝑠 tarda 0.0383 seg, luego de la regla de tres, llegamos a que
8
se tardaría 0.000824 seg transmitir un solo carácter.
368
𝑁° 𝑑𝑒 𝑏𝑦𝑡𝑒𝑠 𝑎𝑟𝑐ℎ𝑖𝑣𝑜 𝑐𝑜𝑚𝑝𝑟𝑖𝑚𝑖𝑑𝑜 = = 46 𝑏𝑦𝑡𝑒𝑠
8
Compresión por el método Huffman
46
𝑅𝑎𝑧ó𝑛 𝑑𝑒 𝑐𝑜𝑚𝑝𝑟𝑒𝑠𝑖ó𝑛 = =2 Mensaje: NO_TRACES_EN_ESE_CARTÓN
23
23 Frecuencia con la que se repiten los caracteres:
𝐹𝑎𝑐𝑡𝑜𝑟 𝑑𝑒 𝑐𝑜𝑚𝑝𝑟𝑒𝑠𝑖ó𝑛 = = 0.5
46
N=3
b) ¿Cuántos bytes usarías para transmitir el mensaje O=1
original asignado en formato ASCII y cuántos _=4
bytes usas comprimiéndolo? T=2
R=2
A=2
TELECOMUNICACIONES – UNIVERSIDAD NACIONAL DE COLOMBIA 4

C=2
E=4
S=2
Ó=1

Por tanto, se realiza las ramificaciones con los caracteres Figura 8. Mensaje en Código binario
de izquierda hacia la derecha de los caracteres que menos
se repitan a los que más se repitan. Cuando ya se Se necesitan 13 Bytes para hacer la compresión
construye se le asigna por cada ramificación 1 y 0, así
cada carácter tiene un código binario, el cual se leerá de 13 𝑏𝑦𝑡𝑒𝑠
arriba hacia abajo para construir el código, este proceso 𝑅𝑎𝑧𝑜𝑛 𝑑𝑒 𝑐𝑜𝑚𝑝𝑟𝑒𝑠𝑖𝑜𝑛 = = 0.56
23 𝑏𝑦𝑡𝑒𝑠
se representa en la siguiente figura
23 𝑏𝑦𝑡𝑒𝑠
𝐹𝑎𝑐𝑡𝑜𝑟 𝑑𝑒 𝑐𝑜𝑚𝑝𝑟𝑒𝑠𝑖𝑜𝑛 = = 1.77
13 𝑏𝑦𝑡𝑒𝑠

Se tienen 23 bytes del mensaje original y 13 bytes del


mensaje comprimido.

Cuánto tiempo llevará (en segundos) transmitir el


mensaje total en formato compreso con una velocidad de
transmisión de 9.600 baudios, ¿cuántos caracteres se
pueden transmitir por segundo, ¿cuál sería la velocidad en
bps?
1 𝑏𝑎𝑢𝑑𝑖𝑜 = 1 𝑏𝑝𝑠

𝑏𝑖𝑡
𝑏𝑎𝑢𝑑𝑖𝑜 =
𝑠
104 𝑏𝑖𝑡𝑠 𝑑𝑒𝑙 𝑚𝑒𝑛𝑠𝑎𝑗𝑒 𝑐𝑜𝑚𝑝𝑟𝑖𝑚𝑑𝑜
= 0.011 𝑠𝑒𝑔
9600

Figura 6. Árbol de huffman Para transmitir 10 caracteres del mensaje comprimido se


tarda 0.011 seg, luego de la regla de tres, llegamos a que
se tardaría 0.0011 seg transmitir un solo carácter, siendo
Carácter Código el menor tiempo de los tres métodos en transmitir el
E 0 mensaje comprimido.
_ 10
Resumen de las comunicaciones digitales II
N 110
S 1110 La criptografía es el arte de ocultar los mensajes que se
C 11110 componen de signos comunes, de una manera tal que solo
A 111110 se logre conocer su significado por medio de una clave
R 1111110 secreta, de la criptografía se derivan una gran variedad de
T 11111110 ramas aplicativas tales como los cifradores simétricos y
O 111111110 asimétricos y los protocoles, de la criptología se deriva el
O´ 111111111 criptoanálisis, la esteganografía y el estegoanalisis.

Figura 7. Árbol de huffman La esteganografía es un método empleado en el área de


seguridad informática, consiste en ocultar mensajes u
Ya teniendo esto se reescribe el mensaje con estos objetos dentro de otros.
códigos en número de bits.
TELECOMUNICACIONES – UNIVERSIDAD NACIONAL DE COLOMBIA 5

Otra técnica muy conocida es el watermarking, la cual


consiste en insertar un mensaje en el interior de un objeto
digital, pueden ser imágenes, audio o video.
Una técnica muy común de la aplicación de la
esteganografía en el dominio espacial es llamada LSB, en
la cual se inserta una marca de agua en el bit menos
significativo en algún pixel, es una técnica fácil de
implementar. Si la marca es insertada en los bits mas
significativos se puede percibir el mensaje.
Los objetivos de la criptología son la autenticación
(probar la identidad de la persona) y la privacidad
(asegurar que nadie puede leer el mensaje)

III. CONCLUSIONES

IV. REFERENCIAS
Mediante la implementación de los diferentes [1] Tomado de https://www.efor.es/sites/default/files/estudio-
algoritmos de compresión se determinó que el compresion-datos-almacenamiento.pdf
método que mejor comprime el mensaje fue el
algoritmo de huffman, ya que reduce el tamaño [2] Guía Actividad 2. Telecomunicaciones Digitales
Compresión sin perdida
del mensaje original de 23 bytes a solo 13 bytes,
esto se debe a que este método se ejecuta teniendo
en cuenta la frecuencia de los caracteres que
aparecen en el mensaje y a su vez se ve reflejado
es el mensaje comprimido que tomaría menor
tiempo transmitir.

El algoritmo de LZW fue el segundo mejor de los


métodos para comprimir el mensaje, ya que logro
pasar de 23 bytes a 14 bytes, con una razón de
compresión de 0.61, es decir que se logro
comprimir respecto al original al 60%.

El método de RLE no fue un método muy


efectivo para la compresión del mensaje, ya que
comparado con el tamaño de bytes del mensaje
original este aumento al doble, esto se debe
principalmente a que por RLE se logra una buena
compresión solo si se repiten caracteres
consecutivamente.

El método que tarda menos en enviar un solo


carácter es el método de huffman, debido a que
por este logaritmo de compresión se necesita el
menor numero de bits por segundo para transmitir
el mensaje comprimido.