mpeg
Home ] hoger ] psycho-akoestisch model ] mpeg op het web ]

 

ico_luister.jpg (879 bytes)

MPEG Audio - MPEG Compressie

Test en ervaar  mpeg-I layer 3 =mp3

en hoor tevens  het verschil in kwaliteit tussen verschillende compressies!

geluiden bps (bits per seconde)
de referentie:

44kHz16bitsstereo (wav-bestand)= 1.4Mbps of 700Kbps voor mono

64Kbps (mp3) = 1:24 (voor stereo)
128Kbps (mp3)

1:12 (in stereo)

320Kbps (mp3)

 

 

 

 

 

 

 

 

 

 

 

Subbandcodering , de basistechniek!

SBC steunt op een fenomeen dat optreedt bij  het menselijk horen genaamd maskering.Kort gezegd komt dit hier op neer. Normale gezonde menselijk oren zijn gevoelig voor een breed frequentiespectrum. Maar wanneer een bepaalde frequentie in dit spectrum veel energie heeft zal dit voor gevolg hebben dat naburige frequenties met lagere energie niet zullen te  horen zijn! De luidste frequentie maskeert de zachtere tonen en wordt de maskeerder genaamd.Strikt gesproken hebben wij het hier over simultane maskering over de frequentie bandbreedte .Er bestaat ook niet-simultane maskering ( maskering in de tijd ) waar een luide toon een maskeerinvloed heeft op volgende optredende geluiden die kort in tijd na de luidere toon zouden optreden. Deze methode wordt vooral toegepast in mpeg-II !

Het basis idee van SBC bestaat dus uit een reductie van de bandbreedte door de gemaskeerde bandbreedte weg te laten .MPEG Audio is de meest populaire vorm van SBC.

De basis structuur van deze encoding van audio ziet er steeds uit als volgt:

                                             

  1. Op de eerste plaats gebeurt er op de audio data een tijd-frequentie mapping. Dit kan zijn een FFT en filterbank een wavelet decompositie enz.
  2. Een psychoakoestisch model  bekijkt de signalen in de afzonderlijke subbanden en ook het origineel signaal en determineert voor elk van hen een maskeerdrempel . Eenmaal deze drempels vast gelegd , wordt per band elke sample gequantiseerd en gecodeerd op zulke wijze dat de optredende quantisatieruis beneden de maskeerdrempel blijft!
  3. De laatste stap bestaat erin al deze gequantiseerde samples te verzamelen in een frame zodat de decoder op een gepaste manier de sampel terug kan samenstellen tot afspeelbare audio. De taak van de  decoder is veel eenvoudiger daar hij geen last meer heeft van het psycho-akoestisch model.

 

 

Een praktisch SBC systeem : MPEG-I AUDIO

Mpeg-I Audio bestaat infeite uit drie SBC schema's ,layers genaamd.Elk van hen heeft zijn eigen typische tijd-frequentie mapper zijn psychoakoestisch model en zijn quantisatie en codering. Layer 1 is de simpelste maar geeft de slechtste compressie .Layer 3 is veruit de meest gesofistikeerde en   moeilijk te compileren maar geeft een uitstekende compressie. Elke decoder kan dienst doen als decoder voor een lagere layer. Mpeg-1 kan elk audiosignaal in PCM  en gesampeld aan 32 , 44.1 of 48 kHz coderen.

Kenmerken van mpeg-I layer 1 = mp1

  1. De tijd-frequentie-mapping bestaat uit een polyfase filterbank bestaande uit 32 subbanden met gelijke bandbreedten en gebruikt dus geen kritische bandbreedten .
  2. Het psychoakoestisch model gebruikt een 512-punt FFT die een gedetaileerde frequentie inhoud geeft van de signalen in de subbanden.Deze ontbinding wordt gebruikt om zowel tonale als niet tonale maskeerders te vinden.Elke maskeerder legt een maskeerdrempel vast afhankelijk van zijn frequentie ,zijn intensiteit en tonaliteit.Alle maskeerdrempels in een subband worden dan gecombineerd tot één maskeerdrempel voor deze subband. Deze maskeerdrempel wordt dan vergeleken met de maximale signaalsterkte in de subband en produceert dan een signaal-tot-maskeerder verhouding welke de input is voor de quantisator.
  3. De quantizer/encoder onderzoek de samples in elke subband om de maximale signaalsterkte in de subband te vinden en quantiseert deze in 6 bits . Dit is de schaalfactor voor de subband.Dan wordt de ideale bit allocatie  gezocht voor de subband die een minimum geeft voor de ruis-tot-maskeerder verhouding. Tenslotte worden de samples in de subband   lineair gequantiseerd met de gevonden bit allocatie.
  4. De frame packer begint met een header die informatie geeft over de synchronisatie ( 12 bit) en de gebruikte boekhouding (20 bit) tesamen met een 16-bit cyclus   redundantietest  CRC ) voor foutdetectie en correctie hiervan. Elk van de 32 subbanden krijgt een 4 bits om de bit allocatie te beschrijven en 6 bits voor de schaalfactor .De overige bit slaan op de subband samples met een optionele trailer op het einde die bijkomende informatie kan bevatten.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Elke frame handelt over 384 PCM audio samples en  beslaat dus 8ms audio ( voor een sampling frequentie van 48 kHz )

                 figuur : structuur van één frame

