Musikdeling - Digitalisering

Følgende gennemgang af digitalisering af musik samt MP3 komprimering er taget fra [1]. Den er frit oversat fra engelsk og lettere modificeret, herunder forsynet med visse opdateringer i forhold til de standarder, der er blevet gængse i dag.

Definitioner

Lad os starte med at se på den "officielle" definition af MP3. MP3 er en forkortelse for MPEG-1 Audio Layer 3. "MPEG" er i sig selv en forkortelse af Moving Picture Experts Group - den officielle titel af et udvalg, dannet i regi af Den Internationale Standardiseringsorganisation (ISO) og Den Internationale Elektrotekniske Kommission (IEC), med henblik på at udvikle en international standard for en effektiv kodning af video og lyd i høj kvalitet. Planen var at finde en metode til komprimering af audio-og videodata så det ville være muligt at lagre dem på, og hente dem fra, en enhed, der leverer omkring 1,5 millioner bits per sekund - såsom en almindelig cd-rom. I 1993 offentliggjorde MPEG udvalget frugterne af deres arbejde og fastsatte en standard for kodning af levende billeder og tilhørende lyd til digitale lagermedier op til omkring 1,5 Mbit/sekund, mere almindeligt kendt som MPEG-1 standarden.

Kravet om, at kodet video og lyd skal kunne hentes fra et medie, der kun leverer 1,5 millioner bits per sekund, dikterede, at en af ​​de største bekymringer blev datakomprimering, da overførsel af ukomprimeret lyd og video ville kræve mange flere bits per sekund. Det er den særlige metode til datakomprimering anvendt ved MP3 komprimering, der gør den interessant. Dette kommer vi tilbage til senere.

Før vi går videre til at se på, hvad MP3-komprimering indebærer, kan det være nyttigt at se nærmere på den traditionelle form for digital lydproduktion, som MPEG-1 audio søgte at erstatte, og hvorfor dette blev anset for nødvendigt.

Konventionel Digital Audio

Langt størstedelen af ​​digitale optagelsessystemer fungerer i store træk på samme måde. Et indgående lydsignal føres ind i en såkaldt Analog-til-Digital (AD) konverter. AD konverteren tager en række målinger af signalet med jævne mellemrum, og gemmer hver enkelt som et tal. Den resulterende lange række af numre bliver derefter placeret på en eller anden form for medie, fx. en lyd CD. Afspilningen er stort set den samme proces i omvendt rækkefølge: en lang række tal hentes fra et lagringsmedie, og videregives til en såkaldt Digital-til-Analog (DA) konverter. DA konvertereren måler det originale signal, og bruger disse målinger til at konstruere en meget god tilnærmelse af dette signal, som derefter kan overføres til en højttaler og høres som lyd.

Det generiske navn for dette system er Pulse Code Modulation (PCM), og det anvendes i alle moderne samplere, digitale optagere og computer audio grænseflader. For at opnå en korrekt gengivelse af et lydsignal har PCM til formål at foretage en nøjagtig registrering af kurveformen af ​​dette signal. Enhver, der nogensinde har set et oscilloskop, eller er bekendt med samplere og lydredigeringssoftware, vil have stødt på kurveformer. De er interessant udseende bølgede linjer, der bruges til at repræsentere lyd (se figuren, nedenfor). Kort sagt, en bølgeform er en form for graf. Den vandrette akse repræsenterer tiden, og den lodrette akse repræsenterer amplitude. Amplitude, når vi taler om lyd, er relateret til volumen. For eksempel, hvis en mikrofon blev forbundet til et oscilloskop og placeret i et støjfyldt miljø, ville amplituden af ​​bølgerne på grafen svare til mængden af ​​lufttrykket, der påvirker mikrofonen, og dermed ​lydstyrken.

lydboelger.jpg

Forskellige typer af lyd svarer til forskellige former for bølger, der har hver deres karakteristiske udséende. Bølgeformerne for tonelejet for visse instrumentlyde kan ofte være klart synlige gentagne 'cyklusser', og mængden af ​​gentagne cyklusser inden for en given tidsramme vil variere afhængigt af tonelejet (tonehøjden). Lyde, der ikke har noget særskilt toneleje, tenderer på den anden side til at korrespondere med mere uregelmæssige bølgeformer.

