Você está na página 1de 6

RESUMEN PAG 126-146

TEOREMA 3.4

Sea L la longitud media de un compacto-código de área para el origen. Entonces:

H r ( S ) ≤ L< H r ( S ) +1

La prueba del teorema tal como se presenta hace mención de una posible estrategia de codificación. Que uno
puede adoptar en un intento de diseñar sistemáticamente códigos compactos. A pesar de que tal estrategia,
diseña códigos que no son compactos, establece el teorema. Que puede extenderse entonces al caso de los
códigos compactos.

S={S 1 , S2 , … S q } Considerar el esquema de codificación. Donde las longitudes de palabra de código


individuales se eligen de acuerdo con:

1 1
log r ≤l i < +1
Pi Pi
q q q q
1 1
∑ Pi logr ≤ ∑ P l <∑ P log +∑ P
P i i=1 i i i=1 i r Pi i=1 i
i=1

Que produce, usando las definiciones de entropía y longitud media:

H r ( S ) ≤ Ls < H r ( S )+1

Donde Ls es la longitud media. Por definición L< Ls . Teorema 3.3 H r ( S ) ≤ L

H r ( S ) ≤ L< H r ( S ) +1
n n n n
S ={σ 1 , σ 2 , … σ q
n } S={S 1 , S2 , … S q } Cuando σ ni =S i 1 , Si 2 , … S ¿

H r ( S n ) ≤ Ln < H r ( S n ) +1

Ln 1
Hr (S ) ≤ < H r ( S)+
n n
TEOREMA 3.5 Teorema de la codificación silenciosa de Shannon

Longitud media

H r ( S ) ≤ L< H r ( S ) +1

Longitud promedio

Ln 1
Hr (S ) ≤ < H r ( S)+
n n
Ln
lim =H r ( S )
n →∞ n
Es decir, en el límite el código se vuelve 100% eficiente.

Teorema de Shannon para Fuentes de Markov

Considere una fuente de Markov de orden, Y la entropía correspondiente,

H r ( Śn ) ≤ L< H r ( Ś ) +1

n
H r ( Ś ) ≤ Ln< H r ( Ś ) +1

Donde ( Śn ) es el adjunto de la extensión

n H r ( S ) +∈≤ Ln <n H r ( S ) +∈+1

∈ Ln ∈ 1
n Hr (S )+ ≤ <n H r ( S ) + +
n n n n

Ln
lim =H r ( S )
n →∞ n

Ln
Es decir, el límite inferior de Es la entropía del modelo de Markov de orden H r ( S ) . Considere
n
una secuencia de símbolos de una fuente desconocida que estamos codificando. La entropía de la fuente
depende del modelo que usamos para la fuente.

RESULTADO 3.1

Cuando se codifica la nth ésima extensión de una fuente, las probabilidades deben derivarse sobre el modelo
"mejor" o "verdadero" de la fuente, y la eficiencia del código debería basarse en el mismo modelo de la
fuente.

Eficiencia de código y capacidad de canal

Considere el sistema de comunicación mostrado en la Figura 1 para el caso de un canal.


Figura 1. Sistema de comunicación silencioso.

Se interpreta como el número medio de bits transmitidos por Fuente. Cada símbolo de origen está codificado
en una palabra de código de L Símbolos de código en promedio.

H ( S)
H ( X )=
L

H (S)
H r ( S )=
log 2 r

H r ( S)
n=
L

H ( X )=n log 2 r

RESULTADO 3.2

Nosotros hacemos las siguientes observaciones:

a) Una codificación de fuente 100% eficiente implica entropía de código máximo y por lo tanto
equiprobable símbolos de código.
b) Una codificación de fuente 100% eficiente implica el uso máximo o "mejor" del canal.

Codificación Fano

Ahora describimos un esquema de codificación para el diseño de códigos instantáneos llamado el Fano, o el
código Shannon-Fano en relación con el hecho de que el régimen. Fue publicado independientemente por
Shannon [11] y Fano [4], que puede rendir cerca de la mayoría de los casos. Aunque principalmente de interés
histórico por su falta de optimalidad, la codificación de Fano puede ser considerada como el precursor de
Huffman óptimo.

