SMS047 Mediakodning Frank Sjöberg Email: frank@sm.luth.se Rum A3207 Kursen behandlar kodning av fyra olika typer av media Text & annan data Bild Ljud (ej tal) Video Vi kommer i första hand att studera de grundläggande teorierna som de vanligast kodningsmetoderna bygger på. Detta inkluderar informationsteori, kvantisering, rate-distortion teori, prediktiva metoder, transformer och filterbankar. I viss mån kommer vi titta lite närmare på existerande standarder. SMS047 - #1 Frank Sjöberg - Signalbehandling 1 SMS047 - #1 Frank Sjöberg - Signalbehandling 2 Kursen består av 15 föreläsningar och 4 obligatoriska laborationer. Som alternativ examinationsform finns möjligheten att göra ett miniprojekt i slutet av kursen. Miniprojektet görs helst i grupper om två personer, och redovisas både skriftligt och muntlig. Den muntliga presentation skall vara ca 20 minuter, och rapporten böra inte vara längre än 10 sidor. Lämpligt projektområde och litteratur väljs i samråd med läraren. Några frågor man kan ställa sig: Vad innebär kodning? Varför kodar man media/information/data? Vad skall man tänka på vid kodning av media? Finns det gränser för hur mycket man kan komprimera data? SMS047 - #1 Frank Sjöberg - Signalbehandling 3 SMS047 - #1 Frank Sjöberg - Signalbehandling 4
Kodning Källkodning Källkodning innebär komprimering av data, dvs att hitta en så bra datarepresentation som möjligt av informationen från en källa. Kanalkodning handlar om hur man kodar informationen för att skydda den mot fel som kan uppstå vid överföring eller lagring av data. Felkorrigerande och feldetekterande koder hör till detta område. Källkodning och Kanalkodning tillhör informationsteorin som Shannon lade grunden till 1948. I den här kursen kommer vi bara studera källkodning. Man brukar dela upp kodningsmetoder i två fundamentalt olika klasser: Förlustfri kodning (non lossy) - kallas ofta entropikodning Icke förlustfri kodning (lossy). Detta hör samman med huruvida man kodar digitala eller analoga källor. Andra parametrar som är av intresse när jämför olika kodningsmetoder: Prestanda - komprimeringsgraden. Komplexitet - beräkningskomplexitet, minnesåtgång, parallellism, etc Robusthet - feltolerans, hur olika typer av källor kan hanteras, etc Användbarhet, flexibilitet - Progressiv kodning, Multi-resolution, etc SMS047 - #1 Frank Sjöberg - Signalbehandling 5 SMS047 - #1 Frank Sjöberg - Signalbehandling 6 Förlustfri kodning Icke förlustfri kodning Med förlustfri kodning kan det ursprungliga datat kan återskapas exakt. Hur mycket man kan komprimera datat begränsas av entropin i datat/källan. Några olika metoder Huffman-kodning. Lempel-Ziv kodning. Aritmetisk kodning Olika applikationer ZIP/RAR/ACE etc. GIF/TIFF/(JPEG). WMA-förlustfri Med icke förlustfri kodning kan det ursprundliga datat inte kan återskapas exakt. Lite information kommer att förloras i kodningsprocessen. Genom att tolerera en viss informationsförlust kan komprimeringsgraden förbättras. Det finns ingen undre gräns för komprimeringsgraden - hårdare komprimering ger mer informationsförlust/ mer distortionen. Icke förlusfri kodning är starkt kopplat till perceptiva modeller. Målet är att distortionen som uppstår inte skall kunna uppfattas av ögat eller örat. Trivialt exempel: Om vi har samplat ljud med 32 bitars upplösning så går det, utan att örat kan upptäcka det, kasta hälften av bitarna och bara spara de 16 mest signifikanta. SMS047 - #1 Frank Sjöberg - Signalbehandling 7 SMS047 - #1 Frank Sjöberg - Signalbehandling 8
Icke förlustfri kodning Några olika metoder DPCM, ADPCM. Transformkodning. Fraktal kodning Olika applikationer JPEG/JPEG2000. MP3, AAC, RA, WMA. GSM, CELP MPEG-1/2/4, ITU-263. Name that picture i frekvensdomänen Dela in bilden i block om 16x16 pixlar. Tranformera varje block med cosinustransformen Behåll bara 1 av 256 koefficienter. SMS047 - #1 Frank Sjöberg - Signalbehandling 9 SMS047 - #1 Frank Sjöberg - Signalbehandling 10 3(256) koefficienter 10(256) koefficienter SMS047 - #1 Frank Sjöberg - Signalbehandling 11 SMS047 - #1 Frank Sjöberg - Signalbehandling 12
Originalbild 1(256) koefficienter SMS047 - #1 Frank Sjöberg - Signalbehandling 13 SMS047 - #1 Frank Sjöberg - Signalbehandling 14 3(256) koefficienter 10(256) koefficienter SMS047 - #1 Frank Sjöberg - Signalbehandling 15 SMS047 - #1 Frank Sjöberg - Signalbehandling 16
Originalbild SMS047 - #1 Frank Sjöberg - Signalbehandling 17