Kursinnehåll. Datakompression. Föreläsningar, preliminärt program. Examination

Relevanta dokument
Datakompression. Harald Nautsch ISY Bildkodning, Linköpings universitet.

Kurslitteratur. Kompression av ljud och bild. Föreläsningar, preliminärt program. Laborationer. Khalid Sayood, Introduction to Data Compression

Källkodning. Egenskaper hos koder. Några exempel

FLAC (Free Lossless Audio Coding)

Krafts olikhet. En momentant avkodbar kod (prefixkod) med kodordslängderna l 1,...,l N existerar om och endast om. 2 l i. 1 i=1

Kompression av ljud och bild

Kurslitteratur. Kompression av ljud och bild. Föreläsningar, preliminärt program. Laborationer

TSBK04 Datakompression. Övningsuppgifter

TSBK04 Datakompression Övningsuppgifter

Skurlängdskodning. aaaabbbbbbbccbbbbaaaa. Man beskriver alltså sekvensen med ett annat alfabet än det ursprungliga.

Adaptiv aritmetisk kodning

Shannon-Fano-Elias-kodning

Aritmetisk kodning. F (0) = 0 Exempel: A = {1, 2, 3} k=1. Källkodning fö 5 p.1/12

Optimala koder. Övre gräns för optimala koder. Gränser. Övre gräns för optimala koder, forts.

Optimala koder. Det existerar förstås flera koder som har samma kodordsmedellängd. Enklaste fallet är att bara byta 0:or mot 1:or.

Burrows-Wheelers transform

Ordbokskodning. Enkel variant av kodning med variabelt antal insymboler och fixlängds kodord. (Jfr tunstallkodning)

Exempel, minnesfri binär källa. Ordbokskodning. Lempel-Zivkodning. Lempel-Zivkodning, forts.

Markovkedjor. Patrik Zetterberg. 8 januari 2013

Föreläsning 1: Bild- och ljudkodning

Markovprocesser SF1904

Markovprocesser SF1904

Informationsteori. Repetition Kanalkapaciteten C. Repetition Källkodhastigheten R 2. Repetition Kanalkodhastigheten R 1. Huffmans algoritm: D-när kod

SF1901: SANNOLIKHETSTEORI OCH KONTINUERLIGA STOKASTISKA VARIABLER STATISTIK. Tatjana Pavlenko. 7 september 2016

Linjär prediktion. Prediktiv kodning. Linjär prediktion. Prediktiv kodare och avkodare

En generell prediktiv kodare utnyttjar signalens utseende N steg tillbaka i tiden för kodningen, dvs vi kodar efter den betingade fördelningen

F3 Datarepresentation teckenkodning och datakompression EDAA05 Datorer i system! Roger Henriksson!

F3 Datarepresentation teckenkodning och datakompression

Tentamen i matematisk statistik, TAMS15/TEN (4h)

Markovprocesser SF1904

Markovprocesser SF1904

SF1901: Sannolikhetslära och statistik

SF1901 Sannolikhetsteori och statistik I

TSBK35 Kompression av ljud och bild

Matematisk statistik för D, I, Π och Fysiker

Föreläsning 9, FMSF45 Markovkedjor

** a) Vilka värden ska vara istället för * och **? (1 p) b) Ange för de tre tillstånden vilket som svarar mot 0,1,2 i figuren.

TENTAMEN I SF1904 MARKOVPROCESSER FREDAGEN DEN 17 AUGUSTI 2018 KL

Övning 1 Sannolikhetsteorins grunder

Stokastiska processer

SF1920/SF1921 Sannolikhetsteori och statistik 6,0 hp Föreläsning 3 Diskreta stokastiska variabler. Jörgen Säve-Söderbergh

TAMS79: Föreläsning 10 Markovkedjor

Satsen om total sannolikhet och Bayes sats

Markovprocesser SF1904

Markovprocesser SF1904

Moment 5.5 Övningsuppgifter I 5.60a. 5.60b, 5.60.c, 61

Föreläsning 1. Repetition av sannolikhetsteori. Patrik Zetterberg. 6 december 2012

