CODIFICACION DE HUFFMAN

Slides:



Advertisements
Presentaciones similares
Tania Guzmán García Luis González Varela Alexandre González Rivas
Advertisements

ESTRUCTURA DE DATOS Unidad 04 TDA no lineales - Árboles.
Lunes 18 de Febrero 2008 Material para la clase: Elprofe3.wordpress.com.
IBD Clase 7.
ESTRUCTURA DE DATOS Unidad 04 Árboles BINARIOS DE BUSQUEDA.
Sistema Numérico Binario
Procesamiento de cadenas
Árboles Grafo que no contiene ciclos, es decir es un grafo también acíclico, pero a su vez es conexo.
COMPENSACIÓN DE MOVIMIENTO
Conceptos Hoja de cálculo. Concepto.
MATRIZ DE CHEQUEO DE PARIDAD
MATEMÁTICAS DISCRETAS.
Códigos Detectores y Correctores de Errores
ESTRUCTURAS DE DATOS AVANZADAS
Tema: Funciones en Excel (II) Funciones de Texto
Sistemas de nombres planos y jerárquicos.
ÁRBOLES DE EXPRESION.
Tema Nº4.
Álgebra elemental.
Problemes de Viatjants
TRADUCTOR DE UN PROGRAMA
GRAFOS HUGO ARAYA CARRASCO.
Teoria de grafos.-clase 4
PILAS, COLAS, RECURSIVIDAD.
Índice. Revisando conceptos acerca de la memoria.
Diseño y análisis de algoritmos
Seguridad y encriptación Compresión de archivos
CÓDIGOS DE HUFFMAN. Códigos de Huffman Los códigos de Huffman, que representan caracteres por cadenas de bits de longitud variable, proporcionan alternativas.
FUNCIONAMIENTO BÁSICO Fuente inicial:. Arquitectura de computadores Los computadores digitales utilizan como modelo para su funcionamiento y organización.
Sistemas de numeración
Diseño y análisis de algoritmos
COMPRESION DE IMAGENES DIGITALES Jaime Lopez Carvajal Univalle Tulua 2008.
Sesión 2 Tablas Propiedades de los campos. Sesión 2 Borrar el contenido del directorio Mis documentos.
Autora: Francisca Montañez Muñoz

Árboles Recomendado: 1. Nivelación Funciones
Mt. Martín Moreyra Navarrete.
Introducción general a la compresión de datos multimedia
Problema de inclusión en una Curva Digital Por Orellana Muñoz, Alfonso Paz Vicente, Rafael Pérez Medina, Gerardo Rodríguez Naranjo.
Almacenamiento de imágenes digitales Primera parte.
Estructura de Datos M.C. José Andrés Vázquez Flores FCC/BUAP
Compresión de imágenes
Tema 4. VÍDEO DIGITAL.
Sistema Numérico Binario Prof. Carlos Rodríguez Sánchez.
COMPUTO I - UASF SISTEMA BINARIOS.
Términos algoritmo diseñar algoritmo implementar algoritmo
21/07/2015 Mtra. Adriana Vega P. 1 Compresión de Datos: Es el término general empleado para describir el proceso de grabar datos de manera que requieran.
Cecilia Laborde González
Algoritmos y estructura de datos en I.O.
ARBOLES GENERALIZADOS
Operaciones Algebraicas
 Es la recepción de estímulos simbólicos, o sensitivos emitidos con el fin de comunicar, interpretando permitiendo interceder con ellos.
