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

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

FLAC (Free Lossless Audio Coding)

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.

TSBK04 Datakompression. Övningsuppgifter

TSBK04 Datakompression Övningsuppgifter

Shannon-Fano-Elias-kodning

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

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

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

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

TSBK35 Kompression av ljud och bild

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

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

Kompression av ljud och bild

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

Adaptiv aritmetisk kodning

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

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.

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

Träd och koder. Anders Björner KTH

Kontinuitet och gränsvärden

Lab 3 Kodningsmetoder

Lektionsanteckningar 11-12: Normalfördelningen

Föreläsning 7. Felrättande koder

Mer om kontinuitet. Kapitel K. K.1 Övre och undre gräns

TAMS14/36 SANNOLIKHETSLÄRA GK Poissonprocessen (komplettering) Torkel Erhardsson 14 maj 2010

SF1901 Sannolikhetsteori och statistik I

Oberoende stokastiska variabler

MVE035. Sammanfattning LV 1. Blom, Max. Engström, Anne. Cvetkovic Destouni, Sofia. Kåreklint, Jakob. Hee, Lilian.

Mängder och kardinalitet

Att beräkna t i l l v ä x t takter i Excel

Algoritmer, datastrukturer och komplexitet

x f (x) dx 1/8. Kan likhet gälla i sistnämnda relation. (Torgny Lindvall.) f är en kontinuerlig funktion på 1 x sådan att lim a

Digital- och datorteknik

Burrows-Wheelers transform

Digital- och datorteknik

Kodning med distorsion

SF1901: Sannolikhetslära och statistik

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

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

Föresläsningsanteckningar Sanno II

Föreläsningsanteckningar F6

Lösningsförslag till övningsuppgifter, del V

Finansiell Statistik (GN, 7,5 hp,, HT 2008) Föreläsning 3

Fö relä sning 1, Kö system 2015

Teoretisk del. Facit Tentamen TDDC (6)

LMA222a. Fredrik Lindgren. 17 februari 2014

SF1901: Sannolikhetslära och statistik. Flera stokastiska variabler.

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.

Läsanvisningar till kapitel

Föreläsning 5: Kardinalitet. Funktioners tillväxt

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl

19.1 Funktioner av stokastiska variabler

Satsen om total sannolikhet och Bayes sats

Algoritmer, datastrukturer och komplexitet

Mälardalens högskola Akademin för utbildning, kultur och kommunikation

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 11 april, 2002

Teoretisk statistik. Gunnar Englund Matematisk statistik KTH. Vt 2005

1 Konvexa optimeringsproblem grundläggande egenskaper

SF1625 Envariabelanalys Tentamen Måndagen den 11 januari 2016

TENTAMEN I STATISTIKENS GRUNDER 1

x 23 + y 160 = 1, 2 23 = ,

Ansvariga lärare: Yury Shestopalov, rum 3A313, tel (a) Problem 1. Använd Eulers metod II (tre steg) och lös begynnelsevärdesproblemet

Speciell användning av heltalsvariabler. Heltalsprogrammering. Antingen-eller-villkor: Exempel. Speciell användning av heltalsvariabler

Probabilistisk logik 2

TDDI16 Datastrukturer och algoritmer. Prioritetsköer, heapar, Union/Find

bli bekant med summor av stokastiska variabler.

Anteckningar för kursen "Analys i en Variabel"

Monte Carlo-metoder. Bild från Monte Carlo

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

Föreläsning Datastrukturer (DAT036)

1 Duala problem vid linjär optimering

TATA42: Föreläsning 9 Linjära differentialekvationer av ännu högre ordning

Statistiska samband: regression och korrelation

Fö relä sning 1, Kö system vä ren 2014

4 Fler deriveringsregler

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

Matematisk statistik för B, K, N, BME och Kemister

Stokastiska signaler. Mediesignaler

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

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

DEL I. Matematiska Institutionen KTH

Statistikens grunder HT, dagtid Statistiska institutionen

Facit Tentamen TDDC (7)

Inledande programmering med C# (1DV402) Summera med while"-satsen

Grundläggande matematisk statistik

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

Tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, onsdagen den 20 augusti 2014, kl

Föreläsning 9: NP-fullständighet

Arkitektur och teknik, Teknisk fysik, Teknisk matematik Antagningsprov MATEMATIK

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

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret Lektion 4

Föreläsning Datastrukturer (DAT037)

Föreläsning 4 Datastrukturer (DAT037)

Grundläggande logik och modellteori

Exempel. Kontinuerliga stokastiska variabler. Integraler i stället för summor. Integraler i stället för summor

i=1 β i a i. (Rudolf Tabbe.) i=1 b i a i n

Transkript:

Datakompression fö 2 p.1 Krafts olikhet En momentant avkodbar kod (prefixkod) med kodordslängderna l 1,...,l N existerar om och endast om N 2 l i 1 Bevis: Antag att vi har en trädkod. Låt l max =max{l 1,...,l N }. Utvidga trädet så att alla grenar har djupet l max. Ett kodord på djupet l i har 2 l max l i löv under sig på djupet l max. Mängderna av löv är disjunkta. Det totala antalet löv under kodord är mindre än eller lika med 2 l max. Vi har alltså N 2 l max l i 2 l max N 2 l i 1

Datakompression fö 2 p.2 Krafts olikhet, forts. Omvänt kan vi, givet kodordslängder l 1,...,l N som uppfyller Krafts olikhet, alltid konstruera en trädkod. Börja med ett fullständigt träd där alla grenar har djup l max. Antag, utan att förlora i generalitet, att kodordslängderna är sorterade i stigande ordning. Välj någon ledig nod på djup l 1 för det första kodordet och ta bort alla dess avkomlingar. Gör likadant för l 2 och kodord 2, o.s.v. tills vi har placerat ut alla kodorden.

Datakompression fö 2 p.3 Krafts olikhet, forts. Uppenbarligen kan vi placera ut ett kodord på djup l 1. För att algoritmen ska vara möjligt måste det i steg i finnas lediga löv på maxdjupet l max. Antalet kvarvarande löv är 2 l max i 1 j=1 2 l max l j =2 l max (1 i 1 j=1 2 l j ) > 2 l max (1 N 2 l j ) 0 j=1 där vi utnyttjat att Krafts olikhet är uppfylld. Det finns alltså lediga löv i varje steg, alltså kan vi konstruera en prefixkod med de givna kodordslängderna.

Datakompression fö 2 p.4 Kraft-McMillans olikhet Krafts olikhet kan visas gälla för alla unikt avkodbara koder, inte bara prefixkoder. Den benämns då Kraft-McMillans olikhet: En unikt avkodbar kod med kodordslängderna l 1,...,l N existerar om och endast om N 2 l i 1 Betrakta ( N 2 l i ) n, där n är ett godtyckligt heltal. N ( 2 l i ) n = N N i 1 =1 i n =1 2 (l i 1 +...+l i n )

Datakompression fö 2 p.5 Kraft-McMillans olikhet, forts. l i1 +...+ l in är längden av n stycken kodord från koden. Det minsta värde denna exponent kan ta är n, som skulle hända om alla kodord hade längden 1. Det största värdet exponenten kan ta är nl där l är den maximala kodordslängden. Summationen kan då skrivas om som N ( 2 l i ) n = nl k=n A k 2 k där A k är antalet kombinationer av n kodord som har den kombinerade längden k. Det finns maximalt 2 k binära sekvenser av längden k. Eftersom koden är unikt avkodbar, måste det gälla att för att vi ska kunna avkoda. A k 2 k

Datakompression fö 2 p.6 Kraft-McMillans olikhet, forts. Vi har alltså Vilket ger oss ( N 2 l i ) n nl k=n 2 k 2 k = nl n +1 N 2 l i (n(l 1) + 1) 1/n Detta gäller för alla n, inklusive när vi låter n gå mot oändligheten, vilket alltså slutligen ger oss N 2 l i 1 Omvändningen till olikheten har vi redan, genom att vi kan konstruera en prefixkod med givna kodordslängder om de uppfyller Krafts olikhet.