Para el caso importante de los códigos binarios, la codificación Fano divide cada grupo en dos equiprobables
que agregan un 0 a un grupo y 1 al otro grupo. Los grupos se dividen sucesivamente hasta que no se pueden
dividir más grupos (es decir, cada grupo tiene sólo un símbolo en ella).
Codificación Huffman

Códigos Huffman

Ahora describimos una clase importante de códigos instantáneos conocidos como códigos de Huffman que se
atribuyen a la obra pionera de Huffman. Códigos de Huffman surgen cuando se utiliza el algoritmo de
Huffman para el diseño de códigos instantáneos dada. El Huffman Algoritmo intenta asignar a cada símbolo
una palabra de código de longitud proporcional a la cantidad de información transmitida por ese símbolo. Los
códigos Huffman son importantes porque del siguiente resultado.

RESULTADO 3.3

Los códigos Huffman son códigos compactos. Es decir, el algoritmo de Huffmanproduce un código con una
longitud media, L, que es la más pequeña posible de alcanzar para el número dado de símbolos fuente,
código alfabético y estadísticas de la fuente.

DEFINICIÓN 3.11 Fuente Reducida

Considera la fuente S con q Símbolos: { Si :i=1,2, … q } . Y probabilidades de símbolos asociados

{ P ( Si ) :i=1,2, … q } . Deje que los símbolos se vuelvan a numerar para que


P ( S 1 ) ≥ P ( S 2 ) ≥… ≥ P ( S q ) . Combinando el último r símbolos de S, { Sq −r +1 , S q−r +2 , … Sq } .

Cabe señalar que sólo podremos reducir una fuente exactamente r Símbolos si La fuente original tiene
q=r +∝(r −1) Símbolos donde es un entero no negativo. Para un binario (r=2) Código que se
q−r
celebrará para cualquier valor de q≥2 . Para códigos no binarios Si q= No es un valor
(r −1)
entero entonces símbolos "ficticios" con probabilidad cero se añaden para crear una fuente con
q=r +[∝](r −1) Símbolos, dónde [∝] es el menor entero mayor o igual que ∝ .

El código trivial para la fuente reducida con r símbolos se utiliza entonces para diseñar el código compacto
para la fuente reducida precedente como se describe en la siguiente resultado.

RESULTADO 3.4

Supongamos que tenemos un código compacto para la fuente reducida S j . Designe los últimos símbolos
de r S j−1 , { S q−r +1 , S q−r+2 , … S q } , Como los símbolos que fueron combinados para formar el símbolo
combinado, S ^ q−r +1 de S j . Asignamos a cada símbolo de S j−1 , Excepto el último símbolo r, la
palabra de código utilizada por el símbolo S j . Las palabras de código para el último r símbolo de
S j−1 se forman agregando {0,1,…r} a la palabra clave de S^ q−r +1 de formar S j nuevas palabras
de código.

Algoritmo Binario de Codificación de Huffman

Para el diseño de códigos binarios de Huffman, el algoritmo de codificación de Huffman es el siguiente:

1. Reordenar los símbolos fuente en orden decreciente de probabilidad de símbolo


2. Reducir sucesivamente la fuente S a S 1 , entonces S 2 , y así sucesivamente, combinando los
últimos dos símbolos de Sj en un símbolo combinado y volver a ordenar el nuevo conjunto de
probabilidades de símbolos para S j +1 en orden decreciente. Para cada fuente mantener pista de
la posición del símbolo combinado, S ^ q−1+1 . Terminar la fuente cuando se produce una fuente de
dos símbolos. Para una fuente con q símbolos la fuente reducida con dos símbolos será S q−2 .
3. Asigne un código compacto para la fuente final reducida. Para una fuente de dos símbolos el código
trivial es {0,1}.
4. Retroceder a la fuente original S asignar un código compacto para la reducción fuente por el método
descrito en el Resultado 3.4. El código compacto asignado a S es el código Huffman binario.

