Fuentes Códigos (compresores) Introducción a los códigos compresores Parte I de la Lección 2, Compresores sin pérdidas, de CTI Ramiro Moreno Chiral Dpt. Matemàtica (UdL) Febrero de 2010 Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 1 / 26 Fuentes Códigos (compresores) Índice 1 Fuentes 2 Códigos (compresores) Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 2 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Índice 1 Fuentes Definición de fuente Tipos de fuentes Entropía de una fuente 2 Códigos (compresores) Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 3 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Resumen Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 4 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Resumen Veremos en este apartado Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 4 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Resumen Veremos en este apartado Una definición muy general del concepto de fuente de información. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 4 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Resumen Veremos en este apartado Una definición muy general del concepto de fuente de información. Los diferentes tipos de fuentes que sirven para modelar las fuentes de información reales. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 4 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Resumen Veremos en este apartado Una definición muy general del concepto de fuente de información. Los diferentes tipos de fuentes que sirven para modelar las fuentes de información reales. Finalmente, una definición también muy general de entropía de una fuente Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 4 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Definición de fuente (I) Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 5 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Definición de fuente (I) Para definir una fuente son necesarios Un alfabeto finito, X = {x1n , . . . , xr }, y las cadenasode n longitud n sobre X : X = x = xi1 . . . xin : xij ∈ X . Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 5 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Definición de fuente (I) Para definir una fuente son necesarios Un alfabeto finito, X = {x1n , . . . , xr }, y las cadenasode n longitud n sobre X : X = x = xi1 . . . xin : xij ∈ X . Una familia de v.a.’s (Xt )t∈T sobre X , (T se identifica con el tiempo). Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 5 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Definición de fuente (I) Para definir una fuente son necesarios Un alfabeto finito, X = {x1n , . . . , xr }, y las cadenasode n longitud n sobre X : X = x = xi1 . . . xin : xij ∈ X . Una familia de v.a.’s (Xt )t∈T sobre X , (T se identifica con el tiempo). Una distribución de probabilidad conjunta, p(x, t) = P (Xt1 = xt1 , . . . , Xtn = xtn ) , con x = xt1 . . . xtn ∈ X n y t = (t1 , . . . , tn ) ∈ T n Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 5 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Definición de fuente (I) Para definir una fuente son necesarios Un alfabeto finito, X = {x1n , . . . , xr }, y las cadenasode n longitud n sobre X : X = x = xi1 . . . xin : xij ∈ X . Una familia de v.a.’s (Xt )t∈T sobre X , (T se identifica con el tiempo). Una distribución de probabilidad conjunta, p(x, t) = P (Xt1 = xt1 , . . . , Xtn = xtn ) , con x = xt1 . . . xtn ∈ X n y t = (t1 , . . . , tn ) ∈ T n Un conjunto de probabilidades de transición pij (t, t 0 ) = P Xt 0 = xj |Xt = xi , ∀t < t 0 ∈ T , xi , xj ∈ X . Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 5 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Definición de fuente (II) Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 6 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Definición de fuente (II) Definición Se define una fuente S, S = X , {pij (t, t 0 )} . Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 6 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Definición de fuente (II) Definición Se define una fuente S, S = X , {pij (t, t 0 )} . Cuando las probabilidades de transición no se expliciten usaremos la notación más general Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 6 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Definición de fuente (II) Definición Se define una fuente S, S = X , {pij (t, t 0 )} . Cuando las probabilidades de transición no se expliciten usaremos la notación más general S = X , (Xt )t∈T Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 6 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Tipos de fuentes Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 7 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Tipos de fuentes Fuentes estacionarias, si las probabilidades de transición no dependen del origen de tiempos, P Xt 0 = xj |Xt = xi = P Xt 0 +τ = xj |Xt+τ = xi , ∀τ ∈ T . Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 7 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Tipos de fuentes Fuentes estacionarias, si las probabilidades de transición no dependen del origen de tiempos, P Xt 0 = xj |Xt = xi = P Xt 0 +τ = xj |Xt+τ = xi , ∀τ ∈ T . Fuentes simples: son fuentes estacionarias donde las v.a.’s Xn son iid ∼ X , S = (X , X ) . Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 7 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Tipos de fuentes Fuentes estacionarias, si las probabilidades de transición no dependen del origen de tiempos, P Xt 0 = xj |Xt = xi = P Xt 0 +τ = xj |Xt+τ = xi , ∀τ ∈ T . Fuentes simples: son fuentes estacionarias donde las v.a.’s Xn son iid ∼ X , S = (X , X ) . Fuentes con memoria, cuando pij (t, t 0 ) 6= pj (t 0 ): el presente depende de lo ocurrido en el pasado. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 7 / 26 Definición de fuente Tipos de fuentes Entropía de una fuente Fuentes Códigos (compresores) Tipos de fuentes Fuentes estacionarias, si las probabilidades de transición no dependen del origen de tiempos, P Xt 0 = xj |Xt = xi = P Xt 0 +τ = xj |Xt+τ = xi , ∀τ ∈ T . Fuentes simples: son fuentes estacionarias donde las v.a.’s Xn son iid ∼ X , S = (X , X ) . Fuentes con memoria, cuando pij (t, t 0 ) 6= pj (t 0 ): el presente depende de lo ocurrido en el pasado. Fuentes de Markov: estacionarias, con memoria y con una condición de Markov de orden m, m P Xtn = xn |Xt1 , . . . , Xtn−1 Ramiro Moreno (Matemàtica, UdL) z }| { = P(Xtn = xn | Xtn−m , . . . , Xtn−1 ) Introducción a los códigos compresores Febrero de 2010 7 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Entropía de una fuente Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 8 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Entropía de una fuente Definición Definiremos como entropía por carácter de una fuente S = (X , (Xn )) al límite H (X1 , . . . , Xn ) . n→∞ n H(S) = lim Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 8 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Entropía de una fuente Definición Definiremos como entropía por carácter de una fuente S = (X , (Xn )) al límite H (X1 , . . . , Xn ) . n→∞ n H(S) = lim Para una fuente simple, S = (X , X ), es H(S) = H(X ). Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 8 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Entropía de una fuente Definición Definiremos como entropía por carácter de una fuente S = (X , (Xn )) al límite H (X1 , . . . , Xn ) . n→∞ n H(S) = lim Para una fuente simple, S = (X , X ), es H(S) = H(X ). Otra definición alternativa, H0 (S) = lim H (Xn |X1 , . . . , Xn−1 ) . n→∞ Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 8 / 26 Fuentes Códigos (compresores) Definición de fuente Tipos de fuentes Entropía de una fuente Entropía de una fuente Definición Definiremos como entropía por carácter de una fuente S = (X , (Xn )) al límite H (X1 , . . . , Xn ) . n→∞ n H(S) = lim Para una fuente simple, S = (X , X ), es H(S) = H(X ). Otra definición alternativa, H0 (S) = lim H (Xn |X1 , . . . , Xn−1 ) . n→∞ pero para fuentes S estacionarias es H(S) = H0 (S). Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 8 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Índice 1 Fuentes 2 Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 9 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Resumen Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 10 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Resumen Trataremos de los siguientes temas Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 10 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Resumen Trataremos de los siguientes temas La definición de qué es un código compresor. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 10 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Resumen Trataremos de los siguientes temas La definición de qué es un código compresor. Los tipos de códigos que se pueden presentar y su posible uso en compresión de fuentes. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 10 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Resumen Trataremos de los siguientes temas La definición de qué es un código compresor. Los tipos de códigos que se pueden presentar y su posible uso en compresión de fuentes. Y, finalmente, dedicaremos nuestra atención al tipo de códigos más usual: los instantáneos. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 10 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos: definición Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 11 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos: definición Definición Dados un alfabeto–fuente, X , tal que |X | = r ; un alfabeto–código, Σ, con |Σ| = d, y el lenguaje sin la cadena vacía, Σ+ ; diremos que un código, C, para la extensión n-ésima del alfabeto–fuente, es una aplicación C X n −→ Σ+ x 7−→ C(x), donde x = xi1 , . . . , xin , xik ∈ X . A los elementos del código, C(x), los llamaremos palabras–código. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 11 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Codificación de fuentes Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 12 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Codificación de fuentes Definición Dada una fuente S = (X , (Xn )), definimos un código para S como un código asociado al alfabeto–fuente, X . Entonces, Llamaremos L(C(x)) = |C(x)| a las longitudes de las palabras–código. Y la longitud media del código será L = L(C) = EX1 ...Xn L(C(x)) = X p(x)L(C(x)). x∈X n Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 12 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Codificación de fuentes simples Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 13 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Codificación de fuentes simples Si la fuente es simple, S = (X , X ), la aplicación código es más sencilla Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 13 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Codificación de fuentes simples Si la fuente es simple, S = (X , X ), la aplicación código es más sencilla C X −→ Σ+ x 7−→ C(x), Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 13 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Codificación de fuentes simples Si la fuente es simple, S = (X , X ), la aplicación código es más sencilla C X −→ Σ+ x 7−→ C(x), y la logitud media también: Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 13 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Codificación de fuentes simples Si la fuente es simple, S = (X , X ), la aplicación código es más sencilla C X −→ Σ+ x 7−→ C(x), y la logitud media también: L = L(C) = EX L(C(x)) = X p(x)L(C(x)). x∈X Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 13 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Tipos de códigos: definiciones Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 14 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Tipos de códigos: definiciones C es no–singular si ∀x 6= x 0 ∈ X n es C(x) 6= C(x 0 ), i.e., si C es una aplicación inyectiva. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 14 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Tipos de códigos: definiciones C es no–singular si ∀x 6= x 0 ∈ X n es C(x) 6= C(x 0 ), i.e., si C es una aplicación inyectiva. Dado un código C : X → Σ+ , definimos C ∗ , su código extensión, C∗ X n −→ Σ+ x = (x1 . . . xn ) 7−→ C(x1 ) . . . C(xn ) Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 14 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Tipos de códigos: definiciones C es no–singular si ∀x 6= x 0 ∈ X n es C(x) 6= C(x 0 ), i.e., si C es una aplicación inyectiva. Dado un código C : X → Σ+ , definimos C ∗ , su código extensión, C∗ X n −→ Σ+ x = (x1 . . . xn ) 7−→ C(x1 ) . . . C(xn ) C es de decodificación única si su extensión n-ésima, C ∗ , es no–singular para cualquier n. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 14 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Tipos de códigos: definiciones C es no–singular si ∀x 6= x 0 ∈ X n es C(x) 6= C(x 0 ), i.e., si C es una aplicación inyectiva. Dado un código C : X → Σ+ , definimos C ∗ , su código extensión, C∗ X n −→ Σ+ x = (x1 . . . xn ) 7−→ C(x1 ) . . . C(xn ) C es de decodificación única si su extensión n-ésima, C ∗ , es no–singular para cualquier n. C es un código instantáneo o libre de prefijo si ninguna palabra–código es prefijo de otra palabra–código. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 14 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Relación entre los tipos de códigos Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 15 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Relación entre los tipos de códigos La siguiente figura ilustra la relación entre los distintos tipos de códigos Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 15 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Relación entre los tipos de códigos La siguiente figura ilustra la relación entre los distintos tipos de códigos Todos los codigos No-singulares Decodificacion unica Libres de prefijo Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 15 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Ejemplos de códigos Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 16 / 26 Definición de código Tipos de códigos Códigos instantáneos Fuentes Códigos (compresores) Ejemplos de códigos X Ramiro Moreno (Matemàtica, UdL) C0 C1 C2 C3 Introducción a los códigos compresores Febrero de 2010 16 / 26 Definición de código Tipos de códigos Códigos instantáneos Fuentes Códigos (compresores) Ejemplos de códigos X x1 Ramiro Moreno (Matemàtica, UdL) C0 0 C1 0 C2 00 C3 0 Introducción a los códigos compresores Febrero de 2010 16 / 26 Definición de código Tipos de códigos Códigos instantáneos Fuentes Códigos (compresores) Ejemplos de códigos X x1 x2 Ramiro Moreno (Matemàtica, UdL) C0 0 01 C1 0 1 C2 00 10 C3 0 10 Introducción a los códigos compresores Febrero de 2010 16 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Ejemplos de códigos X x1 x2 x3 Ramiro Moreno (Matemàtica, UdL) C0 0 01 10 C1 0 1 01 C2 00 10 11 C3 0 10 110 Introducción a los códigos compresores Febrero de 2010 16 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Ejemplos de códigos X x1 x2 x3 x4 Ramiro Moreno (Matemàtica, UdL) C0 0 01 10 0 C1 0 1 01 11 C2 00 10 11 110 C3 0 10 110 111 Introducción a los códigos compresores Febrero de 2010 16 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Ejemplos de códigos X x1 x2 x3 x4 C0 0 01 10 0 Singular C1 0 1 01 11 C2 00 10 11 110 C3 0 10 110 111 Porque C0 (x1 ) = C0 (x1 ) = 0 00 . Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 16 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Ejemplos de códigos X x1 x2 x3 x4 C0 0 01 10 0 Singular C1 0 1 01 11 No–singular C2 00 10 11 110 C3 0 10 110 111 No es de decodificación única: 11 → 1 | 1 11 → 11 Ramiro Moreno (Matemàtica, UdL) x2 x2 x4 Introducción a los códigos compresores Febrero de 2010 16 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Ejemplos de códigos X x1 x2 x3 x4 C0 0 01 10 0 Singular C1 0 1 01 11 No–singular C2 00 10 11 110 Decod. única C3 0 10 110 111 Porque existe un algoritmo con el que decodificamos siempre. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 16 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Ejemplos de códigos X x1 x2 x3 x4 C0 0 01 10 0 Singular C1 0 1 01 11 No–singular C2 00 10 11 110 Decod. única C3 0 10 110 111 Instantáneo Ninguna palabra código es prefijo de otra. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 16 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Representación en árbol de los Σ∗ Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 17 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Representación en árbol de los Σ∗ Definición Dado Σ, |Σ| = d, ordenado, una representación literal de Σ∗ es el árbol d-ario completo con raíz, T = (V , A) que se obtiene Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 17 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Representación en árbol de los Σ∗ Definición Dado Σ, |Σ| = d, ordenado, una representación literal de Σ∗ es el árbol d-ario completo con raíz, T = (V , A) que se obtiene 1 Asignando a cada vértice de V una palabra de Σ∗ . La palabra vacía λ ∈ Σ∗ se asigna al vértice raíz. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 17 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Representación en árbol de los Σ∗ Definición Dado Σ, |Σ| = d, ordenado, una representación literal de Σ∗ es el árbol d-ario completo con raíz, T = (V , A) que se obtiene 1 2 Asignando a cada vértice de V una palabra de Σ∗ . La palabra vacía λ ∈ Σ∗ se asigna al vértice raíz. Dado un vértice v ∈ V se etiqueta cada arista que sale de él con cada uno de los caracteres de Σ. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 17 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Representación en árbol de los Σ∗ Definición Dado Σ, |Σ| = d, ordenado, una representación literal de Σ∗ es el árbol d-ario completo con raíz, T = (V , A) que se obtiene 1 2 3 Asignando a cada vértice de V una palabra de Σ∗ . La palabra vacía λ ∈ Σ∗ se asigna al vértice raíz. Dado un vértice v ∈ V se etiqueta cada arista que sale de él con cada uno de los caracteres de Σ. Dados u, v ∈ V , la arista uv ∈ A sii existe un α ∈ Σ tal que v = uα, considerando u, v ∈ Σ∗ . Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 17 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Ejemplos: árboles de representación de los alfabetos {0, 1} y {α, β, γ} Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 18 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Ejemplos: árboles de representación de los alfabetos {0, 1} y {α, β, γ} Σ∗ = {0, 1}∗ Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 18 / 26 Definición de código Tipos de códigos Códigos instantáneos Fuentes Códigos (compresores) Ejemplos: árboles de representación de los alfabetos {0, 1} y {α, β, γ} Σ∗ = {0, 1}∗ λ 0 1 0 Ramiro Moreno (Matemàtica, UdL) 1 0 1 0 1 00 01 10 11 00. . . 01. . . 10. . . 11. . . Introducción a los códigos compresores Febrero de 2010 18 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Ejemplos: árboles de representación de los alfabetos {0, 1} y {α, β, γ} Σ∗ = {α, β, γ}∗ Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 18 / 26 Definición de código Tipos de códigos Códigos instantáneos Fuentes Códigos (compresores) Ejemplos: árboles de representación de los alfabetos {0, 1} y {α, β, γ} Σ∗ = {α, β, γ}∗ λ α β α α β γ β γ α β γ γ α β γ αα αβ αγ βα ββ βγ γα γβ γγ αα . . . αβ . . . αγ . . . βα . . . ββ . . . βγ . . . γα . . . γβ . . . γγ . . . En T , palabras de la misma longitud ` de Σ∗ están a la misma profundidad ` y ordenadas según el orden de Σ. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 18 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Representación en árbol de los códigos Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 19 / 26 Definición de código Tipos de códigos Códigos instantáneos Fuentes Códigos (compresores) Representación en árbol de los códigos • 0 1 00 000 01 001 010 10 011 100 11 101 110 111 Identificando un código C con su imagen, consideramos C ⊂ Σ∗ , siendo Σ el alfabeto–código. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 19 / 26 Definición de código Tipos de códigos Códigos instantáneos Fuentes Códigos (compresores) Representación en árbol de los códigos • 0 1 00 000 01 001 010 10 011 100 11 101 110 111 Identificando un código C con su imagen, consideramos C ⊂ Σ∗ , siendo Σ el alfabeto–código. La representación literal de un código será el subárbol del árbol T de representación literal de Σ∗ , Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 19 / 26 Definición de código Tipos de códigos Códigos instantáneos Fuentes Códigos (compresores) Representación en árbol de los códigos • 0 • 00 000 01 001 010 10 011 100 • 101 110 111 Identificando un código C con su imagen, consideramos C ⊂ Σ∗ , siendo Σ el alfabeto–código. La representación literal de un código será el subárbol del árbol T de representación literal de Σ∗ , obtenido al eliminar los subárboles cuyos vértices no pertenezcan a C. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 19 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Ejemplos de árboles de códigos Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 20 / 26 Definición de código Tipos de códigos Códigos instantáneos Fuentes Códigos (compresores) Ejemplos de árboles de códigos C2 C1 b bc 00 01 11 0 bc 10 10 b bc 0 bc C3 b 110 01 bc 011 1110 b C4 0111 C5 b bc 0 10 0 bc 1 01 110 Ramiro Moreno (Matemàtica, UdL) 11 111 Introducción a los códigos compresores Febrero de 2010 20 / 26 Definición de código Tipos de códigos Códigos instantáneos Fuentes Códigos (compresores) Ejemplos de árboles de códigos C2 C1 b bc 00 01 11 0 bc 10 10 b bc 0 bc C3 b 110 01 bc 011 1110 b C4 0111 C5 b bc 0 10 0 bc 1 01 110 11 111 Se ve que un código es instantáneo sii todas las palabras–código son hojas del árbol de su representación literal. Lo son los C1 , C2 y C4 . Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 20 / 26 Definición de código Tipos de códigos Códigos instantáneos Fuentes Códigos (compresores) Ejemplos de árboles de códigos C2 C1 b bc 00 01 11 0 bc 10 10 b bc 0 bc C3 b 110 01 bc 011 1110 b C4 0111 C5 b bc 0 10 0 bc 1 01 110 11 111 Se ve que un código es instantáneo sii todas las palabras–código son hojas del árbol de su representación literal. Lo son los C1 , C2 y C4 . El C3 es de decodificación única: lo decodificamos esperarando un 0 y decodificando los bits recibidos hasta entonces. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 20 / 26 Definición de código Tipos de códigos Códigos instantáneos Fuentes Códigos (compresores) Ejemplos de árboles de códigos C2 C1 b bc 00 01 11 0 bc 10 10 b bc 0 bc C3 b 110 01 bc 011 1110 b C4 0111 C5 b bc 0 10 0 bc 1 01 110 11 111 Se ve que un código es instantáneo sii todas las palabras–código son hojas del árbol de su representación literal. Lo son los C1 , C2 y C4 . El C3 es de decodificación única: lo decodificamos esperarando un 0 y decodificando los bits recibidos hasta entonces. El C5 no es instantáneo ni de decodificación única: es tan sólo no–singular. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 20 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Caracterización algebraica de los códigos instantáneos Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 21 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Caracterización algebraica de los códigos instantáneos Proposición (Desigualdad de Kraft para códigos instantáneos) Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 21 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Caracterización algebraica de los códigos instantáneos Proposición (Desigualdad de Kraft para códigos instantáneos) Si C es un código instantáneo o libre de prefijos sobre un alfabeto X , con |X | = r y sobre un alfabeto–código Σ d-ario, |Σ| = d, Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 21 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Caracterización algebraica de los códigos instantáneos Proposición (Desigualdad de Kraft para códigos instantáneos) Si C es un código instantáneo o libre de prefijos sobre un alfabeto X , con |X | = r y sobre un alfabeto–código Σ d-ario, |Σ| = d, se verifica la desigualdad de Kraft r X d −li ≤ 1, i=1 Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 21 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Caracterización algebraica de los códigos instantáneos Proposición (Desigualdad de Kraft para códigos instantáneos) Si C es un código instantáneo o libre de prefijos sobre un alfabeto X , con |X | = r y sobre un alfabeto–código Σ d-ario, |Σ| = d, se verifica la desigualdad de Kraft r X d −li ≤ 1, i=1 siendo li = L(C(xi )), ∀xi ∈ X . Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 21 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Caracterización algebraica de los códigos instantáneos Proposición (Desigualdad de Kraft para códigos instantáneos) Si C es un código instantáneo o libre de prefijos sobre un alfabeto X , con |X | = r y sobre un alfabeto–código Σ d-ario, |Σ| = d, se verifica la desigualdad de Kraft r X d −li ≤ 1, i=1 siendo li = L(C(xi )), ∀xi ∈ X . Recíprocamente, si li , 1 ≤ i ≤ r , li ∈ Z>0 , satisfacen la desigualdad de Kraft, Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 21 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Caracterización algebraica de los códigos instantáneos Proposición (Desigualdad de Kraft para códigos instantáneos) Si C es un código instantáneo o libre de prefijos sobre un alfabeto X , con |X | = r y sobre un alfabeto–código Σ d-ario, |Σ| = d, se verifica la desigualdad de Kraft r X d −li ≤ 1, i=1 siendo li = L(C(xi )), ∀xi ∈ X . Recíprocamente, si li , 1 ≤ i ≤ r , li ∈ Z>0 , satisfacen la desigualdad de Kraft, existe un código instantáneo d-ario para X , cuyas longitudes de las palabras–código son los li . Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 21 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos instantáneos de longitud media mínima Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 22 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos instantáneos de longitud media mínima Los códigos instantáneos son de codificación y decodificación fáciles: Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 22 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos instantáneos de longitud media mínima Los códigos instantáneos son de codificación y decodificación fáciles: ¿pueden ser, además, de longitud media mínima? Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 22 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos instantáneos de longitud media mínima Los códigos instantáneos son de codificación y decodificación fáciles: ¿pueden ser, además, de longitud media mínima? Se busca, pues, un código d-ario instantáneo, C, para una fuente simple S = (X , {pi }1≤i≤r ). Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 22 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos instantáneos de longitud media mínima Los códigos instantáneos son de codificación y decodificación fáciles: ¿pueden ser, además, de longitud media mínima? Se busca, pues, un código d-ario instantáneo, C, para una fuente simple S = (X , {pi }1≤i≤r ). Su longitud media L ha de ser mínima. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 22 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos instantáneos de longitud media mínima Los códigos instantáneos son de codificación y decodificación fáciles: ¿pueden ser, además, de longitud media mínima? Se busca, pues, un código d-ario instantáneo, C, para una fuente simple S = (X , {pi }1≤i≤r ). Su longitud media L ha de ser mínima. Se trata de un problema de extremos condicionados: Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 22 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos instantáneos de longitud media mínima Los códigos instantáneos son de codificación y decodificación fáciles: ¿pueden ser, además, de longitud media mínima? Se busca, pues, un código d-ario instantáneo, C, para una fuente simple S = (X , {pi }1≤i≤r ). Su longitud media L ha de ser mínima. Se trata de un problema de extremos condicionados: Minimizar: L = r X pi li , i=1 Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 22 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos instantáneos de longitud media mínima Los códigos instantáneos son de codificación y decodificación fáciles: ¿pueden ser, además, de longitud media mínima? Se busca, pues, un código d-ario instantáneo, C, para una fuente simple S = (X , {pi }1≤i≤r ). Su longitud media L ha de ser mínima. Se trata de un problema de extremos condicionados: Minimizar: L = r X pi li , i=1 Restricciones: Ramiro Moreno (Matemàtica, UdL) r P d −li ≤ 1 (Kraft) i=1 li ∈ Z>0 , 1 ≤ i ≤ r Introducción a los códigos compresores Febrero de 2010 22 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos de Shannon (I) Solución al problema de extremos condicionados Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 23 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos de Shannon (I) Solución al problema de extremos condicionados Los siguientes valores resuelven el problema de extremos condicionados anterior, sin la restricciones li ∈ Z>0 : Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 23 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos de Shannon (I) Solución al problema de extremos condicionados Los siguientes valores resuelven el problema de extremos condicionados anterior, sin la restricciones li ∈ Z>0 : li∗ = − logd pi , r P ∗ L = − pi logd pi = Hd (S), i=1 Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 23 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos de Shannon (I) Solución al problema de extremos condicionados Los siguientes valores resuelven el problema de extremos condicionados anterior, sin la restricciones li ∈ Z>0 : li∗ = − logd pi , r P ∗ L = − pi logd pi = Hd (S), i=1 donde Hd (S) = H(S) log d es la entropía de la fuente en d-bits. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 23 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos de Shannon (I) Solución al problema de extremos condicionados Los siguientes valores resuelven el problema de extremos condicionados anterior, sin la restricciones li ∈ Z>0 : li∗ = − logd pi , r P ∗ L = − pi logd pi = Hd (S), i=1 donde Hd (S) = H(S) log d es la entropía de la fuente en d-bits. Ahora considerando que li ∈ Z>0 , 1 ≤ i ≤ r , se obtiene Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 23 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos de Shannon (I) Solución al problema de extremos condicionados Los siguientes valores resuelven el problema de extremos condicionados anterior, sin la restricciones li ∈ Z>0 : li∗ = − logd pi , r P ∗ L = − pi logd pi = Hd (S), i=1 donde Hd (S) = H(S) log d es la entropía de la fuente en d-bits. Ahora considerando que li ∈ Z>0 , 1 ≤ i ≤ r , se obtiene (s) li Ramiro Moreno (Matemàtica, UdL) = dli∗ e = d− logd pi e . Introducción a los códigos compresores Febrero de 2010 23 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos de Shannon (II) Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 24 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos de Shannon (II) (s) Los valores li definen los llamados códigos de Shannon, que son instantáneos y que verifican el siguiente resultado Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 24 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos de Shannon (II) (s) Los valores li definen los llamados códigos de Shannon, que son instantáneos y que verifican el siguiente resultado Proposición (SCT para los códigos de Shannon) Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 24 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos de Shannon (II) (s) Los valores li definen los llamados códigos de Shannon, que son instantáneos y que verifican el siguiente resultado Proposición (SCT para los códigos de Shannon) Dada una fuente simple S = (X , {pi }1≤i≤r ), existe un código d-ario instantáneo de longitud media mínima definido por las longitudes (s) li = d− logd pi e , llamado código de Shannon, Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 24 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos de Shannon (II) (s) Los valores li definen los llamados códigos de Shannon, que son instantáneos y que verifican el siguiente resultado Proposición (SCT para los códigos de Shannon) Dada una fuente simple S = (X , {pi }1≤i≤r ), existe un código d-ario instantáneo de longitud media mínima definido por las longitudes (s) li = d− logd pi e , llamado código de Shannon, tal que (s) Hd (S) ≤ L Ramiro Moreno (Matemàtica, UdL) ≤ Hd (S) + 1. Introducción a los códigos compresores Febrero de 2010 24 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos de Shannon (III) Ejemplo Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 25 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos de Shannon (III) Ejemplo 1 Sea la fuente simple S = {x1 , x2 , x3 , x4 }, { 31 , 31 , 14 , 12 } . Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 25 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos de Shannon (III) Ejemplo 1 Sea la fuente simple S = {x1 , x2 , x3 , x4 }, { 31 , 31 , 14 , 12 } . Vamos a construir el código de Shannon sobre Σ = {0, 1}. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 25 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos de Shannon (III) Ejemplo 1 Sea la fuente simple S = {x1 , x2 , x3 , x4 }, { 31 , 31 , 14 , 12 } . Vamos a construir el código de Shannon sobre Σ = {0, 1}. (s) l1 (s) l2 Longitudes: (s) l3 (s) l4 Ramiro Moreno (Matemàtica, UdL) = = = = L(C(x1 )) = − log 13 = 2 L(C(x2 )) = − log 13 = 2 L(C(x3 )) = − log 14 = 2 1 L(C(x4 )) = − log 12 =4 Introducción a los códigos compresores Febrero de 2010 25 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos de Shannon (III) Ejemplo 1 Sea la fuente simple S = {x1 , x2 , x3 , x4 }, { 31 , 31 , 14 , 12 } . Vamos a construir el código de Shannon sobre Σ = {0, 1}. (s) l1 (s) l2 Longitudes: (s) l3 (s) l4 = = = = L(C(x1 )) = − log 13 = 2 L(C(x2 )) = − log 13 = 2 L(C(x3 )) = − log 14 = 2 1 L(C(x4 )) = − log 12 =4 Código: C(x1 ) = 00, C(x2 ) = 01, C(x3 ) = 10, C(x4 ) = 1100. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 25 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos de Shannon (III) Ejemplo 1 Sea la fuente simple S = {x1 , x2 , x3 , x4 }, { 31 , 31 , 14 , 12 } . Vamos a construir el código de Shannon sobre Σ = {0, 1}. (s) l1 (s) l2 Longitudes: (s) l3 (s) l4 = = = = L(C(x1 )) = − log 13 = 2 L(C(x2 )) = − log 13 = 2 L(C(x3 )) = − log 14 = 2 1 L(C(x4 )) = − log 12 =4 Código: C(x1 ) = 00, C(x2 ) = 01, C(x3 ) = 10, C(x4 ) = 1100. (s) Longitud media: L Ramiro Moreno (Matemàtica, UdL) = 20 1667 bits Introducción a los códigos compresores Febrero de 2010 25 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos de Shannon (III) Ejemplo 1 Sea la fuente simple S = {x1 , x2 , x3 , x4 }, { 31 , 31 , 14 , 12 } . Vamos a construir el código de Shannon sobre Σ = {0, 1}. (s) l1 (s) l2 Longitudes: (s) l3 (s) l4 = = = = L(C(x1 )) = − log 13 = 2 L(C(x2 )) = − log 13 = 2 L(C(x3 )) = − log 14 = 2 1 L(C(x4 )) = − log 12 =4 Código: C(x1 ) = 00, C(x2 ) = 01, C(x3 ) = 10, C(x4 ) = 1100. (s) Longitud media: L bits Ramiro Moreno (Matemàtica, UdL) = 20 1667 bits y entropía: H(S) = 10 8554 Introducción a los códigos compresores Febrero de 2010 25 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos de Shannon (III) Ejemplo 1 Sea la fuente simple S = {x1 , x2 , x3 , x4 }, { 31 , 31 , 14 , 12 } . Vamos a construir el código de Shannon sobre Σ = {0, 1}. (s) l1 (s) l2 Longitudes: (s) l3 (s) l4 = = = = L(C(x1 )) = − log 13 = 2 L(C(x2 )) = − log 13 = 2 L(C(x3 )) = − log 14 = 2 1 L(C(x4 )) = − log 12 =4 Código: C(x1 ) = 00, C(x2 ) = 01, C(x3 ) = 10, C(x4 ) = 1100. (s) Longitud media: L = 20 1667 bits y entropía: H(S) = 10 8554 bits, cumpliéndose que 10 8554 < 20 1667 < 20 8554. Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 25 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos optimales Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 26 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos optimales Obsérvese que el código instantáneo C (o) (x1 ) = 0, C (o) (x2 ) = 10, C (o) (x3 ) = 110, C (o) (x4 ) = 111 Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 26 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos optimales Obsérvese que el código instantáneo C (o) (x1 ) = 0, C (o) (x2 ) = 10, C (o) (x3 ) = 110, C (o) (x4 ) = 111 para la fuente S anterior tiene longitud media menor que el de Shannon (o) (s) L = 2 bits < L = 20 1667 bits Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 26 / 26 Fuentes Códigos (compresores) Definición de código Tipos de códigos Códigos instantáneos Códigos optimales Obsérvese que el código instantáneo C (o) (x1 ) = 0, C (o) (x2 ) = 10, C (o) (x3 ) = 110, C (o) (x4 ) = 111 para la fuente S anterior tiene longitud media menor que el de Shannon (o) (s) L = 2 bits < L = 20 1667 bits Definición (Códigos optimales) Diremos que un código C (o) instantáneo es optimal para una (o) fuente S si su longitud media L es menor o igual que la de cualquier otro código instantáneo para la misma fuente Ramiro Moreno (Matemàtica, UdL) Introducción a los códigos compresores Febrero de 2010 26 / 26