1 / 27

Komprimering

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

Download Presentation

Komprimering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Komprimering Torbjörn Wiberg Umeå universitet Torbjörn Wiberg, UmU

  2. Disposition • Inledning • Två typer av komprimering • Komprimeringsmetoder • Inför val av metod • Ljudkomprimering • Bildkomprimering • Film- och animeringskomprimering Torbjörn Wiberg, UmU

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

More Related