Sessão nº7                   Fontes com Memória e                   Codificação Aritmética       CCISEL 99                ...
Modelo de Markov de 1ª ordem - exemplo• Consideremos uma sequência de símbolos {x1, x2,…, xM}  produzidos por uma fonte bi...
Paradigma da compressão  Compressão                                                                        Descompressão  ...
Memória necessária aos modelos  O rdem do m odelo                Q uantidade de                    Descrição             n...
Comparação dos vários modelos          M o d elo                            V a n ta g en s                           D es...
Tipos de codificadores (quanto à fonte)• Codificação com modelo de fonte  – codificação de Huffman (codificação óptima par...
Codificação Aritmética - algoritmo• Atribuir ao intervalo de probabilidades corrente [L, H[ o  valor [0, 1[• Para cada sím...
Codificação Aritmética - implementação•   Codificação     low = 0 ; high = 0 ; range = 1 ;     loop        high = low + ra...
Entropia estimada depois da BWT                            Calgary Corpus       Ê(X)    ÊBWT(X)   Ê(X,Y)/2 ÊBWT(X,Y)/2    ...
Eficácia de compressão depois da BWT       Tipo de Compressor            Calg. Corpus [bits/byte]   BWT(Calg. Corpus) [bit...
Upcoming SlideShare
Loading in …5
×

Sessao 7 Fontes com memória e codificação aritmética

666 views
575 views

Published on

Fontes com memória e codificação aritmética.
Parte 7 da temática Criptografia.
Créditos reservados @CCIsel

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
666
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sessao 7 Fontes com memória e codificação aritmética

  1. 1. Sessão nº7 Fontes com Memória e Codificação Aritmética CCISEL 99 Teoria Matemática da Comunicação 7-1 Criptografia ComputacionalModelo de fonte discreta com memória X fonte sem + xi ∈ { x1, x2,…, xM } memória f (xi, xi+1 ,… xi+K)• xi representa um símbolo da fonte• p(xi) é a probabilidade dum símbolo tal que ∑ p(xi) = 1 xi ∈X• p(xi+1|xi) é a probabilidade dum símbolo dado o anterior• p(xi+2|xi+1,xi) é a probabilidade dum símbolo dado os dois últimos• símbolos dependentes (existe memória) CCISEL 99 Teoria Matemática da Comunicação 7-2 Criptografia Computacional 1
  2. 2. Modelo de Markov de 1ª ordem - exemplo• Consideremos uma sequência de símbolos {x1, x2,…, xM} produzidos por uma fonte binária X onde cada símbolo só depende do anterior, logo p(xn+1| xn, xn-1, … , x1) = p(xn+1| xn)• Sendo p(0|0) = 0,6, p(1|0) = 0,4, p(0|1) = 0,1, p(1|1) = 0,9 e 0 o símbolo anterior inicial verifica-se que p(0)=0,2 e p(1)=0,8, logo H(p0) ≈ 0,72.• Entropia da fonte dado que o símbolo anterior foi xi H(X|xi) =x ∑X p(xi+1| xi) log2 1/p(xi+1| xi) ∈ i +1• Entropia da fonte dado que se conhece o símbolo anterior H(X) = x∑ p(xi)×p(xi+1| xi) log2 1/p(xi+1| xi) ≈ 0,57 ∈X i CCISEL 99 Teoria Matemática da Comunicação 7-3 Criptografia ComputacionalEntropia duma fonte discreta com memória• Admitindo que cada símbolo só depende dos 2 últimos símbolos, respectivamente xi+1 e xi (modelo de Markov de 2ª ordem) vem que H(X) = ∑ p(xi+1, xi)×p(xi+2| xi+1, xi) log2 1/ p(xi+2| xi+1, xi) xi ∈X• Genericamente, admitindo que cada símbolo só depende dos m últimos símbolos (modelo de Markov de ordem m) vem que H(X) = ∑ p(xi+m-1 ,…, xi+1, xi) × p (xi+m| xi+m-1 ,…, xi+1, xi) × xi ∈X log2 1/p(xi+m| xi+m-1 ,…, xi+1, xi) CCISEL 99 Teoria Matemática da Comunicação 7-4 Criptografia Computacional 2
  3. 3. Paradigma da compressão Compressão Descompressão Codificador Descodificador mensagem sequência de bits mensagem Modelo Modelo• Representação natural (dimensão fixa) e representação com compressão (dimensão variável)• Compromisso entre o custo do espaço e o custo do tempo CCISEL 99 Teoria Matemática da Comunicação 7-5 Criptografia ComputacionalOrdem dos modelos• Modelo livre de contexto ou de ordem 0 – atribuição de probabilidades fixas para os símbolos da fonte, independentemente da sua posição no texto.• Modelo de ordem n – estimativa das probabilidades por observação da interdependência dos símbolos, considerando os últimos n símbolos da fonte.• Modelo de ordem -1 – assumindo à priori uma distribuição de probabilidades, por exemplo equiprovável, independentemente do texto. CCISEL 99 Teoria Matemática da Comunicação 7-6 Criptografia Computacional 3
  4. 4. Memória necessária aos modelos O rdem do m odelo Q uantidade de Descrição n m em ória [ byte ] 0 512 tabela de 256 entradas, com frequências de ocorrência. 1 131072 256 tabelas de 256 entradas cada, com frequências de ocorrência. 2 33554432 65536 tabelas de 256 entradas cada, com frequências de ocorrência.• A fonte gera 256 símbolos diferentes, não independentes• O valor da frequência de ocorrência é representado com 2 byte CCISEL 99 Teoria Matemática da Comunicação 7-7 Criptografia ComputacionalTipos de modelos• Modelo estático: o mesmo modelo, determinado a partir duma amostra de texto conhecido por exemplo, é usado para todos os tipos de texto.• Modelo semi-adaptativo: para cada mensagem utiliza-se o modelo obtido a partir da pré-análise do texto. Implica duas passagens sobre o texto.• Modelo adaptativo: inicialmente tanto o codificador como o descodificador estão num estado conhecido (símbolos equiprováveis por ex.). Sempre que um símbolo é codificado ou descodificado, actualiza-se o modelo “incrementando” a sua probabilidade. O próximo símbolo já é codificado ou descodificado com o novo modelo e assim sucessivamente. CCISEL 99 Teoria Matemática da Comunicação 7-8 Criptografia Computacional 4
  5. 5. Comparação dos vários modelos M o d elo V a n ta g en s D esv a n ta g e n s E stático S im p licid a d e e v elo c id ad e d e Q u an d o h á d esaju ste d o m o d elo ex ecu ç ão . a co d ifica ção to rn a-se in eficie n te. S em i-ad ap tativ o M o d elo ad ap tad o ao s d ad o s. N ece ssid ad e d e fazer d u as p assa g en s so b re a m en sag em . A tran sm issã o d o m o d elo é u m cu sto e x tra q u e faz b aix a r a efic iên cia d a co m p re ssão . A d ap tativ o E v ita a tran sm issão d o m o d elo ; N o in ício d o p ro c esso , tem este fica ad ap ta d o ao s d ad o s só b aix a eficiên cia d e c o m p ressão , c o m u m a p as sag em so b re a sen d o p o r isso in eficie n te n a m en sag e m ; a m elh o r e ficiên c ia c o m p ressão d e tex to s c o m d e c o m p ressã o . p o u co s sím b o lo s. CCISEL 99 Teoria Matemática da Comunicação 7-9 Criptografia ComputacionalTipos de codificadores (quanto ao modelo)• Estatísticos – a cada símbolo é atribuído um código de acordo com a sua probabilidade de ocorrência – codificação de Huffman – codificação aritmética (nos métodos mais eficiente é de uso comum )• Baseados em dicionário – substituem-se grupos de símbolos consecutivos, por uma referência para o dicionário (código) – codificação de Lempel-Ziv (nos métodos mais eficiente é de uso comum ) CCISEL 99 Teoria Matemática da Comunicação 7 - 10 Criptografia Computacional 5
  6. 6. Tipos de codificadores (quanto à fonte)• Codificação com modelo de fonte – codificação de Huffman (codificação óptima para fontes estacionárias)• Codificação Universal de fonte – codificação aritmética – codificação de Lempel-Ziv CCISEL 99 Teoria Matemática da Comunicação 7 - 11 Criptografia ComputacionalCodificação de Huffman Códigos LP - Lista de Árvore binária gerados Probabilidades 1 01 P(a) = 0,25 1 11 P(b) = 0,2 1 0 0,4 0 10 P(c) = 0,2 1 0,6 1 001 P(d) = 0,18 1 0 0001 P(e) = 0,09 0,35 1 0 00001 P(f) = 0,05 0,17 0 1 0,08 000001 P(g) = 0,02 0 0 0,03 000000 P(h) = 0,01 CCISEL 99 Teoria Matemática da Comunicação 7 - 12 Criptografia Computacional 6
  7. 7. Codificação Aritmética - algoritmo• Atribuir ao intervalo de probabilidades corrente [L, H[ o valor [0, 1[• Para cada símbolo a codificar: – subdividir o intervalo corrente em subintervalos, um para cada símbolo possível na mensagem. A largura do subintervalo associado a um símbolo é proporcional à probabilidade estimada para que esse símbolo seja o próximo símbolo a codificar, de acordo com o mode lo da fonte – seleccionar o subintervalo correspondente ao próximo símbolo e considerar esse o novo intervalo corrente• Codificar o intervalo corrente final com o número de bits suficientes para o distinguir de todos os outros intervalos possíveis(Langdon 1984) CCISEL 99 Teoria Matemática da Comunicação 7 - 13 Criptografia ComputacionalCodificação Aritmética - exemplo Símbolo Probabilidade Intervalo a 0,2 [0..0,2[ • Modelo utilizado na codificação e 0,3 [0,2..0,5[ da sequência “eaii!” i 0,1 [0,5..0,6[ o 0,2 [0,6..0,8[ • Representação gráfica do u 0,1 [0,8..0,9[ processo de codificação ! 0,1 [0,9..1,0[ e a i i ! 1 0 ,5 0 ,2 6 0 ,2 3 6 0 ,2 3 3 6 0 ,2 3 3 6 ! ! ! ! ! ! u u u u u u o o o o o o i i i i i i e e e e e e a a a a a a 0 0 ,2 0 ,2 0 ,2 3 0 ,2 3 3 0 ,2 3 3 5 4 ín ic io fi m CCISEL 99 Teoria Matemática da Comunicação 7 - 14 Criptografia Computacional 7
  8. 8. Codificação Aritmética - implementação• Codificação low = 0 ; high = 0 ; range = 1 ; loop high = low + range × Higher( simb ) ; low = low + range × Lower( simb ) ; range = high - low ; outputCode = low ;• Descodificação n = outputCode ; loop simb = GetSimb(n) ; n = ( n- Lower( simb ) ) / Range( simb ) ; CCISEL 99 Teoria Matemática da Comunicação 7 - 15 Criptografia ComputacionalTransformada de Burrows-Wheeler (BWT )• Algoritmo ao nível do bloco (símbolos rearranjados apenas)• Transformada reversível• Texto original - 1 Kbyte (excerto)the problems of philosophy bertrand russell the problems of philosophy bertrand russell oxford university press london oxford new york first published in the home university library first issued as an oxford university press paperback this reprint printed in the united states of ameri• BWT do texto (excerto)rbvhrvhhmrhlhmhcyyrdrfbrldcnuthtt rbh ssecllt rmmrrhytphmf hvvvvdbbiiitrrlnt hoo of foi xxxe annnn iii tttnt ttttttttstttttpptttttt tgg gpp clllnrtrndrrrtwhh aaa rdshrr tsteff hhhhh l rnwwdsssnnn crsllillmm obebbp bbbeeian iieoo aoo eattooeebiiiioiioioaiiioaauaaaaaeuoo iiiieoauuuuw a eiiueiuettdlrrr CCISEL 99 Teoria Matemática da Comunicação 7 - 16 Criptografia Computacional 8
  9. 9. Entropia estimada depois da BWT Calgary Corpus Ê(X) ÊBWT(X) Ê(X,Y)/2 ÊBWT(X,Y)/2 BIB 5,20 5,20 4,28 3,74 BOOK1 4,53 4,53 4,06 3,83 BOOK2 4,79 4,79 4,27 3,75 GEO 5,65 5,65 4,96 4,75 NEWS 5,19 5,19 4,64 4,12 OBJ1 5,95 5,95 4,71 4,57 OBJ2 6,26 6,26 5,07 4,44 PAPER1 4,98 4,99 4,31 3,86 PAPER2 4,60 4,60 4,06 3,69 PAPER3 4,67 4,67 4,11 3,81 PAPER4 4,70 4,71 4,09 3,88 PAPER5 4,94 4,94 4,23 3,99 PAPER6 5,01 5,01 4,31 3,87 PIC 1,21 1,21 1,02 1,00 PROGC 5,20 5,20 4,40 3,94 PROGL 4,77 4,77 3,99 3,36 PROGP 4,87 4,87 4,03 3,36 TRANS/BWT 5,53 5,53 4,44 3,57 valor médio 4,89 4,89 4,17 3,75 CCISEL 99 Teoria Matemática da Comunicação 7 - 17 Criptografia ComputacionalEntropia estimada depois da BWT+MTF+RLE Calgary Corpus Ê(X) ÊBMR(X) Ê(X,Y)/2 ÊBMR(X,Y)/2 BIB 5,20 3,60 4,28 3,55 BOOK1 4,53 3,39 4,06 3,35 PAPER2 4,60 3,45 4,06 3,40 CCISEL 99 Teoria Matemática da Comunicação 7 - 18 Criptografia Computacional 9
  10. 10. Eficácia de compressão depois da BWT Tipo de Compressor Calg. Corpus [bits/byte] BWT(Calg. Corpus) [bits/byte] Codificador de Huffamn 4,99 5,00 Codificador Aritmético 4,95 4,96 Codificador Aritmético (bigramas) 4,16 3,30 CCISEL 99 Teoria Matemática da Comunicação 7 - 19 Criptografia Computacional 10

×