Datakompression fö 2 p.7 Godhetsmått Det godhetsmått vi har för att mäta hur bra en kod är är medeldatatakten R (oftast bara kallad datatakten eller takten). R = E{# bitar i kodordet} E{# symboler per kodord} [bitar/symbol] Eftersom det är datakomprimering vi sysslar med, så vill vi att våra koder ska ha så låg takt som möjligt. Om vi till att börja med antar att vi har en minnesfri källa X j och kodar en symbol i taget med en prefixkod, så ges R av R = l = p i l i [bitar/symbol] där L är storleken på alfabetet och p i sannolikheten för symbol i. l är kodens kodordsmedellängd [bitar/kodord].

Datakompression fö 2 p.8 Teoretisk nedre gräns Givet att vi har en minnesfri källa X j och vi kodar en symbol i taget med en prefixkod. Då begränsas kodordsmedellängden l (dvs datatakten) nedåt av L l p i log 2 p i = H(X j ) H(X j ) kallas för källans entropi.

Datakompression fö 2 p.9 Teoretisk nedre gräns, forts. Betrakta skillnaden mellan entropin och kodordsmedellängden H(X j ) l = = p i log p i p i l i = p i (log 1 log 2 l i )= p i 1 ln 2 1 (1 1) = 0 ln 2 p i (log 1 l i ) p i p i log 2 l i p i ( 2 l i p i 1) = 1 ln 2 ( L där vi utnyttjat ln x x 1 samt Krafts olikhet p i 2 l i p i )

Datakompression fö 2 p.10 Shannons informationsmått Vi vill ha ett mått I på information som är kopplat till sannolikheterna för händelser. Några önskvärda egenskaper: Informationen I(A) för en händelse A ska bara bero på sannolikheten P (A) för händelsen. Ju lägre sannolikhet för en händelse, desto större information. Om sannolikheten för en händelse är 1, så ska informationen vara 0. Informationen ska vara en kontinuerlig funktion av sannolikheten. Om två oberoende händelser A och B inträffar så ska informationen vara summan av informationerna I(A)+I(B) Detta leder till informationen ska vara ett logaritmiskt mått.

Datakompression fö 2 p.11 Informationsteori Informationen I(A; B) som erhålls om en händelse A, då händelse B inträffar definieras som I(A; B) = log b P (A B) P (A) där vi antar att P (A) 0och P (B) 0. I fortsättningen antar vi, om inget annat anges, att b =2. Enheten för information kallas då bit. (Omb = e kallas enheten nat.) I(A; B) är symmetrisk i A och B: I(A; B) =log P (A B) P (A) =log P (AB) P (A)P (B) = =log P (B A) P (B) = I(B; A) Därför kallas informationen även för ömsesidig information.

Datakompression fö 2 p.12 Informationsteori, forts. Vidare gäller I(A; B) log P (A) med likhet till vänster om P (A B) =0och likhet till höger om P (A B) =1. I(A; B) =0innebär att händelserna A och B är oberoende. log P (A) är den informationsmängd som behövs för att vi ska kunna slå fast att händelsen A inträffat. I(A; A) =log P (A A) P (A) = log P (A) Vi definierar självinformationen hos händelsen A som I(A) = log P (A)

Datakompression fö 2 p.13 Informationsteori, forts. Tillämpar vi definitionerna på händelserna {X = x} och {Y = y} får vi I(X = x) = log p X (x) och I(X = x; Y = y) =log p X Y (x y) p X (x) Dessa är reellvärda funktioner av den stokastiska variabeln X resp. den stokastiska variabeln (X, Y ), så deras medelvärden är väldefinierade. H(X) = E{I(X = x)} = p X (x i )logp X (x i ) kallas för entropin (eller osäkerheten) för den stokastiska variabeln X.

Datakompression fö 2 p.14 Informationsteori, forts. I(X; Y ) = E{I(X = x; Y = y)} = = M j=1 p XY (x i,y j )log p X Y (x i y j ) p X (x i ) kallas för (medelvärdet av) den ömsesidiga informationen mellan de stokastiska variablerna X och Y.

Datakompression fö 2 p.15 Informationsteori, forts. Om (X, Y ) betraktas som en stokastisk variabel får vi H(X, Y )= M p XY (x i,y j )logp XY (x i,y j ) j=1 Då följer att medelvärdet av den ömsesidiga informationen kan skrivas som I(X; Y ) = E{log p X Y } = E{log p XY } p X p X p Y = E{log p XY log p X log p Y } = E{log p XY } E{log p X } E{log p Y } = H(X)+H(Y ) H(X, Y )

Datakompression fö 2 p.16 Informationsteori, forts. Användbar olikhet ( IT-olikheten ) log r (r 1) log e med likhet om och endast om r =1. Kan också skrivas ln r r 1 Om X antar värden i {x 1,x 2,...,x L } så gäller att 0 H(X) log L med likhet till vänster om och endast om det finns något i sådant att p X (x i )=1och med likhet till höger om och endast om p X (x i )=1/L för alla i =1,...,L.

Datakompression fö 2 p.17 Informationsteori, forts. Bevis vänster olikhet: p X (x i ) log p X (x i ) =0, p X (x i )=0 > 0, 0 <p X (x i ) < 1 =0, p X (x i )=1 Således gäller att H(X) 0 med likhet om och endast om p X (x i ) är antingen 0 eller 1 för varje i, men då gäller att p X (x i )=1för exakt ett i.

Datakompression fö 2 p.18 Informationsteori, forts. Bevis höger olikhet: H(X) log L = = = ( p X (x i )logp X (x i ) log L p X (x i )log 1 L p X (x i ) 1 p X (x i )( L p X (x i ) L 1 L = (1 1) log e =0 p X (x i )) log e 1) log e med likhet omm p X (x i )= 1 L för alla i =1,...,L

Datakompression fö 2 p.19 Informationsteori, forts. Den betingade entropin hos X givet händelsen Y = y j är H(X Y = y j ) = p X Y (x i y j )logp X Y (x i y j ) Det gäller att 0 H(X Y = y j ) log L Den betingade entropin för X givet Y definieras som H(X Y ) = E{ log px Y } = = M p XY (x i,y j )logp X Y (x i y j ) j=1 Det gäller att 0 H(X Y ) log L

Datakompression fö 2 p.20 Informationsteori, forts. Vi har även H(X Y )= M p XY (x i,y j )logp X Y (x i y j ) j=1 = M p Y (y j )p X Y (x i y j )logp X Y (x i y j ) j=1 = M p Y (y j ) j=1 p X Y (x i y j )logp X Y (x i y j ) = M p Y (y j )H(X Y = y j ) j=1

Datakompression fö 2 p.21 Informationsteori, forts. Vi har p X1 X 2...X N = p X1 p X2 X 1 p XN X 1...X N 1 vilket leder till den s.k. kedjeregeln H(X 1 X 2...X N )= H(X 1 )+H(X 2 X 1 )+ + H(X N X 1...X N 1 ) Vi har även att I(X; Y ) = H(X) H(X Y )= = H(Y ) H(Y X)

Datakompression fö 2 p.22 Informationsteori, forts. Fler intressanta olikheter H(X Y ) H(X) med likhet om och endast om X och Y är oberoende. I(X; Y ) 0 med likhet om och endast om X och Y är oberoende. Om f(x) är en funktion på X, så gäller H(f(X)) H(X) H(f(X) X) =0 H(X, f(x)) = H(X)

Datakompression fö 2 p.23 Entropi för källor Entropin, eller entropitakten (entropy rate) för en stationär stokastisk källa X n definieras som lim n lim n 1 n H(X 1...X n )= 1 n (H(X 1)+H(X 2 X 1 )+...+ H(X n X 1...X n 1 )) = lim H(X n X 1...X n 1 ) n För en minnesfri källa är entropin lika med första ordningens entropi H(X n ).

Datakompression fö 2 p.24 Entropi för en markovkälla Entropin för en markovkälla X n av ordning k ges av men kan också räknas ut som H(X n X n 1...X n k ) L k j=1 w j H(S n+1 S n = s j ) dvs ett viktat medelvärde av entropin för de utgående sannolikheterna från varje tillstånd.