Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ROQUE MARN I Dpto. de Ingeniera de la Informacion y las Comunicaciones Facultad de Informatica, Universidad de Murcia, Campus de Espinardo 30071 - Espinardo (Murcia) roque@dif.um.es http://perseo.dif.um.es/ aike/ci http://perseo.dif.um.es/ aike/roque/index.htm
1.- Introduccin
Compresin de datos: Proceso que permite representar la informacin de una fuente de datos en formato digital, usando el mnimo nmero posible de bits y perdiendo la mnima cantidad de informacin aceptable Tipos de fuentes de datos: Texto, fotografa, audio, video, otras seales (datos de sensores, ECG, ...) Importancia de la compresin: Muchas fuentes de datos, una vez digitalizadas, requieren: Gran cantidad de bits en comparacin con la capacidad de almacenamiento disponible Gran velocidad de transmisin en comparacin con la mxima velocidad admisible por el Sistema de Comunicacin Digital a travs del que deben enviarse Tasa de bits (bitrate): Nmero de bits por unidad de tiempo producidos por una fuente de datos (bits/s, o tambin bps). Por extensin, nmero de bits requeridos para almacenar un archivo (bits/imagen, por ejemplo)
1.- Introduccin
Requerimientos aproximados para fuentes de datos no comprimidas (bitrates):
1.- Introduccin
Comparacin con capacidades de almacenamiento para fuentes no comprimidas: En general, la capacidad en segundos de un medio de almacenamiento es: Capacidad(Bytes) 8(bits/Byte) Bitrate(bits/s)
Capacidad(s) =
(1)
CD-R de 700 MB: Audio de banda ancha: Aproximadamente 66,1 minutos Video: Aproximadamente 25,3 segundos DVD-9 de 7,95 GB (1 GB = 10243 Bytes): Audio de banda ancha: Aproximadamente 13,4 horas Video: Aproximadamente 5,2 minutos
1.- Introduccin
Comparacin con velocidades de transmisin para fuentes no comprimidas: En general, el tiempo en segundos requerido para transmitir 1 segundo de seal a travs de un Sistema de Comunicacin Digital es: Bitrate(bits/s) 1(s) V elocidad(bits/s)
T iempo(s) =
(2)
Mdem telefnico de 56,6 Kbps: Audio de banda ancha: Aproximadamente 24,9 segundos Video: Aproximadamente 65,1 minutos Mdem de cable de 256 Kbps: Audio de banda ancha: Tarda aproximadamente 5,5 segundos en transmitir 1 segundo de seal Video: Tarda aproximadamente 14,4 minutos en transmitir 1 segundo de seal Sin compresin sera impracticable
COMPRESION DE LA INFORMACION - Tema 1: Fundamentos de la Compresion de Informacion p.5/70
1.- Introduccin
Factores que han hecho posible el uso generalizado de tcnicas avanzadas de compresin: El avance en la comprensin de los fundamentos matemticos del procesamiento de seal, complementado con el desarrollo de algoritmos que explotan al mximo las posibilidades tericas. Es el resultado de ms de 50 aos de investigacin. La disponibilidad de una gran capacidad de procesamiento soportada por implementaciones VLSI de dispositivos Procesadores Digitales de Seal (DSP o Digital Signal Processors). Introduccin de medidas cuantitativas de la distorsin perceptiva (en voz, msica, imagen, video, ...) La tendencia creciente hacia la estandarizacin de formatos de compresin, que ha hecho posible una compatibilidad casi universal entre distintos Sistemas de Comunicacin. El paso de la Era Industrial a la Sociedad de la Informacin, basada en los avances en redes, ordenadores y telecomunicaciones.
Compresin sin Prdida de Informacin (Lossless): La reconstruccin Y es idntica al original X Se usa en aplicaciones donde no es tolerable ninguna diferencia entre los datos originales y comprimidos: textos, programas, imgenes crticas (e.g. radiografas, teledeteccin, ...) Tambin se llaman tcnicas de reduccin de redundancia Compresin con Prdida de Informacin (Lossy): La reconstruccin Y contiene menos informacin que el original X Se usa en aplicaciones donde se pueden tolerar diferencias entre los datos originales y comprimidos: voz, msica, imgenes, video, ... Se introducen medidas de distorsin perceptiva y se jan los umbrales tolerables A menudo, el observador humano no aprecia las diferencias Tambin se llaman tcnicas de reduccin de entropa o de reduccin de informacin
Compresin sin Prdida de Informacin (Lossless): Compresores Estadsticos: Se basan en un anlisis probabilstico de los datos Shannon-Fano: Se usa en ZIP 1.X Huffman: Se usa en LZH Aritmticos: Se usa en JBIG2 Predictivos: Se usa en JPEG-LS Compresores Substitucionales: Se basan en la codicacin de subsecuencias repetitivas de datos, usando un buffer o un diccionario Familia LZ78 (Lempel-Ziv 78): LZW, LZC (compress) Familia LZ77 (Lempel-Ziv 77): ZIP 1.X, LZH Compresin con Prdida de Informacin (Lossy): Compresin basada en transformadas: JPEG Compresin de subbandas: MPEG audio Compresin basada en wavelets: JPEG2000 Compresin de video: Estndares MPEG-1, MPEG-2, MPEG-4 La base matemtica de las tcnicas de compresin es la Teora de la Informacin
(3)
(4)
65, 536 =4:1 16, 384 65, 536 16, 384 = 75 % 65536
= (9, 11, 11, 11, 14, 13, 15, 17, 16, 17, 20, 21)
Para representarlos en binario, se requieren 5 bits por nmero, ya que 24 < 21 25 . Como hay 12 nmeros, el archivo ocupa 60 bits. Sin embargo, representando grcamente los datos, se descubre la existencia de una estructura: Se aproximan a una lnea recta.
La secuencia de residuos es: ei = (0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1). Como slo hay tres tipos de residuos {1, 0, 1}, bastan 2 bits para representarlos y 24 bits para almacenar todos los residuos. Se obtiene un archivo comprimido, que contiene los parmetros del modelo (pendiente y trmino independiente) y los residuos. La compresin puede ser sin prdida de informacin (con residuos) o con prdida de informacin (sin residuos)
En lugar de usar 3 bits por smbolo, podemos usar la siguiente representacin: a b f n r w y Ahora, el archivo ocupara 106 bits Se obtiene una relacin de compresin de RC = RC = 123 106 = 13 % 123 123 = 1,16 : 1 o de 106 1 001 01100 0100 0111 000 01101 0101
Objetivo de la Teora de la Informacin: Estudio de los procesos de transmisin de informacin que ocurren en los Sistemas de Comunicacin Digitales por medio del intercambio de mensajes discretos
Mensaje Discreto: Secuencia de smbolos pertenecientes a un alfabeto fuente nito, expresados sobre algn soporte fsico (smbolos ASCII, muestras de seal, ...) Fuente de Informacin Discreta o Fuente de Mensajes Discretos: Cada cierto tiempo emite un mensaje discreto perteneciente a un conjunto nito de posibles mensajes Suponemos comportamiento no determinista: Produce mensajes de forma aleatoria. En caso contrario, no sera necesaria su transmisin
Fuente de Mensajes Mensaje
Medida cuantitativa de la informacin transportada por un mensaje: Supongamos una fuente de mensajes no determinista Hay incertidumbre sobre el estado interno de la fuente, y por tanto, sobre el mensaje que va a emitir Cuando emite un mensaje, la incertidumbre se anula: hay una reduccin de incertidumbre Incertidumbre Ganancia de Informacin: Reduccin de incertidumbre sobre el estado de la fuente Inf ormacin = Incertidumbre o Cuanticando la incertidumbre, podemos medir cuantitativamente la cantidad de informacin transportada por un mensaje Usaremos la Teora de la Probabilidad como modelo de comportamiento no determinista para cuanticar la informacin Sistema de Comunicacin Digital: Sistema cuya funcin es enviar, procesar y recibir mensajes digitales sin que existan prdidas de informacin, o minimizndolas (IA IB )
A IA
Sistema de Comunicacin
B IB
Fuente de Ruido
Codicador: Transforma el mensaje de la fuente en otra secuencia de smbolos distinta, adaptndo el mensaje a las caractersticas del medio por el que se va a transmitir. Para un compresor, el criterio bsico es reducir el nmero de bits por mensaje, para aumentar la velocidad de transmisin de informacin o reducir el espacio de almacenamiento Canal Discreto: Medio a travs del cual se transmite el mensaje Fuente de Ruido: Su efecto es la transformacin aleatoria de unos mensajes en otros distintos (errores) Decodicador: Transforma el mensaje recibido, adaptando su forma de expresin a las caractersticas del receptor
COMPRESION DE LA INFORMACION - Tema 1: Fundamentos de la Compresion de Informacion p.19/70
Probabilidades a priori de emisin de los mensajes Probabilidades de ocurrencia de los sucesos aleatorios pk = p(X = Xk ) Distribucin de probabilidades de la fuente: {pk } Verica los axiomas y propiedades de Teora de la Probabilidad: pk [0, 1], 1 k n y n pk = 1 k=1
COMPRESION DE LA INFORMACION - Tema 1: Fundamentos de la Compresion de Informacion p.20/70
Dos tipos de medidas de la Cantidad de Informacin transportada por un mensaje: 1. Informacin suministrada por un mensaje individual I(X = Xk ): Reduccin de incertidumbre que se obtiene al recibir el mensaje Xk 2. Informacin suministrada por la fuente o Entropa de la fuente H(X): Informacin que en promedio suministran los mensajes de la fuente Primero daremos las deniciones matemticas, y despus comprobaremos que representan los conceptos intuitivos anteriores
Las unidades dependen de la base de los logaritmos: log2 ln log10 bit nat dit o Hartley
La informacin individual transportada por cualquiera de los dos mensajes es: I(X = Xk ) = log2 pk = log2 1 = log2 2 = 1 bit 2
7 8 1 8 7 log2 8
= 3bits = 0,193bits
Propiedad 1.- La denicion formal se corresponde con la denicion cualitativa de ganancia de informacion como reduccion de incertidumbre
I(X = Xk ) = log2 pk = log2 = log2 1 log2 pk = = Incertidumbredespues Incertidumbreantes = Incertidumbre
1 pk
Propiedad 2.- La informacion individual aportada por un mensaje es solo funcion de su probabilidad, y no de los valores aleatorios de los mensajes I(X
= Xk ) = I(pk )
= Xk ) = fcreciente ( p1 ) k
Cuanto ms probable es un mensaje, menos incertidumbre tenemos en su emisin, y menor reduccin de incertidumbre obtendremos al recibirlo En el caso equiprobable: pk =
1 n
I(X = Xk ) = fcreciente (n) Un mensaje aporta tanta ms informacin cuanto mayor es el nmero de posibles mensajes equiprobables existentes Por ejemplo: acertar 6 nmeros en la lotera primitiva
H(X) = E[I(X = ai )] =
i=1
pi log2 pi
(7)
Es la esperanza matemtica (o promedio ponderado por las probabilidades) de la informacin individual Representa la incertidumbre que tenemos en promedio sobre el estado de la fuente o promedio de la informacin transportada por un mensaje cualquiera
pN
1 2
pB
1 2
Composicion: 9 N y 1 B
9 H(X) = 10 log 9 10
pN
9 10
pB
1 10
1 10
Composicion: 99 N y 1 B
pN
pB
99 99 = 0,08 bit H(X) = 100 log 100 99 I(X = N ) = log 100 = 0,015 bit 1 I(X = B) = log 100 = 6,6 bit
COMPRESION DE LA INFORMACION - Tema 1: Fundamentos de la Compresion de Informacion p.29/70
i=1
pi log pi
i=1
pi log qi
pi = q i , 1 i n
0 H(X) log n
Dem.- Sea {p1 , p2 , . . . pn } la distribucin de probabilidad de la fuente X. Construyamos 1 otra distribucin {q1 , q2 , . . . qn }, dada por qi = n , 1 i n. Por el lema de Gibbs se vericar: n n 1 pi log pi log pi n i=1 i=1 Pero, H(X) =
n i=1
pi log pi , y log
1 n
H(X) (log n)
i=1
pi = log n
Por tanto, el valor mximo de la entropa es log n. Adems, como 0 pi 1, se tiene que H(X) = n pi log pi 0 i=1
H(X) = log n pi , pi =
equiprobable)
= H({p1 , p2 , . . . pn , 0})
Dem.- Obsrvese que el nuevo sumando que aparece en la entropa, 0 log 0, es nulo.
H({p1 , p2 , . . . pi . . . pj . . . pn }) = H({p1 , p2 , . . . pj . . . pi . . . pn })
Dem.- El sumatorio no vara por la propiedad conmutativa de la suma.
p(xi , yj ) = 1
p(xi ) =
j=1
p(xi , yj ), i : 1 . . . n
p(yj ) =
i=1
p(xi , yj ), j : 1 . . . m
Hay m distribuciones condicionadas {p(xi /yj )}, una por cada valor yj de Y Distribucin de Y condicionada a un valor de X = xi : {p(yj /xi )} p(yj /xi ) = p(xi , yj ) ,j : 1...m p(xi )
Hay n distribuciones condicionadas {p(yj /xi )}, una por cada valor xi de X
Por tanto, podemos aplicar el operador entropa a cualquiera de las distribuciones de dos variables Entropa de X condicionada a un valor de Y = yj : Incertidumbre en X al observar el valor Y = yj
n
H(X/Y = yj ) =
i=1
(9)
H(X/Y ) =
j=1 m
p(yj )H(X/Y = yj ) =
n
=
j=1
p(yj )(
i=1 m n
=
i=1 j=1 n m
=
i=1 j=1
Es decir:
H(X/Y ) =
i=1 j=1
(11)
H(Y /X) =
i=1 j=1
(12)
H(X, Y ) =
i=1 j=1
(13)
Es generalizable a cualquier nmero de dimensiones Como ejercicio, escribir las expresiones de: La entropa total de tres variables, H(X, Y, Z) La entropa de una variable X condicionada a dos variables Y y Z, H(X/Y, Z)
(15)
(16)
H(X/Y ) H(X)
y (17)
(18)
I(X, Y ) se obtiene como la diferencia entre las incertidumbres que tenemos en X antes y despus de conocer Y I(X, Y ) es la cantidad de informacin que Y contiene sobre X De forma anloga, I(Y, X) = H(Y ) H(Y /X)
I(X, Y ) = I(Y, X)
Propiedad 16.- Cota Mnima:
(22)
(23)
X = {x1 , x2 } Y = {y1 , y2 }
x1 + y1 sano
x2 y2 enfermo
100 pacientes
48 4 + enfermos 0 -
sanos
48
Distribuciones de probabilidades marginales {p(xi )}, {p(yj )}: Sumamos las probabilidades conjuntas por las y columnas: p(xi , yj ) y1 (sano) y2 (enfermo) p(xi ) x1 (+) 0,48 0,04 0,52 x2 (-) 0,48 0 0,48 p(yj ) 0,96 0,04
Ahora, aplicamos el operador entropa a cada distribucin: p(xi , yj ) y1 (sano) y2 (enfermo) p(xi ) x1 (+) 0,48 0,04 0,52 . . . x2 (-) 0,48 0 0,48 .. . H(X, Y ) = 1,202 bits p(yj ) 0,96 0,04 ... H(Y ) = 0,242 bits
6.- Codicacin
6.1.- Conceptos bsicos
Codicacin de una fuente: Representar cada mensaje de la fuente mediante una secuencia de smbolos de un alfabeto. Un alfabeto es un conjunto nito de smbolos, A = {a1 , a2 , . . . , aD } El alfabeto se elige de forma que sus smbolos se puedan transmitir eciente y correctamente a travs del canal En sistemas de comunicacin digital usamos un alfabeto binario, A = {0, 1} El conjunto de secuencias binarias asignadas a los mensajes de la fuente se denomina cdigo, y cada elemento es una palabra cdigo Un ejemplo es el cdigo ASCII La fuente es el conjunto de caracteres ASCII (26 letras minsculas, 26 letras maysculas, 10 dgitos numricos y diversos caracteres especiales y signos de puntuacin Las palabras cdigo son secuencias de 7 smbolos binarios (e.g. C( a ) = 1000011)
6.- Codicacin
Ejemplo 8.- Dada la fuente S = {x1 , x2 , x3 , x4 } y el alfabeto A = {0, 1}, un posible
codigo C es:
xi x1 x2 x3 x4
C(xi )
0 11 00 01
Un cdigo se puede considerar como una aplicacin inyectiva que asocia a cada mensaje una tupla de smbolos del alfabeto xi S : C(xi ) = (a1 , a2 , . . . , ar )
i=1,2,...
Ai
Ha de ser inyectiva para que a cada mensaje le corresponda una palabra distinta
6.- Codicacin
Segn el nmero de smbolos del alfabeto, los cdigos se clasican en binarios, ternarios, ... o en general, D-arios Por ejemplo, el cdigo ASCII es binario. El cdigo Morse es ternario, pues su alfabeto consiste en A = {, , pausa} La longitud de una palabra cdigo Ci es el nmero de smbolos que contiene (orden de la tupla). La denotamos como l(Ci ) o ni Un cdigo uniforme es un cdigo cuyas palabras son todas de la misma longitud Ci , Cj C : l(Ci ) = l(Cj ) Por ejemplo, el cdigo ASCII es un cdigo uniforme de longitud de palabra 7 El cdigo Morse es un cdigo no uniforme, pues contiene palabras de distinta longitud. Por ejemplo, C( E ) = , pero C( Z ) =
6.- Codicacin
Longitud media n de un cdigo C: Es la media de las longitudes de palabra ni del cdigo, ponderada por las probabilidades de las palabras
m
n=
i=1
pi ni
Tambin se denomina tasa del cdigo (rate). Para un cdigo uniforme, n es la longitud constante de palabra Podemos incrementar la velocidad de transmisin de los mensajes de una fuente, usando un cdigo no uniforme tal que los mensajes ms probables se codiquen con las palabras ms cortas. As, la mayor parte de las veces estaremos transmitiendo palabras cortas Equivale a disminuir la longitud media n, pues las longitudes ni pequeas correspondern a los mayores factores de peso pi A menor longitud media, menor bitrate (menor tamao de chero o mayor velocidad de transmisin de informacin), y por tanto, mayor relacin de compresin Es la clave de la compresin. Es la idea que capturaba el cdigo Morse
COMPRESION DE LA INFORMACION - Tema 1: Fundamentos de la Compresion de Informacion p.52/70
6.- Codicacin
Velocidad de transmisin de smbolos k de un canal: Es una constante del canal que mide el nmero de smbolos por segundo que es capaz de transmitir el canal Por ejemplo, un modem de 33.600 baudios puede transmitir 33.600 dgitos binarios por segundo Su velocidad de transmisin de smbolos es k = 33600 sb/s Velocidad de transmisin de informacin v: Es la velocidad promedio a la que se transmite la informacin de una fuente por un canal, medida en bits/s Depende de: La entropa de la fuente H(S), es decir, de la informacin transmitida en promedio con cada mensaje, medida en bits/msj La longitud media n del cdigo empleado para transmitir los mensajes, medida en sb/msj La velocidad de transmisin de smbolos del canal k, medida en sb/s
6.- Codicacin
Calculemos la velocidad de transmisin de informacin para una fuente de entropa H(S) y un canal cuya velocidad de transmisin de smbolos es k La velocidad de transmisin de informacin se obtendr como: v= Cantidad de Informacin Promedio de un mensaje Tiempo de Transmisin Promedio de un mensaje
La cantidad de informacin promedio que transporta un mensaje es la entropa de la fuente H(S) El tiempo que en promedio se tarda en transmitir un mensaje es m pi ti , i=1 donde ti es el tiempo que se tarda en transmitir cada mensaje individual xi Si la longitud de un mensaje xi es ni sb, el tiempo necesario para transmitirlo por un canal cuya velocidad de transmisin de smbolos es k sb/s, ser ti = ni k v= H(S) H(S) =k bits/s ni m n i=1 pi k
6.- Codicacin
Ejemplo 9.- Disponemos de un chero codicado en ASCII esta formado por 50.000 caracteres alfanumericos, distribuidos de tal forma que hay 10 caracteres que se repiten un 80 % de las veces, 26 caracteres aparecen un 19.95 % y los restantes 220, solo un 0.05 %
Cual es la entropa del chero? La distribucin de probabilidades de los caracteres es: 10 caracteres 80 % 26 caracteres 19.95 % 220 caracteres 0.05 % La entropa ser:
m
pf = pi = pr =
H(S) =
i=1
6.- Codicacin
Qu relacin de compresin se alcanza al codicar el chero ASCII mediante un cdigo de n = 5? En ASCII (n = 8 sb/msj), tenemos: T O = 50000 msj 8 sb/msj = 400000 sb, es decir 400000 dgitos, que equivalen a 50 KB En el cdigo de longitud media n = 5 sb/msj: T C = 50000 msj 5 sb/msj = 250000 sb, es decir 250000 dgitos, que equivalen a 31 KB Por tanto: RC = TO TC 400000 250000 = = 37,5 % TO 400000
Obsrvese que la RC se puede calcular directamente a partir de las longitudes medias: nO nC 85 RC = = 37,5 % = nO 8 La clave para comprimir es usar un cdigo con la mnima longitud media posible (hay un lmite)
6.- Codicacin
A qu velocidad se transmite el chero a travs de un modem de 33600 baudios, codicado en ASCII y codicado en un cdigo de n = 5? En ASCII (n = 8 sb/msj): v=k 4,33 bits/msj H(S) = 33600 sb/s = 18186 bits/s n 8 sb/msj
En el cdigo de longitud media n = 5 sb/msj: v=k H(S) 4,33 bits/msj = 33600 sb/s = 29097 bits/s n 5 sb/msj
6.- Codicacin
6.2.- Cdigos de Traduccin nica
Cdigo de traduccin nica o unvocamente decodicable: Al recibir la secuencia de smbolos correspondiente a una secuencia de mensajes, sta puede decodicarse sin ambigedad
xi x1 x2 x3 x4
C(xi )
1 10 11 01
porque existe al menos una secuencia de smbolos que admite ms de una decodicacin: 1011 puede decodicarse como x2 x3 , x1 x4 x1 o x2 x1 x1
6.- Codicacin
Ejemplo 11.- S es unvocamente decodicable:
xi x1 x2
El smbolo 1 hace de delimitador
C(xi )
0 01
6.- Codicacin
6.2.- Cdigos Instantneos
Cdigo instantneo: Es posible decodicar al terminar de recibir cada palabra, sin necesidad de esperar a las palabras que le suceden Esto ocurre si y slo si ninguna palabra es prejo de otra (cdigo prejo)
xi x1 x2 x3 x4
C(xi )
0 01 110 1110
La secuencia 0110 slo admite una decodicacin: x1 x3 , pero hay que esperar al nal de la segunda palabra para poder decodicar la primera
COMPRESION DE LA INFORMACION - Tema 1: Fundamentos de la Compresion de Informacion p.60/70
6.- Codicacin
Ejemplo 13.- S es instantaneo:
xi x1 x2 x3 x4
C(xi )
0 10 110 1110
Por ejemplo, supongamos que se emite la secuencia de mensajes x1 x3 x4 , codicada como 01101110 Podemos decodicar la secuencia 01101110 al nal de cada palabra.
6.- Codicacin
Teorema 1.- Todo codigo C uniforme es instantaneo. El recproco no es cierto. Ejemplo 14.- Es instantaneo y no uniforme:
xi x1 x2 x3 x4
C(xi )
0 10 110 1110
6.- Codicacin
Teorema 2.- Todo codigo C instantaneo es de traduccion unica. El recproco no es cierto. Ejemplo 15.- Es de traduccion unica y no instantaneo:
xi x1 x2
C(xi )
0 01
6.- Codicacin
6.3.- Cdigos Optimos
Cdigo ptimo: Dada una fuente S y un alfabeto A, decimos que un cdigo C es ptimo si y slo si C es instantneo y no existe otro cdigo instantneo con menor longitud media C ptimo C instantneo C instantneo, n n Los cdigos ptimos no son nicos Antes de estudiar cmo construir cdigos ptimos, tenemos que estudiar cmo construir cdigos instantneos y una condicin necesaria y suciente para la existencia de estos
6.- Codicacin
6.4.- Construccin de cdigos instantneos
Teorema 3.- (Desigualdad de Kraft-McMillan) Sea un codigo binario C con m palabras de longitudes n1 , . . . nm . Si C es instantaneo, entonces verica necesariamente: K(C)
m i=1
2ni 1
xi x1 x2 x3 x4
m i=1
C(xi )
0 10 110 1111
ni
1 2 3 4
K(C) =
2ni = 21 + 22 + 23 + 24 =
15 16
6.- Codicacin
Teorema 4.- Dado un conjunto de enteros n1 , . . . nm , que satisfacen la desigualdad
2ni 1, siempre podemos encontrar un codigo instantaneo C cuyas longitudes de palabra son n1 , . . . nm .
El teorema establece una condicin suciente para la existencia de un cdigo instantneo con unas longitudes de palabra dadas Tanto este teorema, como el anterior, son tambin vlidos para cdigos D-arios en general Lo demostramos dando un mtodo que construye un cdigo instantneo con las longitudes dadas
m i=1
6.- Codicacin
Sin prdida de generalidad, supondremos que n1 n2 nm , y aplicamos el siguiente mtodo Algoritmo.1 begin Hacer una lista con todas las variaciones con repeticin de o nm los smbolos 0 y 1 tomados de nm en nm (V R{0,1} = 2nm ); k := 1; repeat
asignar al mensaje xk los nk primeros dgitos de una variacin cualquiera de la lista; o eliminar de la lista las 2nm nk variaciones que tienen como prefijo la palabra asignada a xk ; k := k + 1 until (k = m + 1) OR (lista vaca) end
6.- Codicacin
Veamos que el algoritmo siempre para por la primera condicin de parada (llega a construir el cdigo antes de que la lista quede vaca) Cada vez que asigna una palabra elimina 2nm nk variaciones Al llegar a k = m + 1 habr eliminado Pero, por hiptesis
m k=1 m k=1
2nm nk variaciones
m k=1
nm Como V R{0,1} = 2nm era el nmero inicial de variaciones en la lista, quiere decir que sta no queda vaca
6.- Codicacin
Ejemplo 17.- Construir un codigo instantaneo para S = {x1 , x2 , x3 , x4 , x5 , x6 }, usando las longitudes de palabra {2, 2, 3, 3, 3, 3}
Comprobamos que es posible construir un cdigo instantneo con esas longitudes de palabra: K(C) = m 2nk = 2 22 + 4 23 = 1 1, y construimos el cdigo k=1 aplicando el algoritmo:
3 V R2
xi x1 x2 x3 x4 x5 x6
6.- Codicacin
Una variante del algoritmo ms eciente consiste en construir un rbol binario con longitudes de rama como las especicadas Para el ejemplo anterior, se obtiene: Es una representacin biunvoca
0 x1
1 x2 0 x3
1 0 x4 x5
1 x6