Luis Villalta Márquez.  El espacio de nombres de dominio tiene una estructura arborescente. Las hojas y los nodos del árbol se utilizan como etiquetas.
Capítulo 8: Árboles Autor: José Alfredo Jiménez Murillo.
Lic. Carla Aguirre Montalvo
Algoritmos y Desarrollo de Programas I
Diagrama de Tallos Y Hojas
Árboles Equilibrados Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2015.
Matemática de Redes Doc. Anna Dugarte.
Lenguaje de Programación LISP
Sistema Binario
Matemáticas Discretas MISTI
Diagrama de Tallos Y Hojas
SISTEMA BINARIO Esta plantilla se puede usar como archivo de inicio para presentar materiales educativos en un entorno de grupo. Secciones Para agregar.
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
Algoritmos voraces Códigos de Huffman. Descripción del problema Tenemos un archivo de entrada. Asumiremos que el archivo está compuesto de bytes (enteros.
P ROCESO DE E NSAMBLADO Cámara Vázquez Berenice Rubí.
Sistema Numérico Binario Prof. Carlos Ortiz Muñoz.
Sistemas de archivos. Sistemas de archivos 2 Objetivo del SdA  Ocultar al usuario los detalles relativos al almacenamiento de información en dispositivos.
Métodos de compresión sin pérdida de información
Transcripción de la presentación:

CODIFICACION DE HUFFMAN MATEMATICAS DISCRETAS II FERNANDO NARANJO COMPRESION - ENCRIPTACION

CODIGOS DE HUFFMAN Técnica para la compresión o encriptación de datos Este algoritmo se basa en asignar códigos de distinta longitud de bits a cada uno de los caracteres de un fichero. Si se asignan códigos más cortos a los caracteres que aparecen más a menudo se consigue una compresión del fichero. Esta compresión es mayor cuando la variedad de caracteres diferentes que aparecen es menor. Por ejemplo: si el texto se compone únicamente de números o mayúsculas, se conseguirá una compresión mayor.

CODIGOS DE HUFFMAN Técnica básica Creación de un árbol binario en el que se etiquetan los nodos hoja con los caracteres, junto a sus frecuencias, y de forma consecutiva se van uniendo cada pareja de nodos que menos frecuencia sumen, pasando a crear un nuevo nodo intermedio etiquetado con dicha suma. Se procede a realizar esta acción hasta que no quedan nodos hoja por unir a ningún nodo superior , y se ha formado el árbol binario. Posteriormente se etiquetan las aristas que unen cada uno de los nodos con ceros y unos (hijo derecho e izquierdo, respectivamente, por ejemplo. El código resultante para cada carácter es la lectura, siguiendo la rama, desde la raíz hacia cada carácter (o viceversa) de cada una de las etiquetas de las aristas.

CODIGOS DE HUFFMAN El proceso de construcción del árbol comienza formando un nodo intermedio que agrupa a los dos nodos hoja que tienen menor peso (frecuencia de aparición). El nuevo nodo intermedio tendrá como nodos hijos a éstos dos nodos hoja y su campo peso será igual a la suma de los pesos de los nodos hijos. Los dos nodos hijos se eliminan de la lista de nodos, sustituyéndolos por el nuevo nodo intermedio. El proceso se repite hasta que sólo quede un nodo en la lista. Éste último nodo se convierte en el nodo raíz del árbol de Huffman.

CODIGOS DE HUFFMAN Para recuperar el fichero original es necesario conocer el código asignado a cada carácter, así como su longitud en bits Si ésta información se omite, y el receptor del fichero la conoce, podrá recuperar la información original. De este modo es posible utilizar el algoritmo para encriptar ficheros.

CODIGOS DE HUFFMAN Ejemplo : Fichero con 100.000 caracteres. Se sabe que aparecen 6 caracteres diferentes y la frecuencia de aparición de cada uno de ellos es : ¿ Cómo codificar los caracteres para comprimir el espacio ocupado utilizando un código binario ?  Carácter (c) a b c d e f Frecuencia ( en miles ) 45 13 12 16 9 5

CODIGOS DE HUFFMAN Solución 1 : Código de longitud fija Para 6 caracteres se necesitan 3 bits (300000 bits) Fija 000 001 010 011 100 101 Solución 2 : Código de longitud variable en el que los más frecuentes tienen el código más corto. Restricción : ningún código es prefijo de otro. ( 224000 bits ) Variable 101 100 111 1101 1100

CODIGOS DE HUFFMAN Descodificación : Fácil porque ningún código es prefijo de otro código  NO hay ambigüedad. Ejemplo : 101011101111011100  badadcf ¡ Es la única posibilidad !

CODIGOS DE HUFFMAN Un árbol binario es una forma de representar el código prefijo que simplifica el proceso de decodificación : Las hojas son los caracteres, El camino de la raíz a la hojas con la interpretación 0 a la izquierda y 1 a la derecha nos da el código de cada hoja.

CODIGOS DE HUFFMAN Este sería el árbol binario de la codificación de longitud fija:

CODIGOS DE HUFFMAN Codificación de longitud variable:

CODIGOS DE HUFFMAN Ejemplos videos https://www.youtube.com/watch?v=hWCjkZ04NWE https://www.youtube.com/watch?v=MleGSpPpHXs