Datakomprimering a) Komprimering för att spara lagringsutrymme.

Slides:



Advertisements
Liknande presentationer
Sätt kryss vid ett av följande alternativ:
Advertisements

BAS-M Hur du på ett enkelt sätt administrerar din båtklubbs register.
Att tänka på då man har en muntlig presentation med ppt
Kampanjuppföljning Hur den senaste kupongkampanjen gick totalt sett vet du säkert. Men hur gick den i exempelvis Skåne jämfört med i Göteborg? Var resultatet.
Talföljder formler och summor
Sammandrag i bildspelsform Du kan ta dig igenom hela bildspelet med piltangenterna eller med musen. Du kan även välja avsnitt genom att klicka på de olika.
Enheter introduktion Hur lång är du?
ClaroReadPro V5 B engt Österlind Solna Skoldatatek 18 november 2009.
Från mönster till algebra
Grunder i PowerPoint 2000 Skapa en ny presentation Rita egna objekt
Här ser ni några sidor som hjälper er att lösa uppgifterna:
Via SMS så får du erbjudande om nya vikariepass, kan acceptera eller avböja dessa erbjudanden, eller blir direktbokade på pass. Förfrågningarna besvaras.
SSQ 5.6 sida 1 De följande frågorna gäller din förmåga och dina upplevelser i samband med att höra och lyssna i olika situationer. För varje fråga ska.
En genomgång av spelet: Dubbelkrig-Grön
SSQ12-B Instruktioner Namn Datum Ålder
PowerPoint av Bendik S. Søvegjarto Koncept, text och regler av Skage Hansen.
hej och välkomna EKVATIONER Ta reda på det okända talet.
BEANS NÖJD KUND INDEX (e-survey undersökning)
Enkel dator teknik Tips och tricks.
Leif Håkansson’s Square Dancer Rotation
William Sandqvist Maurice Karnaugh Karnaugh-diagrammet gör det enkelt att minimera Boolska uttryck! William Sandqvist
Dialogkort - arbetsmiljö och hälsa
Datastrukturer och algoritmer Föreläsning 11. Datastrukturer och algoritmer VT08 Innehåll  Mängd  Lexikon  Heap  Kapitel , , 14.4.
ZIP-formatet Av Viktor Ekholm.
Resonans, eko, ultraljud, infraljud, ljudets hastighet
Varför är det bra att ha just två öron?
FL2 732G70 Statistik A Detta är en generell mall för att göra PowerPoint presentationer enligt LiUs grafiska profil. Du skriver in din rubrik,
732G22 Grunder i statistisk metodik
Rita av.
Stora additionstabellen
Växjö 15 april -04Språk & logik: Reguljära uttryck1 DAB760: Språk och logik 15/4: Finita automater och 13-15reguljära uttryck Leif Grönqvist
Programhantering Filhantering [”Önskvärda” kunskaper]
Programmering B PHP Lektion 2
Var vänlig svara på nedanstående frågor innan du svarar på frågorna om din hörsel Namn: Datum: Ålder: Jag använder en hörapparat (vänster öra) Jag använder.
De följande frågorna gäller din förmåga och dina upplevelser i samband med att höra och lyssna i olika situationer. Du svarade på samma frågor tidigare.
Word Read Plus 08 talsyntes
Programmering B PHP Lektion 3
PerUllaIngaEgon 1.Skriv in de tävlandes namn. 2. Per börjar slå med två tjugosidiga tärningar. Han får 15 och 5. Gränsvärdet för första höjden är =10,
Tabeller.
Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1
Stockholmsbörsens granskning av noteringsavtalets krav på information om bolagsstyrning Torsten Örtengren Chef notering och bolagsövervakning, Stockholmsbörsen.
Uppmärksamhetstest Från kvinnor till kvinnor
Det handlar om multiplikation
TÄNK PÅ ETT HELTAL MELLAN 1-50
William Sandqvist C:s minnesmodell.
Exder EPC. Exder EPC Välkommen! I det här bildspelet går vi igenom hur man lägger upp nya artiklar samt skickar artikelinformation. Du bläddrar framåt.
1 Joomla © 2009 Stefan Andersson 1. 2 MÅL 2 3 Begrepp Aktör: en användare som interagerar med webbplatsen. I diagrammet till höger finns två aktörer:
1 ITK:P2 F2 Stilsättning av XHTML DSV Peter Mozelius.
Vem är Han? Vad vill Han? Vad kan Han? Frälsning, Andens verk?
KVALITATIV ANALYS - FACKVERK
2 Agenda 1. Börja arbeta med Excel Hantera arbetsböcker 3. Formler 4. Formatera 5. Diagram 6. Skriva ut 7. Referenser mellan kalkylblad 8. Arbeta.
Frågor. Vad är en Fråga? -En fråga är ett urval av information från ett eller flera fält i en eller flera tabeller. - Du använder frågor för att selektera.
William Sandqvist Databuffer Omvandlar mellan olika storlekar på dataobjekt Anpassar mellan olika dataöverföringshastigheter Databuffer.
Logikprogrammering 21/10 Binära träd
Java paket och jar-filer
Binomialsannolikheter ritas i ett stolpdiagram
Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 11 C# I/O Streams C# använder “strömmar” för in- och utmatningsoperationer.
Inspelning och digitalisering
BVForum - en genomgång för revisorer Sören Thuresson.
William Sandqvist ReadModifyWrite-problemet PORTB = 0; PORTB.0 = 1; PORTB = PORTB; Vilket värde har portpinnen RB1 nu ? Förmodligen ”1”,
1 Jan Lundström OV’s Hemsida Utbildning Ledare. 2 Jan Lundström OV’s Hemsida Standard Lagrum.
Föreläsning 2 programmeringsteknik och Matlab 2D1312/ 2D1305
© Anders Broberg, Lena Kallin Westin, 2007 Datastrukturer och algoritmer Föreläsning 14.
William Sandqvist Distributed Computing Client – Server. En skrivarserver kan vara ett exempel på en Client-Server arkitektur. S Burd, Systems.
William Sandqvist Funktionsbibliotek När man utvecklat en funktion så långt att den är "färdigutvecklad" kan man lika gärna spara den på.
Regler för citatteknik
Exempel på skriftligt omdöme
Enkel dator teknik Tips och tricks. Välja storlek och radavstånd Här väljer du storlek på texten vi vill att ni använder 14 p till rubriker och 12 p till.
IT Fördjupning Jon Wide
Grundläggande signalbehandling
Presentationens avskrift:

William Sandqvist william@kth.se Datakomprimering a) Komprimering för att spara lagringsutrymme. b) Komprimering vid dataöverföring. S Burd, Systems Architecture ISBN 0-619-21692-1 Figure 6-15 William Sandqvist william@kth.se

LZW, algoritmen bakom GIF ZIP PDF Lempel-Ziv-Welch icke förstörande komprimeringsalgoritm. Patentet gick ut 2006 – varsågoda att använda … William Sandqvist william@kth.se

William Sandqvist william@kth.se Ett exempel Följande exempel har vi hämtat från Wikipedia. Det är ett förvrängt "Hamlet"-citat om 25 bokstäver som effektivt kan komprimeras med LZW-algoritmen. LZW-algoritmen är annars effektivast vid lite längre meddelan-den/filer. To be or not to be or to be or not. Utgångspunkten är att den som komprimerar meddelandet och den som senare ska expandera det är överens om den använda teckentabellen. För att göra exemplet mer lätthanterligt begränsar vi oss till engelska språkets stora bokstäver och utesluter mellanslagen. Tecknet # får betyda meddelandets slut. TOBEORNOTTOBEORTOBEORNOT# William Sandqvist william@kth.se

William Sandqvist william@kth.se Teckentabellen TOBEORNOTTOBEORTOBEORNOT# En fem bitars kod kan koda 32 tecken och detta räcker således som vår teckentabell eftersom vi bara har har 27 tecken ( engelska alfabetets 26 tecken och  # ). Okomprimerad bitsträng – en bitsträng med 25 tecken a´ fem bitar, totalt 25*5=125 bitar. Det är detta bitantal som vi ska försöka minska med hjälp av LZW-algoritmen! 10100011110001000101011111001001110011111010010100011110001000101011111001010100011110001000101011111001001110011111010000000 William Sandqvist william@kth.se

William Sandqvist william@kth.se LZW-komprimering (1) Uppdatera lexikon från markören och bakåt med tecken/sträng : Ingen uppdater-ing kan ske! Sammansätt meddelandet från markören och framåt med lexikonord: 10100 William Sandqvist william@kth.se

