FLAC (Free Lossless Audio Coding)

Relevanta dokument
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

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

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

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

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.

Adaptiv aritmetisk kodning

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

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

TSBK04 Datakompression. Övningsuppgifter

Kompression av ljud och bild

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

TSBK04 Datakompression Övningsuppgifter

Burrows-Wheelers transform

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.

TSBK35 Kompression av ljud och bild

Shannon-Fano-Elias-kodning

Föreläsning 1: Bild- och ljudkodning

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

Föreläsning 17 - Komprimering

Transformkodning Idé: 1. Tag datasekvensen och dela in den i block av storlek N (eller N N om signalen är tvνadimensionell). Transformera dessa block

Psykoakustik. Ljudtrycksnivå. Hörselns omfång. Hörnivå(loudness) Människans hörsel är ganska väl studerad och det finns bra modeller för den.

Kodning med distorsion

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

Bilder... Dagens föreläsning. Objektgrafik. Objektgrafik. TNMK30, 2010 Föreläsning

Föreläsning 7: Bild- och videokodning

Lab 3 Kodningsmetoder

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

F3 Datarepresentation teckenkodning och datakompression

4/27/12. Fönstring i MDCT. Föreläsning 10: Ljudkodning ( Audio Coding ) 1. Inledning PCM, standardmetoder, MDCT, psykoakustik, ljudtryck

Psykoakustik. Ljudtrycksnivå. Hörselns omfång. Hörnivå (loudness) Människans hörsel är ganska väl studerad och det finns bra modeller för den.

Föreläsning 10: Ljudkodning ( Audio Coding )

Bildlagring och - komprimering

Förlustfri datakompression

Datastrukturer och algoritmer. Innehåll. Trie. Informell specifikation. Organisation av Trie. Föreläsning 13 Trie och Sökträd.

Människans hörsel är ganska väl studerad och det finns bra modeller för den.

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

Övning 6 - Tillämpad datalogi 2012

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

Data och Information. Dr. Johan Hagelbäck.

Analys/syntes-kodning

Innehåll. Föreläsning 11. Organisation av Trie. Trie Ytterligare en variant av träd. Vi har tidigare sett: Informell specifikation

repetitionskoder blockkoder Felrättande koder

SMS047 Mediakodning. Introduktion. Frank Sjöberg. Introduktion. Introduktion

INT 3 F4. Bildkomprimering. Run Length Encoding. Medieteknik Del2. Komprimering, ljud och rörliga bilder. Olika algoritmer för bildkomprimering:

Videosignalen består av en sekvens av bilder, typiskt 24, 25 eller 30 bilder i sekunden.

Föreläsning 7. Felrättande koder

Test av programvara Författare Avd Telefon Datum Version Sid Göran Lindqvist (14) LDB-centrum. Test av programvara

Tommy Färnqvist, IDA, Linköpings universitet

Synsinnet. Komprimeringsexempel. Förlustkomprimering - Bakgrund. Image Coding. Common Image Formats GIF

Repetition TSIU05 Digitalteknik Di/EL. Michael Josefsson

Föreläsning 1. Information och data

Synsinnet. Komprimeringsexempel. Förlustkomprimering - Bakgrund. Common Image Formats. Image Coding GIF. GIF (Graphis Interchange Format)

Träd och koder. Anders Björner KTH

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Att sända information mellan datorer. Information och binärdata

Övning 6. Komprimering, kryptering, dokumentering & testning

Boken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf

Föreläsning i webbdesign. Bilder och färger. Rune Körnefors. Medieteknik Rune Körnefors rune.kornefors@lnu.se

Lösningsförslag till övningsuppgifter, del V

Kapitel 2 o 3. Att skicka signaler på en länk. (Maria Kihl)

Avslutning. Kapitel Komprimering av filer

Digital- och datorteknik

Svenska kyrkans bestämmelser

P L A Y. Adobe Produktguide. Adobe Photoshop Elements 4.0 Adobe Premiere Elements 2.0

Data och information. Grunderna i datatransmission och fysiska skiktet. Media: vågledare. Datatransmission. Kodning av diskret information

Grunderna i datatransmission och fysiska skiktet. Bitarna möter verkligheten Sidorna i boken

