Föreläsning 2 Mål Behandla utbredningsmedium Förstå störningar som kan påverka signalen Förstå hur man digitaliserar information Förse exempel av digitala dataformat Förstå varför källkodning är nyttigt Förstå källkodningens grundprinciper Behandla grundläggande källkodningsförfaranden 20.09.2004 Gunnar Karlsson, Bengt Sahlin 1 Transmissionslänk T Vågledare Vågledare R Sändare Förstärkare, Mottagare signalregenerator Elektromagnetiska vågor kan fortplanta sig i vågledare Vågorna kan formas med linjekodning eller modulering för att representera bitvärden Vågformen dämpas, störs och förvrängs under utbredningen Mottagaren avkodar eller demodulerar för att erhålla en bitföljd Krav på transmissionslänken: antal bitar i sekunden (transmissionskapacitet) sannolikheten för bitfel 20.09.2004 Gunnar Karlsson, Bengt Sahlin 2 Störningar (1/2) Dämpning (Attenuation) signalens amplitud minskar när signalen propagerar förstärkare (repeaters) P1 dämpning = 10log10 db P2 P2 förstärkning =10log10 db P1 Begränsad bandbredd leder till begränsad kapacitet W = bandbredd = 2W log M M = antal nivåer för signalelementet C 2 Förvrängning (distorsion) Dispersion: olika frekvenskomponenter blir olika försenade i överföringen 20.09.2004 Gunnar Karlsson, Bengt Sahlin 3 Gunnar Karlsson, Bengt Sahlin 1
Brus termiskt brus impulsbrus överhörning (crosstalk) Störningar (2/2) SNR S = 10log10 db N Teoretiskt maximum för kapacitet S C = W log 2 1 + b / s N S = signal (effekt) N = brus (effekt) 20.09.2004 Gunnar Karlsson, Bengt Sahlin 4 0 1 0 0 1 0 Signal 0 1 0 1 1 0 Bitfel Dämpning Begränsad bandbredd Förvrängning Brus Kombinerad effekt Sampel 20.09.2004 Gunnar Karlsson, Bengt Sahlin 5 Utbredningsmedium (1/2) Parledare two-wire open line kopplar ihop t. ex. en dator och ett modem korta sträckor (< 50 m), 19,2 kb/s twisted-pair lines LANs, telefonledningar 1 Mb/s (< 100 m) Koaxialkabel LANs och TV, några Mb/s Optisk fiber LANs, WANs, hundratals-tusentals Mb/s, långa sträckor 20.09.2004 Gunnar Karlsson, Bengt Sahlin 6 Gunnar Karlsson, Bengt Sahlin 2
Utbredningmedium (2/3) Satellit TV-signaler, dataöverföring från kontinent till annan långa sträckor, hundratals-tusentals Mb/s Mikrovågor svår terräng 50 km, hundratals Mb/s Radiovågor öar längre sträckor, tiotals kb/s 20.09.2004 Gunnar Karlsson, Bengt Sahlin 7 Utbredningmedium (3/3) fördelar nackdelar Parkabel billig, lätt att reparera hög dämpning känslig för störningar Koaxial kabel längre sträckor känslig för störningar högre hastighet dyrare än parkabel Optisk fiber snabb och säker svår att reparera låg störningskänslighet Satellit hög bandbredd fördöjning, dyrt Mikrovågor svår terräng störningar Radiovågor längre sträckor än för störningar mikrovågor 20.09.2004 Gunnar Karlsson, Bengt Sahlin 8 Diskret och kontinuerlig Diskret variabel: kan anta värden från en uppräkningsbar mängd oändlig mängder naturliga talen: 0, 1, 2, 3, rationella talen: 1/1, 1/2, 1/3,, 2/3,... ändliga mängder boolesk: 0, 1 GF(q): 0, 1, q-1 svenska: a, b, c, å, ä, ö Kontinuerlig variabel: kan anta alla värden inom ett intervall oändliga intervall: reella tal (R) ändliga intervall: a x < b, a, b R 20.09.2004 Gunnar Karlsson, Bengt Sahlin 9 Gunnar Karlsson, Bengt Sahlin 3
Datakodning (Data encoding) analog ~ kontinuerlig diskret ~ digital data propageras med eletriska signaler analog signal: kontinerlig variabel elektromagnetisk signal digital signal: en serie spänningspulser Fyra möjligheter: analog data, analog signal analog data, digital signal (digitalisering, codec) digital data, analog signal (modulering, modem) digital data, digital signal 20.09.2004 Gunnar Karlsson, Bengt Sahlin 10 Klassificering av informationstyper tidsberoende information diskret eller kontinuerlig variabel som beror på tiden: s(t) video: generell benämning på alla typer av rörliga bilder (3-dim.) film television animerad grafik audio: generell benämning på alla typer av ljud röst musik tidsoberoende information diskret eller kontinuerlig spatiellt beroende variabel: s(x, y) stillbilder: fotografi, grafik, röntgen- och ultraljudsbilder och dylikt numeriska data: beräknade och uppmätta text: naturliga och formella språk, samt programmeringsspråk 20.09.2004 Gunnar Karlsson, Bengt Sahlin 11 Digitalisering i två steg (PCM) Pulse Code Modulation (PCM) Antag en tids- och amplitudkontinuerlig signal 1. Sampling: från tidskontinuerlig till tidsdiskret (alternativt från rumskontinuerlig till rumsdiskret) samplingsteoremet enligt Nyquist-Shannon en reversibel process 2. Kvantisering: från amplitudkontinuerlig till amplituddiskret ger avrundningsfel i sampelvärdena; ej reversibel Resultat signalen består av en uppräkningsbar (i verkligheten ändlig) serie av värden från ett ändligt alfabet (amplitudvärden) M sampel och N amplitudnivåer Informationsmängden utgörs av : M log2n bitar 20.09.2004 Gunnar Karlsson, Bengt Sahlin 12 Gunnar Karlsson, Bengt Sahlin 4
Samplingsteoremet En tidskontinuerlig signal x(t) med bandbredden B Hz måste samplas med frekvensen f s 2B för att den ska gå återskapa Några kommentarer översampling, f > 2B, ger ingen (teoretisk) kvalitetsvinst undersampling förvränger signalens spektrum 20.09.2004 Gunnar Karlsson, Bengt Sahlin 13 sampling visad i tidplanet x(t) Illustration x s (nt) t T n 20.09.2004 Gunnar Karlsson, Bengt Sahlin 14 Kvantisering Sampelvärdena x s (nt) är kontinuerliga (reella tal) inom något intervall Kvantisering (eller kvantifiering) rundar av sampelvärdena till ett ändligt antal nivåer (N) Kvantiseringsnivåerna kan representeras av olika bitmönster med log2n bitar x s (nt) 011 010 avrundningsfel 001 000 x s (nt) x s x 101 s 110 111 20.09.2004 Gunnar Karlsson, Bengt Sahlin 15 Gunnar Karlsson, Bengt Sahlin 5
Bandbredd och bittakt En signal med bandbredden B Hz har efter digitalisering bittakten f s L bitar i sekunden [b/s], om L är antal bitar per sampel 20.09.2004 Gunnar Karlsson, Bengt Sahlin 16 Digitala signal- och dataformat Ljud: endimensionell signal sampelfrekvens och -kvantisering exempel röst för telefoni: frekvensband 300-3400 Hz, sampling 8kHz med 8 bitar per sampel, bittakt 64 kb/s musik, kompaktskiva: frekvensband 20-20000 Hz stereofont, sampling 44,1 khz med 16 bitar per sampel, bittakt 1,4 Mb/s 20.09.2004 Gunnar Karlsson, Bengt Sahlin 17 Bild: tvådimensionell signal, tre färgkomponenter per sampel färgbaser: RGB, YIQ och YUV olika samplingsfrekvenser (upplösning) förekommer för Y och IQ 4:4:4 innebär att Y:I:Q har samma upplösning 4:2:2 ljusstyrkan har dubbla upplösningen horisontellt mot färgkomponenterna 4:1:1 färgkomponenterna har en fjärdedel av ljusstyrkans upplösning ett bildsampel kallas ofta pixel eller pel 8 bitar per komponent vanligt; fax har enbart en bit per pixel 20.09.2004 Gunnar Karlsson, Bengt Sahlin 18 Gunnar Karlsson, Bengt Sahlin 6
Video: tredimensionell signal temporal och spatiell sampling, samt kvantisering för varje färgkomponent temporal samplingsfrekvens i Europa: 25 bilder i sekunden i USA och Japan: 30 bilder i sekunden spatiell samplings frekvens europeiskt TV-format (ITU-R BT.601): 720 sampel per rad och 576 rader per bild högupplösnings-tv (IYU-R BT.709): 1920 1250 sampel kvantisering enligt bildformaten med basen YIQ (alt YUV) tempo-spatiella mönster sekventiell sampling: rad för rad, från vänster till höger, över hela bilden uppifrån och ner interfolierad sampling: först bildens jämna rader, uppifrån och ner, sedan dess udda rader uppifrån och ner ger avvägning mellan vertikal och temporal upplösning försvårar bildbehandling, t.ex. vid komprimering 20.09.2004 Gunnar Karlsson, Bengt Sahlin 19 Digital TV Digital Video Broadcasting (DVB) DVB-T (Terrestrial): antennmottagning DVB-C (Cable): kabelmottagning DVB-S (Satellite): Satellitmottagning DVB-H (Handheld): mottagning i mobila nät. MPEG-2 kodning Multimedia Home Platform (MHP) För att erbjuda interaktivitet Nya tjänster som t. ex. Supertext-TV Fördelar med digital sändning Utnyttjar frekvensbandet effektivare än analog sändning Möjliggör bättre kvalitet på bild och ljud 20.09.2004 Gunnar Karlsson, Bengt Sahlin 20 Text representation av skriv- och skiljetecken ASCII: sjubitar per tecken, A-Z och a-z (extended ASCII: 8 bitar) EBCDIC (Extended Binary Coded Decimal Interchange Code) ISO Latin-1 Unicode formatering ny rad, ny sida, kursiveringar, fet stil mm Numeriska data binär, oktal, decimal eller hexadecimal representation heltal eller flyttal (decimaltal) skalärer, vektorer, matriser 20.09.2004 Gunnar Karlsson, Bengt Sahlin 21 Gunnar Karlsson, Bengt Sahlin 7
Källkodning av digitala data Huvudidé representera data mer effektivt genom att uttnyttja relativa symbolfrekvenser: olika symbol förekommer inte lika ofta i datat beroenden mellan symboler (ex. efter efter tre konsonanter följer vokal) ökad förvrängning för att ändra symbolfrekvenser och - beroenden Minska datamängden för tidsoberoende data mindre lagringsutrymme snabbare överföring för en given kapacitet Minska bittakten för tidsberoende data anpassa källans bittakt till kanalens kapacitet 20.09.2004 Gunnar Karlsson, Bengt Sahlin 22 Översikt av kodning Tre byggblock energikompaktering kvantisering datakomprimering Endast kvantiseringen ger informationsförlust energikompakteringen helt eller perceptuellt reversibel datakomprimeringen helt reversibel fel i överföringen kan dock leda till obegränsad felutbredning 20.09.2004 Gunnar Karlsson, Bengt Sahlin 23 Datakomprimeringen ger variabelt antal bitar per kodat värde resulterande datamängden för ett meddelande svårt att förutsäga bittakten för en dataström varierar med tiden variationerna kan jämnas ut med hjälp av en buffert kvantiseringen kan regleras dynamiskt för en jämnare bittakt kan ge varierande kvalitet i den överföra signalen 20.09.2004 Gunnar Karlsson, Bengt Sahlin 24 Gunnar Karlsson, Bengt Sahlin 8
Energikompaktering Energikompakteringens egenskap: signalenergin koncentrerad i några få komponenter Dessa komponenter kvantiseras fint, de övriga grovt Användningar kodning med förluster: signalen ges en form där den mänskliga förnimmelsen av kvantiseringsfelen minimeras förutsägande kompaktering delbandsanalys ortogonal transformering förlustfri kodning: informationen får en mer kompressibel form förutsägande kompaktering 20.09.2004 Gunnar Karlsson, Bengt Sahlin 25 Förutsägande kompaktering Använd tidigare värden för att förutsäga det aktuella N värdet ei = xi w x$ n i n, w n n = = 1 1 n förutsägelsefelet kvantiseras och skickas kvantiserade värden används i förutsägelsen sändare och mottagaren ska basera förutsägelsen på samma värden utan att fel ackumuleras förutsägelsefelets fördelning skev fördelning litet kvantiseringsfel av flertalet värden större fel mindre vanligt Stort intervall Litet intervall avrundning 20.09.2004 Gunnar Karlsson, Bengt Sahlin 26 Blockscheman Förutsägelsen (första ordningen, N=1, w 1 =1) xi ei Q $ei xi ˆ 1 T $xi Återskapandet $ei $x i $xi 1 T 20.09.2004 Gunnar Karlsson, Bengt Sahlin 27 Gunnar Karlsson, Bengt Sahlin 9
Delbandsanalys och -syntes Dela insignalens spektrum i olika delband (N stycken) varje delband kan nedsamplas med en faktor N ett och samma sampel behålls i varje grupp om N sampel filterdesign möjliggör att analys följd av syntes inte ger spektralförvrängning ( alias free ) är helt reversibelt (endast fördröjning) kvantiseringen kan anpassas till perceptionen av olika banden 20.09.2004 Gunnar Karlsson, Bengt Sahlin 28 Uppdelning i tid och frekvens f H 1 (z) 2 HP H 0 (z) H 1 (z) H 0 (z) 2 2 2 LP HP H 1 (z) H 0 (z) 2 2 LP-HP LP-LP f 2T 4T 10T 12T t t 20.09.2004 Gunnar Karlsson, Bengt Sahlin 29 Ortogonaltransform Transformera samplen till en spektral domän (likt delband) Vanliga transformer Fourier sinus och cosinus Walsh-Haddamard Appliceras ofta på en liten grupp av värden åt gången (8 eller 16) Viktigaste transformen: diskreta cosinustransformen y 0 y = i = N 1 1 xn N n= 0 N 1 2 π i ( 2n+ 1) xn cos, i = 1, K N 1 N 2 N n= 0 20.09.2004 Gunnar Karlsson, Bengt Sahlin 30 Gunnar Karlsson, Bengt Sahlin 10
Skalär- och vektorkvantisering Skalärkvantisering enligt tidigare beskrivning Vektorkvantisering en grupp invärden representeras av en grupp utvärden välj den utvektor som bäst representerar invektorn minsta absoluta felet minsta perceptuella felet skicka index på den valda vektorn frågeställningar att beakta: hur väljer man storlek på vektorerna och antal utvektorer mest representativa utvektorer för visst indata (video, stillbilder, ljud) sökmetod för att minska antalet jämförelser felkriterium för minsta förnimmelse av avrundningsfel 20.09.2004 Gunnar Karlsson, Bengt Sahlin 31 Kvantisering av energikompakterat indata: stillbilder och video förutsägande kompaktering för stora steg vid små förutsägelsefel ger grynig struktur för litet dynamiskt omfång ger oskärpa för stora yttre steg ger accentuerade övergångar delbandsanalys varje delband kvantiseras oberoende av de övriga lägsta frekvensbandet har normalt mest energi, kvantiseras fint högre frekvensband har energi vid konturer och kan kvantifieras grövre kvantifieringen gör att spektralförvrängningen i analys-syntessystemet inte längre släcks ut (ej heller övrig förvrängning) spektral maskning för ljud ortogonaltransform gränserna blir synliga mellan blocken av invärden i övrigt lik ovanstående 20.09.2004 Gunnar Karlsson, Bengt Sahlin 32 Datakomprimering Representera vanligt förekommande värden med få bitar och vice versa värdenas sannolikheter eller relativa frekvenser kända, eller uppskattas under kodningen (adaptiv kodning) Vanliga tekniker Huffmankodning Ziv-Lempel kodning Löplängdskodning 20.09.2004 Gunnar Karlsson, Bengt Sahlin 33 Gunnar Karlsson, Bengt Sahlin 11
Huffmankodning Utgår från symbolernas relativa frekvenser eller sannolikheter Lista symbolerna efter fallande sannolikhet, en symbol per nod Slå ihop de två noderna med minsta sannolikheter till en ny nod med sammanlagda sannolikheten, sortera in i listan Representera den övre grenen till nya noden med 0, och den undre med 1 Upprepa tills listan består av endast en nod Följ varje gren från sista noden tillbaka mot ursprungsnoden. Grenens 0:or och 1:or utgör nodens kodord 20.09.2004 Gunnar Karlsson, Bengt Sahlin 34 Exempel 0 A (0,60) 1,00 0 In: 2 bitar per kodord 0 1 B (0,20) 0 1 0,40 10 Ut: 1,6 bitar per kodord C (0,15) 1 0,20 110 (i snitt, max 3) D (0,05) 111 20.09.2004 Gunnar Karlsson, Bengt Sahlin 35 Lempel-Ziv Komprimering utan att behöva veta sannolikhetsfördelningen en mängd bitar - en fras - från indata representeras med ett fast kodord varje fas utgör av den kortaste strängen som inte setts tidigare ger en kompression som närmar sig entropin för informationen ju längre sekvens av värden som kodas 20.09.2004 Gunnar Karlsson, Bengt Sahlin 36 Gunnar Karlsson, Bengt Sahlin 12
Lempel-Ziv Plats Fras Kodord 001 1 0001 010 0 0000 011 01 0101 100 010 0110 101 10 0010 110 011 0111 111 11 0011 00 0100 20.09.2004 Gunnar Karlsson, Bengt Sahlin 37 Kortaste kodordet är en bit långt: använd löplängdskodning Representera löpor av lika symboler med deras värde och antal Exempel: 000000000000000022222222333 = (0,16); (2,8); (3,3) Representera eventuellt löplängderna med en lämplig Huffmankod Huffmankodning används för ljud-, bild- och videokodning förlustfri kodning för data kodas bättre med Lempel-Ziv kodning 20.09.2004 Gunnar Karlsson, Bengt Sahlin 38 MPEG kodning (1/2) Kodning för ljud och video standardiserad av ISO/IEC Moving Picture Experts Group Video MPEG 1 för film på CD MPEG 2 för digital TV-distribution (även HDTV) MPEG 4 (under utveckling) för multimedia och mobila tjänster MPEG 2 och 4 har utvecklats i samråd med ITU-T (MPEG 2 = ITU-T H.262) 20.09.2004 Gunnar Karlsson, Bengt Sahlin 39 Gunnar Karlsson, Bengt Sahlin 13
MPEG kodning (2/2) Ljud Alla skikt kan använda 32, 44,1 eller 48 khz samplingsfrekvens. Skikt-1: bäst kring 192 kb/s Skikt-2: 128 kb/s per kanal (samma som MUSICAM för DAB) Skikt-3: 64 kb/s per kanal, högsta kvaliteten och komplexiteten Skikt 3 kan avkoda bitströmmar från skikt 1 och 2, skikt 2 från skikt 1 Systemdel för kombination ljud-video, klockåtervinning mm 20.09.2004 Gunnar Karlsson, Bengt Sahlin 40 Gunnar Karlsson, Bengt Sahlin 14