Ved at tage og lagre en række meget præcise målinger af en bølgeform, er PCM i stand til at rekonstruere en rigtig god tilnærmelse af den lyd, der svarer til netop dén bølgeform. I et høj-kvalitets PCM-system kan tilnærmelsen være så god, at en optaget lyd er praktisk umulig at skelne fra dens kilde. For at systemet kan fungere godt er det nødvendigt at operere inden for visse grænser. Der er grundlæggende to variable. Den første af disse er kendt som samplingsfrekvens, og den anden er kendt som bitdybde.

Samplingfrekvensen beskriver det antal gange et indgående lydsignal måles eller 'samples' i en given periode. Det er typisk angivet i kilohertz (kHz, hvilket betyder tusindvis af cyklusser per sekund), og for at optage såkaldte 'CD-kvalitets' lyd er det nødvendigt med en samplingfrekvens på 44,1 kHz, dvs. 44.100 målinger/samplinger i sekundet.

Bitdybden beskriver derimod den nøjagtighed, som hver måling eller 'sample' er taget med. Når AD konverteren i et PCM digital audio system måler et indgående signal, og gemmer målingen som et tal, er dette nummer repræsenteret som en række 0'er og 1-taller, også kendt som en "binært ord". Bitdybden henviser til længden af det binære ord, der bruges til at beskrive hver enkelt prøve af indgangssignalet taget af AD konverter. Længere ord give mulighed for repræsentation af en bredere vifte af numre, og dermed for mere præcise målinger og mere naturtro gengivelser af et signal. I et 16-bit system er hver prøve repræsenteret som et binært ord, der er 16 cifre langt. Da hvert af disse 16 cifre kan være enten et 0 eller et 1, er der derfor ikke mindre end 65.536 (216) mulige værdier for hver prøve.

Figurerne herunder fra [2] viser, hvordan samplingsprocessen tager en række målinger af bølgeformen, tildeler hver måling en værdi svarende til amplituden og gemmer målingerne som binære tal.

sampling.gif
Sampling processen måler gentagne gange den aktuelle amplitude af den analoge bølgeform
quantisation.gif
Der bliver tildelt et tal til hver måling svarende til amplituden
encoding.gif
Tallene fra målinger repræsenteres som binære tal

Problemet med filstørrelser

Et 16-bits system med en samplingfrekvens på 44,1 kHz er almindeligt accepteret som referencepunkt for digital lyd, og når producenter praler af "CD-kvalitets" lyd, beskriver de dybest set blot et system, der er i stand til at operere indenfor disse grænser. Men det problematiske ved PCM-lyd er, at mens lydkvaliteten er god, så vil lagring af optagelser bruge betydelige mængder af plads. Dette er matematisk uundgåeligt: ​​44100 16-bits prøver per sekund vil give 88.200 'bytes' data (da der er 8 bits i en byte) i sekundet - og det dobbelte (176.400 bytes per sekund) i et stereosignal. Så for at optage et minuts stereolyd kræves 10.584.000 bytes (ca. 10 megabyte) ledig plads på et lagringsmedie.

Selv om dette er acceptabelt for konventionelle lyd-CD'ere kan det være problematisk i andre sammenhænge. I situationer, hvor lyden skal registreres og lagres som filer på en computer, er det ønskeligt at reducere størrelsen af ​​de nævnte fil så vidt muligt for at udnytte begrænsede system ressourcer. Når computere er forbundet til internettet, bliver behovet for at minimere filstørrelser endnu mere presserende. Plads på web-servere er begrænset og kan være dyr, og overførsel af filer over nettet er følsomt overfor den datamængde, der skal overføres.

Samplingfrekvens

For at gøre lydfiler mere håndterbare er det nødvendigt at reducere deres størrelse, og der er en række måder, hvorpå dette kan gøres. Én metode er at reducere samplingfrekvensen for optagelsessystemet. For eksempel, hvis samplingfrekvensen er halveret, er der taget halvt så mange målinger af indgangssignalet, og således kun produceret halvt så meget data. Men dette har nogle alvorlige bivirkninger for lydkvaliteten. Det ville være en overdrivelse at sige, at lydkvaliteten er reduceret til det halve, men optagelsen er ikke desto mindre i visse henseender halvt så nøjagtige. Konkret er "frekvensgangen" af registreringssystemet halveret. I realiteten betyder det, at en stor del af den højfrekvente indhold af lyden går tabt, hvilket fører til, at optagelserne mangler styrke og klarhed.

