270 likes | 479 Views
Komprimering. Torbjörn Wiberg Umeå universitet. Disposition. Inledning Två typer av komprimering Komprimeringsmetoder Inför val av metod Ljudkomprimering Bildkomprimering Film- och animeringskomprimering. Inledning. Komprimering - en förutsättning för multimedier
E N D
Komprimering Torbjörn Wiberg Umeå universitet Torbjörn Wiberg, UmU
Disposition • Inledning • Två typer av komprimering • Komprimeringsmetoder • Inför val av metod • Ljudkomprimering • Bildkomprimering • Film- och animeringskomprimering Torbjörn Wiberg, UmU
Inledning • Komprimering - en förutsättning för multimedier • vare sig de är interaktiva, distribuerade eller inte • Några mått: • 1 CD rymmer 648 MB. • Ljud (stereo, "CD"-kvalitet) - 72 minuter per CD. • Film (studiokvalitet) - 30 sek per CD • En småbildsfilm - ca 50MB, dvs 13 per CD. • 1 DVD rymmer x GB • En långfilm på TV (90 minuter) behöver 120 GB, dvs x0 DVD. • Allt detta okomprimerat Torbjörn Wiberg, UmU
Komprimering – med eller utan informationsförlust • Kan man acceptera informationsförlust? • Sampling, analog återgenerering genom förstärkning och t.ex. kopiering ger informationsförlust. • Det är inte orimligt att medge förlust vid lagring också. • Komprimering med förlust kan acceperas i de flesta fall när man komprimerar ljud och bild. • Upp till en viss kompressionsgrad, uppfattar vi inte ens att sådan teknik använts. • Var går den gränsen? • Det beror på applikationen i sig och dess andra kvalitetsegenskaper. • Komprimering är en form av kodning. • Fluckiger använder ordet kodning - Förlust vid kodning beroende på samplingsfrekvens, djup och komprimering. Torbjörn Wiberg, UmU
Två typer av komprimering • Bit-komprimering (entropy encoding) • Oberoende av vad som komprimeras. • Förlustfri. • Två typer • Kodning av upprepningar och • komprimering baserad på vanliga(st) förekommande mönster (statistisk komprimering/kodning/huffmankodning). • Innehållskomprimering (source encoding). • Kunskap om typ och struktur på informationen utnyttjas. • Med eller utan försluster. • Förhoppningen är att kunskap om innehållet ska ge högre komprimeringseffekter. • Tre typer • Transformkodning (t.ex Fourier transformering) • Differenskodning (av t.ex bildsekvenser) • Vektorkodning (kod för ett block av information). • Ofta bitkomprimeras ett innehållskomprimerat material. Torbjörn Wiberg, UmU
Komprimeringsmetoder • Komprimeringsmetoder baseras på ett fåtal grundidéer som • specialutformas för den tillämpning man har i åtanke • nästas på heuristiska grunder • Grundidéerna är • Upprepningskomprimering • Statistisk komprimering • Transformkodning • Differenskodning • Vektorkodning • Det här är delvis mina egna, beskrivande namn på idéerna, de specifika metoderna kan ha ganska fantasifulla namn Torbjörn Wiberg, UmU
Upprepningskomprimering • Principen är att man söker efter upprepning av • enstaka bitar • tecken (oktetter) eller • andra mönster • Man kodar dessa som antal-kod • Det måste vara ett visst antal upprepningar (>~4) för att det ska löna sig. • Kanske så här • YXXXXZ ----> Y"4"XZ • Där " är reserverad, dvs " kodas som "". Torbjörn Wiberg, UmU
Statistisk komprimering • Jfr Morse-kod • e = *, i = * *, t = -, m = - - , q = - - * - • Vanliga mönster ges korta koder. • Man måste ha statistik på vad som är vanliga mönster i en viss typ av data. • Fast kodbok (Morse) som är välbekant eller • Både kodbok och data lagras (Dynamisk Huffman-kodning). • Kodboken kan räknas om för delar av materialet - en bild eller en sekvens av bilder • Exempel: universitetets blå-vita logo behöver bara två koder - blått och vitt. • Kodboken talar om vilken färg som svarar mot 0 respektive 1 Torbjörn Wiberg, UmU
Transformkodning • Tids- och/eller rumstransformation till ett rum som är mer lämpat för (t.ex statistisk) kodning. • Fourier-transform - till frekvensrummet. • Begränsar variationshastigheten i materialet • Tar bort höga frekvenser. • Ger en mer utslätad bild. • Koden anger amplituden (styrkan) för de lägsta frekvenserna. • Välj även • djupet (upplösningen, antalet bitar) i koden och • skalan (t.ex linjär eller logaritmisk) av amplituden. • Två förlustkällor • frekvensbegränsning • amplituddjup • Diskret cosinustransform används ofta för bilder. DCT Torbjörn Wiberg, UmU
Differenskodning • Koda ett värde • enstaka värde eller t,ex • en rad i en bild (fax) eller • en ruta i en bild. • Ange nästa värde som en differens från detta värde. • Differensen kräver ofta färre bitar än det fullt kodade värdet. • Både ljud och bildsekvenser passar för denna form • klipp medför behov av full omkodning • Komprimeringen sker dels • genom ansatsen i sig • genom att välja djup i differenskoden. • Man kan också göra trendanalyser och koda avvikelser från trenden i stället för avvikelser från värdet i sig. Torbjörn Wiberg, UmU
Vektorkodning • Bitsekvensen delas in i vektorer (eller mer generella arrayer). • I stället för vektorn själv sänds ett index som anger vilken av en tabell av vektorer som matchar vektorn (bäst). • En bild delas in i block av pixlar. • Bygger också på att man har en Huffman-kod-tabell för blocken. • Fraktalkodning ett exempel. • Nästade block av roterade, speglade, förskjutna mönster. • Tar extra lång tid att genomföra komprimeringen. • Kod-tabellen blir uppenbar för mottagaren först när den används för förfining av bilden. • Hur sätter man upp kod-tabellen? • Hur matchar man data mot tabellen? • Nyaste formen av komprimerig. • Stora förhoppningar på kompressionseffekt. 1:1000, ifrågasätts av Fluckiger. Torbjörn Wiberg, UmU
Inför val av metod • Det är mer arbete att komprimera än att dekomprimera. • Parametrar för interaktiva distribuerade multimedier • dekomprimeringen ska ske i realtid • har kommunikationskanalen hög eller låg kapacitet • ska komprimeringen ske i realtid eller ej • Vektorkodning går snabbt att packa upp t.ex • Texturer som mappas direkt till bilden. • Eftersändningar • Tjänar på att lägga jobb på att uppnå stor komprimeringseffekt. • Interaktiva sändningar • komprimering medför fördrljning • har inte tid att komprimera så mycket. Torbjörn Wiberg, UmU
Ljudkomprimering • Somliga metoder passar bättre för ljud och andra för bild. • Det finns en del standardiserat kring komprimering och kodning • ITU – Internationella teleunionen • Ljudkvalitet • Telefon 200 - 3000 Hz • Tal 50 - 10 000 Hz. • FM radio 20 - 15000 Hz • Hörbart 15 - 20000 Hz Torbjörn Wiberg, UmU
Grundkodning av ljud • Puls-kodning • Varje sampel kodas för sig • Linjär eller logaritmisk kodning. • Linjär ev med basvärde (som kodas med t.ex 100). • Logaritmisk vanligast för telefoni. • Samplingsfrekvens • För att representera en analog signal av frekvens f krävs sampling i 2f - Nyquists teorem. • Telefoni • 3.5KHz ljudspektrum. • Standard G.711 - var 125us (8kHz). • Amplituddjup • G.711 8 bitar. • Dvs 8KHz * 8 bitar = 64Kbps Torbjörn Wiberg, UmU
Komprimering av grundkoden • G.721 • Differenskodning av 64kbps info • 4 bitars differenskoddjup • 64kbps 32kbps • G.722 • Mål: bättre ljudkvalitet. • Differenskodning applicerad på en kanal delad i två band. • 16KHz sampling • 14 bitars amplituddjup på 64Kbps. • G.723 • Som G.72x men på 24Kbps. • Dvs lägre ljudkvalitet som resultat. • (Används knappast) Torbjörn Wiberg, UmU
Komprimering av grundkoden, forts • G.728 • Fokus på låg kom.kapacitet • 16Kbps, 3.4KHz ljud. • Vektorkomprimering, baserad på linjär trendprognos (CELP). • GSM • 13.2 Kbps, • 8KHz sampling • sämre kvalitet än 711. • CELP - 1016. • Telefonkkanal komprimeras till 4.8Kbps • differenskodning av vektorer med fast kodbok. • Kvalitet som G.721 där 64kbps komprimerats till 32kbps. • Komprimeringsfaktor för telefonikanal 1:13. Torbjörn Wiberg, UmU
Komprimering av grundkoden, fforts • För högre kvalitet används MPEG-ljudkomprimeringsstandarder. • MPEG - Moving Pictures Expert Group. • En familj av standarder. • Tre standardiseringsnivåer • Lager 1,2 o 3. • MPEG-layer 3 mest avancerade komprimeringen. • Tekniken baseras på FFT av 32 ljud-subkanaler, med brusanalyser. • Avsedda att användas på mono-kanaler mellan 32 till 448Kbps. • Sampling 32, 44.1 eller 48 KHz. • MPEG-layer3 • komprimering till nästan CD-kvalitet på 64Kbps-kanal för mono. • Kom ihåg – en 64 kbps-kanal behövs enligt Nyquists teorem (samplingfrekvensen 2f, f är frekvensomfånget som ska kodas) behövs för kodnng av telefoni med 8 bitars amplituddjup. Torbjörn Wiberg, UmU
Komprimering av bilder • JPEG - Joint Potographic Expert Group. • ISO-standard i samarbete med ITU. • GIF – Graphical Interchange Format • Ursprungligt fokus på import/export till program Torbjörn Wiberg, UmU
JPEG • För fotografiska bilder • GIF för grafik • Använder • DCT (discrete cosine transform), • djupkodning • upprepningskomprimering, • Huffman-kodning. • Kan ställas in för olika typer och grader av komprimeringsförlust • ( I kontrast till Fax-standarder t.ex. • avser tvåtons-komprimering (två färger/toner - vit och svart)) Torbjörn Wiberg, UmU
JPEG - forts • JPEG stöder fyra sorters komprimering: • Sekvensiell - ett svep. • Ger informationsförlust. • Progressiv - flera svep, • kornigheten i kodningen minskas successivt vid dekomprimeringen. • Ger informationsförluster. • Förlustfri kodning. • Hierarkisk kodning. • Upplösningsnivåer. • Arbetsstegen: • Prep av datablocken • Innehållskomprimering (DCT, och djupkodning) • Bitkomprimering Torbjörn Wiberg, UmU
Komponenter i representation av bilder • Det finns olika sätt att ange komponenter i en bildpunkt • Luminans - ögats sammanlagda reaktion på ljus (bildpunkt). • Lightness - svart-vit • Brightness - ljus eller mörk • En färg är en upplevelse som kan skapas av spektralt olika sammansatta ljusvågor. • Varje färg "kan åstadkommas" med en lämpling blandning av tre olika färger (både + och --blandning). • En videokamera fångar kontinuerligt intensiteten i den röda, blå och gröna färgkomponenten i ljuset. • RGB-signalen kan transformeras till tre andra signaler - en luminanssignal Y (lightness och brightness) och två färgsignaler. Torbjörn Wiberg, UmU
Komprimering av bildkomponenter • Vi är mindre känsliga för färg än luminans. • Det betyder att färgsignalen kan samplas med lägre upplösning än luminansen för att ge en bild en given upplevd kvalitet. • Färgsignalerna fås genom att subtrahera luminanssignalen från två av RGBsignalerna. • Hur detta görs är en viktig skillnad mellan NTSC och PAL. • Skillnaderna mellan samplingsfrekvenserna för Y och färgsignalerna varierar i olika sammanhang • Studiokvalitets-TV - 4:2:2 (4+2+2 = 0,67*(4+4+4)). • Videokonferens 4:1:1 (4+1+1=0,5*(4+4+4)) - standard H.261. • Standarder finns. • Vanligt med halva antalet färgdifferenspunkter per rad • halva antalet rader per ”bildruta” • Dvs med en reduktion av kom-behovet med 50% Torbjörn Wiberg, UmU
JPEG - preparering av datablocken • Varje bild utgörs av en matris av amplitudvärden för bildkomponenterna • Matrisdimensionerna varierar beroende på samplingsfrekvenserna för de respektive komponenterna. • 4:1:1 ger en matris med en fjärdedel av elementen för färgkomponenterna. • Matriserna blockindelas i 8*8-block. Torbjörn Wiberg, UmU
JPEG – DCT • DCT är en två-dimensionell transform som • tar 8*8 block med samplade värden och • ger 8*8 block med värden som anger förekomster av frekvenskomponenter i de två dimensionerna. • 0,0-värdet ger medelamplituden (0-frekvensen). • Dessa matriser kan komprimeras med sedvanlig teknik. • Valet av metod påverkar den upplevda bildkvaliteten • Vi är mest känsliga för medelsnabba förändringar i bilden. • Det är alltså inte nödvädigt att återge skarpa kanter exakt. Torbjörn Wiberg, UmU
JPEG – djupkodning och komprimering • Kodningen av djupinformationen i frekvensrummet är viktig. • Höga och låga frekvenser kan komprimeras kraftigare än medelfrekvenser. • När kodningen av djupinformationen skett: • Mellan blocken komprimeras sekvenser av 0-frekvensvärden med DPCM (Differential Pulse Code Modulation). • Inom ett block sker upprepningskomprimering av diagonalnumrerade värden i blocket. • Till sist sker så statistisk komprimering (Huffman). • JPEG komprimerar en faktor 20-25 (kan upplevas ha god kvalitet av det mänskliga ögat). • Förlustfri ofta en faktor 2. Torbjörn Wiberg, UmU
Film- och animeringskomprimering • Differenskodning mellan bilder i en sekvens. • Går ej in på detta. • MPEG-2 • studiokvalitet-TV, • multipla CD-kvalitets-ljudkanaler. • 4 - 6Mbps. • MPEG-4 • Videokonferens vid medium-upplösning och låg hastighet Torbjörn Wiberg, UmU
Kommunikationsbehov • Bilder och ljud komprimeras, det introducerar en fördröjning • Uppskattat kommunikationsbehov • Videokonferenskvalitet - 0.1 Mbps • VCR-kvalitet - 1.2 Mbps • Broadcast-kvalitet - 2-4 Mbps • Studio-kvalitet - 3-6 Mbps (okomprimerat 166Mbps) • HDTV-kvalitet - 25 - 34 Mbps (okomprimerat 2000Mbps) • Fotografisk kvalitet Torbjörn Wiberg, UmU