© Björn Hedin, NADA/KTH Media, Multimedia och videokodning 2D1518 Audio-, Video och Multimediaproduktion och 2D1553 Mediaproduktion
© Björn Hedin, NADA/KTH Dagens föreläsning Ge introduktion till digital multimedia Kategorisering av medier Grundläggande principer om digitalisering Principerna för videokodning och -komprimering.
© Björn Hedin, NADA/KTH Vad är "media” Etymologiskt: –Media är plural av "medium", som betyder "mitten", "centrum" eller "förmedlare" –Det vi menar är oftast något som kan "förmedla" information eller ett budskap
© Björn Hedin, NADA/KTH Vad brukar vi mena med media? Text Grafik Stillbilder Rörlig grafik (animationer) Rörliga bilder (video) Ljud 3D-modeller
© Björn Hedin, NADA/KTH Vad är multimedia? Etymologiskt från latin Multi kommer från "multus" ≈ flertal I detta fall blir det ungefär "flertal förmedlare"
© Björn Hedin, NADA/KTH Definition: Multimedia Flera definitioner finns. Här är en: "Multimedia in the general information field means 'multiple intermediaries' between the source and sink of information or 'multiple means' by which the information is stored, transmitted, presented or perceived." [Fluckiger, 1995]
© Björn Hedin, NADA/KTH … vilket innefattar TV som förmedlar rörlig bild och ljud Tidningar som innehåller texter, bilder och grafik... men med multimedia menar vi oftast inte riktigt det, utan snarast något som ibland kallas "digital multimedia"
© Björn Hedin, NADA/KTH Definition: Digital multimedia "Digital multimedia is the field concerned with the computer-controlled integration of text, graphics, still and moving images, animations, sounds, and any other medium where every type of information can be represented, stored, transmitted and processed digitally." [Fluckiger, 1995]
© Björn Hedin, NADA/KTH Klassningar av medier Diskreta eller kontinuerliga Rumsutsträckning Tidsutsträckling Samplade eller syntetiserade Interaktiva eller passiva Stand-alone eller nätverksbaserade Digitala eller analoga
© Björn Hedin, NADA/KTH Tidsutsträckning Vi skiljer mellan medier som har en utsträckning i tiden och som inte har det Diskreta medier –Text, bild, grafik Kontinuerliga medier –Ljud, rörlig bild
© Björn Hedin, NADA/KTH Rumsutsträckning De flesta medier har en utsträckning i rummet –Text, bild, grafik, rörlig bild Vissa medier som ej har koppling till syn-sinnet har dock ingen utsträcknig i rummet –Ljud, lukt, känsel –Lukt och känsel är dock ytterst ovanliga i multimediasammanhang men kan förekomma (luktfilmer, VR-dräkter)
© Björn Hedin, NADA/KTH Samplade eller syntetiserade medier Samplade medier representerar "verkligheten" –Fotografier, videoinspelningar, ljudupptagningar Syntetiserade medier skapar media "ur intet" –Animeringar, synthesizers, grafik
© Björn Hedin, NADA/KTH Interaktiva eller passiva medier Interaktiva medier ger mottagaren möjlighet att påverka mediainnehållet –Web, speciellt med formulär –Virtuella verkligheter –DigitalTV –Videokonferenser
© Björn Hedin, NADA/KTH Passiva medier Passiva medier ger däremot inga möjligheter att påverka mediainnehållet –TV, Radio, Film Gråzoner finns givetvis (video, DVD mm)
© Björn Hedin, NADA/KTH Stand-alone eller nätverksbaserad multimedia Stand-alone-multimedia kräver inga andra resurser än de som finns lokalt –CD-romproduktioner såsom CBT, CBE och dataspel, DVD-filmer Nätverksbaserad multimedia kräver distribuerade resurser –TV-sändningar, videokonferenser, www, nätdataspel
© Björn Hedin, NADA/KTH Digitala eller analoga medier Människors sinnen är analoga Media måste därför i slutänden rendreras analogt Innan kan dock mediainnehåll lagras och/eller sändas digitalt eller analogt Sampling av digital ljud/video kräver A/D-omvandling Rendrering av digitala medier kräver D/A-omvandling Media som lagras/sänds analogt kräver ej A/D eller D/A-omvandling
© Björn Hedin, NADA/KTH Varför digitala medier Universell representation av olika medier i bitströmmar av ettor och nollor Alla bitströmmar kan behandlas på samma sätt och av samma utrustning –Hårddiskar, datorer, nätverk Försämras inte med tiden Kompaktare lagring och sändning Förenklad behandling med datorer
© Björn Hedin, NADA/KTH Varför inte digitala medier Distortion vid kodning –Dock:Större bit-täthet ger bättre kvalitet men kräver mer lagringsutrymme/bandbredd/processorkraft Mer komplicerad avkodning Problemen med digitala medier blir dock allt mindre då utvecklingen av lagringsutrymme/bandbredd/processorkraft går exponentiellt framåt.
© Björn Hedin, NADA/KTH Digitalisering Samplade media (foto, ljud, video) måste digitaliseras, dvs omvandlas till ettor och nollor, för att kunna representeras digitalt. Två steg: Sampling och kvantisering
© Björn Hedin, NADA/KTH Digitalisering: Sampling En analog signal kan delas in i ett antal "samples" Samplingsfrekvens –Antal "samples" utsträckt över tiden eller rummet. –Högre frekvens ger exaktare återgivning. –TV (25Hz) ger bättre återgivning än videokonferenser (ca 5Hz) –4Mpixel-kameror ger bättre återgivning ärn 1MPixel- kameror
© Björn Hedin, NADA/KTH Digitalisering: Kvantisering Varje sample måste sedan kodas digitalt, "kvantiseras" Ju fler bits som varje sample får desto högre kvalitet –T.ex. för bilder RGB-kodning använder 8 bitar/färg ->24 bitar pixel Gif-bilder använder 8 bitar/pixel Gråskalebilder använder ofta 4 bitar/pixel Svartvita bilder använder 1 bit/pixel Fler bitar -> högre kvalitet men kräver mer lagringsutrymme/bandbredd
© Björn Hedin, NADA/KTH Problem med samplade/kvantiserade media Blir aldrig bättre än ursprungssamplingen/kvantiseringen –Förstorar man en bild inläst med 72 dpi blir den snabbt grynig Semantiken går förlorad –T.ex. går ej att veta om ljud är musik eller tal
© Björn Hedin, NADA/KTH Symboliska digitala representationer Media kan ibland istället representeras symboliskt –Vektorgrafik, MIDI, 3D-modeller för animeringar, worddokument istället för inscannade texter mm Semantiken finns kvar Är inte begränsade av ursprungssamplingen på samma sätt Mycket kompakta representationer
© Björn Hedin, NADA/KTH Symbolisk representation: MIDI MIDI står för Musical Instrumental Digital Interface Standard från 80-talet för att koda instrumentalmusik –notsekvenser, instrumentslag, anslagshastighet, ljudstyrka mm –Har 127 fördefinierade "instrument" (t.ex. 7 pianotyper, panflöjt, telefonsignal, pistolskott, applåder) Enkelt att exempelvis byta instrument i en stämma Upp till 1000 ggr kompaktare än CD-ljud Kräver dock relativt avancerad utrustning för att syntetisera det verkliga ljudet på ett realistiskt sätt
© Björn Hedin, NADA/KTH Symbolisk representation: SVG Scalable Vector Graphics XML-baserad rekommendation för vektorgrafik Kompakt jämfört med bilder Går att zooma in godtyckligt mycket Kan modifieras dynamiskt via programkod -> animationer, dynamiskt innehåll.
© Björn Hedin, NADA/KTH Symbolisk representation: Text Text kan ses som en symbolisk representation för tal En tal-synth kan omvandla text till tal Enkelt att ändra t.ex. kön i tal-synthen Ännu svårt med t.ex. intonation, att få talet att låta "levande" På sikt bra alternativ till talsvarslösningar ("du har TVÅ nya MEDDELANDEN")
© Björn Hedin, NADA/KTH Kodning av video Flera aspekter finns att ta hänsyn till vid videokodning –Bildfrekvens (Hz) –Bildupplösning (pixels/linje och linjer/bild) –Färgupplösning (bitar/pixel) –Aspect ratio (4:3, 16:9 etc) –Komprimeringsgrad –Interlaced eller progressive scan
© Björn Hedin, NADA/KTH Bildfrekvens Hjärnan är känsligast för kontraständringar vid ca 10Hz (jfr stroboskop) Därpå avtar känsligheten ner till ca 25 Hz där man inte lägre kan uppfatta enskilda förändringar Detta kan utnyttjas vid videokodning
© Björn Hedin, NADA/KTH Bildupplösning Hjärnan är känsligast för kontraständringar vid spatial frekvens på ca 4 Hz/grad Kan inte längre uppfatta kontraständringar > ca 12Hz/grad Jfr ränder på en tröja på olika långt håll Detta kan utnyttjas vid val av bildupplösning
© Björn Hedin, NADA/KTH Färgupplösning Hjärnan är relativt känslig för intensitetsförändringar Kan upptäcka intensitetsskillnader på ca 1% Däremot relativt okänslig för färgförändringar Utnyttjas i videokodning där fler bitar används för intensitetsinformation än för färginformation
© Björn Hedin, NADA/KTH Interlaced/progressive scan Progressive scan ritar linjerna uppifrån och ner –(1,2,3,4...) Interlaced scan ritar först alla udda linjer, sedan alla jämna linjer –(1,3,5,7..., 2,4,6,8...) Interlaced scan minskar kraven på hög bildfrekvens, men försämrar upplösningen något. TV använder interlaced scan, datamonitorer använder progressive scan. Finns även för exempelvis gif-bilder
© Björn Hedin, NADA/KTH Videoklasser HDTV, High Definition TeleVision Analog TV (nuvarande marknätet) Digital TV (samma upplösning som marknätet, men mindre "brus") VCR-kvalitet (ungefär hälften av Analog-TV- upplösningen) Videokonferenser (ca 1/4 - 1/8 av Analog TV + lägre framrate)
© Björn Hedin, NADA/KTH HDTV Tre varianter, alla 16:9 i Aspect Ratio och 4:2:2 i färgupplösning –High Resolution 1920px*1080linjer, 60fps vid progressive scan, 30fps vid interlaced (obs! fel i boken tror jag) –Improved Resolution 1280px*720linjer, 24-60fps vid progressive scan, vid interlaced –"Normal" Resolution eller Digital-TV 720px*480llinjer, 24-60fps vid progressive scan, vid interlaced
© Björn Hedin, NADA/KTH Analog TV och video I USA används NTCS –525 linjer, ca 500px/linje (analog), 30fps I Europa används huvudsakligen PAL –625 linjer, ca 500px/linje (analog), 25fps Analog videokodning, ca hälften av upplösningen jfrt med analog TV
© Björn Hedin, NADA/KTH Videokonferenser Två större standarder (fler lär komma) –CIF (Common Intermediate Format) ca 360px*240 linjer (ungefär som Commodore 128 om jag inte minns fel) –QCIF (Quarter CIF) ca 180px*120 linjer Ofta sätts maximal bitrate på videoströmmen till 64kbps (pga ISDN) vilket brukar ge en framerate på ca 5-15fps
© Björn Hedin, NADA/KTH Videokvalitet Kvaliteten på kodad video är en funktion av flera parametrar, bland andra: –v=video in –cc=Kodning och komprimering –cr,cs=beräkningsresurser hos mottagare och sändare –mr,ms=minnesresurser hos mottagare och sändare –s=servicenivå i nätverket –app=applikation
© Björn Hedin, NADA/KTH Videokomprimering Många standarder för videokomprimerint, t.ex. –MPEG1, ca 100ggr komprimering, 1,5Mbps ≈ VCR –MPEG2, högre kvalitet upp till ca 40Mbps. DVD och HDTV –MPEG4, för begränsad bandbredd Kuriosa: mp3 = "MPEG audio layer 3", en standard för ljudkomprimering inom MPEG
© Björn Hedin, NADA/KTH Komprimeringsprinciper De flesta videokodningsalgoritmer använder samma komprimeringsprincip RGB-YUV Kompr. i tidsplanet Sampling Kompr. i pixelplanet Entropikodning
© Björn Hedin, NADA/KTH Sampling Först samplas och digitaliseras bilden enligt samma principer vi sett tidigare
© Björn Hedin, NADA/KTH RGB->YUV Samplingen sker oftast i RGB-färgrymden –R, G, B = Röd, Grön, Blå Lämpligare (kompaktare) kodning för video är YUV- färgrymden –Y=Luminans –U och V är två krominansparametrar (färgparametrar) som kan härledas av Y, R och B –YUV = f(RGB)
© Björn Hedin, NADA/KTH Komprimering i pixelplanet Först komprimeras en frame i pixelplanet Dela in bilden i block, makroblock och slices block=8*8 pixels Komprimeringen sker på blocknivå DCT (Diskret Cosinus Transform) används för att omvandla bilden till ett frekvensplan (se lämplig fouriertransformkurs). Sedan skärs frekvenser som inte märks för ögat bort, vilket är själva komprimeringen
© Björn Hedin, NADA/KTH Block, Makroblock, Slices
© Björn Hedin, NADA/KTH Komprimering i tidsplanet Tidsplankomprimering bygger på att en bild sällan ändras speciellt mycket mellan två frames Onödigt att sända nästan exakt samma bild flera gånger, redundant information Oftast små förändringar eller förskjutningar av bilden i x-y-planet
© Björn Hedin, NADA/KTH Komprimering i tidsplanet (2) Sänd först en referensbild (I-frame, eller Intra-frame) Försök sedan återskapa en senare bild genom att försöka hitta makroblock från I-framen som endast förskjutits i x-y-led. [MSE (Mean Square Error) används ofta för att hitta liknande block] Dessa bilder kallas p-frames (predicted frames). Gör sedan på samma sätt med ytterligare ca 2 frames, tidsmässigt placerade mellan I och P. Använd både informationen från I och P för att beräkna denna B-frame (Bi- directional frame)
© Björn Hedin, NADA/KTH Komprimering i tidsplanet (3) I B B P B B I ….
© Björn Hedin, NADA/KTH Komprimering i tidsplanet (4) De förändringar som inte går att beskriva genom förskjutningar av makroblock skickas separat Blocken sänds sedan i en annan ordning över ett nätverk
© Björn Hedin, NADA/KTH Entropikodning Slutligen sker entropikodning –Information = -log2(p) där p är sannolikheten för att en symbol ska dyka upp –Entropin = summan(informationen) –Entropin ger ett mått på minimalt antal bitar som krävs för kodning –T.ex. en helt vit frame innehåller lite information och kan kodas kompakt. En sekvens av vita frames kan likaledes kodas kompakt. –Run Lenght Coding: 800 ettor kan istället för kodas 800,1 –Huffmankodning. Bygger på att symboler som förekommer ofta kodas kompakt ("hej" kodas 1101 medan "quagga" kodas )
© Björn Hedin, NADA/KTH Nätbelastning Observera att nätbelastningen vid videokodning enligt ovan är beroende av hur innehållet ändras. En intervju kräver lite bandbredd, motorsport och action kräver mycket.