Sammenhængen mellem samplingfrekvens og frekvensgang kan forklares ved, hvad der er kendt som 'Shannon-Nyquists sætning', hvori det hedder, at for at et signal kan blive gengivet nøjagtigt ved PCM, skal der tages mindst to prøver af hver cyklus af dets bølgeform. I praksis er den højeste frekvens, der kan registreres korrekt, derfor halvdelen af frekvens anvendt ved stikprøverne. Dette er kendt som "Nyquist Grænsen". Et traditionelt 'CD-kvalitets' digital optagelsessystem bruger en samplingfrekvens på 44,1 kHz, og kan derfor kun gengive frekvenser op til 22,05 kHz. Alle frekvenser over denne grænse kasseres. Dette anses ikke normalt for at være et problem, da forskningen har vist, at de fleste mennesker alligevel kun er i stand at høre meget lidt - om noget - over denne frekvens. Hvis samplingsfrekvensen er reduceret til 22,05 kHz vil alle frekvenser over 11,025 kHz kasseres - og dette vil resultere i en mærkbar forringelse af lydkvaliteten. Mange musikinstrumenter producerer frekvenser udover dette område, og kan lyde kedelige og ubehagelige i optagelser foretaget med en reduceret sample frekvens.

Bitdybde

En alternativ metode til at reducere lyd filstørrelserne er at reducere bitdybden af ​​det optagelsessystem, der skaber dem. For eksempel kunne 8-bits prøver anvendes i stedet for 16-bits prøver. Ligesom med en reduktion i samplingsfrekvens vil dette uden tvivl den ønskede effekt at reducere mængden af ​​data genereret ved at lave en optagelse. Hvis hver prøve af indgangssignalet gemmes som et 8-bits i stedet for et 16-bits binært ord, så fylder optagelsen kun én byte per prøve i stedet for to. Dette fordobler kapaciteten af ​​det anvendte lager medie, ved at halvere filstørrelsen.

Men en reduktion i bit-dybde har også nogle uønskede bivirkninger hvad angår lydkvalitet. Som vi har set, giver et 16-bits system mulighed for 65.536 eller 216 mulige værdier for hver udtagen prøve. Det er nærliggende at tro, at en 8-bits system ville give mulighed for nøjagtig halvdelen af denne opløsning, men dette er ikke tilfældet: et 8-bits binært ord har faktisk kun 28 (256) mulige værdier. Dette giver mulighed for væsentligt mindre nøjagtige samples af indgangssignalet, og giver derfor langt ringere lydkvalitet. Med færre mulige værdier for hver enkelt sample, vil et 8-bits registreringssystem ofte registrere fejlagtige samples. Denne fejlrepræsentation kan beskrives som en reduktion i "signal-til-støj-forholdet" (signal-to-noise ratio) i systemet, og det fører til optagelser, der har tendens til at lyde barske og unaturlige.

På trods af de problemer, der ligger i reduktioner i samplingsfrekvens og bitdybde af PCM-lyd, anvendes disse metoder ofte i applikationer, hvor uberørt lydkvalitet betragtes som en mindre prioritet end bevarelse af systemets ressourcer. Forskellige andre tekniske forbedringer af PCM-modellen, som f.eks DPCM (Differential Pulse Code Modulation) og ADPCM (Adaptive Differential Pulse Code Modulation), er også blevet udviklet med henblik på at forsøge at reducere filstørrelsen uden at ofre alt for lydkvaliteten. Disse formater har dybest set til formål at forbedre på almindelig PCM med mere effektive metoder til håndtering og lagring af data. Lydkvaliteten og effektiviteten af ​​disse metoder er generelt ganske fornuftigt. Men selv på når de fungerer bedst, giver de ikke tilstrækkelig reduktion i filstørrelsen til at løse problemet med at levere lydoptagelser i høj kvalitet til 'multi-medie' og Internet-applikationer. For at gøre dette, er en ganske anden tilgang nødvendig.

