COMUNICAÇÃO DIGITAL INTRODUÇÃO À TEORIA DE INFORMAÇÃO Evelio M. G. Fernández - 2010

Preview:

Citation preview

COMUNICAÇÃO DIGITAL

INTRODUÇÃO À TEORIA DE INFORMAÇÃO

Evelio M. G. Fernández - 2010

Introdução à Teoria de Informação

• Em 1948, Claude Shannon publicou o trabalho “A Mathematical Theory of Communications”. A partir do conceito de comunicações de Shannon, podem ser identificadas três partes:

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

• 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 Theory): A ser utilizada em compressão com perdas

Introdução à Teoria de Informação

Compressão de Dados

• Arte ou ciência de representar informação de uma forma compacta. Essas representações são criadas identificando e utilizando estruturas que existem nos dados para eliminar redundância.

• 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 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

Exemplo 1

Exemplo 2

Medidas de Desempenho

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

2. Fidelidade– Distorção (Rate Distortion Theory)

Exemplo

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ódigos Prefixos

• Nenhuma palavra código é prefixo de qualquer outra palavra-código

• Todo código prefixo é instantâneo (o final das palavras-código é bem definido)

• Um código prefixo é sempre U.D. (a recíproca não é sempre verdadeira)

• Existe um código prefixo binário se e somente se

Desigualdade de Kraft-McMillan121

0

K

k

lk

Códigos Prefixos

• Dado um conjunto de códigos que satisfaz a desigualdade de Kraft-McMillan, SEMPRE será possível encontrar um código prefixo com esses comprimentos para as suas palavras-código. O comprimento médio das palavras do código estará limitado pela entropia da fonte de informação

Teorema da Codificação de Fonte

• Dada uma fonte discreta sem memória com entropia H(S), o comprimento médio de um código U.D. para a codificação desta fonte é limitado por:

com igualdade se e somente se:

L

SHL

1,,1,0, Krrp klk

Códigos de Huffmann Binários

1. Ordenar em uma coluna os símbolos do mais provável ao menos provável.

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ódigos Ótimos r-ários

• 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, até o número de símbolos assim gerado ser congruente a 1 mod (r – 1).

• Aplica-se o método de Huffmann agrupando-se r símbolos de cada vez. O código gerado é um código r-ário ótimo para o alfabeto original.

Fonte com Alfabeto Pequeno

Símbolo Códigoa1 0a2 11a3 10

• bits/símbolo• H(A) = 0,335 bits/simbolo• Redundância = 0,715

bits/símbolo (213% da entropia)

• São necessários duas vezes mais bits do que o prometido pela entropia!

05,1L

95,01 ap 02,02 ap

03,03 ap

Segunda Extensão da Fonte

Símb. Prob. Cod.a1a1 0,9025 0

a1a2 0,0190 111

a1a3 0,0285 100

a2a1 0,0190 1101

a2a2 0,0004 110011

a2a3 0,0006 110001

a3a1 0.0285 101

a3a2 0,0006 110010

a3a3 0,0009 110000

• bits/símbolo• bits/símbolo

(ainda 72% acima da entropia!)

• extensão de ordem n = 8 fonte com 6561 símbolos!

• Huffman: precisa criar todas as palavras-código!

222,12 L

611,022 L

AHnLn

Codificação Aritmética

• É mais eficiente designar uma palavra-código para uma seqüência de tamanho m do que gerar as palavras-código para todas as seqüências de tamanho 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.

• Um conjunto possível de tags para representar seqüências de símbolos 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.

Codificação Aritmética

Algoritmo para Decifrar o Identificador

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

2. Para cada valor de k, determinar:

t* = (tag – l(k–1))/(u(k–1) – l(k–1)).

3. Determinar o valor de xk para o qual

FX(xk – 1) ≤ t* ≤ FX(xk).

• Atualizar os valores de l(k) e u(k).• Continuar até o fim da seqüência.

Exemplo: Unicidade e Eficiência do Código Aritmético

Símbolo FX XT Binário 11

log

xP

Código

1 0,5 0,25 .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ódigos Baseados em Dicionários

• Seqüências de comprimento variável de símbolos da fonte são codificadas em palavras-código de 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 informação classe de algoritmos universais de codificação de fonte.

Códigos Baseados em Dicionários

repitapalavra = leia_palavra (entrada);index = busca (palavra,dicionário);se index = 0 entãofaça

escreva (palavra, saída);inclua (palavra, dicionário);

fimsenão

escreva (index, saída);até fim_da_mensagem

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-Ziv

Algoritmo de Lempel-Ziv

Posição no Dicionário Conteúdo 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

8x8 Pixels

Transformada Discreta de Cossenos

1

0

1

0 2

12cos

2

12cos,

2,

N

x

N

y N

vy

N

uxyxfvCuC

NvuF

Primitivas da Transformada Discreta de Cossenos

“Zig-Zag Scanning”

Tamanho do “run” de zeros

Valor do coeficiente diferente de zero

Palavra-código de comprimento variável

0 12 0000 0000 1101 00

0 6 0010 0001 0

1 4 0000 0011 000

0 3 0010 10

EOB - 10

Exemplo de Codificação por Entropia em MPEG-2

Codificador MPEGConversão de Formatos

Compactação

Truncamento

BLOCOS

ERRO DE PREDIÇÃO

Reconstrução

deMovimento

Deteção

24 / 30 / 60

Quadros / s

Transformação EspacialDCT

VETORES DE

MOVIMENTO DADOS

COEFICIENTES

COEFICIENTES QUANTIZADOS

QUADRORECONSTRUIDO

QDCT-1

Preditor

Fator de Escala

MUX Buffer

RLE

Huffman

SAÍDA

Compensação de Movimento

Canal Discreto sem Memória

Matriz de Canal ou Transição

111110

111110

010100

|||

|||

|||

P

JKJJ

K

K

xypxypxyp

xypxypxyp

xypxypxyp

Canal Binário Simétrico

Relações entre Várias Entropias de Canal

Capacidade do Canal BSC

Capacidade de Canal

• 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 do tipo de sinais (binário, r-ário,

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

Teorema da Codificação de Canal

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

existe um esquema de codificação para o qual a saída da fonte pode ser transmitida pelo canal e reconstruída com

cs T

C

T

SH

0, eP

Teorema da Codificação de Canal

ii. Pelo contrário, se

não é possível o anterior.

Resultado mais importante da Teoria de Informação

cs T

C

T

SH

Código de Repetição

Recommended