MS-A0509 Grundkurs i sannolikhetskalkyl och statistik Sammanfattning, del I

MS-A0509 Grundkurs i sannolikhetskalkyl och statistik Sammanfattning, del I

SF1920/SF1921 Sannolikhetsteori och statistik 6,0 hp Föreläsning 1 Mängdlära Grundläggande sannolikhetsteori Kombinatorik Deskriptiv statistik

Grafer och grannmatriser

Exempel. Vi observerar vädret och klassificerar det i tre typer under en följd av dagar. vackert (V) mulet (M) regn (R)

P(X nk 1 = j k 1,..., X n0 = j 0 ) = j 1, X n0 = j 0 ) P(X n0 = j 0 ) = etc... P(X n0 = j 0 ) ... P(X n 1

Kodning med distorsion

Sådana avbildningar kallar vi bijektioner mellan A och B (eller från A till B).

Tentamen Metoder för ekonomisk analys

SF1901 Sannolikhetsteori och statistik I

Föreläsninsanteckningar till föreläsning 3: Entropi

SF1901 Sannolikhetsteori och statistik I

4 Diskret stokastisk variabel

SF1901: Sannolikhetslära och statistik

Föreläsning 5, FMSF45 Summor och väntevärden

Matematisk statistik 9hp Föreläsning 5: Summor och väntevärden

Moment 6.1, 6.2 Viktiga exempel Övningsuppgifter T6.1-T6.6

Linjär algebra F1 Ekvationssystem och matriser

Föreläsning 12: Repetition

Detta ger oss att kanalkapaciteten för den ursprungliga kanalen är C = q 1 C 1 + q 2 C C =1 h ( ) 0.30.

Stokastiska processer och simulering I 24 augusti

Statistiska metoder för säkerhetsanalys

P =

Övning 6 - Tillämpad datalogi 2012

SF1922/SF1923: SANNOLIKHETSTEORI OCH DISKRETA STOKASTISKA VARIABLER STATISTIK. Tatjana Pavlenko. 23 mars, 2018

Slumpvariabler och sannolikhetsfördelningar

Moment Viktiga exempel Övningsuppgifter

SF1901: SANNOLIKHETSTEORI OCH FLERDIMENSIONELLA STOKASTISKA STATISTIK VARIABLER. Tatjana Pavlenko. 8 september 2017

Om Markov Chain Monte Carlo

Tentamen'i'TMA321'Matematisk'Statistik,'Chalmers'Tekniska'Högskola.''

Idag: Reguljära språk Beskrivs av Reguljära uttryck DFA Grammatik

TMS136. Föreläsning 2

Föreläsning 2, FMSF45 Slumpvariabel

Prov i matematik Civilingenjörsprogrammen EL, IT, K, X, ES, F, Q, W, Enstaka kurs LINJÄR ALGEBRA

LINKÖPINGS UNIVERSITET EXAM TAMS 79 / TEN 1

TENTAMEN I SF1906 (f d 5B1506) MATEMATISK STATISTIK GRUNDKURS,

1. Ekvationer 1.1. Ekvationer och lösningar. En linjär ekvation i n variabler x 1,..., x n är en ekvation på formen. 2x y + z = 3 x + 2y = 0

Föreläsning 5, Matematisk statistik Π + E

Introduktion till statistik för statsvetare

Matematisk statistik 9hp Föreläsning 2: Slumpvariabel

Uppgift 1. f(x) = 2x om 0 x 1

Resultat till ett försök är ofta ett tal. Talet kallas en stokastisk variabel (kortare s. v.).

1.1 Diskret (Sannolikhets-)fördelning

TENTAMEN I SF2937 (f d 5B1537) TILLFÖRLITLIGHETSTEORI TORSDAGEN DEN 14 JANUARI 2010 KL

15 september, Föreläsning 5. Tillämpad linjär algebra

F7 forts. Kap 6. Statistikens grunder, 15p dagtid. Stokastiska variabler. Stokastiska variabler. Lite repetition + lite utveckling av HT 2012.

reella tal x i, x + y = 2 2x + z = 3. Här har vi tre okända x, y och z, och vi ger dessa okända den naturliga

Matematisk statistik 9 hp Föreläsning 4: Flerdim

Tentamen i matematisk statistik (9MA241/9MA341, STN2) kl 08-12

Konvergens och Kontinuitet

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

TENTAMEN I SF1904 MARKOVPROCESSER TISDAGEN DEN 29 MAJ 2018 KL

Transkript:

Datakompression fö 1 p.3 Datakompression fö 1 p.4 Kursinnehåll Datakompression Harald Nautsch harna@isy.liu.se http://www.icg.isy.liu.se/courses/tsbk04/ ISY Bildkodning, Linköpings universitet Källmodellering: Stokastiska variabler och processer som modeller för källor. Källkodningsteori: Definition av en kod. Kodklasser. Praktiska komprimeringsmetoder: Huffmankodning, tunstallkodning, aritmetisk kodning, systematiska koder, Lempel-Ziv-kodning, Burrows-Wheeler-kodning. pack, compress, zip, gzip, bzip, GIF, PNG, faxkodning, lossless JPEG, JPEG-LS, m.fl. Informationsteori: Definitioner av information och entropi. Entropin ger en teoretisk gräns för hur mycket vi kan komprimera signalen från en stokastisk källa utan att få någon distorsion. Datakompression fö 1 p.1 Föreläsningar, preliminärt program Examination Datakompression fö 1 p.2 1. Inledning. Källor. Stokastiska källmodeller. Källkodning. 2. Källkodning. Informationsteori 3. Informationsteori. Optimala koder. Huffmankodning. 4. Skurlängdskodning. Systematiska koder. Tunstallkodning. 5. Aritmetisk kodning. 6. Lempel-Ziv-kodning. 7. Burrows-Wheelers blocktransform. 8. Adaptiv aritmetisk kodning. ppm. Binära aritmetiska kodare. 9. Diverse. Sammanfattning. Liten projektlab. Implementation av ett par av metoderna som gås igenom i kursen. Testa på riktiga data (text, exekverbara filer, m.m.). Entropiskattningar. Görs i grupper om 1-2 personer. Redovisas med en liten rapport. Information inom kort på kurssidan. Labtiderna i schemat resurstider, dvs assistent finns tillgänglig. Skriftlig tentamen. Inga hjälpmedel tillåtna, förutom miniräknare.

Datakompression fö 1 p.7 Datakompression fö 1 p.8 Källor Stokastiska variabler En källa är något som producerar en en sekvens av symboler. Symbolerna är element i ett diskret alfabet A = {a 1,a 2,...,a L } av storlek L. För det mesta kommer vi att behandla ändliga alfabet, men även oändliga alfabet är tillåtna. I många fall har man bara tillgång till själva symbolsekvensen och får därför modellera källan från den. De källmodeller vi kommer att koncentrera oss på är stokastiska modeller, där vi antar att symbolerna produceras från stokastiska variabler eller stokastiska processer. Utfallsrummet Ω är mängden av möjliga utfall av ett slumpexperiment, Ω={ω 1,ω 2,...,ω n } Varje delmängd av Ω kallas för en händelse. Elementen ω i kallas för elementarhändelser. Vi har ett mått P (sannolikhet) på elementarhändelserna. En stokastisk variabel X är en avbildning från utfallsrummet till alfabetet A X :Ω A Vi skriver {X = x} för händelsen {ω : X(w) =x}, menp (X = x) istället för det mer otympliga P ({X = x}). Stokastiska variabler, forts. Datakompression fö 1 p.5 Stokastiska variabler, forts. Datakompression fö 1 p.6 Sannolikhetsfunktionen p X p X (x) =P (X = x), x A Vidare gäller att p X (x) 0 för alla x och p X (x) =1 x A För en reellvärd funktion f(x) av en stokastisk variabel X så är medelvärdet (väntevärdet) det reella talet E{f(X)} = x A f(x) p X (x) VikanävenhaX =(Y,Z) där Y och Z är stokastiska variabler med alfabet A Y = {y 1,...,y M } resp. A Z = {z 1,...,z N }. X tar då värden i A X = {(y 1,z 1 ), (y 1,z 2 ),...,(y M,z N )}. Vi skriver vanligtvis p YZ (y, z) istället för p X ((y, z)). Vi kan naturligtvis generalisera detta till X =(X 1,X 2,...,X K ). De stokastiska variablerna Y och Z kallas oberoende om p YZ (y, z) =p Y (y) p Z (z), y, z Den betingade sannolikhetsfunktionen p X Y definieras som p X Y (x y) = p XY (x, y) p Y (y) då p Y (y) > 0.

Datakompression fö 1 p.11 Datakompression fö 1 p.12 Stokastiska källor Markovkällor En källa modelleras som en stokastisk process X n (kan också ses som en följd av stokastiska variabler)...,x 1,X 0,X 1,X 2,... För det mesta är vi bara intresserade av stationära källor, dvs att alla sannolikhetsfunktioner är oberoende av n. Exempelvis: p Xn X n+1 = p Xn+k X n+k+1 Om X n och X m är oberoende för alla n m så kallas källan minnesfri, annars säger vi att källan har minne. En markovkälla av ordning k är en minneskälla med begränsat minne k steg tillbaka i sekvensen p(x n x n 1 x n 2...)=p(x n x n 1...x n k ) Om alfabetet är A = {a 1,a 2,...,a L }, kan markovkällan beskrivas som en tillståndsmodell med L k tillstånd (x n 1...x n k ) där vi går från tillstånd (x n 1...x n k ) till tillstånd (x n...x n k+1 ) med sannolikheten p(x n x n 1...x n k ). Dessa sannolikheter kallas övergångssannolikheter Sekvensen av tillstånd är en stokastisk process S n =(X n 1...X n k ) med ett alfabet {s 1,s 2,...,s L k} av storlek L k. Markovkällor, forts. Datakompression fö 1 p.9 Stationär fördelning Datakompression fö 1 p.10 Markovkällan kan beskrivas med hjälp av sitt starttillstånd och sin övergångsmatris P. Denna kvadratiska matris har i rad r och kolumn k övergångssannolikheten från tillstånd s r till s k. Om det är möjligt att gå, med positiv sannolikhet, från varje tillstånd till varje annat tillstånd i ett ändligt antal steg så kallas markovkällan irreducibel. Om vi i tidpunkten n står i tillstånd s i med sannolikheterna p n i,såkanvi beräkna sannolikheterna för tidpunkt n +1som [p n+1 1 p n+1 2... p n+1 L k ]=[p n 1 p n 2... p n L k] P En fördelning över tillstånden sådan att fördelningen vid tidpunkt n +1är den samma som vid tidpunkt n kallas för en stationär fördelning. Om markovkällan är irreducibel och ickeperiodisk, så är den stationära fördelningen unik och varje startfördelning kommer att gå mot den stationära fördelningen när tiden går mot oändligheten. Vi betecknar de stationära sannolikheterna med w i och definierar radvektorn w =(w 1,w 2,...,w L k) Om den stationära fördelningen existerar kan den fås som lösningen till ekvationssystemet w = w P eller w (P I) = 0 Detta ekvationssystem är underbestämt (om w är en lösning är även k w en lösning). För att kunna lösa det ersätter vi någon ekvation med L k j=1 w j =1(w j är ju sannolikheter och måste därför summera till 1). (Föredrar man ekvationssystem med kolumnvektorer, så är det bara att transponera hela uttrycket och lösa w t = P t w t istället.)

Datakompression fö 1 p.15 Datakompression fö 1 p.16 Stokastisk modellering Bibeln som markovkälla Givet en lång symbolsekvens från en källa, hur gör man en stokastisk modell för den? Relativa frekvenser: För att till exempel få fram sannolikheten för en enstaka symbol, så räknar man antalet förekomster av symbolen och delar med det totala antalet symboler i sekvensen. På samma sätt kan detta göras för parsannolikheter, trippelsannolikheter, betingade sannolikheter et c. Dessa metoder ger tvåpassalgoritmer, där man först måste gå igenom sekvensen en gång för att skatta sannolikheter och sen en gång till när man kodar sekvensen. Senare i kursen kommer vi att ta upp adaptiva metoder, där man inte behöver gå igenom sekvensen två gånger. Sannolikheter skattade ur 1917 års bibel. Exempelsekvenser skapade av olika markovmodeller: Markov, ordning 1: Ban n pr tusopå bensoch jakaränguräkerärudera. sochör son deng, aranoch o brsade ftyggörmed. ochartiljupppt odenuskvigdekadens, t deskarör vå hoch s ber föve, en boma vtärtit ha, Markov, ordning 2: Med går, tashet. Fares, var som jung När må lagar och vinrödet De dig för mott bröder dardin Jest, prett konom forslöver: 2 för icklara säkt. 5 Akblom i Jort at Markov, ordning 3: Mina arbort Likas»rätt milja derna, 60. Då när mina vand böner kommitt de ifrån nu Heles skapade: på Herren. Han införlåter. På David beskänning, ty 1 Mosebok (Lev Markov, ordning 4: Jag sågen pust att hjärtan för mig, jag lämna icke vid namn av havet, godelaktning. Till se mig, vagnens och mark ut bliva månade skola och sitt talats ting, Källkodning Datakompression fö 1 p.13 Källkodning, forts Datakompression fö 1 p.14 Källkodning innebär att vi avbildar sekvenser av symboler ur en källas alfabet på binära sekvenser (kallade kodord). Mängden av alla kodord kalls för en kod. Man kan förstås tänka sig att ha icke-binära koder också, men i praktiken används bara binära koder. Beroende på om vi avbildar ett fixt eller varierande antal symboler till varje kodord och om varje kodord har ett fixt eller varierande antal bitar, kan vi dela in koderna i fyra grupper: Fixt antal symboler, fixt antal bitar Exempel: ASCII, ISO 8859-1 Fixt antal symboler, varierande antal bitar Exempel: Huffmankodning, aritmetisk kodning Varierande antal symboler, fixt antal bitar Exempel: Tunstallkodning, Lempel-Ziv Varierande antal symboler, varierande antal bitar Exempel: Lempel-Ziv

Datakompression fö 1 p.19 Datakompression fö 1 p.20 Några exempel Egenskaper hos koder Antag att A = {a, b, c} fix fix fix variabel a 00 0 b 10 10 c 01 110 variabel fix variabel variabel aa 000 0 aba 001 100 abb 010 101 abc 011 1100 ac 100 1101 b 101 1110 c 110 11110 Om man från en sekvens av kodord kan återskapa den ursprungliga källsekvensen kallas koden för unikt avkodbar. Om man kan känna igen kodorden direkt vid avkodning, kallas koden momentant avkodbar (instantaneous). Om inget kodord är prefix till något annat kodord kallas koden för en prefixkod (i viss litteratur kallas de för prefixfria koder). Dessa koder är trädkoder, dvs kodorden är löv i ett binärt träd. Alla prefixkoder är momentant avkodbara och alla momentant avkodbara koder är prefixkoder. Exempel Datakompression fö 1 p.17 Datakompression fö 1 p.18 Är en given kod unikt avkodbar eller ej? Exempel, A = {a, b, c, d} Symbol Kod 1 Kod 2 Kod 3 Kod 4 a 0 0 0 0 b 0 1 10 01 c 1 00 110 011 d 10 11 111 111 Kod 1 Ej unikt avkodbar Kod 2 Ej unikt avkodbar Kod 3 Unikt avkodbar, momentant avkodbar Kod 4 Unikt avkodbar, ej momentant avkodbar Gör en lista av alla kodord. Undersök alla par av element i listan för att se om något element är prefix till ett annat element. I sådana fall lägg till suffixet till listan, om det inte redan finns där. Repetera tills en av två saker händer: 1. Man hittar ett suffix som är ett kodord. 2. Man hittar inga nya suffix att lägga till listan. I fall 1 är koden inte unikt avkodbar, i fall 2 är koden unikt avkodbar.