Kenmerken van mpeg-I layer 2 = mp2

  1. De tijd-frequentie mapping is dezelfde als in mp1.
  2. Het psychoakoestisch model is gelijkaardig als deze in mp1 maar gebruikt een 1024-punt FFT met  dezelfde algoritmen als in mp1.
  3. De quantizer/encoder is gelijkaardig als deze in mp1 maar de frames zijn driemaal langer als in mp1. Dus elke informatieblok in bovenstaande figuur   wordt gesplitst in drie doordat elke subband wordt gesplitst in een lage-midden en hoge subband . Op die manier komt men dicht bij een kritische band opdeling van het signaal .Naargelang de verschillen tussen deze onderdelen worden alle drie , twee of slechts één van hen gebruikt . Dit geeft globaal  een factor 2 reductie in de bitrate voor de schaalfactoren.
  4. De frame packer gebruikt dezelfde header en CRC als deze in mp1. Het aantal bits dat gebruikt wordt om de bit allocatie te beschrijven varieert : 4 bits voor de lage subband , 3 voor de midden en 2 bits voor het hogere subbandonderdeel . De schaalfactoren ( één twee of drie  naargelang de data ) worden gecodeerd met 6 bits tesamen met een 2 bit informatie betreffende de combinatie van schaalfactoren dat wordt gebruikt.De subband samples worden gequantiseerd in overeenstemming met de bit allocatie en dan gecombineerd in groepen van drie ( de granules) . Elk granule wordt vervolgens gecodeerd met één codewoord.

Elk frame beslaat nu uit 1152 PCM audio inputs  met een duur van 24 ms voor 48kHz sampling frequentie. De hoogste kwaliteit ,gelijkwaardig aan CD kwaliteit , wordt bereikt met een bit rate van 256k bps .Soms   is 64k bps nog aanvaardbaar (?)  ! !!

Kenmerken van mpeg-I layer3 = mp3

Layer 3 is substantiëel complexer dan de vorige .In de eerste plaats gebruikt het een opsplitsing van het signaal in kritische banden ( dus de frequentieas wordt niet-lineair opgesplist in barken).Het psychoakoestisch model gebruikt ook tijdsmaskering naast frequentiemaskering , polynome regressies , gesofistikeerde quantisaties en coderingschemas welke toelaten variabele framelengtes te gebruiken. Huffman coderingen worden ook gebruikt. De frame packer heeft dan ook veel  meer werk en bezit tevens een bitreservoir om aangepaste bitallocaties te genereren voor signaaldelen die dat nodig blijken te hebben.

Stappen in het algoritme

In grote lijnen gebeurt de compressie dus alsvolgt.

  1. Gebruik convolutiefilters om het audio signaal op te delen in 32 banden die eventueel   de kritische banden kunnen  zijn: subband filtering
  2. Bepaal vervolgens de grootte van het maskeereffect in elke band door de naburige subbanden.Hier speelt het psychoakoestisch model een belangrijke rol.
  3. Als het vermogen in een subband beneden deze drempel ligt wordt hij niet gecodeerd!
  4. In het andere geval wordt het aantal bits vastgelegd die nodig zijn voor de amplituden zodanig dat de geïntroduceerde quantisatieruis beneden deze drempel blijft :1 bit quantisatie komt overeen met 6 dB aan ruis!

Een voorbeeld om de methode toe te lichten

Veronderstel dat na tijd-frequentiemapping de amplituden van de eerste 16 banden van de 32 banden devolgende niveau's hebben  

band   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
dB 0 8 12 10 6 2 9 58 35 20 15 4 3 5 4 2

 

Het niveau in de 8ste band is 58 dB . Hij is duidelijk een maskeerder.De drempelwaarden voor simultane maskering leiden wij af uit de maskeercurven . Deze geven een drempelwaarde van 12 dB voor de 7de band en een waarde van 15 dB voor de 9de band.Gezien het  niveau in band 7 slechts 9 dB bedraagt kan deze weggelaten worden.Gezien daarentegen het niveau van band 9 namelijk 35 dB is moet deze gecodeerd worden.Een 2 bit codering zal volstaan opdat de te coderen subbanden boven de quantisatieruis ( 2 bits = 12 dB) zouden blijven.
 

KaHo

vorige Home volgende

gewijzigd op 23/10/00

auteurs: Raoul Meuldermans

reviewer :