Você está na página 1de 44

COMUNICAÇÃO DIGITAL

INTRODUÇÃO
Ç À TEORIA DE INFORMAÇÃO
Ç

Evelio M.
M G.
G Fernández - 2011
Introdução à Teoria de Informação
• E
Em 1948,
1948 Cl
Claude
d ShShannon publicou
bli o trabalho
b lh “A
Mathematical Theory of Communications”. A
partir
i do
d conceito
i ded comunicações
i õ de d Shannon,
Sh
podem ser identificadas três partes:

• Codificação
ç de fonte: Shannon mostrou que q em
princípio sempre é possível transmitir a
informação
ç gerada
g por
p uma fonte a uma taxa igual
g
à sua entropia.
Introdução à Teoria de Informação

• Codificação de Canal: Shannon descobriu um


parâmetro calculável que chamou de Capacidade
de Canal e provou que, para um determinado
canal, comunicação livre de erros é possível desde
que a taxa de transmissão não seja maior que a
capacidade do canal.
• Teoria da Taxa de Distorção (Rate Distortion
y) A ser utilizada em compressão
Theory): p com
perdas
C
Compressão
ã de
d Dados
D d

• Arte ou ciência de representar informação de uma


f
forma compacta. Essas
E representações
õ sãoã criadas
i d
identificando e utilizando estruturas que existem
nos dados
d d para eliminar
li i redundância.
d dâ i
• Dados:
– Caracteres num arquivo de texto
– Números que representam amostras de sinais de áudio,
voz, imagens, etc.
Algoritmos de Compressão

1. MODELAGEM – Extrair informação sobre a


redundância da fonte e expressar essa
redundância na forma de um modelo.
2 CODIFICAÇÃO – Uma descrição do modelo e
2.
uma descrição de como os dados diferem do
modelo são codificados possivelmente
utilizando símbolos binários.

Diferença: dados – modelo = resíduo


E
Exemplo
l 1
Exemplo
p 2
Medidas de Desempenho

1. Taxa de Compressão
– Ex: 4:1 ou 75 %

2. Fidelidade
– Distorção
s o ção (Rate
( ate Distortion
isto tion Theory)
heo y)
E
Exemplo
l

Símbolo Prob I II III IV


A 1/2 00 0 0 0
B 1/4 01 11 10 01
C 1/8 10 00 110 011
D 1/8 11 01 1110 0111
Entropia de uma Fonte Binária sem Memória
Códi
Códigos Prefixos
P fi

• N
Nenhuma
h palavra
l código
ódi é prefixo
fi ded qualquer
l outra
palavra-código
• Todo código prefixo é instantâneo (o final das palavras-
palavras
código é bem definido)
• Um código prefixo é sempre U.D.
U D (a recíproca não é
sempre verdadeira)
• Existe um código prefixo binário se e somente se
K −1

∑ ≤ 1 Desigualdade de Kraft
2 −lk

k =0
Kraft-McMillan
McMillan
Códi
Códigos Prefixos
P fi

• Dado um conjunto de códigos que satisfaz a


d i ld d de
desigualdade d Kraft-McMillan,
K f M Mill SEMPRE seráá
possível encontrar um código prefixo com esses
comprimentos
i para as suas palavras-código.
l ódi O
comprimento médio das palavras do código estará
li i d pela
limitado l entropia
i da
d fonte
f de
d informação
i f ã
Teorema da Codificação de Fonte

• Dada uma fonte discreta sem memória com entropia


H(S) o comprimento
H(S), i médio
édi L de d um código
ódi U.D.
UD
para a codificação desta fonte é limitado por:

L ≥ H (S )

com igualdade se e somente se:

pk = r − l k , r = 0, 1, K , K − 1
Códigos de Huffmann Binários

1. Ordenar em uma coluna os símbolos do mais


provável
á l ao menos provável.
á l
2. Associar ‘0’ e ‘1’ aos dois símbolos menos
prováveis e combiná-los (soma das
probabilidades individuais).
3. Repetir 1 e 2 até a última coluna que terá apenas
dois símbolos;; associa-se ‘0’ e ‘1’.
Códi
Códigos Óti
Ótimos r-ários
ái