Perceptuel Kodning

Hvad der gør MP3-komprimering effektiv som en metode til komprimering af lyd er dens afvigelse fra PCM-modellen. Som vi har set er målet i et PCM-system digitalt at gengive bølgeformen for et indgående signal så præcist, som det er praktisk muligt. Dog kan der argumenteres for, at den implicitte antagelse af PCM - nemlig at gengivelse af lyd kræver reproduktion af waveforms - er forenklet, og indebærer en misforståelse af den måde, menneskets opfattelse rent faktisk virker.

Kendsgerningen er, at vores ører og vores hjerner er ufuldkomne og forudindtagede måleinstrumenter, som fortolker eksterne fænomener i henhold til deres egne fordomme. Man har for eksempel fundet ud af, at en fordobling af amplituden for en lydbølge ikke nødvendigvis svarer til en fordobling i den tilsyneladende styrke af lyden. En række faktorer (såsom hvor ofte indholdet af lyden, og tilstedeværelsen af ​​baggrundsstøj) vil påvirke, hvordan den eksterne stimulus bliver fortolket af de menneskelige sanser. Vores opfattelse vil derfor heller ikke ligefrem spejle begivenheder i den ydre verden, men snarere afspejle og fremhæve visse egenskaber ved disse begivenheder.

Vi kan derfor beslutte, da vores mål er at gengive en lyd til gavn for en menneskelig lytteren, at det er ganske unødvendigt nøjagtigt at genskabe hver karakteristisk lyd bølgeform. I stedet kan vi koncentrere os om at afgøre, hvilke egenskaber ved bølgeformen, der vil være vigtigst for lytteren, og prioritere registrering af disse egenskaber. Dette er teorien bag perceptuel kodning. For at sige det mere enkelt, kunne vi sige, at mens PCM forsøger at indfange en bølgeform "som den er", så forsøger MP3 at indfange den, "som den lyder".

For at dette skal være muligt, er det nødvendigt at bestemme et sæt af regler for, hvad der ER eller IKKE ER meningsfuldt for en menneskelig lytter. Dette sæt af regler kaldes undertiden en "psykoakustisk model". For at forstå, hvordan den psykoakustiske model virker, er vi nødt til at overveje to vigtige begreber i digital lyd og perceptuel kodning: redundans og irrelevans.

Begge ord beskriver begrundelsen for, at en vis mængde af audio data anses for at være unødvendigt og tilstrækkeligt uvæsentligt til, at det kan blive kasseret eller ignoreret uden en uacceptabel forringelse af lydkvaliteten. Vi har allerede set et eksempel på redundans i vores tidligere diskussion af ​​repræsentationen af PCM bølgeformer. CD-kvalitets PCM lyd skiller sig af med frekvenser højere end 22,05 kHz - samplingfrekvensen for 44,1 kHz blev valgt, fordi frekvenser omkring 22,05 kHz blev anset for at være uden for rækkevidde af den menneskelige hørelse, og derfor overflødige. Hvis vi skulle beslutte (som nogle entusiaster har), at frekvenser over 22,05 kHz rent faktisk indeholder vigtige oplysninger om farve og tone af lyd og musik, kan vi vælge at bruge en øget samplingsfrekvens, og dermed fange nogle af de frekvenser, et CD-kvalitets system ville have behandlet som overflødig. Selv hvis vi skulle gøre det, ville vi ikke have afskaffet redundans helt: Vi ville bare have flyttet målstolperne (eller mere præcist, "Nyquist Grænsen") således, at redundans forekom ved højere frekvenser end før. Redundans er med andre ord ikke nyt for så vidt angår digital audio: det er i virkeligheden en uundgåelig kendsgerning i skabelsen af digital lyddata.

Irrelevans er dog et noget mere radikalt koncept. Teorien bag psykoakustiske kodning hævder, at på grund af de særlige forhold ved menneskets opfattelse, vil visse egenskaber ved en given bølgeform være meningsløse at lagre for en menneskelig lytter - og dermed ikke blive opfattet overhovedet. Men på grund af dens insisteren på at fange hele bølgeform, vil et PCM-system ender med optagelse og lagring af en stor mængde af irrelevante oplysninger på trods af, at disse egenskaber ved lyden ikke kan opfanges af det menneskelige øre ved afspilning. Målet ved perceptuel kodning er - ved henvisning til en psykoakustisk model - kun at gemme data, som kan opfanges af det menneskelige øre. Dermed er det muligt at opnå drastisk reducerede filstørrelser, ved blot at kassere disse irrelevante data fanget i en PCM optagelse.

