Compresia Fara Pierdere de Calitate - II
Transcript of Compresia Fara Pierdere de Calitate - II
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
1/56
Transmisia datelor multimedia in retele de
calculatoare
Compresia fara pierdere de calitate
II
Transmisia datelor multimedia in retele de
calculatoare
Compresia fara pierdere de calitate
II
Conf. Dr. Ing. Costin-Anton Boiangiu
Conf. Dr. Ing. Costin-Anton Boiangiu
UNIVERSITY POLITEHNICA of BUCHAREST
DEPARTMENT OF COMPUTER SCIENCE
UNIVERSITY POLITEHNICA of BUCHAREST
DEPARTMENT OF COMPUTER SCIENCE
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
2/56
2
Recapitulare: Coduri Huffman ExtinseFie sursa:
A !a" #" $%" P&a' (.)" P' (.(*" P&$' (.+) H (.)+, #its-sm#o/
Codu/ Huffman este:a (
# ++
$ +( l +.* #its-sm#o/ Redundanta (.0)1 #-sm &1234'
Se 5oate mai #ine6
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
3/56
3
Recapitulare: Coduri Huffman Extinse7dee
Se $onsidera $odarea se$8ente/or de $ate doua $ara$tere" s5re deose#irede $odarea indi8idua/a a fie$arui $ara$ter
Letter Probability Code
aa 0.6400 0
ab 0.0160 10101
ac 0.1440 11
ba 0.0160 101000
bb 0.0004 10100101
bc 0.0036 1010011
ca 0.1440 100
cb 0.0036 10100100
cc 0.0324 1011
l = 1.7228/2 = 0.8614
Red. = 0.0045 bits/symbol
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
4/56
4
Recapitulare: Coduri Huffman Extinse 7deea 5oate fi extinsa in $ontinuare
Se $onsidera toate se$8ente/e de forma mn a8and /ungimea n 7n teorie:
Considerand mai mu/te se$8ente se 5oate in#unatati $odifi$area 7n rea/itate:
Cresterea ex5onentia/a a a/fa#etu/ui fa$e a$est /u$ru in5ra$ti$ E.g." 5entru /ungimea 0 se generea9a urmatoru/ numar de se$8ente ASC77.: *, 0
**1 +,; Este ne8oie sa se genere9e $oduri 5entru toate se$8ente/e de /ungime m
;aoritatea 8or a8ea fre$8enta 9ero =istri#utii/e $om5/et ne#a/ansate re5re9inta o 5ro#/ema maora fie exem5/u/: A !a" #" $%" P&a' (.?" P' (.(*" P&$' (.(0 H (.00 #its-sm#o/ l 1 +.(" l 2 (.,++" Performanta a/goritmu/ui de8ine a$$e5ta#i/a doar /a n )4 dar |alfabetul| = 3 = !"!1 444
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
5/56
7ntrodu$ereS$urta istorieSannon a mentionat 5entru 5rima data fo/osirea cdf
(Cumulative Density Function)
Peter E/ias &$o/eg a/ /ui Huffman'a de98o/tat un a/goritmre$ursi8 fa$ut 5u#/i$ a#ia in +?,0
e/ineD +?,)
Rada$ini moderne: Pas$o-Rissanen +?2,
5
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
6/56
7ntrodu$ereCodarea aritmeti$a e/imina ne$esitatea $odarii fie$arui sim#o/ a/ a/fa#etu/uisursei
7n tim5u/ $odarii a/goritmu/ generea9a un $od 5entru intreg mesau/ de intrare" /u$ru$e este fa$ut in mod se$8entia/" sim#o/ $u sim#o/
7n $om5aratie $u a/te $am5uri din sfera $odarii" $odarea aritmeti$a este foartetanara &+?2('" matura si $om5/eta si efi$ienta in $om5resia fara 5ierdere deinformatie
Codarea aritmeti$a /u$rea9a in tim5 /iniar $i o fo/osire $onstanta a memorieiFo/osirea re5re9entarii #inare 5e un numar fix de sim#o/uri este sufi$ienta
5entru toate $a/$u/e/eRa5ortu/ de $om5resie o#tinut este mai #un de$at in $a9u/ fo/osirii $odu/ui
Huffman si exista im5/ementari ardare a/e a/goritmu/ui de $om5resie" $umsunt $e/e din 5roto$oa/e/e 0 si 1 din Fax.
6
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
7/56
7ntrodu$ereGa memorarea inter8a/u/ui se 5ot memora $a5ete/e inter8a/u/ui sau /a fe/ de #ine numai mi/o$u/ a$estuia
=in $au9a $a mesae/e foarte mari 8or $ondu$e /a inter8a/e din $e in $e maimi$i" a5are 5ro#/ema re5re9entarii inter8a/e/or foarte mi$i 5entru a asigurauni$itatea $odarii" si de$i o de$odare $ore$ta
Pro#/ema este re9o/8ata 5rin fo/osirea s$a/ariiSa/8area $odu/ui aritmeti$ &in re5re9entare 9e$ima/a sau #inara' intrIun fisier
5resu5une s5e$ifi$area sfarsitu/ui re5re9entarii A$est /u$ru se 5oate fa$e intrIun fisier 5rin s$rierea unui antet $u /ungimea
inregistrarii" 5entru a 5utea fi refa$uta /a de$odare 7n $a9u/ transmisii/or $ontinue" $um este $a9u/ faxIu/ui" se fo/oses$ sim#o/uri
s5e$ia/e si atun$i in se$8enta de $odat tre#uie adaugat un sim#o/ mar$ator sfarsitde se$8enta
E/ tre#uie sa ai#a 5ro#a#i/itatea minima/a
7
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
8/56
As5e$te esentia/e7n $odarea aritmeti$a o sursa este re5re9entata de un inter8a/ intre ( si + 5eaxa numere/or rea/e
Fie$are sim#o/ a/ ansam#/u/ui mi$sorea9a a$est inter8a/
Pe masura $e inter8a/u/ de8ine mai mi$" numaru/ de #iti ne$esar 5entrus5e$ifi$are este mai mare
Codarea aritmeti$a 5resu5une in mod ex5/i$it un model probabilistic a/ sursei Este o s$ema #a9ata 5e $u8inte de $od $e uti/i9ea9a 5ro#a#i/itati/e mesae/or
sursei 5entru a ingusta inter8a/u/ uti/i9at in re5re9entarea ansam#/u/ui
Un mesa $u 5ro#a#i/itate mare ingustea9a inter8a/u/ mai 5utin de$at un mesa$u 5ro#a#i/itate mi$a" astfe/ in$at probabilitatile mari contribuie mai putinla cresterea lungimii cu#intelor de cod
;etoda in$e5e $u o /ista neordonata a mesae/or sursei si a 5ro#a#i/itati/oraso$iate
Jumaru/ /iniei este 5artitionat in su#inter8a/e fo/osind 5ro#a#i/itati/e $umu/ate
8
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
9/56
C#asi-optimalitatea codarii aritmetice=u5a teorema $odarii a /ui Sannon" numaru/ /ungimea medie a
$u8inte/or de $od tre#uie sa inde5/ineas$a re/atia
Fie un mesa $e $ontine M sim#o/uri du5a statisti$a sursei" sim#o/u/a5are de P(si) ori
Gatimea inter8a/u/ui fina/" du5a $onsiderarea tuturor sim#o/uri/or" este:
9
'&'/og&
'&
'&
'&
max
S H D
S H
X H
S H l ===
∏
∏
=
⋅
⋅⋅=
=
=⋅⋅⋅⋅⋅⋅⋅==−=
N
i
i s P M i
ori N s P M de
N N
ori s P M de
M
j
j f f f
s P
s P s P s P s P s P L H R
+
'&
'&'+&
++
+
'&
'&...'&....'&...'&'&
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
10/56
C#asi-optimalitatea codarii aritmetice Jumaru/ de sim#o/uri #inare 5entru $odarea /atimii
inter8a/u/ui fina/ se $a/$u/ea9a $u re/atia
de unde re9u/ta $a numaru/ mediu de sim#o/uri #inare 5entru re5re9entarea mesau/ui de /ungime M este
adi$a /imita Sannon
10
'&'&/og'&'&/og/og++
'& S H M s P s P M s P R
N
iii
N
i
i s P M i f ⋅=⋅−=−=−= ∑∏ == ⋅
'&S H M
==
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
11/56
Exem5/uFie" de exem5/u" o sursa $u doua sim#o/uri: X si ! " $u 5ro#a#i/itati/e P(X) "*-0 si P(!) +-0
=a$a se doreste $odarea mesae/or de /ungime * atun$i se 5oate organi9a urmatoarea imagine 5entru $odarea tuturormesae/or in inter8a/u/ K("+'
11
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
12/56
Exem5/uSe$8enta LL este $odata $u inter8a/u/ K("1-?' si se$8enta MM este $odata $uinter8a/u/ K)-?"+'
Pentru $odarea inter8a/u/ui 5oate fi transmis ori$e numar din inter8a/u/ $onsiderat"e8ident 5e un numar de #iti $ores5un9ator" $e este dat de marimea inter8a/u/ui
12
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
13/56
Exem5/u Pentru $odarea se$8ente/or
de /ungime 0 se 5oate$onstrui imaginea - ta#e/u/ de$odare a/aturat:
13
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
14/56
Exem5/u LL
LM
ML
MM
14
1+,"0?
+/og
0
+
0
+/og
0+,"*?
*/og
0
*
0
+/og
0+,"*?*/og
0+
0*/og
*+,"+?
1/og
0
*
0
*/og
=→=
−=
⋅−≥
=→=
−=
⋅−≥
=→=
−=
⋅−≥
=→=
−=
⋅−≥
!! !!
!X !X
X! X!
XX XX
nn
nn
nn
nn
( ) *(++*("+*.(
(+.(**"( =→=−→=⋅
=−→=⋅code
a
a
( )*+((
(0("(*("(
(*("(*("(++("+*"(
=→
=−→=⋅
=−→=⋅=−→=⋅
code
a
aa
( ) *++(
(0
("(*("(
+*("+*"(
++"+*2"(
=→
=−→=⋅
=−→=⋅
=−→=⋅
code
a
a
a
( )*++++
+1("+*"(
+0"+*2"(
+*2"+*)2"(
++)2"+*?02"(
=→
=−→=⋅
=−→=⋅
=−→=⋅
=−→=⋅
code
a
a
a
a
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
15/56
A/goritmu/ de #a9a+. Se $onsidera inter8a/u/ $urent KG"H' initia/i9at $u K("+'
*. Pentru fie$are sim#o/" ai" din fisier" se 5ar$urg doi 5asi:+. Se im5arte inter8a/u/ $urent in su#inter8a/e" $ate unu/ 5entru fie$are sim#o/ din
a/fa#etu/ sursei marimea su#inter8a/u/ui unui sim#o/ din a/fa#et este 5ro5ortiona/ $u 5ro#a#i/itatea estimata" $onsiderata in $adru/ mode/u/ui
*. Se se/e$tea9a su#inter8a/u/ $ores5un9ator sim#o/u/ui $are a5are in fisieru/ de
$om5rimat" si se $onsidera $a fiind nou/ inter8a/ $urent
0. Se s$riu in fisieru/ $om5rimat sufi$iente sim#o/ui #inare 5entru a 5uteaidentifi$a &re$onstitui' inter8a/u/ $urent fina/ din mu/timea tuturor inter8a/e/orfina/e" 5osi#i/ a fi $onsiderate
15
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
16/56
A/goritmu/ de #a9a=i8i9iunea inter8a/u/ui $urent este #a9ata 5e 5ro#a#i/itatea sim#o/u/ui de intrare ai" $are a5are infisieru/ de $om5rimat:
16
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
17/56
Exem5/uFie sursa data 5rindistri#utia
Figura a/aturata aratamodu/ de rea/i9are a 5artitii/or 5entru mesau/
Niou
17
(2.(0.((?.(1*.(+*.(:
uoieaS
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
18/56
O#ser8atiiGungimea inter8a/u/ui fina/ este ega/a $u 5rodusu/ 5ro#a#i/itati/or sim#o/uri/or indi8idua/e$e a5ar in fisieru/-se$8enta de $om5rimat:
unde Ns este numaru/ de sim#o/uri din fisieru/ de intrare &$e/ $are tre#uie $om5rimat'Se $a/$u/ea9a numaru/ de #iti $are tre#uie memorati in fisieru/ $om5rimat &$e/ de iesire'
du5a re/atia:
unde 5arante9a are semnifi$atia de 5arte intreaga" o#tinuta 5rin rotunire Jumaru/ de #iti generati de $odarea aritmeti$a este ega/ $u entro5ia" H &e8ident" da$a nu se
$onsidera rotunirea' Codarea aritmeti$a atinge $om5resia $are este indi$ata de entro5ia sursei" de a$eea este o5tima/a
18
∏=
==− Ns
) s( # # final ) L H (
+
P*
K #lo$ n −=
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
19/56
O#ser8atiiQre#uie introdus un sim#o/ su5/imentar in a/fa#etu/ sursei" 5entru a indi$a sfarsitu/ defisier
Ga 5asu/ * a/ a/goritmu/ui se $a/$u/ea9a in mod efe$ti8 numai su#inter8a/u/$ores5un9ator sim#o/u/ui $are a5are in fisier" de exem5/u ai
Sunt ne$esare 5ro#a#i/itati/e $umu/ati8e
Fie indi$e/e a/fa#etu/ui si i indi$e/e sim#o/uri/or mesau/ui-se$8entei re/atii/e de$a/$u/ a/e su#Iinter8a/u/ui nou sunt:
unde L% si H% sunt /imite/e inter8a/u/ui $urent I 5entru 5rimu/ 5as se $onsidera L( si H +
19
∑==
i
# )i( P C
+
( ) L H )i( P L& L c −⋅−+= +
'&'&R L H i P L H c −⋅+=
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
20/56
O#ser8atii7nterse$tia inter8a/e/or o#tinute este 8ida 5entru sim#o/uri diferite"de$i:
7n mod $urent" $odarea aritmeti$a 5oate fi im5/ementata su# forma adoua modu/e" $are se5ara mode/u/ sursei de 5ro$esu/ de $odare ;ode/u/ sursei este un modu/ de 5rogram si este $onsu/tat atat de
$odor $at si de de$odor" /a fie$are 5as a/ 5ro$esarii Posi#i/itatea se5ararii mode/u/ui in doua su#Imode/e" unu/ 5entru
estimarea 5ro#a#i/itati/or si unu/ 5entru $odare" 5ermite $u5/area$odarii aritmeti$e $u ori$e metoda stati$a sau dinami$a de estimare a 5ro#a#i/itati/or &sau fre$8ente/or' mesae/or sursei
20
j si sdaca ) s( ) s( ji ≠∅=77
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
21/56
O#ser8atiiPentru rea/i9area de$odarii tre#uie sa se $unoas$a mode/u/sursei uti/i9ate de $odor &mesae/e si inter8a/e/e aso$iate'si un singur numar din inter8a/u/ determinat de $odor
=e$odarea $onsta intrIo serie de $om5aratii a numaru/ui i $u 8a/ori/e re5re9entand mesae/e sursei
21
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
22/56
Exem5/uSe $onsidera o sursa $u doua sim#o/uri" $u distri#utia demai os" in $are se re$unoaste introdu$erea unui sim#o/su5/imentar EOF si norma/i9area 5ro#a#i/itati/or /a +
Se 8a exem5/ifi$a $odifi$area-$om5rimarea mesau/uiNbbb$%&
22
+((1( '''
F *a+S
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
23/56
Exem5/u7nter8a/ $urent A$tiune
Su#Iinter8a/e 5entru a/fa#etu/ surseiSim#o/ mesa
a # EOF
G H G H G H G H
(.((( +.(( initia/i9are (.((((.1(( (.1(( (.?((
(.?(( +.((( #
(.1(( (.?(( su#di8ide (.1(((.,(( (.,(( (.)(
(.)( (.?(( #
(.,(( (.)( su#di8ide (.,(( (.2(((.2(( (.)*
(.)* (.)( #
(.2(( (.)*( su#di8ide (.2(( (.2( (.2( (.)+* (.)+* (.)* EOF
(.)+* (.)*( $odifi$a
23
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
24/56
Exem5/uPro#a#i/itatea mesau/ui este: (. x (. x (. (.+* Jumaru/ de #iti I/og * &(.+*' ,.0*+? I> 2 #iti
7nter8a/u/ fina/ K(.)+*(((((((((( (.)*(((((((((((;i/o$u/ inter8a/u/ui
x &(.)+* (.)*(' - * (.)+)2
&(.)+)2'+( &+ + ( + ( ( ( '*
Codu/ mesau/ui 1 1 ' 1 ' ' ' ;arimea initia/a a mesau/ui 0 T ) *1 #iti 0 o$teti ;arimea fina/a 2 #iti + o$tet. Ra5ort de $om5resie > 0
24
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
25/56
=e$odareaPentru a de$oda o se$8enta" tre#uie a5/i$ate o5eratii/eefe$tuate /a $odare insa in ordine in8ersa
Se $unos$:mode/u/ sursei" 5rin a/fa#et si 5ro#a#i/itatise$8enta-mesau/ $odat su# forma de inter8a/ sau su# forma
mediei inter8a/u/ui" , numaru/ de sim#o/uri 5rimare din se$8enta $odata
25
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
26/56
A/goritmu/ de de$odareSe $om5ara media inter8a/u/ui $u fie$are din inter8a/e/e initia/e&asa $um sIa fa$ut /a $odare' si se determina sim#o/u/ $aruia iia5artine inter8a/u/ gasit
Se $auta urmatoru/ sim#o/ 5rin modifi$area 5ro#a#i/itatii 5artitiei"asa $um sIa fa$ut si /a $odare:
unde i tre#uie sa fie a/es astfe/ in$at sa fie inde5/inita inega/itatea:
de$i ai este urmatoru/ sim#o/ din se$8enta $odata
26
( ) L H )i( P L& L c −⋅−+= + '&'&R L H i P L H c −⋅+=
& H , & L ≤≤
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
27/56
Exem5/u=ate/e de intrare sunt:SKa"#"$"dPK(." (.*" (.+*"(.+*
inter8a/ (.*2*0,?0)1)((((
nmesa ).
Re9u/tate/e:
de$ode a#aa#$dd 6666
7stori$ &istor'
(.(((((((((((((( +.(((((((((((((( (
(.(((((((((((((( (.((((((((((((( +.((((((((((((((
(.(((((((((((((( (.((((((((((((( (
(.*(((((((((((( (.02((((((((((( *.(((((((((((((( (.*(((((((((((( (.0+*(((((((((( +.((((((((((((((
(.*(((((((((((( (.*)+*((((((((( +.((((((((((((((
(.*(((((((((((( (.*)+*((((((((( (
(.*,,*(((((((( (.*20102((((((( *.((((((((((((((
(.*,,*(((((((( (.*20102((((((( (
(.*,,*(((((((( (.*20102((((((( (
(.*2+1)102((((( (.*2*1,(?02(((( 0.((((((((((((((
(.*2+1)102((((( (.*2*1,(?02(((( (
(.*2+1)102((((( (.*2*1,(?02(((( (
(.*2**+,2?,)2(( (.*2*00)),2+)2( 1.((((((((((((((
(.*2**+,2?,)2(( (.*2*00)),2+)2( (
(.*2**+,2?,)2(( (.*2*00)),2+)2( (
(.*2*0()01?,(?0) (.*2*0*0,()0?)11 1.((((((((((((((
27
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
28/56
Exem5/u &$odu/ mat/a#'3 de$odare aritmeti$a3 se 5resu5un $unos$ute:3 I numaru/ de sim#o/uri din mesa-se$8enta
3 I mode/u/ sursei
3 I inter8a/u/ &sau mi/o$u/' inter8a/u/ui
$/$" $/ear
8er +if 8er"
3 + * 0 1
SKa"#"$"d
PK(." (.*" (.+*" (.+*
3mesaKa"#"a"a"#"$"d"a3indmesa K+ * + + * 0 1 +
inter8a/ (.*2*0,?0)1)((((
nmesa )
e/se
3 + * 0 1 , 2
SKa"n""r"e"m"i PK1-+2" +-+2" 0-+2" 0-+2" 0-+2" *-+2"+-+2 3mesaKa"n"a""a"r"e""m"e"r"e""m"a"r"i
3indmesa K+ * + 0 + 1 0 , 1 0 , + 1 2
inter8a/ (.(,1(*+2*,12
nmesa +2
end
PC$umsum&P' PC K( PC
3 initia/i9are
G( H+
istor K G H (
indmesa K
3 de$odare
for D+:nmesa" 3 indi$e/e sim#o/u/ui din se$8enta
i+ 3 indi$e/e sim#o/u/ui din a/fa#et
Gne G PC&i' T &HIG' Hne G PC&i+' T &HIG' i/e VK&inter8a/ > Gne' W &inter8a/ < Hne'"
i i +
if i > /engt&S'" #reaD end
Gne G PC&i'T&HIG'
Hne G PC&i+'T&HIG'
istor Kistor G H (
end
G Gne
H Hne
indmesa Kindmesa i
istor Kistor G H i
end
3 re9u/tate:
de$ode S&indmesa'
istor
28
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
29/56
Compresia aritmetica cu scalarePro#/ema im5/emenatrii $odarii aritmeti$e este data de 5re$i9ia finita
a o5eratii/or $u numere rea/eSo/utia $onsta in in/o$uirea inter8a/u/ui K("+' a/ numere/or rea/e $u
inter8a/u/ numere/or intregi" unde N este un numar intreg" $usemnifi$atie de numaru/ de $ifre #inare a/ registre/or numeri$e
7deea $onsta in se/e$tarea 5refixu/ui $omun /a $a5ete/or inter8a/e/or" L si H" si a5oi $om5/etarea $a5atu/ui din stanga" L" $u sim#o/uri ( sia/ $a5atu/ui drea5ta" H " $u +
Ju este ne8oie de un mode/ a/ sursei" $i numai de a/fa#etu/ surseiFre$8ente/e sim#o/uri/e sunt $onstruite dinami$" de$i se 5oate
$onsidera a5artenenta metodei /a $/asa metode/or dinami$e&ada5ti8e'
29
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
30/56
Compresia aritmetica cu scalare7nter8a/e/e/e aso$iate sim#o/uri/or a/fa#etu/ui se $a/$u/ea9a $u autoru/ fre$8ente/or
sim#o/uri/or" in mod dinami$ fie$are fre$8enta a unui $ara$ter este initia/i9ata $u +si este in$rementata de fie$are data $and a5are sim#o/u/ in mesau/ de $om5rimat
Fie fre$8enta sim#o/u/ui in a/fa#et Fre$8enta $umu/ata a sim#o/uri/or este
unde N s este numaru/ de sim#o/uri din a/fa#etu/ surseiRe9u/ta $a este fre$8enta $umu/ata a tuturor sim#o/uri/or =e retinut $a este /ungimea 5refixu/ui intrarii s$anateSim#o/uri/e sunt mentinute in ordinea des$res$atoare a fre$8ente/or /or
30
∑+=
= s N
i j
j fre-i fre-cum
+
'&'& U
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
31/56
Compresia aritmetica cu scalareCand un sim#o/ este $itit din sursa text" inter8a/u/ $urent
K L.H ' este austat /a
Ga fie$are austare a inter8a/u/ui" se 8erifi$a $onditia
31
'(& U
'& U '+&
fre-cum
i fre-cum L H L L
⋅+−+=
+'(& U
'+& U '+&−
−⋅+−+=
fre-cum
i fre-cum L H L H
'(& U fre-cum L H >=−
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
32/56
Compresia aritmetica cu scalare7n $a9 $ontrar" inter8a/u/ este ex5andat $u re/atia
Efe$tuarea a$estei transformari este memorata 5rin in$rementarea unuinumarator &/aitin$0counter '
O5eratia se re5ata atat tim5 $at inter8a/u/ este 5rea s$urt
=u5a sa/8area mesau/ui $om5rimat" se trimite $ontunutu/numaratoru/ui=u5a trimiterea u/timu/ui #it a/ numaratoru/ui" se transmite #itu/
in8ers de un numar de ori dat de $ontinutu/ numaratoru/ui de aste5tare
32
( ) ( ) '+**"**K'"K ** +−⋅−⋅→ −− N N H L L H
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
33/56
A/goritm Codaresim#o/&ai'
GG&HIG+'T$umfreX&i'-$umfreX&('
HG&HIG+'T$umfreX&iI+'-$umfreX&('I+
YC ( -- /aitin$0counter
($)$AT
I& &G and H au #it $omun in stanga' T*$+
$ode $ode #it$omun
GGT*
H*TH+
$,$
I& &HIG'(' D%
I& #it >("
T*$+
Yrite + in fout
Yrite ( in fout
Yaiting$ounter II+
End i/e
EJ=.
33
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
34/56
=e$om5resia=e$odarea este exa$t in8ersu/ 5ro$esu/ui de $odareSe uti/i9ea9a o fereastra a/une$atoare 5e fisieru/ $om5rimat" de /ungime N ;ai intai" se initia/i9ea9a fereastra $u 5rime/e N sim#o/uri #inare
Se $a/$u/ea9a 8a/oarea ei 9e$ima/a 5rin $on8ersia su$$esiunii #inare" din #a9a *in #a9a +(7nter8a/u/ $urent este initia/i9at $i L( si Sim#o/u/ este 5rodus $a urmare a e8a/uarii ex5resiei
unde L si H sunt austate $u a$e/easi re/atii din tim5u/ 5ro$esu/ui de $odare si i $ea mai mi$a 8a/oare intreaga
34
+
+'(& U '+&
'& U +−−⋅+−
≥ L H fre-cum Lvalue
i fre-cum
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
35/56
=e$om5resia=a$a re5re9entari/e #inare a/e $a5ete/or inter8a/u/ui au un 5refix $omun de /ungime #" e/e sunt de5/asate $u # 5o9itiis5re stanga
Po9itii/e ramase /i#ere se $om5/etea9a $u 9erouri 5entru L si$u + 5entru H
Fereastra de $itire este de5/asata $u & #' 5o9itii ins5re drea5ta si8aria#i/a value este austata $ores5un9ator
Se a$tua/i9ea9a ta#e/e/e fre- si cum0fre- astfe/ in$atsim#o/uri/e sa fie mentinute in ordine des$res$atoare afre$8ente/or" exa$t $a /a 5ro$esu/ de $odare
O5eratii/e se re5eta 5ana $and se 5rodu$e sim#o/u/ EJ=
35
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
36/56
A/goritm Decodare0 fin $umfreX &&8a/ueIG+'T$umfreX&('I+' - &HIG+' =efine i
/*I,$ $umfreX&i'>$umfreX D%
i i
G G &HIG+'T$umfreX&i'-$umfreX&('
H G &HIG+'T$umfreX&iI+'-$umfreX&(' I +
($)$AT
I& $ommon/eft#its&G"H'"
T*$+
G *TG
H *TH +
Read#it&fin'
8a/ue *T8a/ue #
$,$
I& &HIG' < $umfreX&('" T*$+
G *T&GI* JI*'
H *T&HI* JI*' +
Read#it&fin'
8a/ue *T&8a/ue * JI*' #
+TI, no $ommon/eft#its&G"H' and &HIG' > $umfreX&('
$+D.
36
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
37/56
Con$/u9iiCodarea aritmeti$a are $a re9u/tat un sir de sim#o/uri $are 5ermite o#tinereaunor rate de $om5resie mu/t mai #une
=e o#i$ei este mai 5erformanta de$at $odarea Huffman din a$est 5un$t de8edere
Codarea aritmeti$a a unui sir de sim#o/uri de /ungime l " S ! s+" s*"" s/% esteo#tinuta 5rin l im5artiri iterati8e in su#Iinter8a/e" 5artitionari fa$ute 5e #a9a 5ro5rietati/or statisti$e a/e setu/ui de sim#o/uri $onsiderat" adi$a distri#utia de 5ro#a#i/itate si 5ro#a#i/itati/e $onditionate
Gungimea fie$arui su#Iinter8a/ este ega/a $u 5ro#a#i/itatea siru/ui de
sim#o/uri $are ii $ores5undeCu8antu/ de $od aritmeti$ 5entru un sir de sim#o/uri S este format din 5rimii
1 #iti din re5re9entarea #inara a 8a/orii de mi/o$ a su#Iinter8a/u/ui$ores5un9ator" 2 &S '" unde 1 K/og*+-Z 2 &S 'Z+" iar Z 2 &S 'Z este /ungimeainter8a/u/ui 2 &S '
37
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
38/56
Qransformarea BurrosIYee/erQransformarea BurrosIYee/er a fost introdus[ \n +??1 de $[tre $ei doiautori $are \i dau ]i nume/e" ]i extins[ de $[tre Je/son \n +??,
Fo/oseste re5eti^ii/e de se$8en^e de $u8inte 5entru a \m#un[t[^i $om5resiaFun$^ionea9[ simi/ar $u metode/e #a9ate 5e di$^ionareEste o metod[ de $om5resie f[r[ 5ierderi de date
A8antae:
de o#i$ei" transformarea BurrosIYee/er $onfer[ re9u/tate mu/t mai #une de$_tteni$i/e tradi^iona/e de $om5resie #a9ate 5e di$^ionare: &Gem5e/ `i8" Yin`i5"g9i5" et$'
=e9a8atae: tim5u/ de exe$u^ie este mu/t mai /ung de$_t \n $a9u/ a/goritmi/or enun^a^i anterior
38
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
39/56
A/goritmu/ de $om5resieQransformarea BYQ $onsta din urmatoare/e: siru/ de sim#o/uri generate de o sursa de informatie S se \m5arte
\n su#siruri $are au D sim#o/uri fie$are" u/timu/ segment a8_nd &D
modu/o n' sim#o/uri 5entru fie$are su#sir:
se generea9a toate 5ermutari/e $ir$u/are se ordonea9a /exi$ografi$ se $onstruieste un sir S de sim#o/uri format din u/timu/ sim#o/ a/
fie$arei 5ermutari
\n fina/" 5entru fie$are su#sir" se transmite siru/ $ores5un9atoro#tinut \m5reuna $u numaru/ de ordine # a/ su#siru/ui o#tinutdu5a sortare
39
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
40/56
A/goritmu/ de $om5resieFiind dat un ]ir de $ara$tere de intrare S" de /ungime n" $odifi$atoru/$onstruie]te o matri$e n x n \n $are este 5[strat 5e 5rimu/ r_nd ]iru/ S"urmat 5e $e/e/a/te r_nduri de n + $o5ii a/e sa/e" fie$are dintre e/e rotit[$ir$u/ar $u un $ara$ter fa^[ de ]iru/ 5re$edent
R_nduri/e a$estei matri$e sunt sortate a5oi din 5un$t de 8edere/exi$ografi$" o#^in_nduIse astfe/ o stru$tura de date ordonat[
=eoare$e fie$are r_nd ]i fie$are $o/oan[ a matri$ei astfe/ o#^inute este defa5t o 5ermutare a /ui S" a$esta 8a $on^ine toate $e/e n sim#o/uri din ]iru/
de intrarePermutarea G $are este se/e$tat[ de $[tre $odifi$ator este $iar u/tima$o/oan[ din matri$ea sortat[ anterior
Singura informa^ie ne$esar[ 5entru a re$onstrui e8entua/ S 5e #a9a /ui Geste indexu/ ]iru/ui de $ara$tere ini^ia/ din matri$ea sortat[
40
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
41/56
Exem5/u &+'iru/ de $ara$tere de intrare: Nt3is is t3e4
41
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
42/56
Exem5/u &+'Re9u/tatu/ fina/: btisIisIte &bssttIiiIe" 7 +('
42
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
43/56
Exem5/u &*'iru/ de $ara$tere de intrare: N $a5eta0de0informatic[4Permutari/e $ir$u/are:
ga9etadeinformati$[ nformati$[ga9etadei
a9etadeinformati$[g formati$[ga9etadein9etadeinformati$[ga ormati$[ga9etadeinf
etadeinformati$[ga9 rmati$[ga9etadeinfo
tadeinformati$[ga9e mati$[ga9etadeinfor
adeinformati$[ga9et ati$[ga9etadeinform
deinformati$[ga9eta ti$[ga9etadeinformadeinformati$[ga9eta i$[ga9etadeinformat
einformati$[ga9etad $[ga9etadeinformati
informati$[ga9etade [ga9etadeinformati$
informati$[ga9etade
43
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
44/56
Exem5/u &*'Sortarea /exi$ografi$a: deinformati$[ga9eta ga9etadeinformati$
informati$[ga9etade i$[ga9etadeinformat
adeinformati$[ga9et informati$[ga9etade
ati$[ga9etadeinfor m mati$[ga9etadeinfor
a9etadeinformati$[g nformati$[ga9etade i
[ga9etadeinformatic ormati$[ga9etadeinf
$[ga9etadeinformati rmati$[ga9etadeinf o
deinformati$[ga9eta tadeinformati$[ga9e
einformati$[ga9eta d ti$[ga9etadeinforma
etadeinformati$[ga4 9etadeinformati$[ga formati$[ga9etadein
=a$a /uam u/timu/ sim#o/ a/ fie$arei 5ermutari du5a sortare se o#tine siru/ S "aetmgci_dznăt_rifoeaa“, iar numaru/ de ordine a/ siru/ui S este ++" 5rimu/ sir a8_nd numaru/ de ordine(
Siru/ S astfe/ o#tinut se transmite \m5reuna $u numaru/ 5 ++
44
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
45/56
Con$/u9ii=in 5un$t de 8edere a/ tim5u/ui de exe$u^ie" metoda BurrosIYee/ereste destu/ de ne5erformant[" mai a/es datorit[ 5asu/ui de sortare 7m#unatatire: fi]ieru/ de intrare 5oate fi \m5[r^it \n mai mu/te #u$[^i 5entru a
efi$ienti9a exe$u^ia &$om5resia 8a fi insa afe$tat[ de $e/e mai mu/te oridatorit[ fa5tu/ui $[ uti/i9area unei #u$[ti de fi]ier mai mi$[ 8a du$e /aa5ari^ia mai 5u^inor re5eti^ii de ]iruri de $ara$tere'
Qransformarea BurrosIYee/er e/imin[ $ore/area tem5ora/[ deoare$e $u$_t sunt mai 5u^ine ]iruri de $ara$tere intrIo 5arte dintrIun fi]ier" $u at_teste mai greu s[ se dete$te9e $ore/area.
Sim#o/uri/e sunt gru5ate im5reuna \n fun$^ie de $ontextu/ \n $are e/e a5ar 5rin intermediu/ sort[rii Contextu/ $onsiderat este de o singur[ 5arte a fie$[rui sim#o/
A5/i$atii : `9i5 &=e#in" *((*' 5entru Yindos ]i #9i5* 5entru UJ7L
45
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
46/56
Con$/u9iiCa5a$itatea $oduru/ui este /imitata de /ungime/e registre/or $e$a/$u/ea9a 8a/ori/e 5ro#a#i/itati/or
=e9a8antau/ este in/aturat 5rin a5/i$area unor teni$i de s$a/are
si rotunire a $a5ete/or de inter8a/" $onform a/goritmu/ui /uie/ineD 7n 8ederea efe$tuarii o5eratiei de de$odare sunt 5osi#i/e doua
so/utii:
sa se $unoas$a numaru/ de sim#o/uri din mesau/ initia/" de$i sa ses$rie intrIun antet a$est numarinserarea unui $ara$ter EOF in mesau/ de $odat in momentu/ in
$are" /a de$odare" se aunge in inter8a/u/ aferent /ui EOF se de$ideo5rirea de$odarii
46
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
47/56
Com5resia RGE &runI/engt en$oding'Se #a9ea9[ 5e 5resu5unerea $onform $[reia da$[ se/e$t[m un
5ixe/ din imagine /a \nt_m5/are" exist[ o ]ans[ destu/ de mare$a 8e$inii a$estuia s[ ai#[ a$eea]i $u/oare
Ca urmare" $odifi$atoru/ fun$^ionea9[ 5rin 5ar$urgereaimaginii r_nd $u r_nd" $[ut_nd serii $onse$uti8e de 5ixe/i dea$eea]i $u/oare
Exem5/u: da$a imaginea este a/#Inegru ]i $on^ine 5e un r_nd+2 5ixe/i a/#i" urma^i de + 5ixe/ negru" urmat de 5ixe/i a/#i"et$. se 8a re^ine /a ie]ire doar seria de numere +2" +" " et$.
47
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
48/56
Com5resia RGE=e o#i$ei" $odifi$atoru/ 5resu5une $[ imaginea de intrare\n$e5e $u un 5ixe/ a/# &$eea $e este ade8[rat in mareamaoritate a $a9uri/or'
=a$[ a$east[ $ondi^ie nu este \nde5/init[" f/uxu/ de numere de/a ie]ire ar tre#ui s[ \n$ea5[ $u un segment de /ungime (
Re9o/u^ia imaginii tre#uie returnat[ /a \n$e5utu/ f/uxu/ui deie]ire
=imensiunea $om5resiei o#^inute de5inde de o#i$ei de$om5/exitatea imaginii: $u $_t imaginea $on^ine mai mu/te deta/ii" $u at_t $om5resia 8a
a8ea o 5erforman^[ mai redus[
48
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
49/56
A/goritmu/ de $om5resieSe initia/i9ea9a un $ontor i $u 8a/oarea + si se retine 5rimu/ sim#o/ generat desursa S
Siru/ generat de sursa de informatie se 5ar$urge sim#o/ $u sim#o/Ga fie$are 5as" da$a sim#o/u/ $urent este identi$ $u $e/ retinut /a 5asu/ anterior:
atun$i da$a i este mai mi$ de$_t m: atun$i in$rementea9a 8a/oarea $ontoru/ui i si se tre$e /a 5asu/ urmator a/tfe/ transmite /a iesire sim#o/u/ retinut \m5reuna $u 8a/oarea i si initia/i9ea9a i $u +
a/tfe/" da$a 8a/oarea i este ega/a $u +: atun$i transmite sim#o/u/ retinut si retine sim#o/u/ nou $itit
a/tfe/ transmite /a iesire sim#o/u/ retinut si 8a/oarea i" retine nou/ sim#o/ $itit si initia/i9ea9a 5e i $u 8a/oarea +
m5 este $ea mai mi$a 5utere a /ui * mai mare sau ega/a $u numaru/ tota/de sim#o/uri 5e $are /e 5oate genera o sursa de informatie S
49
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
50/56
Exem5/uPentru siru/ de +, sim#o/uri aa*cdeeeeffff$a3" se transmite siru/: a * # $ d e 1 f 1 g a
Gungimea nou/ui sir este +*" fata de +, $_t are siru/ initia/
Pentru a de$odifi$a a$est sir" se $iteste 5rimu/ sim#o/ si se retine" iara5oi se 5ar$urge se$8entia/ siru/ de sim#o/uri
Ga fie$are 5as" da$a sim#o/u/ este un numar" atun$i se transmitesim#o/u/ retinut de $_te ori indi$a numaru/ $itit si se retine un nousim#o/ \n $a9 $ontrar se transmite sim#o/u/ retinut si se $iteste un nou sim#o/
=u5a 5ar$urgerea siru/ui de sim#o/uri se transmite u/timu/ sim#o/ $itit"da$a a$esta nu re5re9inta un numar
50
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
51/56
Exem5/ucn $onditii/e 5re9entate anterior" de$odifi$area siru/uia * # $ d e 1 f 1 g a
are /o$ astfe/:
retine a transmite a de * ori si retine # transmite # si retine $ transmite $ si retine d transmite d si retine e transmite e de 1 ori si retine f transmite f de 1 ori si retine g transmite g si retine a transmite a si retine transmite
51
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
52/56
RGE 5entru imagini in tonuri de griFie$are segment de 5ixe/i a8_nd a$eea]i nuan^[ este $odifi$at su#forma unei 5ere$i:
&/ungimeSegment" 8a/oare7ntensitate'
=e o#i$ei /ungimea segmentu/ui o$u5[ un #te de memorie" $eea $e 5ermite $odifi$area segmente/or de /ungime 5_n[ /a * de 5ixe/iGungimea unui segment nu 5oate fi ni$iodat[ ( se 5oate fo/osi 5entru
$odifi$are /ungimeaSegmentu/ui +" in a$est $a9 5utand fi $odifi$atesi 5or^iuni de /ungime *,
a/oarea intensit[^ii este re5re9entat[ 5e $_^i8a #i^i" \n fun$^ie denum[ru/ de nuan^e de gri din imagine &de o#i$ei unde8a \ntre 1 si ) #i^i'
Pro*lema #oate fi e6tins7 asem7n7tor si la ima$inile color8
52
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
53/56
Exem5/uPresu5un_nd $[ a8em o imagine \n tonuri de gri $are \n$e5e $u seria de 5ixe/i a8_nd8a/ori/e:
+*" +*" +*" +*" +*" +*" +*" +*" +*" 0" 2," ++*" ,2" )2" )2" )2" " " " " " " +"...Codifi$area o#^inut[ 8a fi urm[toarea:
?" +*" 0" 2," ++*" ,2" 0" )2" ," " +"unde 8a/ori/e su#/iniate re5re9int[ num[ru/ de re5eti^ii
Pro#/ema $are a5are este a$eea a diferen^ierii dintre 8a/ori/e de 5ixe/i &de exem5/u +*']i 8a/ori/e $are re5re9int[ num[ru/ de re5eti^ii &?'
Printre so/u^ii/e 5osi#i/e se num[r[ ]i urm[toare/e:
da$[ imaginea este /imitat[ /a doar +*) de nuan^e de gri" 5utem fo/osi un #it din fie$are #te 5entru a indi$a da$[ 8a/oarea res5e$ti8[ este o intensitatea sau un num[r de re5eti^ii 5utem re9er8a o 8a/oare &s5re exem5/u *' din $e/e de /a ( /a * 5entru a o fo/osi 5entru
semna/i9area unei serii de 5ixe/i Astfe/ se$8en^a de mai sus 8a de8eni:
* . 9. :;. ?. ::;. ?>. ;==. . ;==. ?. =. :.'''
53
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
54/56
Con$/u9iiOrdinu/ de $om5/exitate a/ a$estui a/goritm este %0n" unde n estenumaru/ sim#o/uri/or generate de o sursa de informatie S
A/goritmu/ RGE se fo/oseste de foarte mu/te ori \n $adru/ $om5resiei
imagini/or" \n $om#inatie $u metode/e Huffman sau aritmeti$aEx$e5tie: in $a9u/ fisiere/or de ti5u/ B;P" a/goritmu/ RGE se fo/oseste
singur
cn 5ra$ti$a" da$a numaru/ maxim de sim#o/uri a/e unui su#sir se$onsidera a fi m" atun$i \n $e/ mai rau $a9 &$_nd siru/ de sim#o/uri$are tre#uie $om5rimat este format numai din su#siruri formate dinsim#o/uri identi$e $are au /ungimea *' dimensiunea siru/ui desim#o/uri transmis este $u (3 mai mare de$_t dimensiunea siru/uiorigina/
54
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
55/56
Con$/u9ii Al$oritmii entro#ici de $om5resie nu 5ot $om5rima siruride sim#o/uri a $aror entro5ie este ega/a $u /og*m" unde meste numaru/ de sim#o/uri a/e a/fa#etu/ui sursei $are a
generat siru/A5/i$area a/goritmu/ui RGE \naintea unui a/goritm
entro5i$ asu5ra unui sir de sim#o/uri" du$e" de $e/e maimu/te ori" /a mi$sorarea entro5iei siru/ui" de unde reiese$on$/u9ia $a siru/ de sim#o/uri a de8enit mai $om5rima#i/
55
-
8/16/2019 Compresia Fara Pierdere de Calitate - II
56/56
ReferinteA/istair ;offat and Andre Qur5in" Com#ression and Codin$ Al$orit3ms" /uerA$ademi$ Pu#/isers" Boston" ;ar$ *((*.
7an H. Yitten" A/istair ;offat" and Qimot C. Be//" Mana$in$ Bi$a*ytes+ Com#ressin$
and 2nde6in$ Documents and 2ma$es" ;organ aufmann" San Fran$is$o" +???
Eri$ Bodden" ;a/te C/asen" oa$im neis" Arit3metic Codin$ revealed. A $uided tour from t3eory to #ra6is" Seminar =ata Com5ression YS *((+-*((*" RYQH Aa$enUni8ersit" ;a *((1.
Pau/ . Hoard and ere S$ott itter" Analysis of Arit3metic Codin$ for Data
Com#ression. Bron Uni8ersit" =e5artment of Com5uter S$ien$e" A55ears in7nformation Pro$essing and ;anagement" o/ume *)" Jum#er ," Jo8em#er +??*" 5ages 21?I2,0.