Presentation on theme: "14 Dec'09Comp30291 Section 81 UNIVERSITY of MANCHESTER School of Computer Science Comp30291 Digital Media Processing 2009-10 Section 8 (amended): Processing."— Presentation transcript:
14 Dec'09Comp30291 Section 81 UNIVERSITY of MANCHESTER School of Computer Science Comp30291 Digital Media Processing Section 8 (amended): Processing Speech, Music & Video
14 Dec'09Comp30291 Section Digitising speech Traditional telephone channels restrict speech to Hz. Considered not to incur serious loss of intelligibility. Significant effect on naturalness of sound. Once band-limited, speech may be sampled at 8 kHz. ITU-T G711 standard for speech in POTS allocates b/s for 8 kHz sampling rate with 8 bits / sample. Exercise: Why are components below 300 Hz removed?
14 Dec'09Comp30291 Section International standards for speech coding: ITU committee CCITT until 1993 part of UNESCO. Since 1993, CCITT has become part of ITU-T. Within ITU-T is study group responsible for speech digitisation & coding standards. Among other organisations defining standards for telecoms & telephony are: “TCH-HS”: part of ETSI (GSM). “TIA” USA equivalent of ETSI. “RCR” Japanese equivalent of ETSI. “Inmarsat” & various committees within NATO. Standards exist for digitising “wide-band” speech (50 Hz to 7 kHz) e.g. ITU G722.
14 Dec'09Comp30291 Section Uniform quantisation. Quantisation: each sample, x[n], of x(t) approximated by closest available quantisation level. Uniform quantisation: constant voltage difference between levels. With 8 bits, & input range V, have 256 levels with = V/128. If x(t) between V, & samples are rounded, uniform quantisation produces Otherwise, overflow will occur & magnitude of error may >> /2. Overflow is best avoided.
14 Dec'09Comp30291 Section 85 Samples e[n] ‘random’ within /2. When quantised signal converted back to analogue, adds random error or “noise” signal to x(t). Noise heard as ‘white noise’ sound added to x(t). Samples e[n] have uniform probability between /2. It follows that the mean square value of e[n] is: Power of analogue quantisation noise in 0 Hz to f S /2. Noise due to uniform quantisation error
14 Dec'09Comp30291 Section Signal-to-quantisation noise ratio (SQNR) Measure how seriously signal is degraded by quantisation noise. With uniform quantisation, quantisation-noise power is 2 /12 Independent of signal power. Therefore, SQNR will depend on signal power. If we amplify signal as much as possible without overflow, for sinusoidal waveforms with m-bit uniform quantiser: Approximately true for speech also. SQNR 6m dB.
14 Dec'09Comp30291 Section 87 For telephone users with loud voices & quiet voices, quantisation-noise will have same power, 2 /12. may be too large for quiet voices, OK for slightly louder ones, & too small (risking overflow) for much louder voices. Useful to know over what range of loudness will speech quality be acceptable to users. Variation of input levels volts OK too big for quiet voice too small for loud voice
14 Dec'09Comp30291 Section Dynamic Range (Dy) Dy = max possible SQNR (dB) min acceptable SQNR (dB) This final expression for Dy is well worth remembering, but it only works for uniform quantisation!
14 Dec'09Comp30291 Section 89 Exercise If SQNR must be at least 30dB to be acceptable, what is Dy assuming sinusoids & an 8-bit uniform quantiser? Solution: = Max possible - Min acceptable SQNR (dB) = (6m + 1.8) - 30 = = 19.8 dB. Too small for telephony Exercise: Repeat this calculation for 12-bit uniform quantisation.
14 Dec'09Comp30291 Section Instantaneous companding 8-bits per sample not sufficient for good speech encoding with uniform quantisation. Problem lies with setting a suitable quantisation step-size . One solution is to use instantaneous companding. Step-size adjusted according to amplitude of sample. For larger amplitudes, larger step-sizes used as illustrated next. ‘Instantaneous’ because step-size changes from sample to sample.
14 Dec'09Comp30291 Section 811 Non-uniform quantisation used for companding x(t) t
14 Dec'09Comp30291 Section 812 Implementation of companding (in principle) Pass x(t) thro’ compressor to produce y(t). y(t) is quantised uniformly to give y’(t) which is transmitted or stored digitally. At receiver, y’(t) passed thro’ expander which reverses effect of compressor. Analog implementation uncommon but shows concept well. Com- pressor Uniform quantiser Expander x(t) y(t) Transmit or store y’(t)x’(t)
14 Dec'09Comp30291 Section 813 Effect of compressor Increase smaller amplitudes of x(t) and reduce larger ones. When uniform quantiser is applied fixed appears: smaller in proportion to smaller amplitudes of x(t), larger in proportion to larger amplitudes. Effect is non-uniform quantisation as illustrated previously.
14 Dec'09Comp30291 Section 814 Effect of ‘compressor’ on sinusoid t 1 x(t)y(t) 1 t ‘Expander’ reverses this shape change.
14 Dec'09Comp30291 Section 815 Common compressor is linear for |x(t) close to zero & logarithmic for larger values. A suitable formula for x(t) in range ±1 volt is: where K = 1+ log e (A) A is constant which determines cross-over between linear & log. ‘A-Law’ instantaneous companding
14 Dec'09Comp30291 Section 816 Mapping from x(t) to y(t) by A-law companding y(t) x(t) +1 1/A -1/A 1 1/K -1/K A 13 (Too difficult to draw if A is any larger)
14 Dec'09Comp30291 Section 817 A-law companding as used in UK with A = 87.6 & K=5.47. General formula becomes: Maps x(t) in range ±1 to y(t) in range ±1. 1 % of domain of x(t) linearly mapped onto 20 % of range of y(t). Remaining 99% of domain of x(t) logarithmically mapped onto 80% of range for y(t). G711 standard ‘A-law’ companding with A=87.6
14 Dec'09Comp30291 Section 818 A-law expander formula When A = 87.6,
14 Dec'09Comp30291 Section 819 Graph of A-law expander formula y(t) x(t) +1 1/A -1/A 1 1/K -1/K A 3 (difficult to draw when A=87.6)
14 Dec'09Comp30291 Section 820 Effect of expander on ‘small samples’ Samples of x(t) ‘small’ when in range ±1/A (quiet speech). Compresser has multiplied these by 16 to produce y(t). (Assume A = 87.6) Without quantisation, passing y(t) thro’ expander would produce original samples of x(t) exactly, by dividing by 16. But any small changes to y(t) are also divided by 16. Effectively reduces quantisation step by factor 16. Reduces quantisation noise power ( 2 /12) by factor Multiplies SQNR for ‘small’ samples by 16 2 Increases SQNR for quiet speech by 24 dB as: 10 log 10 (16 2 ) = 10 log 10 (2 8 ) = 80 log 10 (2) 80 0.3 = 24 dB
14 Dec'09Comp30291 Section 821 Effect of expander on ‘large’ samples 35 dB Quantisation-step now increases in proportion to |x(t)| when |x(t)| increases further, above 1/A towards 1. Therefore, SQNR will remain at about 35 dB. It will not increase much further as |x(t)| increases above 1/A. Samples of x(t) are ‘large’ when amplitude 1/A. When x(t) =1/A, SQNR at output of expander is:
14 Dec'09Comp30291 Section 822 Observations For |x(t)| > 1/A, expander causes quantisation step to increase in proportion to x(t). Quantisation noise gets louder as the signal gets louder. If all samples of x(t) ‘large’, SQNR would remain approximately the same, i.e. about 35 or 36 dB for G711 (see next slide) If 30 dB SQNR is acceptable, large signals are quantised satisfactorily. Small signals quantised satisfactorily for lower amplitudes. Largest amplitude unchanged & smallest reduced by factor 16. Dy increased by factor 16 i.e. 24 dB to = 43.8 dB Same as 12-bit linear (6x – 30) but with only 8 bits. Quantisation error for A-law worse than for uniform when |x(t)| > 1/A Price to be paid for the increased dynamic range.
14 Dec'09Comp30291 Section V V/2 V/4 V/16 3V/4 A-law Uniform Amplitude of sample 0 SQNR dB Variation of SQNR with amplitude of sample
14 Dec'09Comp30291 Section 824 Mu ( )-law companding Similar companding technique adopted in USA. When |x(t)| < V / , y(t) ( / log e (1+ ) )x(t)/V since log e (1+x) x x 2 /2 + x 2 /3 - … when |x| < 1. -law with = 255 is like A-law with A=255, though transition from small quantisation-steps for small x(t) to larger ones for larger values of x(t) is more gradual with -law.
14 Dec'09Comp30291 Section 825 Compression/expansion may be done digitally via ‘look-up’ table. x[n] assumed to be 12-bit integer in range to Digitise x(t) by 12-bit ADC, or use 16-bit ADC & truncate to 12 bits. For each 12-bit integer, table has corresponding 8-bit value of x(t). Expander table has a 12-bit word for each 8 bit input. Each 8-bit G711 ‘A-law’ sample is a sort of ‘floating point number: Implementing compressor & expander SX2X2 X1X1 X0X0 M3M3 M2M2 M1M1 M0M0 x m Value is (-1) S+1. m. 2 x-1 where the ‘mantissa m is: (1 M 3 M 2 M 1 M ) 2 if x>0 or (0 M 3 M 2 M 1 M ) 2 if x=0
14 Dec'09Comp30291 Section Further reducing bit-rate for digitised speech PCM encodes each speech sample independently & is capable of encoding any wave-shape correctly sampled. This is ‘waveform encoding’: simple but needs high bit-rate. Speech waveforms have special properties that can be exploited by ‘parametric coding techniques’ to achieve lower bit-rates.
14 Dec'09Comp30291 Section 827 General trends may be identified allowing one to estimate which sample value is likely to follow a given set of samples. Makes part of information transmitted by PCM redundant Speech has 'voiced' & 'unvoiced' parts i.e. 'vowels' & 'consonants'. Predictability lies mostly in voiced speech as it has periodicity. In voiced speech, a ‘characteristic waveform', like a decaying sinusoid, is repeated periodically (or approximately so). t Volts Properties of speech waveforms
14 Dec'09Comp30291 Section 828 A characteristic waveform for voiced speech Volts t
14 Dec'09Comp30291 Section 829 Voiced speech (vowels) Shapes of characteristic waveforms are, to some extent, predictable from first few samples. Also, once one characteristic waveform has been received, the next one can be predicted. Prediction not 100% accurate. Sending a ‘prediction error’ is more efficient than sending the whole signal. ‘Decaying sinusoid’ shape of each characteristic waveform is due to the way sound is 'coloured' by shape of mouth. Similarity of repeated characteristic waveforms due to periodicity of sound produced by vocal cords.
14 Dec'09Comp30291 Section 830 Unvoiced speech (consonants) Random or noise-like with little periodicity. Lower in amplitude than voiced telephone speech. Exact shape of its noise-like waveform not critical for perception Almost any noise-like waveform will do as long as energy level is correct, i.e. it is not too loud or too quiet. Unvoiced speech is easier to encode than voiced. Separate them at transmitter & encode them in separate ways.
14 Dec'09Comp30291 Section 831 Characteristics of speech & perception exploited to reduce bit-rate 1. Higher amplitudes may be digitised less accurately. 2. Adjacent samples usually close in value. 3. Voiced characteristic waveforms repeat quasi-periodically 4. Predictability within characteristic waveforms. 5. Unvoiced telephone speech quieter than voiced & exact wave- shape not critical for perception. 6. Pauses of about 60 % duration per speaker. 7. Ear insensitive to phase spectrum of telephone speech 8. Ear more sensitive in some frequency ranges than others. 9. Audibility of low level frequency components 'masked' by adjacent higher level components,
14 Dec'09Comp30291 Section 832 Section of voiced & unvoiced telephone speech. Large amplitudes are voiced (speech bandlimited to 3.4kHz).
14 Dec'09Comp30291 Section 833 Small section of female voiced speech This was extracted from previous graph (sampled at 8 kHz). sample number
14 Dec'09Comp30291 Section 834 Smaller section of male voiced speech. sample Bandlimited to Hz & sampled at 8 kHz.
14 Dec'09Comp30291 Section 835 Magnitude spectrum of male speech Obtained by FFT analysing about 4 cycles as shown on next slide kHz dBW
14 Dec'09Comp30291 Section 836 Section of male voiced speech
14 Dec'09Comp30291 Section Differential coding Encode differences between samples. Where differences transmitted by PCM this is ‘differential PCM’. Omitted from syllabus in
14 Dec'09Comp30291 Section Simplified DPCM coder & decoder Omitted from syllabus in
14 Dec'09Comp30291 Section Linear prediction coding (LPC) Omitted from syllabus in
14 Dec'09Comp30291 Section 840 Formants in speech Excitation passes thro' vocal tract. Flexible tube : begins at glottis & ends at lips. Shape determined by tongue, jaw & lips. "Nasal tract" also tube connected at "velum". Tubes act like a filter with resonances ("formants"). Resonances change as person speaks. Resonance at f 1 Hz emphasises power close to f 1. Amplitudes of some harmonics increased with respect to others. Refer back to speech graphs. We see this effect.
14 Dec'09Comp30291 Section Waveform coding and parametric coding. Waveform coding techniques such as PCM & DPCM try to preserve exact shape of speech waveform as far as possible. Simple to understand & implement, but cannot achieve very low bit-rates. Parametric techniques (e.g. LPC) do not aim to preserve exact wave-shape, & represent features expected to be perceptually significant by sets of parameters, i.e. b i coefficients & parameters of stylised error signal. Parametric coding more complicated to understand & implement than waveform coding, but achieves lower bit-rates.
14 Dec'09Comp30291 Section Regular pulse excited LPC with LTP : (RPE-LTP) Original speech coding technique for GSM: “GSM 06.10”. One of many LPC techniques for mobile telephony. Omitted from syllabus
14 Dec'09Comp30291 Section CELP Based on similar principles to RPE-LRP. Omitted
14 Dec'09Comp30291 Section Digitising music: Standards exist for the digitisation of ‘audio’ quality sound. Compact disks: 2.83 megabits per second. (fs= 44.1kHz, 16 bits/sample, stereo, with FEC.) Too high for many applications. DSP compression takes advantage of human hearing. Compression is “lossy”, i.e. not like “ZIP”. MPEG concerned with hi-fi audio, video & their synchronisation. DAB, MUSICAM use “MPEG-1 audio layer 2” (MP2). 3 MPEG layers offer range of sampling rates (32, 44.1, 48 kHz) & bit-rates from 224 kb/s to 32 kb/s per channel. Difference lies in complexity of DSP processing required.
14 Dec'09Comp30291 Section 846 MPEG1-4 with MP3 etc Layer 1 of MPEG-1 (MP1) simplest & best suited to higher bit-rates: e.g. Philips digital compact cassette at 192 kb/s per channel. Layer 2 has intermediate complexity & is suited to bit-rates around 128 kb/s: DAB uses MP2. Layer 3 (MP3) is most complex but offers best audio quality. Can be used at bit-rates as low as 64 kb/s: Now used for distribution of musical recordings via Internet. All 3 MPEG-1 audio layers simple enough to be implemented on a single DSP chip as real time encoder/decoder. MPEG-2 supports enhanced & original (MPEG-1) versions of MP1-3. MPEG-3 was started but abandoned. Don’t confuse MPEG-3 with MP3 (MPEG-1/2 audio level 3) MPEG-4 ongoing & introduces ‘AAC’ & ‘MP4’.
14 Dec'09Comp30291 Section 847 CD recordings take little account of the nature of the music and music perception. Frequency masking & temporal masking can be exploited to reduce bit- rate required for recording music. This is ‘lossy’ rather than ‘loss-less’ compression. Frequency masking: ‘A strong tonal audio signal at a given frequency will mask, i.e. render inaudible, quieter tones at nearby frequencies, above and below that of the strong tone, the closer the frequency the more effective the matching’. Temporal masking: ‘A loud sound will mask i.e. render inaudible a quieter sound occurring shortly before or shortly after it. The time difference depends on the amplitude difference’. Introduction to MP3
14 Dec'09Comp30291 Section 848 Perceived loudness Human ear is not equally sensitive to sound at different frequencies. Most sensitive to sound between about 1 kHz and 4 kHz. ‘Equal loudness contour graphs’ reproduced below. For any contour, human listeners find sound equally loud even though actual sound level varies with frequency. The sound level is expressed in dB_SPA (see notes)
14 Dec'09Comp30291 Section 850 MP3 sub-bands MP3 is a frequency-domain encoding technique. Takes 50% overlapping frames of either 1152 or 384 samples. With fs = 44.1 kHz : ms or 8.7 ms of music Sound split into frequency sub-bands. Splitting in 2 stages, firstly by bank of 32 FIR band-pass filters. Output from each filter down-sampled by a factor 32. Then further split by means of DCT Obtain 1152 or 384 frequency domain samples.
14 Dec'09Comp30291 Section 851 Frequency-domain coding Frequency-domain samples can be coded. Spectral energy may be found to be concentrated in certain frequency bands and may be very low in others. Assign more bits to some frequency-domain samples than others. Equal loudness contours useful here. Use ‘signal to masking’ (SMR) ratio at each frequency to determine number of bits allocated to the spectral sample. More significant advantages from ‘psycho-acoustics’.
14 Dec'09Comp30291 Section 852 Frequency masking ‘A strong tonal audio signal at a given frequency will mask, i.e. render inaudible, quieter tones at nearby frequencies, above and below that of the strong tone, the closer the frequency the more effective the matching’. Characterised by a ‘spreading’ function. Triangular approximation available. Example given for a strong tone (60 dB_SPL) at 1kHz.
14 Dec'09Comp30291 Section 853 Example spreading function (triangular approx) Represents a threshold of hearing for frequencies adjacent to the tone. A tone below the spreading function will be masked & not heard. Tones make masking threshold contour different from ‘in quiet’ f Hz dB_SPL 2k dB_SPL -20 4k -40 f Hz
14 Dec'09Comp30291 Section 854 Triangular approximation to spreading function Derived from +25 and -10 dB per Bark triangular approximation (see WIKI) Assuming approximately 4 Barks per octave. Bark scale is alternative & perceptually based frequency scale Logarithmic for frequencies above 500 Hz. More accurate spreading functions are highly non-linear, not quite triangular, & vary with & amplitude & frequency of masker.
14 Dec'09Comp30291 Section 855 Effect of 2 strong tones on masking contour Add spreading function for each tone as identified by FFT. Allocate bits according to SMR relative to this masking contour, More efficient & economic coding scheme is possible k 5k1k f Hz 10k dB_SPL 0 Effect of tones at 800 Hz & 4 kHz masking contour in quiet
14 Dec'09Comp30291 Section 856 Temporal masking ‘A loud sound will mask a quieter sound occurring shortly before or shortly after it. The time difference depends on the amplitude difference’. Effect of frequency masking continues for up to 200 ms after the strong tone has finished, and even before it starts. Frequency masking contour for a given frame should be calculated taking account previous & next frames
14 Dec'09Comp30291 Section 857 Temporal characteristic of masking by a 20 ms tone at 60 dB_SPL t (ms) dB_SPL simultaneousPost- masking Pre-
14 Dec'09Comp30291 Section 858 Diagram of an MP3 coder Music Transform to frequency domain Derive psychoacoustic masking function Devise quantsation scheme for sub- bands according to masking Apply Huffman coding MP3
14 Dec'09Comp30291 Section 859 Huffman coding & more detail Quantisation scheme tries to make the 2 /12 noise < masking threshold. Non-uniform quantisation is used. Further efficiency with Huffman coding (lossless) ‘Self terminating’ variable length codes for the quantisation levels. Quantised samples which occur more often given shorter wordlengths. MP3 decoder simpler than encoder Reverses quantisation to get frequency domain samples & Transforms back to time domain taking into account frames are 50% overlapped. Some more detail about MP3 compression and Huffman coding is given in references quoted in the Comp30192 web-site. Frequency masking demo:
14 Dec'09Comp30291 Section Digitisation of Video Digital TV with 486 lines would require 720 pixels per line, each pixel requiring 5 bits per colour, i.e. 2 bytes per pixel. At 30 frames/s, bit-rate 168 Mb/s or 21 Mbytes/s. Normal CD-Rom would hold 30 s of TV video at this bit-rate. For HDTV, requirement is about 933 Mb/s For film quality, required bit-rate 2300Mb/s. SVGA screen with 800x600 pixels requires 3 x 8 = 24 bits per pixel, & 288 Mb/s if refreshed at 25Hz with interlacing. Need for video compression is clear.
14 Dec'09Comp30291 Section 861 MPEG-1 & 2 & FCC standard for HDTV use “2-D discrete cosine transform (DCT)” applied to 8 x 8 (or 10x10) pixel “tiles”. Red, green & blue colour measurements for each pixel transformed to a “luminance” & 2 “chrominance” measurements. The eye is more sensitive to differences in luminance than to variations in chrominance. Three separate images dealt with separately. For chrominance, average sets of 4 pixels to produce fewer pixels. Apply DCT to each tile to obtain 8x8 (or 10x10) 2-D frequency domain samples starting with a sort of “dc value” which represents overall brightness of the “tile”. Finer detail added by higher 2-D frequency samples. Just as for 1-D, higher frequencies add finer detail to signal shape.
14 Dec'09Comp30291 Section 862 The 2-D frequency-domain samples for each tile now quantised according to perceptual importance. Accurately quantise differences betw dc values of adjacent tiles. Differences often quite small & need few bits. Remaining DCT coeffs for each tile diminish in importance with increasing frequency. Many are so small that they may be set to zero. Runs of zeros easily digitised by recording length of run. Further bit-rate savings achieved by Huffman coding. Assigns longer codes to numbers which occur less often. Shorter codes for commonly occurring numbers.
14 Dec'09Comp30291 Section 863 Technique above may be applied to a single video frame Used to digitise still pictures according to “JPEG” standard. MPEG-1 & 2 send JPEG encoded frames ( I-frames) about once or twice per second. Between the I-frames MPEG-1 &-2 send “P-frames” which encode differences between current frame & previous frame “B-frames” which encode differences between current frame the previous & the next frame. MPEG-1 originally for encoding reasonable quality video at about 1.2 Mb/s. MPEG-2 originally for encoding broadcast quality video at bit- rates between 4 & 6 Mb/s.
14 Dec'09Comp30291 Section 864 End of section 8.