William Sandqvist william@kth.se LZW-komprimering (2) Uppdatera lexikon från markören och bakåt med tecken/sträng : Sammansätt meddelandet från markören och framåt med lexikonord: 1010001111 William Sandqvist william@kth.se

William Sandqvist william@kth.se LZW-komprimering (3) Uppdatera lexikon från markören och bakåt med tecken/sträng : Sammansätt meddelandet från markören och framåt med lexikonord: 101000111100010 William Sandqvist william@kth.se

William Sandqvist william@kth.se LZW-komprimering (4) Uppdatera lexikon från markören och bakåt med tecken/sträng : Sammansätt meddelandet från markören och framåt med lexikonord: 10100011110001000101 William Sandqvist william@kth.se

William Sandqvist william@kth.se LZW-komprimering (5) Uppdatera lexikon från markören och bakåt med tecken/sträng : Sammansätt meddelandet från markören och framåt med lexikonord: 1010001111000100010101111 William Sandqvist william@kth.se

William Sandqvist william@kth.se LZW-komprimering (6) Uppdatera lexikon från markören och bakåt med tecken/sträng : Nästa gång behöver Lexikonet 6 bitars ord! Sammansätt meddelandet från markören och framåt med lexikonord: Nästa gång 6 bitars ord! 101000111100010001010111110010 William Sandqvist william@kth.se

William Sandqvist william@kth.se LZW-komprimering (7) Uppdatera lexikon från markören och bakåt med tecken/sträng : Nu 6 bitars ord i tabellen! Sammansätt meddelandet från markören och framåt med lexikonord: Nu 6 bitars ord i meddelandet! 101000111100010001010111110010001110 William Sandqvist william@kth.se

William Sandqvist william@kth.se LZW-komprimering (8) Uppdatera lexikon från markören och bakåt med tecken/sträng : Sammansätt meddelandet från markören och framåt med lexikonord: 101000111100010001010111110010001110001111 William Sandqvist william@kth.se

William Sandqvist william@kth.se LZW-komprimering (9) Uppdatera lexikon från markören och bakåt med tecken/sträng : Sammansätt meddelandet från markören och framåt med lexikonord: 101000111100010001010111110010001110001111010100 William Sandqvist william@kth.se

William Sandqvist william@kth.se LZW-komprimering (10) Uppdatera lexikon från markören och bakåt med tecken/sträng : Sammansätt meddelandet från markören och framåt med lexikonord: Nu får vi nytta av ett lexikon-ord! 101000111100010001010111110010001110001111010100011011 William Sandqvist william@kth.se

William Sandqvist william@kth.se LZW-komprimering (11) Uppdatera lexikon från markören och bakåt med tecken/sträng : Sammansätt meddelandet från markören och framåt med lexikonord: 101000111100010001010111110010001110001111010100011011011101 William Sandqvist william@kth.se

William Sandqvist william@kth.se LZW-komprimering (12) Uppdatera lexikon från markören och bakåt med tecken/sträng : Sammansätt meddelandet från markören och framåt med lexikonord: 101000111100010001010111110010001110001111010100011011011101011111 William Sandqvist william@kth.se

William Sandqvist william@kth.se LZW-komprimering (13) Uppdatera lexikon från markören och bakåt med tecken/sträng : Sammansätt meddelandet från markören och framåt med lexikonord: 101000111100010001010111110010001110001111010100011011011101011111100100 William Sandqvist william@kth.se

William Sandqvist william@kth.se LZW-komprimering (14) Uppdatera lexikon från markören och bakåt med tecken/sträng : Sammansätt meddelandet från markören och framåt med lexikonord: 101000111100010001010111110010001110001111010100011011011101011111100100011110 William Sandqvist william@kth.se

William Sandqvist william@kth.se LZW-komprimering (15) Uppdatera lexikon från markören och bakåt med tecken/sträng : Sammansätt meddelandet från markören och framåt med lexikonord: 101000111100010001010111110010001110001111010100011011011101011111100100011110100000 William Sandqvist william@kth.se

William Sandqvist william@kth.se LZW-komprimering (16) Uppdatera lexikon från markören och bakåt med tecken/sträng : Sammansätt meddelandet från markören och framåt med lexikonord: 101000111100010001010111110010001110001111010100011011011101011111100100011110100000100010 William Sandqvist william@kth.se

