18
DD1343 Komprimering Carl Henrik Ek {chek}@csc.kth.se Royal Institute of Technology February 14, 2012 Ek KTH DD1343 Komprimering

DD1343 Komprimering · Carl Henrik Ek [email protected] Royal Institute of Technology February 14, 2012 Ek KTH DD1343 Komprimering. Introduktion Minnes utrymme antal element variationer

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • DD1343Komprimering

    Carl Henrik Ek{chek}@csc.kth.se

    Royal Institute of Technology

    February 14, 2012

    Ek KTH

    DD1343 Komprimering

  • Introduktion

    Minnes utrymmeantal element × variationer per element

    Variationerbool 1 21 2byte, char 8 28 256word, short int 16 216 65536longword, int 32 232 4294967296quad, long int 64 264 1.84467441× 1019

    Ek KTH

    DD1343 Komprimering

  • Introduction

    • Nummer av elementI width=447 height=512⇒ 447× 512 = 228 864• Variationer per element

    I Dela upp i röd, grön och blå(kanaler)

    I 256 toner av varje färg⇒ 3× 8 = 24

    • 447× 512× 243 = 1830912bytes ≈ 1788 kilobyte

    • Verklig 61 kilobytes⇒ 611788 ≈ 0.03

    Ek KTH

    DD1343 Komprimering

  • Kompression

    • Okomprimerad data X• Komprimerad data Y• Komprimering T: X → Y

    Types• Non-lossy⇒ T bijection• Lossy⇒ T icke-bijection (X 6= T−1(T (X)))

    I denna kurs Non-lossy kompression

    Ek KTH

    DD1343 Komprimering

  • RLE Run Length Endcoding

    • Repetitioner av elementI aaaaaabaaaaaaaabbbbbabbbaaaaaaI ababababababababababababababab

    • Spara längd av följd av elementenI 6a1b8a5b1a3b6aI 1a1b1a1b1a1b1a. . .1bI 15ab

    • Direkt kodning: 30× 8 = 240 bitar• RLE kodning,

    I 14× 8 = 112 bitar, kompressions ratio 112240 ≈ 0.47I 60× 8 = 480 bitar, kompressions ratio 480240 = 2I 1× 8 + 2× 8 = 24 bitar, kompressions ratio 24240 = 0.1

    Ek KTH

    DD1343 Komprimering

  • RLE Run Length Endcoding

    • Repetitioner av elementI aaaaaabaaaaaaaabbbbbabbbaaaaaaI ababababababababababababababab

    • Spara längd av följd av elementenI 6a1b8a5b1a3b6aI 1a1b1a1b1a1b1a. . .1bI 15ab

    • Direkt kodning: 30× 8 = 240 bitar• RLE kodning,

    I 14× 8 = 112 bitar, kompressions ratio 112240 ≈ 0.47I 60× 8 = 480 bitar, kompressions ratio 480240 = 2I 1× 8 + 2× 8 = 24 bitar, kompressions ratio 24240 = 0.1

    Ek KTH

    DD1343 Komprimering

  • RLE Run Length Endcoding

    • Repetitioner av elementI aaaaaabaaaaaaaabbbbbabbbaaaaaaI ababababababababababababababab

    • Spara längd av följd av elementenI 6a1b8a5b1a3b6aI 1a1b1a1b1a1b1a. . .1bI 15ab

    • Direkt kodning: 30× 8 = 240 bitar• RLE kodning,

    I 14× 8 = 112 bitar, kompressions ratio 112240 ≈ 0.47I 60× 8 = 480 bitar, kompressions ratio 480240 = 2I 1× 8 + 2× 8 = 24 bitar, kompressions ratio 24240 = 0.1

    Ek KTH

    DD1343 Komprimering

  • Element Ersättning

    Element• Hur skall varje element representeras?• Vad är det atomära beståndsdelen i datan?

    Ek KTH

    DD1343 Komprimering

  • ASCII tabell

    14/02/2012 08:32 Ascii Table - ASCII character codes and html, octal, hex and decimal chart conversion

    Page 1 of 1http://www.asciitable.com/

    ASCII | Scan Codes and EBCDIC | HTML Codes | Unicode v4

    ASCII Table and DescriptionASCII stands for American Standard Code for Information Interchange. Computers can only understand numbers, so an ASCIIcode is the numerical representation of a character such as 'a' or '@' or an action of some sort. ASCII was developed a longtime ago and now the non-printing characters are rarely used for their original purpose. Below is the ASCII character table andthis includes descriptions of the first 32 non-printing characters. ASCII was actually designed for use with teletypes and so thedescriptions are somewhat obscure. If someone says they want your CV however in ASCII format, all this means is they want'plain' text with no formatting such as tabs, bold or underscoring - the raw format that any computer can understand. This isusually so they can easily import the file into their own applications without issues. Notepad.exe creates ASCII text, or in MSWord you can save a file as 'text only'

    Extended ASCII Codes

    CompareEreaders

    Here

    Link2MeHosting

    UnitConversion

    Link2Me LinkExchange

    Dialing Codes

    Copyright © http://www.asciitable.com 2010

    Ads by Google Character Letters Text Codes ASCII Text Editor ASCII

    Ads by Google Hex Table Decimal Conversion Hex Viewer Coupons Codes

    Ek KTH

    DD1343 Komprimering

  • Element Ersättning

    Element• Hur skall varje element representeras?• Vad är det atomära beståndsdelen i datan?

    Huffman• Statistisk representation• De element som är mest sannolika representeras med minst

    antal bitar och vise versa

    Ek KTH

    DD1343 Komprimering

  • Huffman

    AlgoritmHuffman kodning genereras genom binärt träd1. Samanställ frekvens av element2. Skapa noder av alla bokstäver med frekvens som attribut3. Till inga element kvar,

    I Koppla samman de två element med lägst frekvensI Skapa ny nod med attribut som summan av barn

    4. Associera varje kant med 0,1

    Ek KTH

    DD1343 Komprimering

  • Huffman

    Exempel

    • Normal kodning: 5 variationer⇒ 3 bitar per element• Huffman kodning: 24621 +

    12623 +

    10623 +

    8623 +

    8623 ≈ 2.23

    Ek KTH

    DD1343 Komprimering

  • Huffman

    Exempel

    • Normal kodning: 5 variationer⇒ 3 bitar per element• Huffman kodning: 24621 +

    12623 +

    10623 +

    8623 +

    8623 ≈ 2.23

    Ek KTH

    DD1343 Komprimering

  • Huffman

    Exempel

    • Normal kodning: 5 variationer⇒ 3 bitar per element• Huffman kodning: 24621 +

    12623 +

    10623 +

    8623 +

    8623 ≈ 2.23

    Ek KTH

    DD1343 Komprimering

  • Lossy Kompression

    Manifold Relevance Determination

    Ek KTH

    DD1343 Komprimering

  • Nästa gång

    • Textsökning• Automater

    Ek KTH

    DD1343 Komprimering

  • e.o.f.

    Ek KTH

    DD1343 Komprimering

  • References I

    Ek KTH

    DD1343 Komprimering