• Método de Huffmann: aplica-se o método com o


seguinte artifício:
• Adicionam-se ao alfabeto original símbolos
fictícios com probabilidade zero de ocorrência,
ocorrência até
o número de símbolos assim gerado ser
congruente a 1 mod (r – 1).
1)
• Aplica-se o método de Huffmann agrupando-se r
símbolos
í b l de d cada
d vez. O código
ódi gerado d é um
código r-ário ótimo para o alfabeto original.
F t com Alfabeto
Fonte Alf b t Pequeno
P

Símbolo Código
g • L = 1,05 bits/símbolo
a1 0 • H(A) = 0,335 bits/simbolo
a2 11 ,
• Redundância = 0,715
bits/símbolo (213% da
a3 10
entropia)
p )
p(a1 ) = 0,95 • São necessários duas vezes
p(a2 ) = 0,02 mais bits do que o
p(a3 ) = 0,03 prometido pela entropia!
Segunda Extensão da Fonte

Símb. Prob. Cod. • L2 = 1,222 bits/símbolo


a1a1 0 9025
0,9025 0 • L2 2 = 0,611 bits/símbolo
bi / í b l
a1a2 0,0190 111 (ainda 72% acima da
a1a3 0 0285
0,0285 100 entropia!)
a2a1 0,0190 1101 • Ln n → H ( A) ⇒ extensão
a2a2 0 0004
0,0004 110011 de ordem n = 8 ⇒ fonte
a2a3 0,0006 110001 com 6561 símbolos!
a3a1 0.0285 101
• Huffman: precisa criar
0,0006 110010
a3a2
todas as palavras-código!
a3a3 0,0009 110000
C difi ã Aritmética
Codificação A it éti

• É mais eficiente designar uma palavra-código para


uma seqüência
üê i de d tamanhoh m dod que gerar as
palavras-código para todas as seqüências de
tamanho
h m.
• Um único identificador ou tag é gerado para toda
a seqüência a ser codificada. Esta tag corresponde
a uma fração binária que tornar-se-á num código
binário para a seqüência.
C difi ã Aritmética
Codificação A it éti

• Um conjunto possível de tags para representar


seqüências
üê i de d símbolos
í b l sãoã os números
ú no
intervalo [0, 1).
• É necessário então uma função que mapeie
seqüências neste intervalo unitário. Utiliza-se a
função de distribuição acumulativa (cdf) das
variáveis aleatórias associadas com a fonte. Esta é
a função que será utilizada na codificação
aritmética.
Al it
Algoritmo para D
Decifrar
if o Id
Identificador
tifi d

1. Inicializar l(0) = 0 e u(0) = 1.


2. Para cada valor de k, determinar:
t* = ((tagg – l(k–1)))/(u
( (k–1) – l(k–1))).
3. Determinar o valor de xk para o qual
FX(xk – 1) ≤ t* ≤ FX(xk). )
4. Atualizar os valores de l(k) e u(k).
5. Continuar até o fim da seqüência.
Exemplo: Unicidade e Eficiência do Código Aritmético

⎡ 1 ⎤
Símbolo FX TX Binário ⎢log P( x ) ⎥ + 1 Código
⎢ ⎥
1 0,5
0 5 0,25
0 25 .010
010 2 01
2 0,75 0,625 .101 3 101
3 0,875
, 0,8125
, .1101 4 1101
4 1,0 0,9375 .1111 4 1111
Códi
Códigos B
Baseados
d em Di
Dicionários
i ái

• Seqüências de comprimento variável de símbolos


d ffonte são
da ã codificadas
difi d em palavras-código
l ódi de d
comprimento fixo, obtidas de um dicionário.
• Utilizam técnicas adaptativas que permitem uma
utilização dinâmica do dicionário.
• São projetados independentemente da fonte de
ç ⇒ classe de algoritmos
informação g universais de
codificação de fonte.
Códigos Baseados em Dicionários

repita
it
palavra = leia_palavra (entrada);
index = busca (palavra
(palavra,dicionário);
dicionário);
se index = 0 então
faça
escreva (palavra, saída);
inclua (palavra, dicionário);
fim
senão
escreva (index,
(i d saída);
íd )
até fim_da_mensagem
Al it
Algoritmo de
d Lempel-Ziv
L l Zi

