Kompetente Audio-Artikel aus der Computerbranche sind rar.
Fast alle Computer Magazine, die sich mit Audio beschäftigt hatten, verbreiteten nur populistische (Klientel bezogene) Weisheiten von oberflächlicher Natur. Selten waren die Artikel kompetent wie zum Beispiel in der "ct".
Dazu muß man aber wissen, daß der Heise Verlag in Hannover mal eine Zeit lang (von 1987 bis etwa 1993) das Magazin Hifi-Vision herausgegeben hatte und deren Redaktion lag bei den "Computer Leuten" - also den Kollegen - direkt nebenan. Da gab es zum Beispiel einen speziell gedämpften Hörraum für ausgiebige Lautsprechertests und damaliges High-End.
Und ich vermute, die Redakteure, also die Leute von den "Bits & Bytes" waren öfter mal "nebenan" bei den Redakteuren von "Wellen und Tönen" und haben mit Begeisterung den edlen Musiken gelauscht.
Hier steht noch ein Artikel über Wave und MP3.
.
Grundlagen der Audio-Kompression
"Die Kunst des Weglassens"
von Felix von Leitner im Januar 2000 - erschienen damals in der Computerzeitschrift ct.
.
Man kann Musikdateien auf 1/10 komprimieren
Man sollte es eigentlich nicht glauben: Während gängige Lösungen einen Video-Film - das sind Video-Bildfolgen - heute (im Jahr 2000) auf etwa ein 30stel der ursprünglichen Datenrate schrumpfen, liegen typische Kompressionsraten für hochwertige Audio-Daten immer noch bei 10:1. Der Bedarf für Audio-Kompression jedoch ist riesig; die Unterhaltungsindustrie finanziert seit Jahren ein Forschungsprojekt nach dem anderen.
.
Die Theorie sagt - alles ganz einfach
Eigentlich ist alles ganz einfach: Zur Kompression von Audio-Signalen speichert man unwichtige Informationen einfach nicht ab. Basierend auf Studien über das menschliche Gehör entscheidet der so genannte Encoder, welche Informationen wichtig sind und welche nicht. Schließlich ist es beim Menschen nicht viel anders: Bevor ein Klang ins Bewusstsein dringt, haben Ohr und Gehirn ihn schon auf seine Kernelemente reduziert. Die psychoakustische Reduktion der Audio-Daten nimmt diesen Vorgang teilweise vorweg.
Wie die Musik digitalisiert - gesampelt - wird.
Das übliche rohe normale Sound-Format digitaler Geräte (wie beispielsweise Sound-Karten) besteht in einer kontinuierlichen Folge von Abtastwerten. Dabei wird beispielsweise 44.100- oder 48.000 mal pro Sekunde die Eingangsspannung gemessen und als Binärzahl gespeichert. Als Wortlänge haben sich dafür 16 Bit durchgesetzt; professionelles Equipment setzt teilweise auch höhere Werte ein. Diese Messwerte nennt man Samples.
.
Doch das Ohr "macht" (oder hört) das anders
Die Funktionsweise des Ohres beruht aber nicht auf Samples, sondern auf Frequenzen. Im Gehörgang wird das Eingangssignal in Frequenzbereiche (so genannte Frequenzbänder) zerlegt und anschließend die Intensität des Eingangssignals auf den Nervenbahnen an das Gehirn weitergeleitet. Der digitalen Sound-Verarbeitung kommt entgegen, dass der Mensch Töne nur in einem bestimmten Frequenzbereich wahrnimmt. Der Durchschnittsmensch hört keine Höhen über 20 kHz; bei den meisten liegt die Schranke sogar schon bei 16 kHz oder noch viel tiefer. Mit zunehmendem Alter sinkt dies noch weiter.
.
Doppelt gemoppelt - wie schnell digitalisiert werden muß
Grundsätzlich gehen beim Messen natürlich Informationen verloren. Mit 30 Samples pro Sekunde kann man ein Signal von einem Kilohertz nicht abbilden: Ein wichtiges Theorem der Informationstheorie (von Herrn Shannon) besagt, dass die Samplingrate mindestens doppelt so hoch wie die höchste abzubildende Frequenz sein muss. Die Audio-CD benutzt eine Samplingrate von 44,1 kHz und kann damit theoretisch Signale bis 22,05 kHz erfassen. DAT-Bänder setzen sogar eine Samplingrate von 48 kHz ein. Auf Sound-Karten hat sich als obere Schranke 44,1 kHz eingebürgert; viele Adapter unterstützen inzwischen aber auch 48 kHz.
Die normale (verlustfreie) Kompression
Die normale (verlustfreie) Kompression beseitigt nur Redundanzen, also in anderen Bereichen des Signals schon implizit gegebene Informationen. Bei der Sprachkompression versucht man, den Ausgangspunkt des Signals, also die Tonquelle (die Stimmbänder und den Rachenraum) zu modellieren. Die bisher erfolgreichste Methode dafür ist CELP (siehe Kasten `Rhetorikschule´). Für die allgemeine Audio-Kompression möchte man aber keine Annahmen über den Ausgangspunkt des Signals treffen. Vielmehr setzt man am anderen Ende an - dem Gehör.
Gute Audio-Kompression muß mehr Informationen "beseitigen"
Der Schlüssel zur Audio-Kompression besteht darin, auch solche Elemente zu beseitigen, die nicht redundant, aber irrelevant sind. Dabei geht es um diejenigen Teile des Signals, die der menschliche Zuhörer sowieso nicht wahrnehmen würde. Es gibt drei Basistechniken zur Audio-Kompression:
.
- Predictive Coding: Das Wissen über das vergangene Signal wird für eine Vorhersage des nächsten Samples benutzt. Die Kompression ergibt sich daraus, dass man nur die Differenz zwischen dem Signal und der Vorhersage abspeichert.
- Sub-Band Coding: In diesem Fall teilt man das Audio-Spektrum in Frequenzbänder auf. Dann kann man die Tatsache ausnutzen, dass fast alle Bänder ein viel geringeres (oder weniger wichtiges) Signal beinhalten als das lauteste Band. Die Kompression beruht darauf, dass man für die wichtigen Bänder mehr Platz aufwendet als für die unwichtigen; in manchen Fällen kann man sich die Übertragung auch ganz sparen. Die Bits werden dynamisch auf die Bänder verteilt; dem Encoder fällt die aufwändige Selektionsarbeit zu, für die er ein so genanntes psychoakustisches Modell (siehe Kasten `Technische Eckpfeiler´) benutzt, nach dem er die wichtigen und unwichtigen Teile eines Signals unterscheidet. Der Encoder muss neben den Audio-Daten auch Informationen über die Bitverteilung übertragen. Der Decoder muss das Signal aus den abgespeicherten Informationen nur synthetisieren.
- Spectral oder Transform Coding: Mit dieser Technik berechnet man über die Wellenform periodisch eine Fourier-Transformation. Weil sich die transformierte Darstellung eines Signals nur langsam ändert, muss man sie viel seltener übertragen. Sub-Band Coding wird oft als Spezialfall von Transform Coding verstanden. Transform-Encoder benutzen gewöhnlich eine hohe Zahl an Subbändern und betrachten von der Frequenz her benachbarte Samples gemeinsam.
.
Wie im menschlichen Gehör - Frequenzen aufschlüsseln
Alle Audio-Kompressionsverfahren vollziehen zunächst den gleichen Schritt wie das menschliche Gehör: Sie schlüsseln das Signal nach der Frequenz auf. Für einen Computer ist das eine aufwändige Angelegenheit, bei der er mit komplexen Zahlen hantiert und einiges an Gleitkomma-Arithmetik vollzieht. Standardverfahren sind die Fourier- und die Diskrete Cosinus-Transformation (siehe Kasten `Musikpresse´).
Jetzt wir es kompliziert - die Wellentheorie
Die Theorie hinter diesen Verfahren besagt, dass man ein Signal annähern kann, indem man verschiedene Kurven überlagert. In der Regel kommen Sinuskurven zum Einsatz. Wenn man dies aber standardisiert hat, muss man die Funktionen nicht mitspeichern, sondern nur die Koeffizienten.
Die Randbedingungen bei der Multimedia-Kompression
Bei der Kompression von Multimedia-Daten gibt es aber auch noch andere Ziele als die bloße Datenreduktion. Bei MPEG, den Standards der "Motion Picture Expert Group", waren beispielsweise wichtige Ziele, dass ein Echtzeit-Encoder mit überschaubaren Kosten in Hardware und ein Echtzeit-Decoder auf verbreiteter Software umsetzbar ist.
Weitere Forderungen bestanden darin, dass man im Datenstrom vor- und zurückspulen und ihn auch rückwärts abspielen kann. Außerdem soll das Ganze resistent gegen Kaskadierung sein: Wenn jemand einen Song überspielt (und dabei dekodiert und wieder kodiert), sollen keine neuen Artefakte dazukommen.
Darüber hinaus sollte die Bitrate fest sein. Die Netzwerktechnik ist heute so weit, dass man garantierte Bandbreite reservieren kann; man muss also schon am Anfang wissen, wie viel Bandbreite man maximal belegen wird. Und wenn man sich entsprechenden Platz reserviert hat, möchte man ihn auch komplett ausnutzen. Auch würde man gerne den benötigten Platz in Abhängigkeit von der aufgenommenen Zeit berechnen können - dadurch sind Angaben wie `auf diese CD passen vier Stunden Musik´ möglich.
Nicht der (Platten-) Platz, nein, die Bandbreite ist wichtig
Deshalb verfolgt MPEG nicht den Ansatz, ein gegebenes Signal auf möglichst wenig Platz abzulegen, sondern eine gegebene Bandbreite optimal für das Signal auszunutzen. Das Ziel der Hardware-Realisierung erkennt man bei MPEG-Audio etwa daran, dass die Konfiguration der Filterbänke im Standard fest definiert und nicht vom Signal abhängig ist; außerdem benötigt die Technik kein Wissen über das vergangene Signal (das würde im Encoder viel Speicherplatz benötigen und Vor- sowie Zurückspulen wäre nicht möglich). Eine Filterbank ist das Hardware-Äquivalent einer Fourier- oder Cosinus-Transformation und besteht aus vielen parallelen Bandpass-Filtern.
Obige Forderung mit VBR (Variable Bitrate) umgehen
Der MPEG-Standard sieht allerdings auch vor, dass man ein Signal auf möglichst wenig Platz ablegen kann. Das Stichwort dafür ist VBR (Variable Bitrate). Der Encoder belegt dabei für schwache Abschnitte des Signals weniger Bandbreite als für starke. Aber auch ohne VBR hat MPEG Layer 3 ein so genanntes Bit-Reservoir, das der Encoder in schwächeren Perioden ansammelt und dann bei dynamischeren Perioden benutzt. Dieses Reservoir ist aber nicht sonderlich groß, da dies sonst wieder viel Speicher beim Encoder verlangen würde. Außerdem darf es nur sehr kurze Zeit verwendet werden, damit beim Vorspulen (wobei das Reservoir übersprungen würde) keine Schwierigkeiten auftauchen.
MPEG kommt aus der Video-Kompression
Das MPEG-Gremium hat sich ursprünglich mit der Video-Kompression beschäftigt. MPEG-Audio ist in so genannten Layern definiert.
Layer 1 ist die Basis, die alle En- und Decoder leisten müssen. Decoder für Layer 2 können automatisch auch Layer 1 spielen, aber nicht umgekehrt. Die berühmten MP3-Dateien sind nach MPEG-1 Layer 3 kodiert (MPEG-2 Layer 3 für die sehr kleinen Bitraten). MPEG-2 unterscheidet sich von MPEG-1 vor allem durch zusätzliche definierte Bitraten, Multichannel-Erweiterungen und der alternativen, zu MP3 inkompatiblen Kodierung AAC (Advanced Audio Coding).
.
. . . die Eigenschaften des Gehörs noch nicht vollkommen verstanden.
Bei dem so genannten perzeptionellen Audio-Coding existiert allerdings das Problem, dass die Wissenschaft die Eigenschaften des Gehörs noch nicht vollkommen verstanden hat. (Anmerkung : Das ist der Wissens-Stand aus Jan. 2000.)
Erst in letzter Zeit gibt es fundierte Daten über die verschiedenen "Maskierungseffekte". Diese Daten können nur über Hörtests gewonnen werden, an denen viele Testhörer (das sind die Probanden) beteiligt sein müssen, damit man in der Lage ist, die Ergebnisse zu verallgemeinern. MPEG Layer 3 ist beispielsweise unter anderem in Deutschland bei der Fraunhofer-Gesellschaft in Erlangen entwickelt worden, wobei die Hörtests mit Steuergeldern finanziert wurden.
.
Es geht auch hier ums Geld
Die Firmen und Institute sind dabei in einer Zwickmühle. Forschungsausgaben lassen sich nur rechtfertigen, wenn das Verfahren Verbreitung findet. Auf der anderen Seite findet es nur Verbreitung, wenn es international standardisiert ist. Trotzdem möchte man an Encodern und am besten auch Decodern verdienen. Die ISO, die die MPEG-Entwicklungen als Standards übernimmt, schreibt aber vor, dass Patenthalter an alle zu den gleichen Konditionen Lizenzen vergeben müssen: Der kleine Mann an der Ecke zahlt genau so viel Gebühren (es sind keine "Gebühren" - wesentlich besser "Lizenz-Entgelte") wie Microsoft.
Absichtlich - nur der Decoder ist eindeutig definiert
Bei MPEG ist daher nur der Decoder eindeutig definiert. So ermöglicht man eine weite Verbreitung des Verfahrens, kann aber bei den Encodern Lizenzgebühren kassieren. Für Encoder heißt das aber auch, dass der teuerste (und der wichtige und interessante) Teil, nämlich das psychoakustische Modell, nicht offen gelegt wird. Encoder kann also nur bauen, wer selbst neben dem nötigen Know-how auch das Geld für Hörtests hat oder das Wissen von der Fraunhofer Gesellschaft lizenziert.
Bestimmte pauschale Aussagen bleiben einfach nur "dumm".
Eine wichtige Konsequenz ist, dass pauschale Aussagen wie "MPEG ist besser als AC3" Unsinn sind: Die Qualität der Kompression hängt fast ausschließlich von dem psychoakustischen Modell ab, das nicht mitspezifiziert ist und in der Regel als Firmengeheimnis behandelt wird.
.
Nicht spezifiziert, aber dokumentiert
Wenn auch der Encoder nicht spezifiziert ist, so sind doch die von ihm ausgenutzten Eigenschaften des menschlichen Gehörs dokumentiert. Am wichtigsten ist dabei die adaptive Hörschwelle (adaptive hearing threshold): Die leiseste wahrgenommene Lautstärke hängt nicht nur vom Individuum, sondern auch von der Frequenz ab.
Maskierte Geräusche - was man hört und was nicht
Das Gehör der meisten Leute ist zwischen ein und fünf Kilohertz am empfindlichsten. Diese Minimallautstärke hängt aber auch vom Umgebungsgeräusch ab. Das Ticken eines Weckers ist normalerweise gut hörbar - aber nicht, während er klingelt, obwohl er natürlich weitertickt. Man spricht davon, dass Geräusche wie das Ticken maskiert werden. Dieser Effekt findet sich auch überall bei Musikaufnahmen, etwa wenn ein Schlagzeug beispielsweise die Bratsche kurzzeitig maskiert. Das Aufnahmegerät nimmt die Bratsche zwar mit auf, man hört sie aber eben nicht.
Das Ohr hat sonderbare Eigenschaften
Dieser Effekt tritt interessanterweise nicht nur bei gleichzeitigen Signalen auf. Das Ohr braucht eine kurze Zeit, nachdem der Schlagzeuger Ruhe gibt, bevor sich die Schwelle wieder gesenkt hat. Außerdem gibt es sogar einen kurzen Maskierungseffekt vor dem ersten Schlag. Je näher das leisere Signal an der Frequenz des maskierenden Geräuschs ist, desto lauter kann es sein und trotzdem maskiert werden.
Und das alles soll der Encoder "abbilden"
Der Encoder berechnet über dem Audio-Signal ständig die Maskierungskurve, die für jedes Subband aussagt, unterhalb welcher Lautstärke ein Signal nicht wahrgenommen würde. Dann berechnet er pro Band die Bits, die benötigt würden, damit die Lautstärke des verursachten Quantisierungsrauschens (siehe Kasten `Musikpresse´) unter der Maskierungskurve liegt. Wenn dabei noch Bits übrig bleiben, packt der Encoder sie in das Bit-Reservoir. Wenn der Platz inklusive Bit-Reservoir nicht reicht, muss der Encoder Quantisierungsrauschen über der Maskierungsschwelle einfügen.
Wenn es geht, macht der Encoder MONO
Bei Mehrkanalsignalen kann ein Encoder zusätzlich auch Redundanzen zwischen den Kanälen ausnutzen. Normalerweise würde er jeden Kanal einzeln speichern und so den benötigten Platz verdoppeln. Bei MPEG Layer 2 hat man deshalb den Modus Intensity Stereo eingeführt, der für hohe Frequenzen tatsächlich ein Mono-Signal kodiert, aber pro Subband die Lautstärken für links und rechts separat speichert. Das funktioniert deswegen so gut, weil die Signale auf dem linken und rechten Kanal meistens gleich oder sehr ähnlich sind (Sprache und Schlagzeug sind z. B. praktisch immer auf beiden Kanälen gleich). Stereo-Signale beschränken sich zudem meistens auf einen Frequenzbereich. Das Ohr nimmt Effekte besonders deutlich als Stereo wahr, wenn auf dem anderen Kanal gar kein Signal oder zumindest keines auf dem gleichen Frequenzbereich vorkommt. Man kann also für das eigentliche Signal doppelt so viel Platz beim Kodieren benutzen, als wenn man echtes Stereo benutzen würde.
Wenn man es heraushört, ist es nicht gut - das Verfahren
Geschulte Ohren können Intensity Stereo allerdings heraushören - ein besseres Verfahren musste her. MPEG Layer 3 hat dafür den Modus Joint Stereo eingeführt. Die Idee dabei ist, dass man für manche Frequenzen auf dem linken Kanal die Summe der beiden Eingabekanäle kodiert und auf dem rechten Kanal die Differenz. Das hat wie im Radio unter anderem den Vorteil, dass ein Mono-Decoder nur einen Übertragungskanal dekodieren muss und man trotzdem das Signal aus beiden Kanälen hören kann.
Dem Encoder bietet Joint Stereo den Vorteil, dass er für beide Kanäle nicht gleich viel Platz braucht. Dem Differenzsignal fehlen ja die Anteile, die beide Kanälen gemeinsam haben. Also kann der Encoder für das Summensignal 70 Prozent der Bandbreite und für das Differenzsignal nur 30 Prozent vorsehen (dabei setzt ein Encoder auf spezielle handselektierte Schwellenwerte).
"Stereo" stand nicht prinzipiell für (nur) zwei Kanäle
Neu bei MPEG-2 sind Mehrkanal-Signale. Zielgruppe dafür sind natürlich Kinofilme und das Heimkino. Historisch gesehen ist es aber interessant, dass Stereo nicht prinzipiell für zwei Kanäle steht. In den 30er Jahren haben die Bell Labs frühe Experimente mit Stereo-Sound gemacht, allerdings mit drei Kanälen. In den Kinos gab es in den 50er Jahren erstmals Stereo, wobei vier bis sieben Kanäle gemeint waren. Bei Cinemascope waren es 3 Front-Kanäle in (oder hinter) der extrem breiten Bildwand und ein vierter Effektkanal ganz hinten im Kino und man nannte es damals bereits Stereo. Auch Cinerama mit 6 (bzw. 7) Kanälen wurde mit Stereo bezeichnet.
Stereo wurde erst zum Synonym für zwei Kanäle, als es in Form des Plattenspielers ab etwa 1958 die Privathaushalte erreichte. Der Plattenspieler bildete Stereo über die beiden Seiten der Rille auf der Schallplatte ab und war deshalb durch die Hardware auf zwei Kanäle limitiert (jedenfalls vorläufig bis zur analogen Quadrozeit etwa 1972).
.
und somit wird Dolby-Surround im Zweikanal-Signal versteckt.
Die Dolby Labs haben mit dem Dolby-Surround-Verfahren Mehrkanal-Ton im Heim etabliert, der die zusätzlichen Kanäle analog im Zweikanal-Signal versteckt. Ray Dolby hat sich schon bei der berühmten Rauschunterdrückung (etwa Dolby B und Dolby C bei Kassettendecks) mit der Psychoakustik beschäftigt. Anfangs wurde einfach gemessen, welche Teile des Signals Kassetten gewöhnlich verrauschen - das Signal hat man dann einfach lauter aufgespielt und beim Abspielen wieder (mit dem Rauschen) leiser geregelt. Später hat Dolby dann auch mit AC1 bis AC3 (inzwischen Dolby Digital genannt) verschiedene Kompressionsverfahren für Digital-Sound beim Kinofilm entwickelt.
Auch Dolby spezifiziert nicht den Encoder
Auch Dolby spezifiziert wie MPEG nicht den Encoder, sondern nur den Decoder und ist damit genau so `offen´ wie MPEG. Das Unternehmen hat allerdings nach eigenen Aussagen doppelt so viele Anwälte wie Ingenieure, was möglicherweise einer der Gründe dafür ist, dass bisher niemand außer Dolby einen AC-3 Encoder gebaut hat. AC-3 ist heute im Kino und auf DVDs neben MPEG-2 (allerdings nur Layer 2, nicht AAC) der am häufigsten eingesetzte Standard zur Audio-Kompression. Für Kinofilme und DVDs haben sich auch 5.1-Kanäle durchgesetzt, wobei der Zehntel-Kanal für Bass-Effekte gedacht ist und sehr wenig Bandbreite hat.
Sonys proprietäres MiniDisc-Verfahren ATRAC
Neben MPEG und AC-3 ist Sonys proprietäres MiniDisc-Verfahren ATRAC relativ verbreitet. ATRAC komprimiert immerhin auf ein Fünftel der Originalgröße - dies ist zwar heute (wir sind hier noch im Januar 2000) nicht mehr sehr viel, aber beim damaligen Erscheinen der MiniDisc war dieser Kompressionsfaktor sehr beeindruckend. Ohne ATRAC würden nur 15 Minuten auf eine normale MiniDisc passen.
Die Erklärung : MPEG Layer 1
Der erste Schritt bei MPEG ist die Polyphase-Filterbank, die das Signal in 32 gleich breite Frequenz-Subbänder aufteilt. Die Filter sind verhältnismäßig einfach und haben eine gute Zeitauflösung; die Frequenzauflösung ist ebenfalls recht brauchbar. Bis auf drei Punkte ist das Design ein guter Kompromiss:
- 1. Das Gehör teilt das Signal nicht in gleich breite Subbänder auf, sondern sie werden mit steigender Frequenz exponentiell breiter. Bei den Maskierungseffekten kann man die Subbänder des Gehörs beobachten (von 100 Hz für tiefe Frequenzen bis 4 kHz für Höhen), nicht die von MPEG.
- 2. Die Filterbank und die Synthese sind verlustbehaftet. Das ist allerdings nicht hörbar.
- 3. Benachbarte Bänder haben signifikante Frequenzüberlappung, weil die Filterbänke nicht scharf abschneiden, sondern mit Cosinus approximieren. Ein Ton auf einer Frequenz kann also in zwei Subbändern auftauchen und so die Kompression verschlechtern (Aliasing, siehe Kasten `Musikpresse´).
Die Filterbank nimmt je 32 Eingabe-Samples und produziert daraus je ein Sample in jedem der 32 Subbänder. Ein Layer-1-Frame hat insgesamt 384 Samples, in dem er zwölf Samples aus jedem der 32 Subbänder gruppiert. Der Encoder befragt das psychoakustische Modell und alloziert dann pro Sample-Gruppe entsprechend Bits. Wenn eine Sample-Gruppe mehr als 0 Bits zugewiesen bekommen hat, wird auch ein 6-Bit-Skalierungsfaktor mitgespeichert: So kann man den Wertebereich des Quantisierers vergrößern.
Die Erklärung : MPEG Layer 2
Layer 2 kodiert die Daten in größeren Gruppen und schränkt die Bit-Allokationen in mittleren und hohen Subbändern ein, weil diese für das Gehör nicht so wichtig sind. Die Bit-Allokationsdaten, die Skalierungsfaktoren und die quantisierten Samples werden kompakter abgelegt. Durch diese Einsparungen können mehr Bits in die Audio-Daten investiert werden.
Ein Layer 2 Frame hat 1152 Samples pro Kanal. Es werden nicht Gruppen von zwölf Samples betrachtet, sondern Dreier-Blöcke zu je zwölf Samples pro Subband. Die Bits vergibt das Verfahren pro Dreiergruppe, aber es existieren bis zu drei Skalierungsfaktoren. Außerdem kann Layer 2 drei quantisierte Werte in einem einzigen, kompakteren Code-Wort ablegen, wenn er drei, fünf oder neun Levels für die Subband-Quantisierung vergeben hat.
Die Erklärung : MPEG Layer 3
MPEG Layer 3 (meist als MP3 bezeichnet) benutzt eine "modifizierte diskrete Cosinus-Transformation" (MDCT, siehe Kasten `Musikpresse´) auf die Ausgabe der Filterbänke und erhöht damit die Auflösung drastisch. Dadurch kann Layer 3 auch die Aliasing-Effekte zurückrechnen - der Decoder muss das allerdings wieder hinzufügen.
Layer 3 spezifiziert zwei MDCT-Blocklängen: 18 und sechs Samples. Aufeinander folgende Transformations-Fenster überlappen sich zu 50 Prozent, sodass die Fenster 36 und 12 Samples umfassen. Die lange Blockgröße ermöglicht eine bessere Frequenzauflösung für stationäre Audio-Signale, während die kurze Blocklänge bessere Zeitauflösung für transiente impulsartige Signale bietet.
Layer 3 definiert Varianten, in welcher Kombination kurze und lange Blöcke vorkommen können. Der Wechsel zwischen Blocklängen funktioniert nicht unmittelbar, sondern wird durch einen speziellen langen Block eingeleitet.
Weil MDCT bessere Frequenzauflösung bietet, ist die Zeitauflösung entsprechend schlechter. MDCT operiert auf zwölf oder 36 Filterbank-Samples, also ist das effektive Zeitfenster um den Faktor 12 oder 36 größer.
Das Quantisierungsrauschen erzeugt also Fehler, die über dieses große Zeitfenster verteilt sind - es ist wahrscheinlicher, dass man sie hört. Bei einem Signal, in dem sich laute und leise Abschnitte in schneller Folge abwechseln, verteilt sich das Rauschen nicht nur auf die lauten Stellen, wo man es weniger stark hören würde, sondern auch auf die leisen. Diese Störungen treten gewöhnlich als Pre-Echo auf, weil die temporale Maskierung vor einem Signal schwächer (und kürzer) ist als danach (siehe Grafik auf dieser Seite).
Layer 3 beinhaltet deshalb mehrere Maßnahmen, um Pre-Echo zu reduzieren. Das psychoakustische Modell versucht, die Voraussetzungen dafür zu erkennen. Layer 3 kann auch Bits aus dem Bit-Reservoir borgen, um das Quantisierungsrauschen einzuschränken. Schließlich kann der Encoder auch auf eine kleinere MDCT-Blockgröße umschalten, um die effektive Fensterlänge zu kürzen.
Neben MDCT hat Layer 3 noch andere Verbesserungen gegenüber früheren Verfahren:
- 1. Layer 3 kann die Aliasing-Effekte der Filterbank wegrechnen.
- 2. Der Quantisierer potenziert die Eingabe mit 3/4, um die Signal-to-Noise-Ratio gleichmäßiger auf den Wertebereich der Quantisierungswerte zu verteilen. Der Decoder muss das natürlich wieder rückgängig machen.
- 3. Die Skalierungsfaktoren werden bei Layer 3 in Bändern zusammengefasst. Ein Band umfasst mehrere MDCT-Koeffizienten und hat ungefähr die Breite der Bänder des Gehörs. So wird das Quantisierungsrauschen ähnlich den Konturen der Maskierungsschwelle eingefärbt, damit es keine Rausch-Spitzen gibt.
- 4. Layer 3 benutzt einen statischen Huffman-Code für die quantisierten Samples. Der Encoder sortiert die 576 Koeffizienten (32 Subbänder x 18 MDCT-Koeffizienten) in einer standardisierten Reihenfolge. Dies soll dafür sorgen, dass die hohen Werte von den tiefen Frequenzen am Anfang stehen und die kleinen am Ende. Dann vergibt der Encoder für die hohen Werte am Anfang lange und für die kleinen Werte kurze Code-Wörter. Die Koeffizienten werden in drei Regionen aufgeteilt, die jeweils eine speziell optimierte Huffman-Tabelle benutzen. Teilweise bildet man hier auch mehrere Zahlen auf einen Huffman-Code ab.
- 5. Das Bit-Reservoir ist ebenfalls eine Innovation von Layer 3. Der Encoder darf nur Bits entnehmen, die er vorher in das Reservoir gepackt hat - Kredit wird nicht gegeben.
.
Die Erklärung : MPEG 2 AAC
Die Details von AAC würden den Rahmen dieses Artikels bei weitem sprengen. Grundsätzlich teilt AAC das Signal erst mit einem Polyphase Quadrature Filter (PQF) in vier Subbänder, für die es jeweils einen Verstärkungsfaktor separat überträgt. Die vier Subbänder werden jeweils mit einer MDCT der Länge 256 transformiert - für sehr dynamische Passagen kommt auch eine MDCT-Länge von 32 zum Einsatz.
Die Koeffizienten sagt AAC aber mit einem speziellen Mechanismus für jedes Frequenzband aus den zwei vorhergehenden Frames vorher. Bei stationären Signalen erhöht das die Effizienz. Die Differenzen quantisiert das Verfahren nicht-uniform; es benutzt einen von zwölf vordefinierten Huffman-Codes. Eine wichtige Neuerung ist das "Temporal Noise Shaping" (TNS), das auf dynamische Signale zugeschnitten ist. Dabei nutzt man die Beobachtung aus, dass ein Ton in der Frequenzdarstellung wie ein Impuls aussieht. Umgekehrt sieht ein Impuls in der Frequenzdarstellung wie ein tonales Signal aus. Tonale Signale kann man mit einem LPC-Ansatz gut vorhersagen (siehe Kasten `Rhetorikschule´). Es kommt dann ein linearer Vorhersager zum Einsatz, um das nächste spektrale Sample zu bestimmen.
Die Erklärung : TwinVQ
TwinVQ wurde vom japanischen Telekommunikationskonzern NTT entwickelt und verfolgt einen anderen Ansatz als MPEG. Beide Verfahren wandeln zwar das Signal in die Kurzzeit-Frequenzdarstellung, aber TwinVQ kodiert die Samples dann nicht, sondern betrachtet jeweils Muster aus Samples in Form von Vektoren. Der Encoder greift auf eine Tabelle von Standardmustern zurück, mit denen er die Eingabevektoren vergleicht. Der Index des Vektors, der der Eingabe am Nächsten ist, wird dann übertragen.
Die Artefakte von TwinVQ sind anders als bei MPEG. Es klingt nicht so, als würde Rauschen dazukommen, sondern als würden Teile des Signals verloren gehen: Es klingt sozusagen `weichgespült´. Bei Sprachübertragung geht dabei gewöhnlich unter anderem beispielsweise der Straßenlärm-Teil des Signals verloren. Daher ist TwinVQ für Sprachübertragung und für sehr kleine Bitraten ausgezeichnet geeignet und wurde in MPEG-4 aufgenommen.
Die Erklärung : ATRAC (SONY)
ATRAC steht für "Adaptive Transform Accoustic Coding" und ist der von Sony entwickelte Codec für die MiniDiscs. Ein ATRAC-Frame hat 512 Samples; die Eingabe wird erstmal mit einem QMF (Quadrature Mirror Filter) in drei Subbänder unterteilt, die jeweils nochmal mit MDCT aufteilt werden: 0 bis 5,5 kHz (128 MDCT), 5,5 bis 11 kHz (128 MDCT) und 11 bis 22 kHz (256 MDCT).
Es gibt auch einen langen Block-Modus (11,6 ms) und einen Modus mit drei kurzen Blöcken (2,9 ms + 2,9 ms + 1,45 ms). Die Koeffizienten quantisiert ATRAC nach Wortlänge und versieht sie mit einem Skalierungsfaktor.
Bei ATRAC schleichen sich bei einer Kaskadierung Artefakte ein. MPEG hingegen hat sich in Hörtests als weitgehend resistent dagegen erwiesen.
Die Erklärung : Dolby AC-3/QDesign
Dolby AC-3 ist ebenfalls ein psychoakustischer Transformations-Codec, der eine Filterbank mit Aliasing-Kürzung verwendet. Überlappende Blöcke aus 512 Eingabe-Samples wandelt das Verfahren mit einer Transformation zu 256 spektralen Koeffizienten. Die Transformation hat die Eigenschaften von MDCT; die AC-3 Dokumente nennen es allerdings nur TDAC: Dies bedeutet nichts anderes als "Time Domain Aliasing Cancellation" und beschreibt die wichtigste Eigenschaft von MDCT.
Dolby wollte übrigens zu dem Verfahren keine genaueren Angaben machen, weil es sich um ein Geschäftsgeheimnis handele (Anmerkung : Das ist alles der Stand vom Jan. 2000.), das man nur mit einer Vereinbarung, keine Details zu veröffentlichen, lizenzieren kann.
Ähnliches erfuhren wir auch von QDesign, Hersteller des Audio-Codec von Apples QuickTime: Unsere Anfragen wies die Firma mit dem Hinweis ab, dass es sich bei den technischen Details um ein Geschäftsgeheimnis handele. Die Firma behauptet jedenfalls, ihr psychoakustisches Modell selbst entwickelt zu haben. Leider sind über den Algorithmus keine Details bekannt; auf der Webseite von QDesign findet man nur die Aussage, dass ihr neuer Codec die Audio-Quelle parametrisch erfasst, das Signal in `relevante Komponenten´ zerlegt und das Ergebnis als Koeffizienten ablegt. Von der Differenz speichert der Encoder ab, wofür er Platz hat.
von Felix von Leitner im Januar 2000
Kasten 1
.
Musikpresse - Glossar zur Audio-Kompression
.
- Aliasing - derselbe Wert ist an mehreren Stellen abgelegt oder aus mehreren verschiedenen Datensätzen bestimmbar. Auch Störungen, die durch Abtastung eines Signals auftreten, das Frequenzkomponenten oberhalb der halben Abtastrate enthält, fasst man unter Aliasing; die verursachten Störgeräusche nennt man Aliasing-Effekte.
- Artefakt - ein Fehler, den ein verlustbehaftetes Kompressionsverfahren nach einem Kodieren-Dekodieren-Durchlauf hinterlässt. Auch bei Bild- und Videokompression (etwa bei JPEG) nennt man solche Fehler Artefakte.
- Fast Fourier Transformation FFT - Standardmethode, um ein Signal in die Frequenzdarstellung zu transformieren.
- Fenster - Encoder schauen sich gewöhnlich nicht das ganze Signal an, sondern betrachten nur einen kleinen Zeitabschnitt, der Fenster genannt wird.
- Filterbank - Komponente, die das Audio-Signal in Frequenzbereiche aufteilt.
- Frame - die Fourier-Transformation oder die MDCT wird auf mehrere Samples zusammen angewendet. Diese Samples werden Frame genannt.
- Maskierung - Begriff für das Phänomen, dass ein Signal ein anderes überdeckt. Beispielsweise maskiert ein Presslufthammer ein Handy-Telefonat. Das schwächere Signal ist noch vorhanden, es wird aber nicht mehr wahrgenommen.
- MDCT - modifizierte diskrete Cosinus-Transformation; sie kommt oft zum Einsatz, um ein Signal in die Frequenzdarstellung zu transformieren. Die MDCT hat 50 Prozent Überlappung, sodass ein einzelner hin- und zurücktransformierter Block nicht mit dem Original-Block übereinstimmt. Man muss auch den Block davor und danach partiell addieren, dann kürzen sich die Fehler der Transformation weg. Somit entfällt auch das sonst hörbare Blockgrenzen-Artefakt zwischen transformierten Blöcken. Die MDCT kann außerdem mit nur einer n/4-Punkt-FFT und einigen Pre- und Post-Rotationen der Sample-Punkte berechnet werden.
- Quantisierung - Umsetzung analoger in diskrete Werte.
- Quantisierungsrauschen - bezeichnet durch die Auflösungsverringerung verursachte Rundungsfehler.
- Signal-to-Noise Ratio - Rauschabstand, Dynamik. Dies ist ein wichtiges Maß für die Qualität eines Audio-Signals; bei perzeptioneller Kompression nimmt man aber gerade eine Verschlechterung dieses Wertes in Kauf, wenn dies an einer bestimmten Stelle nicht wahrgenommen wird.
.
Kasten 2
.
Rhetorikschule - Besonderheiten der Sprach-Kompression
Um Sprache digital zu komprimieren, setzt man das so genannte "Linear Predictive Coding" (LPC) ein. LPC geht davon aus, dass Sprache ein Summen am Ende einer Röhre ist. Die Glottis (der Platz zwischen den Stimmbändern) produziert das Summen, das durch Intensität (Lautstärke) und Frequenz (Tonhöhe) definiert ist. Rachen und Mund formen die Röhre, die durch ihre Resonanzen charakterisiert wird, die man Formanten nennt. LPC analysiert das Signal, indem es die Formanten schätzt. Deren Effekt auf das Summen rechnet das Verfahren heraus; vom Rest werden Frequenz und Intensität bestimmt. Das Signal lässt sich dann reproduzieren, wenn man diese beiden Werte und die Koeffizienten der Formanten speichert. Weil sich das Signal über die Zeit ändert, teilt man es in 30 bis 50 Frames pro Sekunde auf, die man einzeln betrachtet.
Das Problem bei LPC ist also, die Formanten aus dem Sprachsignal zu bestimmen. Die Lösung ist eine Differentialgleichung, die jedes Sample als Linearkombination voriger Samples darstellt. Diese Differentialgleichung heißt "linear predictor"; die Koeffizienten charakterisieren die Formanten. LPC wählt diese Koeffizienten so, dass die Abweichung des synthetisierten Formats nach einer einfachen statistischen Methode (mean-square) minimiert wird.
Leider lassen sich unter anderem nasale Laute nicht so abbilden - es bleiben also viele Klänge übrig, die extra kodiert werden müssen. Der erfolgreichste Lösungsansatz ist, typische Reste in einem vordefinierten Code-Buch festzuhalten. Leider brauchte man allerdings pro Stimmhöhe einen neuen Eintrag im Code-Buch, sodass dieses schnell unhandlich würde: In einem großen Code-Buch muss man lange suchen und der übertragene Code wird zudem sehr lang. Man behilft sich damit, dass man zwei Code-Bücher benutzt, wovon nur das erste fest definiert ist, das zweite ist adaptiv. Diese Methode heißt Code Excited Linear Prediction (CELP).
Kasten 3
.
Die technischen Eckpfeiler der Modelle im MPEG-Standard
Im MPEG-Audio-Standard sind zwei Beispiele für ein psychoakustisches Modell beschrieben. Beide Modelle bauen prinzipiell auf den gleichen Voraussetzungen auf. Im Einzelnen haben sie folgende Leistungsmerkmale:
- 1. Herausrechnen der Verzögerung durch die Filterbänke von MPEG, um die Daten im Zentrum des zu kodierenden Frame zu betrachten.
- 2. Eine Fourier-Transformation der einzelnen Abschnitte, da man für die Maskierungseffekte besser auflösen muss als es die Filterbank von MPEG leistet.
- 3. Eine Hann-Gewichtung mildert Kanten-Effekte des Transformationsfensters vor der Fourier-Transformation.
- 4. Die Werte werden nach den Subbändern des Gehörs gruppiert.
- 5. Separation der Werte in tonale und nicht-tonale Komponenten. Töne maskieren anders als Geräusche. Hier gehen beide Modelle verschiedene Wege: Modell 1 identifiziert Töne anhand von lokalen Intensitäts-Spitzen und summiert den Rest in einer einzigen Rausch-Komponente pro Band auf. Modell 2 berechnet einen Tonalitäts-Index als eine Funktion der Frequenz. Dieser sagt aus, ob eine Komponente eher ein Ton oder ein Rauschen ist. Der Index wird dann zur Interpolation zwischen den Maskierungseigenschaften benutzt. Das Vorgehen basiert auf Vorhersagbarkeit; Töne sind besser vorhersagbar als Rauschen. Modell 2 benutzt dafür die Ergebnisse der letzten beiden Fenster.
- 6. Verteilen der Maskierung. Diese Funktion ist empirisch ermittelt und verteilt die Maskierung auf die benachbarten Subbänder.
- 7. Die unteren Schranken pro Subband werden auf empirisch ermittelte Werte gesetzt.
- 8. Beide Modelle berechnen anschließend die Maskierungsschranken pro Subband. Das Problem ist hierbei, dass die Modelle intern mit den Gehör-Subbändern arbeiten und deshalb teilweise mehrere Werte pro MPEG-Subband haben. Die Modelle verwenden hier verschiedene Heuristiken.
- 9. Berechnen der Signal-to-Mask Ratios. Das Verhältnis von Signal-Intensität zur kleinsten Maskierungsschwelle in dem Subband ist das eigentliche Ergebnis des psychoakustischen Modells.
.
Das war der Wissensstand vom Januar 2000 !!
.