El funcionamiento del binario Huffman algoritmo de codificación se muestra mejor por la siguiente ejemplo.

RESULTADO 3.5

Si el símbolo combinado, S^ q−1 se coloca en la posición más alta disponible para asignación de
probabilidad cuando la fuente reducida es reordenada, entoncesel código compacto tendrá la varianza de
longitud media más pequeña.

Implementación de software de codificación Huffman binario

El binario Huffman algoritmo de codificación puede ser implementado en el software como una secuencia de
operaciones de fusión y ordenación en un árbol binario. El algoritmo de codificación de Huffman es un
codicioso que construye el árbol de decodificación de Huffman. Asignando inicialmente cada símbolo como
el nodo raíz de un árbol de nodo único. La descodificación árbol se construye sucesivamente fusionando los
dos últimos nodos, etiquetando loa bordes de los pares hijo izquierdo-derecho de la operación de combinación
con un 0 y 1, respectivamente, y ordenar los nodos restantes hasta que solo quede un nodo raíz. Es entonces la
secuencia de etiquetas en los bordes que conectan la raíz con el nodo de la hoja de los detalles del algoritmo
incluyendo una prueba de la optimalidad de los códigos de Huffman.

r-ary Huffman Códigos

Para el diseño de los códigos Huffman r-ary generales, el algoritmo de codificación de Huffman es como se
presenta a continuación:

q−r
1. Calcular ∝= . Si ∝ es un valor no entero y añade símbolos "ficticios" a la fuente
( r−1 )
con probabilidad cero hasta que hay q=r +[∝](r −1) símbolos.
2. Reordenar los símbolos fuente en orden decreciente de probabilidad de símbolos.
3. Reducir sucesivamente la fuente S para S 1 , entonces S 2 , y así sucesivamente, combinando
los últimos r símbolos de Sj en un símbolo combinado y volver a ordenar el nuevo conjunto de
probabilidades de símbolos para S j +1 en orden decreciente. Para cada fuente mantener pista de la
posición del símbolo combinado, , S ^ q−1 .Terminar la fuente cuando se produce una fuente con
exactamente r símbolos. Para una fuente con q símbolos la fuente reducida con r símbolos será
S [∝] .
4. Asigne un código r-ary compacto para la fuente final reducida. Para una fuente con r símbolos el
código trivial es {0,1,…r}.
5. Retroceder a la fuente original S asignar un código compacto para la jth reducción fuente por el
método descrito en el Resultado 3.4. El código compacto asignado a S, menos las palabras de código
asignadas a cualquier símbolo "ficticio", es el r-ary código de Huffman.

Codificación aritmética

Se garantiza que el método de codificación de Huffman descrito en la Sección 3.7 es óptimo en el sentido de
que generará un código compacto para el alfabeto de fuente dado y probabilidades asociadas. Sin embargo, un
código compacto puede ser todo menos óptimo si no es muy eficiente. Sólo para fuentes especiales, donde
1
l i=log r =−log r Pi es un entero para i=1,2,…q, El código compacto también será 100% eficiente.
Pi
Ineficiencias se introducen cuando l i es un número no entero y se requiere "redondear" a la más cercana
valor entero. La solución a esto como consecuencia de Shannon's Noiseless Coding el teorema es considerar
la extensión de la fuente para n grande suficiente y construir el código Huffman para todos los posibles
bloques de longitud n aunque la aplicación de este enfoque puede convertirse fácilmente en poco manejable o
indebidamente restrictiva. Los problemas incluyen:

 El tamaño de la tabla de código Huffman es q n , lo que representa un aumento exponencial en


memoria y requisitos computacionales.
 La tabla de códigos debe transmitirse al receptor.
 Se supone que las estadísticas de origen son estacionarias. Si hay cambios, una adaptación que
reestima las probabilidades y recalcula las probabilidades del código de Huffman.
 La codificación y decodificación se realiza sobre una base por bloque; el código no es producido
hasta un bloque de n símbolos. Para grandes n esto puede requerir el último segmento que se
rellenará con datos ficticios.

Você também pode gostar