Multimedie- och kommunikationssystem, lektion 4 Forts. Kap 2: Signaler och Kvalitetsmått Kap 3-4: Ljud- och videokompression
Blockfelssannolikhet och bitfelssannolikhet där PB är blockfelssannolikhet, N är antal databitar per block och P är bitfelssannolikhet (Bit Error Rate, BER).
Example 1.1
Answer
Sampling och DA-omvandling Microfon- membranets läge Tid Viloläge 3 mm bakom 2 mm framför T = 0,4ms 0.1ms 0.2ms 0.3ms 0.4ms 0.5ms 0.6ms Ts = 0,1ms Nästan sinusformat ljud med periodtid T = 0.4ms och frekvens f = 1/T = 2500 Hz = 2,5kHz. Samplingsperiod T s = 0.1ms , dvs samplingsfrekvens f = 1/T = 10000 sampels/sek = 10kHz . Kvantisering (=avrundning) till 8 värden. Digitalisering ger 3 bit per värde: 101 000 010 110 000.
bandpass- filter. Spärrar allt över 4000Hz. PCM = Pulse Code Modulation = Digitalisering av analoga signaler och seriell överföring Sifferexempel från PSTN = publika telefonnätet: 011011010001... 1 AD-omvand- lare med seriell utsignal DA- omvandlare Antiviknings- filter Sampler Interpola- tionsfilter Högtalare Mikrofon 8 bit per sampel dvs 64000 bps per tfnsamtal 28 = 256 spänningsnivåer 300-3400Hz bandpass- filter. Spärrar allt över 4000Hz. 8000 sampels per sek
Exempel En 6 sekunder lång ljudinspelning digitaliseras. Hur stor är inspelningens informationsmängd? a) 22000 sampels/sekund, 256 kvantiseringsnivåer. b) 22000 sampels/sekund, 16 kvantiseringsnivåer. c) 5500 sampels/sekund, 256 kvantiseringsnivåer. 22000sampels * 6 s * 8 bit = 1056000bit. 22000sampels * 6 s * 4 bit = 528000bit. 5500sampels * 6 s * 8 bit = 264000bit.
Vikningsdistorsion (aliasing) Inträffar om man inte filtrerar bort frekvenser som är högre än halva samplingsfrekvensen. Exempel: En sinuston på 4kHz som samplas med samplingsfrekvens 4 kilosampels/s viks ned till en ton på ton på 2kHz.
Example What sampling rate is needed for a signal with a bandwidth of 10,000 Hz (1000 to 11,000 Hz)? Solution The sampling rate must be twice the highest frequency in the signal: Sampling rate = 2 x (11,000) = 22,000 samples/s
f < fs/2 Samplingsteoremet Den högsta frekvens som kan samplas är halva samplingsfrekvensen. Om man samplar högre frekvens än fs/2 så byter signalen frekvens, dvs det uppstår vikningsdistorsion (aliasing). För att undvika vikningsdistorsion så har man ett anti-vikningsfilter innan samplingen, som tar bort frekvenser över halva samplingsfrekvensen. Interpolationsfiltret används vid rekonstruktion av den digitala signalen för att ”gissa” värden mellan samplen. Ett ideal interpolationsfilter skulle kunna återskapa den samplade signalen perfekt om den uppfyller samplingsteoremet. I verkligheten finns inga ideala filter. Följdregel: Nyqvist’s sats säger att max datahastighet = 2B2log M, där M är antal nivåer, och B är signalens bandbredd, oftast lika med signalens övre gränsfrekvens.
Example 2.1
Example 2.4: PCM coding of speach and music
Example 2.7: Uncompressed video
Kvantiseringsdistorsion
Signal-to-quantization ratio (SQR)
Example 2.2: Quantization distorsion
Kvantiseringsdistorsion (kvantiseringsbrus) Avrundningsfelet låter ofta som ett brus. Svaga ljud avrundas bort, eller dränks i kvantiseringsbruset. Varje extra bit upplösning ger dubbelt så många spänningsnivåer, vilket ger en halvering av kvantiseringsdistorsionens spänningsnivå, dvs en fjärdedels effekt, dvs en minskning med 6 dB. N bit upplösning ger ett signal-till-kvantiseringsbrus-förhållande (SQR=Signal to quantization noise ratio) på i storleksordning N*6 dB (det kan skilja några dB beroende på hur man definierar max signalnivå.)
Kompressionsalgoritmer Kapitel 3-4
Shannons entropi-formel Entropi = informationsmängd per kodord, dvs minsta möjliga antal bit per kodord efter datakompression.
Språkets entropi. Exempel: Om det engelska alfabetets 26 bokstäver vore lika vanliga blir entropin per bokstav: Men, den verkliga entropin i det engelska språket är 2.62 bit/bokstav. Det går alltså att komprimera till den nivån, med hjälp av en variabel-längd-kod, dvs en kod som har olika antal bit för olika tecken, t.ex. s.k. Huffmankodning.
Example 3.1:
Huffman decoding example
Figure 3.4 Huffman encoding example: (a) codeword generation; (b) Huffman code tree.
Figure 3.3 Huffman code tree construction: (a) final tree with codes; (b) tree derivation.
Example 3.2: A series of messages
Differentiell PCM- kodning av ljud Det som överförs är skillnaden mellan nuvarande sampel och och föregående mottagen sampel (inkl kvantiseringsfel). DPCM möjliggör färre bitar per sampel än vid vanlig PCM. Vid tillräckligt hög samplingsfrekvens kan man använda s.k. enbitsteknik, dvs en bit per sampel.
Linear predictive coding (LPC) signal encoder and decoder schematic. Används vid kodning av mänskligt tal. Exempel: GSM:s talkodning komprimerar PCM:s ursprungliga 64 000 bps till 13 000 bps.
Delbandskodning (Sub-band coding) En CD-spelare kräver 16 bit per sampel x 44100 sampels per sekund x 2 kanaler = 1,4Mbps (miljoner bit per sekund). I MPEG layer 2 (används vid DVD, DVB och digitalradio) komprimeras datamängden till mellan 32Kbps och 384kbps (tusen bit per sekund) per ljudkanal. Man utnyttjar då örats maskeringseffekt, som gör att starka ljud dränker svaga ljud på närliggande frekvenser. En filterbank delar upp signalen i delfrekvensband. Varje delband kvantiseras för sig. I delband där ljudet är starkt kan man ha högt kvantiseringsbrus (högt Vmax och därmed högt q) utan att det hörs. Spektrum Hörs ej Frekvens
Figure 3.14: JPEG = Joint Photographic Experts Group
DCT = Discrete Cosine Transform 2D computation
Figure 3.17 Example of DCT quantization.
Figure 3.18 Vectoring using a zig-zag scan: (a) principle; (b) vector for example shown in Figure 3.17.
Video compression standards H.261, H.263, MPEG1 and MPEG2 are all based on the following techniques: Each frame is divided into blocks. Transform coding of each block. (DCT coding, with quantization, zig-zag scanning and run-length coding.) Differential coding of the motion. Motion prediction.
I = intracoded frame P = predicted/intercoded frame Figure 4.11 Example frame sequences with: (a) I- and P-frames only; (b) I-, P- and B-frames; (c) PB-frames. I = intracoded frame P = predicted/intercoded frame B = bidirectional interpolated frame
Figure 4.20: MPEG-1 example frame structure I = intracoded frame P = predicted/intercoded frame B = bidirectional interpolated frame
Example 4.1: MPEG-1
Example 4.2