Digital- och datorteknik

Digital- och datorteknik

-med fokus på robusthet

CX SERIES CUTTING EDGE DIGITAL AUDIO CXN NETWORK PLAYER

Bruksanvisning DAB One

Repetition C-programmering

Kihl & Andersson: , 3.1-2, (ej CDM) Stallings: 3.1-4, 5.1, 5.2, 5.3, 8.1, 8.2

Följande signaler har kodats med Manchester. Hur ser bitströmmen ut om den inleds med en 0:a?

Adobe Photoshop Elements 5.0 Adobe Premiere Elements 3.0. Adobe Produktguide

FormatE. Om format för arkivbeständiga elektroniska handlingar

Profilen Kommunikation

3 Teori för symmetriska system

Multimedia? Produktion för Webb och Multimedia

Tentamen i Digitalteknik, EIT020

Spektrala transformer Laboration: JPEG-kodning

Spektrala transformer Laboration: JPEG-kodning

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

Steganografi. Patrik Ehrnsten

Digital bildhantering

De olika exportmetoderna för rasterfiler inne i ArcMap är BMP, TIFF, GIF och PNG.

BILDKODNING TEORI. Källkodning. Analogt - och samplat

Profilansvarig: Lasse Alfredsson se även länk från programmets profilwebbsida:

Kapitel 10. Dokumentrepresentation Uppmärkt text HTML kommer från SGML

Introduktion till programmering och Python Grundkurs i programmering med Python

Laborationer i kursmomentet Datoranvändning E1

Kommunikation och Interaktion

MEDIESIGNALER INTRODUKTION

trådlöst ljud inkopplingsguider för Living serien, och vanliga frågor & svar

Introduktion C-programmering

Pixelgrafik. Utdrag ur Adobe Photoshops handbok. Om bitmappsbilder (pixelbilder) Om vektorgrafik (kallas ibland objektgrafik)

GET STARTED. Cardio Training. DesiQner

Transkript:

Datakompression fö 9 p.1 FLAC (Free Lossless Audio Coding) Distorsionsfri kodning av ljud Ljudsignalen delas in i block (typiskt några tusen sampel). Koda summa/skillnad av de två stereokanalerna om det ger högre kompression. Linjära prediktorer optimeras inom blocket. Det finns även möjlighet att använda fixa prediktorer (jämför med lossless JPEG). Prediktionsfelet kodas med Ricekoder (ungefär samma sak som Golombkoder). http://flac.sourceforge.net/

Datakompression fö 9 p.2 Tester Vi testar att koda lite olika data med olika kodare. Testdata: bibeln.txt: Textfil (1917 års bibel), 8 bitar per tecken. ffmpeg.tar: tar-arkiv med C-källkod till ffmpeg, 8 bitar per tecken. emacs: Exekverbar fil, 8 bitar per tecken. reise.wav: Musikfil (Rammstein, Reise, reise ) i wav-format: kort header plus råa ljudsampel, 16 bitar per sampel, stereo. papegoja.pgm: Gråskalebild i PGM-format (Portable GreyMap): kort header och råa sampel, 8 bitar per bildpunkt. papegoja.ppm: Färgbild i PPM-format (Portable PixMap): kort header och råa sampel, 24 bitar per bildpunkt.

Datakompression fö 9 p.3 Kodning av bibeln.txt pack 4.51 bitar/symbol. compress -b 16 2.96 gzip -9 2.55 bzip2-9 1.84 ppmd -m128 -o16 1.53 paq6-6 1.42

Datakompression fö 9 p.4 Kodning av ffmpeg.tar pack 5.42 bitar/symbol. compress -b 16 2.99 gzip -9 1.82 bzip2-9 1.55 ppmd -m128 -o16 1.33 paq6-6 1.02

Datakompression fö 9 p.5 Kodning av emacs pack 5.84 bitar/symbol. compress -b 16 3.28 gzip -9 2.50 bzip2-9 1.80 ppmd -m128 -o16 1.49 paq6-6 0.92