Seqüência Binária:
10101101001001110101000011001110101100011011

Frases:
1, 0, 10, 11, 01, 00, 100, 111, 010, 1000, 011, 001, 110,
101, 100001, 1011
Algoritmo de Lempel
Lempel-Ziv
Ziv

Posição no Dicionário Conteúdo Palavra Código


Palavra-Código
1 0001 1 00001
2 0010 0 00000
3 0011 10 00010
4 0100 11 00011
5 0101 01 00101
6 0110 00 00100
7 0111 100 00110
8 1000 111 01001
9 1001 010 01010
10 1010 1000 01110
11 1011 011 01011
12 1100 001 01101
13 1101 110 01000
14 1110 101 00111
15 1111 10001 10101
16 1011 11101
Transformada
Discreta de
Cossenos
Transformada Discreta de Cossenos

2 N −1 N −1
F (u , v ) = C (u )C (v )∑∑ f ( x, y ) cos
(2 x + 1)uπ cos (2 y + 1)vπ
N x =0 y =0 2N 2N
8x8 Pixels
Primitivas da Transformada Discreta de Cossenos
“Zi Z Scanning”
“Zig-Zag S i ”
E
Exemplo
l de
d Codificação
C difi ã por Entropia
E t i em MPEG-2
MPEG 2

Tamanho
Valor do coeficiente Palavra-código de
do “run”
run
diferente de zero comprimento variável
de zeros
0 12 0000 0000 1101 00
0 6 0010 0001 0
1 4 0000 0011 000
0 3 0010 10
EOB - 10
Codificador MPEG
24 / 30 / 60
Conversão de Formatos
Quadros / s

BLOCOS

Deteção QUADRO
de RECONSTRUIDO
Movimento
ERRO DE PREDIÇÃO
Preditor
DCT T
Transformação
f ã Espacial
E i l

Reconstrução COEFICIENTES
-1 Fator de Escala
DCT Q
Truncamento

COEFICIENTES QUANTIZADOS

Compactação RLE
Huffman
VETORES DE
MOVIMENTO DADOS SAÍDA
MUX Buffer
Compensação de Movimento
Canal Discreto sem Memória
Matriz de Canal ou Transição

⎡ p( y0 | x0 ) p ( y1 | x0 ) L p( y K −1 | x0 ) ⎤
⎢ p( y | x ) p ( y | x ) L p ( y | x ) ⎥
P=⎢ 0 1 1 1 K −1 1 ⎥

⎢ M M M ⎥
⎢ ⎥
⎣ p ( y0 | x J −1 ) p( y1 | x J −1 ) L p( y K −1 | x J −1 )⎦
Canal Binário Simétrico
Relações entre Várias Entropias de Canal
Capacidade do Canal BSC
C
Capacidade
id d de
d Canal
C l

• A capacidade de canal não é somente uma


propriedade de um canal físico particular.
• Um canal não significa apenas o meio físico de
propagação das mensagens, mas também:
– A especificação
ifi ã do d tipo
i de
d sinais
i i (binário,
(bi á i r-ário,
ái
ortogonal, etc)
– O tipo de receptor usado (determinante da probabilidade
de erro do sistema).
• Todas estas informações estão incluídas na matriz
de transição do canal. Esta matriz especifica
completamente o canal.
Teorema da Codificação de Canal
T
Teorema da
d Codificação
C difi ã ded Canal
C l

i. Seja uma fonte discreta sem memória com alfabeto S e


entropia H(S) que produz símbolos a cada Ts segundos.
Seja um canal DMC com capacidade C que é usado uma
vez a cada Tc segundos.
Então se
Então,
H (S ) C

Ts Tc

existe um esquema de codificação para o qual a saída da


fonte pode ser transmitida pelo canal e reconstruída com

Pe = ε , ε → 0
T
Teorema da
d Codificação
C difi ã ded Canal
C l

ii. Pelo contrário, se


H (S ) C
>
Ts Tc

não é ppossível o anterior.

Resultado mais importante


p da Teoria de Informação
ç
Código de Repetição

Você também pode gostar