Föreläsning 10: Ljudkodning ( Audio Coding ) 1. Inledning PCM, standardmetoder, MDCT, psykoakustik, ljudtryck 2. Hörselsinnet Hörnivåkurvor, hörseltröskel, maskeringseffekter, Barkskalan 1. Ljudkodning grundmetoder Grundarkitektur, psykoakustiska modeller, psykoakustisk kvantisering, stereo 2. MPEG-1 (Motion Pictures Expert Group) Lager I, II, III (MP3), Delbandsfilter, MDCT, bittilldelning 1. Ljudkodning andra metoder Dolby Digital, Ogg Vorbis, AAC, Spectrum replication
Ljudkodning Hörbart ljud upptar frekvensområdet 20 Hz 20 khz Ljud samplas typiskt med 32, 44.1 eller 48 khz. PCM kodning kräver 12 16 bitar/sampel för god kvalitet => 384 768 kb/s per ljudkanal. Samtliga standardmetoder (prediktiv kodning, VQ, transformkodning, delbandskodning är användbara. Örats egenskaper (psykoakustik) leder till modifieringar av distorsionsmått och bit-tilldelning.
Exempel (utan psykoakustik) Originalsekvens: 44.1 khz/16 bitar (706 Kb/s) Prediktiv kodning: 8 punkters prediktor, 4 nivåer (88 Kb/s) Vektorkvantisering: 6-dimensionell, 2 bitar/sampel Transformkodning: 8-punkter, zonkodning, 2 bitar/sampel I ljudkodningssammanhang används ofta en modifierad transform (MDCT). Det är också vanligt att växla mellan stora och små block beroende på signalens beteende.
Fönstring i MDCT
Psykoakustik Människans hörsel är ganska väl studerad och det finns bra modeller för den. Detta kan utnyttjas vid ljudkodning för att placera distorsionen (kvantiseringsbruset) så att det ska märkas så lite som möjligt. Alla moderna ljudkodningsmetoder utnyttjar psykoakustik vid kodningen, vilket ger en signifikant förbättring av den upplevda kvaliteten. (För bildkodning har man inte lyckats utnyttja modeller för synsinnet för mer än marginella förbättringar.)
Psykoakustisk effekt: Demo Musik utan distorsion Musik med vitt brus Musik med perceptuellt distribuerat brus
Grundarkitektur - ljudkodning PCM ljud Delbandsfiltrering + nersampling Bit-allokering, Kvantisering (minnesfri) bitström Psykoakustisk modell Delbandsfiltret ersätts/kompletteras ibland med DCT eller MDCT.
Psykoakustiska modeller Vid ljudkodning kodas signalen typiskt i block av storleksordningen 1000 samples. För att utnyttja psykoakustiken mäter man blockets innehåll av olika frekvenskomponenter (helst i Barkskalan). Man försöker även klassificera de olika banden som toner eller brus. Prototypmaskeringskurvor för de olika banden kombineras med hörseltröskeln till en total SMR-kurva. Bitar delas ut till de olika banden så att SNR (om möjligt) är större än SMR för alla band. Om bitarna inte räcker, delas de ut så att den totala skillnaden mellan SMR och SNR minimeras. Skillnaden mellan SNR och SMR kallas mask to noise ratio, MNR.
Psykoakustisk kvantisering För varje delband bestäms: MNR = SNR SMR [db] MNR: mask-to-noise ratio SNR: signal-to-noise ratio SMR: signal-to-mask ratio Allokera en bit till den delbandskvantiserare som har lägst MNR. Beräkna nya SNR och MNR. Repetera tills alla bitar fördelats.
Exempel Sammansättning av maskeringseffekter och tröskelnivåer ger önskat SNR-värde per delband
MPEG-1 delbandsuppdelning
Grundfiltrets frekvensgång Egenskaper: Parallell filterbank (ej binärt träd) Övriga filter är translaterade i frekv.planet Approximativt QMF (ej perfekt rekonstruktion) Direkt decimering 32:1
Blockschema MPEG-1 Layer III
Sammanfattning MPEG-1 Lager 1-3 1. MPEG-1 lager 1: Delbandsuppdelning (32 band) av grupper om 384 samples (ramar). Individuell adaptiv kvantiserare för varje band. 2. MPEG-1 lager 2: tre ramar kombineras för att sänka overhead-informationen. 3. MPEG-1 lager 3 (MP3): Vissa delband transformeras med MDCT för att öka frekvensupplösningen. Variabellängdkodning används.
Andra metoder ATRAC (Adaptive Transform Acoustic Coding) Kodningsmetod använd i MiniDisc. Signalen delas in i tre frekvensband (0-5.5125 khz, 5.5125-11.025 khz och 11.025-22.05 khz) med en enkel delbandskodare. Därefter görs en MDCT på varje delband. Två olika blockstorlekar (n = 64 och n = 512). AAC (Advanced Audio Coding) Kodningsmetod i MPEG-2 och MPEG-4 samt itunes. Baseras på MDCT och aritmetisk kodning. Ger ungefär samma kvalitet som MP3 vid halva datatakten. Dolby Digital Alternativ ljudkodare i MEPG-2 och MPEG-4. Proprietär kodare från företaget Dolby (USA). Bygger på MDCT och två olika blockstorlekar. Ogg Vorbis Open source project för att göra en ljudkodare som inte innehåller några patenterade delar. Bygger på MDCT och statisk Huffmankodning. Används exempelvis av Spotify.
MPEG-2/4 AAC: Advanced Audio Coder MDCT, n = 2048 eller n = 256. Olikformig kvantisering (kompander). Expert listener quality vid 128 kbit/s. Tillägg i MPEG-4: VQ, Aritmetisk kodning. Halva datatakten jämfört med mp3, framförallt beroende på förbättrad psykoakustisk modell. Mono 16 Stereo 32 Stereo 64 kbits/s Haydn Tracy Chapman
Spectral Band Replication (SBR) En metod där man skär bort högpassinnehållet ur ljudsignalen innan kodningen. Vid avkodningen återskapas högfrekvensinnehållet från lågpassinnehållet. Man skickar även med lite extra information i det kodade datat för att hjälpa till vid återskapandet av högpassignalen. Kan användas tillsammans med nästan vilken kodningsmetod som helst. I kombination med mp3 kallas det mp3pro. I kombination med AAC kallas det aacplus. Påstås ge 25-50 procents minskning av datatakten vid samma upplevda kvalitet. aacplus används i DRM (Digital Radio Mondiale) som är digitalradio via kort- och mellanvågsbanden, samt i den nya versionen av DAB.