Datakompression fö 9 p.6 Kodning av reise.wav pack 15.60 bitar/sampel. compress -b 16 - gzip -9 15.35 bzip2-9 15.19 ppmd -m128 -o16 15.37 paq6-6 12.82 FLAC -8 11.90 huffman på 16-bitars symboler 15.10 sampelskillnader+huffman 13.19 paq6 klarar sig bra, eftersom den har kontexter som försöker upptäcka 16-bitarsdata.

papegoja.pgm Datakompression fö 9 p.7

Datakompression fö 9 p.8 Kodning av papegoja.pgm pack 7.30 bitar/bildpunkt. compress -b 16 5.94 gzip -9 5.87 bzip2-9 4.47 ppmd -m128 -o16 4.24 paq6-6 3.87 png 3.93 lossless JPEG 3.94 JPEG-LS 3.49

papegoja.ppm Datakompression fö 9 p.9

Datakompression fö 9 p.10 Kodning av papegoja.ppm pack 22.86 bitar/bildpunkt. compress -b 16 19.52 gzip -9 15.77 bzip2-9 12.85 ppmd -m128 -o16 13.32 paq6-6 9.15 png 11.36 lossless JPEG 12.07 JPEG-LS 10.61 Förvånansvärt gör paq6 ett bättre jobb än speciella bildkodare. paq6 har kontexter som försöker upptäcka 24-bitarsdata. Dessutom klarar paq6 av att utnyttja beroendet mellan de tre färgkanalerna, medan de tre bildkodarna kodar R-, G- och B-kanalerna separat.

Datakompression fö 9 p.11 Informationsteori Entropi H(X) = L p X (x i ) log p X (x i ) i=1 H(X, Y )= Betingad entropi H(X Y )= Ömsesidig information L i=1 L i=1 M p XY (x i,y j ) log p XY (x i,y j ) j=1 M p XY (x i,y j ) log p X Y (x i y j ) j=1 I(X; Y )= L i=1 M j=1 p XY (x i,y j ) log p X Y (x i y j ) p X (x i )

Datakompression fö 9 p.12 Informationsteori Kedjeregeln H(X 1 X 2...X N )= H(X 1 )+H(X 2 X 1 )+ + H(X N X 1...X N 1 ) Ömsesidig information I(X; Y )=H(X) H(X Y )=H(Y) H(Y X) I(X; Y )=H(X)+H(Y) H(X, Y ) Olikheter 0 H(X) log L H(X Y ) H(X) I(X; Y ) 0 H(f(X)) H(X)

Datakompression fö 9 p.13 Källor Entropi(takt) lim n 1 n H(X 1...X n ) = lim n H(X n X 1...X n 1 ) Markovkälla av ordning k: Källa med minne som inte sträcker sig längre än k steg tillbaka i sekvensen. Entropi(takt) för markovkälla: H(X i X i 1...X i k ) L k j=1 w j H(S i+1 S i = s j )

Datakompression fö 9 p.14 Källkodningsteori Kod: Avbildning från symbolsekvenser till bitsekvenser. Unikt avkodbara koder: Man kan återskapa symbolsekvensen. Momentant avkodbara koder: Gränserna mellan kodorden i bitsekvensen kan ses direkt när man avkodar. Prefixkoder: Inget kodord prefix till något annat. Trädkoder. Alla prefixkoder är moment avkodbara och vice versa.

Datakompression fö 9 p.15 Källkodningsteori Krafts olikhet: En momentant avkodbar kod (prefixkod, trädkod) med kodordslängderna l 1,...,l N existerar om och endast om N 2 l i 1 i=1 Kraft-McMillans olikhet: Olikheten ovan gäller för alla unikt avkodbara koder. Godhetsmått: medeldatatakt R = E{# bitar i kodordet} E{# symboler per kodord} [bitar/symbol] Medeldatatakten är aldrig mindre än entropitakten. Glöm inte bort sidoinformationen! Kodträd, fördelningar, kodparametrar, etc.

Datakompression fö 9 p.16 Praktiska metoder Huffmankodning Aritmetisk kodning Lempel-Ziv-kodning (LZ77, LZ78, LZSS, deflate, LZW) Adaptiv huffmankodning Adaptiv aritmetisk kodning (ppm) Systematiska koder (Golomb) Skurlängdskodning (fax) Tunstallkodning BWT