Föreläsning 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 Repetition: Internetprotokollens skikt tillämpning transport nät länk Medium (fysisk) Transmissionslänk T Vågledare Vågledare R Sändare Förstärkare, signalregenerator Mottagare 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 1
Störningar (1/) Dämpning (Attenuation) signalens amplitud minskar när signalen propagerar förstärkare (repeaters) P1 dämpning = 10 log 10 db P P förstärkni ng = 10 log 10 db P1 Begränsad bandbredd leder till begränsad kapacitet C = W log M W = bandbredd M = antal nivåer för signalelementet Förvrängning (distorsion) Dispersion: olika frekvenskomponenter blir olika försenade i överföringen Brus termiskt brus impulsbrus överhörning (crosstalk) SNR S = 10 log 10 db N Teoretiskt maximum för kapacitet S C = W log 1 + b / s N Störningar (/) S = signal (effekt) N = brus (effekt) 0 1 0 0 1 0 Signal Dämpning Begränsad bandbredd Förvrängning 0 1 0 1 1 0 Bitfel Brus Kombinerad effekt Sampel
Utbredningsmedium (1/) Parledare two-wire open line kopplar ihop t. ex. en dator och ett modem korta sträckor (< 50 m), 19, 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 Utbredningmedium (/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 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 3
Diskret och kontinuerlig Diskret variabel: kan anta värden från en uppräkningsbar mängd oändlig mängder naturliga talen: 0, 1,, 3, rationella talen: 1/1, 1/, 1/3,, /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 Datakodning (Data encoding) analog ~ kontinuerlig diskret ~ digital data propageras med eletriska signaler analog signal: kontinuerlig 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 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 4
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. 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 logn bitar Samplingsteoremet En tidskontinuerlig signal x(t) med bandbredden B Hz måste samplas med frekvensen f s B för att den ska gå återskapa Några kommentarer översampling, f > B, ger ingen (teoretisk) kvalitetsvinst undersampling förvränger signalens spektrum sampling visad i tidplanet x(t) Illustration x s (nt) t T n 5
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 logn bitar 111 110 101 x s (nt) 000 001 010 011 x s (nt) x s x s avrundningsfel Bandbredd och bittakt En signal med bandbredden B Hz har efter digitalisering bittakten f s Lbitar i sekunden [b/s], om L är antal bitar per sampel 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 0-0000 Hz stereofont, sampling 44,1 khz med 16 bitar per sampel, bittakt 1,4 Mb/s 6
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:: 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 Video: tredimensionell signal temporal och spatiell sampling, samt kvantisering för varje färgkomponent temporal samplingsfrekvens i Europa: 5 bilder i sekunden i USA och Japan: 30 bilder i sekunden spatiell samplings frekvens europeiskt TV-format (ITU-R BT.601): 70 sampel per rad och 576 rader per bild högupplösnings-tv (IYU-R BT.709): 190 150 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 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 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 Ö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 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 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 Förutsägande kompaktering Använd tidigare värden för att förutsäga det aktuella värdet e = x N i i 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 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 9
Uppdelning i tid och frekvens f H 1 (z) HP H 0 (z) LP T 10T t f H 1 (z) H 0 (z) HP H 1 (z) H 0 (z) LP-HP LP-LP 4T 1T t 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 = N 1 1 x N 0 n n = 0 y = N 1 π i ( n + 1) x n cos, N N i = 1, Κ N 1 i n = 0 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 10
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 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 Exempel 0 A (0,60) 0 1,00 0 In: bitar per kodord 1 B (0,0) 0 0,40 10 Ut: 1,6 bitar per 1 kodord C (0,15) 1 0,0 110 (i snitt, max 3) D (0,05) 111 11
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 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 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: 0000000000000000333 = (0,16); (,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 1