Maskering

Den psykoakustiske model afhænger af en bestemt ejendommelighed ved menneskets opfattelse af lyd: en effekt kendt som maskering. Maskering kan beskrives som en tendens i lytteren til at prioritere bestemte lyde frem for andre, alt efter den sammenhæng, hvori de opstår. Maskering opstår, fordi den menneskelige hørelse tilpasser sig til det aktuelle niveau af lyd og støj i et givet miljø. For eksempel kan et pludseligt håndklap i et roligt rum virke forbløffende højt. Men hvis det samme klap straks blev efterfulgt af et skud, ville det være meget mindre larmende. Tilsvarende ved optagelse af et rockband i et lydstudie kan lyden af ​​en elektrisk guitar synes at dominere mixet indtil det øjeblik, hvor trommeslageren rammer et bestemt bækken - på hvilket tidspunkt guitaren kan synes at være kort overdøvet. Disse er eksempler på hhv. "tids-domæne" og "frekvens-domæne" maskering. Når to lyde optræder samtidig eller næsten samtidig, kan den ene være delvist maskeret af den anden, afhængig af faktorer såsom deres relative volumen og frekvens indhold.

Maskering er dét, der gør det muligt for perceptuel kodning at slippe af med at fjerne en stor del af de data, som konventionel bølgeformskodning ville lagre. Dette indebærer ikke kassering af alle de data, der beskriver maskerede elementer i en lydoptagelse: at gøre dette ville nok lyde bizart og ubehageligt. I stedet virker perceptuel kodning ved at tildele færre bits af data til de maskerede elementer i en optagelse, end til de "relevante" elementer. Dette har den virkning at det indfører en vis forvrængning, men da denne skævhed er (forhåbentligt) begrænset til de maskerede elementer, vil det (forhåbentligt) være umærkelig ved afspilning. Brugen af færre bits til at repræsentere de maskerede elementer i en optagelse betyder, at færre bits overordnet set er påkrævet. Dette er metoden, hvorpå det lykkes for MP3-komprimering at reducere lyd-filer til omkring en tiendedel af deres oprindelige størrelse, med ringe eller ingen mærkbar forringelse af lydkvaliteten.

acoustic_masking_principle2.jpg
Det akustiske maskeringsprincip i frekvens-domænet. Her forårsager signalet ved 300 Hz at signalet ved 150 Hz ikke kan høres.masking_principle_time_domain2.jpg
Maskeringsprincippet i tids-domænet. Et stykke tid efter at det maskerende signal er slut vil andre signaler, der ligger under kurven, ikke være hørbare.

Figurerne til højre viser hhv. frekvens-domæne og tids-domæne maskering[3].

MP3-komprimering

Det første krav for at kunne skabe en MP3-data stream er en eksisterende PCM lyd stream. MP3 bør opfattes ikke som en selvstændig metode til digital optagelse, men snarere som en proces til at fjerne irrelevant data fra en eksisterende optagelse. Lyden, der skal kodes, vil typisk være 16-bit, og der understøttes sample frekvenser på 32 kHz, 44,1 kHz og 48 kHz. Den første fase af processen indebærer at tage korte afsnit fra den originale PCM stream og behandle dem med, hvad der er kendt som et analysefilter. MPEG-1-standarden angiver ikke præcist, hvordan dette filter skal være bygget men kun, hvad den skal gøre. Typiske MP3 encodere bruger en variation af en matematisk algoritme som "Fast Fourier Transformation" (FFT) eller "Diskret Cosinus Transformation" (DCT) til at udføre opgaven. Vi behøver ikke at diskutere, hvordan disse algoritmer rent faktisk fungerer, men kun hvad deres effekt på indgående lyd er: nemlig at opdele hvert afsnit i 32 del-bånd. Disse del-bånd repræsenterer forskellige dele af frekvensspektret i det originale signal. Men hvorfor er det nødvendigt?