William Sandqvist william@kth.se LZW-komprimering (17) Vi har nu nått slutet av meddelandet (slut-tecknet #). Bitföljden blev 96 tecken lång. 101000111100010001010111110010001110001111010100011011011101011111100100011110100000100010000000 Jämför med den ursprungliga bitföljden med 125 bitar! 10100011110001000101011111001001110011111010010100011110001000101011111001010100011110001000101011111001001110011111010000000 96/125 = 0,76. Meddelandet har komprimerats med 25%. Längre texter kan reduceras med c:a 50%. William Sandqvist william@kth.se

LZW-dekomprimering (1) Det räcker med att den som ska dekomprimera, ”packa upp”, med-delandet känner den ursprungliga teckentabellen, därefter kan lexikonet konstrueras i takt med att tecknen mottages. Mottaget tecken: 10100 Dekomprimerat meddelande: T Lexikon kan inte uppdateras nu. William Sandqvist william@kth.se

LZW-dekomprimering (2) Mottagna tecken: 1010001111 Dekomprimerat meddelande: TO Uppdaterat lexikon: William Sandqvist william@kth.se

LZW-dekomprimering (3) Mottagna tecken: 101000111100010 Dekomprimerat meddelande: TOB Uppdaterat lexikon: William Sandqvist william@kth.se

LZW-dekomprimering (4) Mottagna tecken: 10100011110001000101 Dekomprimerat meddelande: TOBE Uppdaterat lexikon: William Sandqvist william@kth.se

LZW-dekomprimering (5) Mottagna tecken: 1010001111000100010101111 Dekomprimerat meddelande: TOBEO Uppdaterat lexikon: William Sandqvist william@kth.se

LZW-dekomprimering (6) Mottagna tecken: Nästa gång 6 bitars ord! 101000111100010001010111110010 Dekomprimerat meddelande: TOBEOR Uppdaterat lexikon: Nästa gång behöver Lexikonet 6 bitars ord! William Sandqvist william@kth.se

LZW-dekomprimering (7) Mottagna tecken: Från och med nu 6 bitars ord! 101000111100010001010111110010001110 Dekomprimerat meddelande: TOBEORN Uppdaterat lexikon: Nu 6 bitars ord! William Sandqvist william@kth.se

LZW-dekomprimering (8) Mottagna tecken: 101000111100010001010111110010001110001111 Dekomprimerat meddelande: TOBEORNO Uppdaterat lexikon: William Sandqvist william@kth.se

LZW-dekomprimering (9) Mottagna tecken: 101000111100010001010111110010001110001111010100 Dekomprimerat meddelande: TOBEORNOT Uppdaterat lexikon: William Sandqvist william@kth.se

LZW-dekomprimering (10) Mottagna tecken: 101000111100010001010111110010001110001111010100011011 Dekomprimerat meddelande: TOBEORNOTTO Uppdaterat lexikon: William Sandqvist william@kth.se

LZW-dekomprimering (11) Mottagna tecken: 101000111100010001010111110010001110001111010100011011011101 Dekomprimerat meddelande: TOBEORNOTTOBE Uppdaterat lexikon: William Sandqvist william@kth.se

LZW-dekomprimering (12) Mottagna tecken: 101000111100010001010111110010001110001111010100011011011101011111 Dekomprimerat meddelande: TOBEORNOTTOBEOR Uppdaterat lexikon: William Sandqvist william@kth.se

LZW-dekomprimering (13) Mottagna tecken: 101000111100010001010111110010001110001111010100011011011101011111100100 Dekomprimerat meddelande: TOBEORNOTTOBEORTOB Uppdaterat lexikon: William Sandqvist william@kth.se

LZW-dekomprimering (14) Mottagna tecken: 101000111100010001010111110010001110001111010100011011011101011111100100011110 Dekomprimerat meddelande: TOBEORNOTTOBEORTOBEO Uppdaterat lexikon: William Sandqvist william@kth.se

LZW-dekomprimering (15) Mottagna tecken: 101000111100010001010111110010001110001111010100011011011101011111100100011110100000 Dekomprimerat meddelande: TOBEORNOTTOBEORTOBEORN Uppdaterat lexikon: William Sandqvist william@kth.se

LZW-dekomprimering (16) Mottagna tecken: 101000111100010001010111110010001110001111010100011011011101011111100100011110100000100010 Dekomprimerat meddelande: TOBEORNOTTOBEORTOBEORNOT Uppdaterat lexikon: William Sandqvist william@kth.se

LZW-dekomprimering (17) Mottagna tecken: 101000111100010001010111110010001110001111010100011011011101011111100100011110100000100010000000 Dekomprimerat meddelande: TOBEORNOTTOBEORTOBEORNOT# Klart! Meddelandet dekomprimerat. Lexikon kan raderas. William Sandqvist william@kth.se

William Sandqvist william@kth.se LZW-dekomprimering Går det alltid bra att dekomprimera meddelanden? Vad händer om det vid komprimeringen går att uppdatera tabellen med en sträng som också kan sändas direkt? Hur ska mottagaren göra om det kommer en kod som inte kan hittas i tabellen? Detta kan bara gälla om meddelandet innehåller ”cScSc” (c ett tecken, S en sträng) och då cS finns i lexikon. Först skickas cS och lexikon uppdateras med cSc. Därefter skickas cSc som inte finns i det mottagande lexikonet. Men eftersom cS finns, och det okända tecknet måste vara av typen cSc (börja och sluta på samma) så kompletterar mottagaren sitt lexikon. William Sandqvist william@kth.se

Förstörande komprimering av ljud MP3 William Sandqvist william@kth.se

William Sandqvist william@kth.se Psykoakustik Förstörande komprimering utnyttjar och använder de defekter som finns i människans uppfattningsförmåga. Exempelvis har studier i psykoakustik visat att personer endast kan uppfatta ett fåtal av de starkaste tonerna i ett ljud. Det gör att man kan ta bort de svagare ljuden med signalbehandling och erhålla en signal som inte har lika stora amplitud- och frekvensvariationer. Detta görs med en enhet som kallas för Perceptual modeler. Signalen blir därmed lättare att komprimera på ett konventionellt sätt, dvs med någon algoritm liknande LZW. Efter en sådan behandling kan ljudet komprimeras till ca en tiondel av den ursprungliga storleken, utan att lyssnaren uppfattar distorsionen. Denna metod använder MP3-standarden. William Sandqvist william@kth.se

William Sandqvist william@kth.se ex 32 frekvensband Enheten Frequency separator delar upp ljudet i frekvensband på samma sätt som equalizern i din hemmastereo. William Sandqvist william@kth.se

William Sandqvist william@kth.se MP3 Enheten Data encoder sammansätter informationen om ljudets styrka i olika frekvensband, med de psykoakustiska reglerna om vad örat kan uppfatta. Frekvenser som ändå inte skulle kunna uppfattas tas bort. Därefter komprimeras datamängden med en ”icke förstörande” algoritm liknande LZW. (Det är inte troligt att en varelse från en annan planet skulle hålla med om att MP3-ljudet är ”samma” som orginaljudet, eftersom metoden bygger på psykoakustiska regler för just vårt öra.) William Sandqvist william@kth.se

William Sandqvist william@kth.se Bildkompression GIF Använder en ”färgpalett” med 256 färger – verklighetens bilder har fler färger, det är därför bara datorgenererade bilder, som använder paletten, som återges förlustfritt. Bildfilen komprimeras med LZW-algoritmen (förlustfritt). JPEG använder ”millioner färger”, komprimeringen styrs av ett ”kvalitetstal” – man får kompromissa mellan återgivningsfel och filstorlek. William Sandqvist william@kth.se

William Sandqvist william@kth.se (ASCII-grafik) Bilden till höger är ”ritad” med vanliga bokstäver (55 rader a’ 100 tecken). Det är således uppenbart att man kan reducera en bildfils storlek om man är beredd att ge avkall på bildkvalitén. William Sandqvist william@kth.se

JPEG Bildkomprimering Låg kompression Hög kompression Små 88 pixel bildblock ”transformeras”, dvs. omräknas, matematiskt (DCT), och förlustfritt. Därefter begränsas värdena (Quantization) efter hur stor förlust man kan tåla. För att presentera bilden förfar man i omvänd ordning. De värden bildpunkterna haft innan begränsningen kan inte återskapas fullständigt. Detta ger återgivningsfel. William Sandqvist william@kth.se

William Sandqvist william@kth.se 3:1 15:1 50:1 150:1 William Sandqvist william@kth.se Källa: Wikipedia