Multimedie- och kommunikationssystem, lektion Forts. Kap 2: Signaler och Kvalitetsmått Kap 3-4: Ljud- och videokompression
PCM = Pulse Code Modulation = Digitalisering av analoga signaler och seriell överföring Sampler AD-omvand- lare med seriell utsignal DA- omvandlare Antiviknings- filter Interpola- tionsfilter Sifferexempel från PSTN = publika telefonnätet: Hz bandpass- filter. Spärrar allt över 4000Hz sampels per sek 8 bit per sampel dvs bps per tfnsamtal 2 8 = 256 spänningsnivåer 0 1 Mikrofon Högtalare
Exempel En 6 sekunder lång ljudinspelning digitaliseras. Hur stor är inspelningens informationsmängd? a) sampels/sekund, 256 kvantiseringsnivåer. b) sampels/sekund, 16 kvantiseringsnivåer. c) 5500 sampels/sekund, 256 kvantiseringsnivåer sampels * 6 s * 8 bit = bit sampels * 6 s * 4 bit = bit. 5500sampels * 6 s * 8 bit = bit.
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
Samplingsteoremet f < f s /2 qDen högsta frekvens som kan samplas är halva samplingsfrekvensen. qOm man samplar högre frekvens än f s /2 så byter signalen frekvens, dvs det uppstår vikningsdistorsion (aliasing). qFör att undvika vikningsdistorsion så har man ett anti-vikningsfilter innan samplingen, som tar bort frekvenser över halva samplingsfrekvensen. qInterpolationsfiltret används vid rekonstruktion av den digitala signalen för att ”gissa” värden mellan samplen. qEtt ideal interpolationsfilter skulle kunna återskapa den samplade signalen perfekt om den uppfyller samplingsteoremet. I verkligheten finns inga ideala filter. qFöljdregel: Nyqvist’s sats säger att max datahastighet = 2B 2 log 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) qAvrundningsfelet låter ofta som ett brus. qSvaga ljud avrundas bort, eller dränks i kvantiseringsbruset. qVarje 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. qN 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.3 Huffman code tree construction: (a) final tree with codes; (b) tree derivation.
Example 3.2: A series of messages
Figure 3.4 Huffman encoding example: (a) codeword generation; (b) Huffman code tree.
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 bps till bps.
Delbandskodning (Sub-band coding) En CD-spelare kräver 16 bit per sampel x 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 V max och därmed högt q) utan att det hörs. Frekvens Hörs ej Spektrum
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.
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