Tja, en tilfældig sektion fra en PCM-optagelse kan indeholde en blanding af meget forskellige lyde. Den kan indeholde overvejende lavfrekvente lyde som en stortromme, overvejende højfrekvente lyde som et bækken, og en lyd, såsom en vokal fra et sted i mellem - hvor alle de forskellige lyde optræder på én gang. Som vi ved har MP3 behov for at adskille 'irrelevant' lyd fra 'relevant' lyd, og til at behandle hver slags forskelligt. Ved at adskille lydsektioner til del-bånd er det muligt for MP3-komprimeringen at sortere forskellige former for lyde ud fra deres frekvensindhold - og så at prioritere nogle frem for andre, i overensstemmelse med kravene i den psykoakustiske model. Hvis der i ovenstående eksempel var nogle af de lavfrekvente lyde i stortrommen, der blev anset for at være irrelevant, kunne komprimeringen bruge færre bits til at repræsentere det del-bånd, der indeholder disse frekvenser, hvorved der bliver flere bits fri til at repræsentere de del-bånd, der indeholder nogle af de frekvenser fra vokalen, der eventuelt er mere 'relevante' for en lytter, og dermed mere følsomt for forvrængning og støj forårsaget af en lavere bithastighed.

I den næste fase af processen bliver del-bånds sektionerne samlet i frames. Indholdet af disse frames bliver undersøgt i et forsøg på at bestemme, hvor maskering i både frekvens- og tids-domæner vil opstå, og dermed som de enkelte frames kan få lov til at forvrænge. "Maske-til-Støj" (Mask-to-Noise) forholdet for hver frame beregnes, og disse oplysninger bliver benyttet i den afsluttende fase af processen: bit-tildeling.

Under bit-tildelingen bliver det besluttet, hvor mange bits, der skal bruges til at repræsentere hver frame. Jo flere bits, der er tilladt, jo mere effektiv kan repræsentationen være. Det er derfor nødt at afsætte flere bits til frames, hvor lidt eller ingen maskering kan forventes - men kan tillade sig at tildele færre bits til frames, hvor mere maskering er sandsynlig. Det samlede antal bits til rådighed varierer alt efter den ønskede bithastighed for overførslen, som er udvalgt før komprimeringen begynder efter brugerens behov. Hvor lydkvaliteten var en høj prioritet blev der i årene omkring år 2000 benyttet en hastighed på 128 kilobit per sekund (kbps). I dag anser man en hastighed på 192 kbps eller mere som en god kvalitet.

Når komprimeringen er færdig, er alle frames gemt - hver med nogle bytes header data - og en MP3-fil kan gemmes på harddisken. Den resulterende fil kan derefter læses af en MP3 dekoder, og spilles som audio. En MP3-dekoder udfører en forenklet omvendt form af komprimeringsprocessen. Del-bånd frames 'genopbygges' i tid-domæne sektioner (ved hjælp af en omvendt form af analysefiltereret), og ender op med at genskabe en audio stream. Men da komprimeringsprocessen har lagret oplysninger om bit-allokering i hver frame i headerinformationen, så er det ikke nødvendigt for dekoderen at træffe sådanne beslutninger selv. Derfor har en dekoder meget mindre arbejde at gøre. En dekoder kan derfor gennemføres i et noget enklere program eller enhed end en enkoder - hvilket formentlig forklarer, hvorfor der er så meget mere software til afspilning af MP3-filer til rådighed end software til komprimering.

Referencer
1. Paul Sellars: Perceptual Coding: How Mp3 Compression Works; www.soundonsound.com, 2000; http://www.soundonsound.com/sos/may00/articles/mp3.htm
2. Technology UK: Digital Signals; www.technologyuk.net, 2001-2011; http://www.technologyuk.net/telecommunications/telecom_principles/digital_signals.shtml
3. Từ Minh Tuấn: Perceptual coding: The miracle of acoustic masking; tamveso.blogspot.com, 2007; http://tamveso.blogspot.com/2007/11/perceptual-coding-miracle-of-acoustic.html
Medmindre andet er angivet, er indholdet af denne side licenseret under Creative Commons Attribution-NonCommercial 3.0 License