Psychoakustische Qualitätsbeurteilung von Audiocodierverfahren
Transcrição
Psychoakustische Qualitätsbeurteilung von Audiocodierverfahren
FACHBEREICH ELEKTROTECHNIK Psychoakustische Qualitätsbeurteilung von Audiocodierverfahren DIPL.-ING. Audiocodierung im MP3-Format ist mit der starken Verbreitung der mobilen Abspielgeräte (MP3Player) für jeden, der gern Musik hört, ein interessantes Thema. MP3 ist die Kurzform für MPEG-1 Layer-3 (MPEG = Moving Pictures Expert Group) und bezeichnet einen Audiocodierungsstandard. Obwohl es schon verbesserte Codierungsalgorithmen gibt, ist MP3 doch das am stärksten verbreitete Format für komprimierte Musikdaten. Doch warum funktioniert die Codierung mit dem MP3-Verfahren so gut? Warum können so viele Daten weggelassen werden, ohne dass sich ein akustischer Unterschied feststellen lässt? Diese Fragen werden in diesem Artikel genauer analysiert. Insbesondere stellen wir eine Messtechnik zur Qualitätsbeurteilung von Audiocodierverfahren vor, mit der die Eigenschaften des menschlichen Ohrs nachgebildet werden. Diese Messtechnik visualisiert in Echtzeit die Analyse des durch die Audiocodierung entstandenen Codierungsfehlers. FLORIAN KEILER Eigenschaften des menschlichen Ohrs Zur Beschreibung der Eigenschaften der Wahrnehmung von Audiosignalen ist eine Darstellung des Signals in Frequenzkomponenten sinnvoll. Ein Musikoder Audiosignal enthält Töne verschiedener Frequenzen und verschiedener Intensität. Töne unterschiedlicher Frequenz nimmt der Mensch unterschiedlich laut wahr. Außerdem kann ein „lauter“ Ton einen anderen leiseren Ton verdecken, so dass dieser nicht mehr wahrgenommen werden kann. Dieser UNIV.-PROF. DR.-ING. Effekt ist aus Alltagssituationen bekannt, z. B. wenn UDO ZÖLZER man bei starken Umgebungsgeräuschen ein Gespräch führen möchte, muss man lauter sprechen, damit man PROFESSUR FÜR ALLGEMEI- vom Gesprächspartner verstanden wird. Diese NE NACHRICHTENTECHNIK Eigenschaften werden bei der Audiocodierung z. B. im MP3-Format ausgenutzt. Die frequenzabhängigen Wahrnehmungseigenschaften verdeutlicht die in Bild 1 angegebene Ruhehörschwelle. Sie gibt abhängig von der Frequenz den Schalldruckpegel eines Sinustons an, der gerade noch wahrgenommen wird. Die Ruhehörschwelle ist für jede Person unterschiedlich Bild 1: Schalldruckpegel (in dB) der Ruhehörschwelle über einer logarithmisch skalierten Frequenzachse. 8 und sinkt insbesondere bei hohen Frequenzen mit steigendem Alter der Versuchsperson. Man erkennt deutlich, dass das menschliche Ohr im Frequenzbereich von 2 bis 5 kHz am empfindlichsten ist, d. h. dort sind auch Sinustöne mit geringen Pegeln wahrnehmbar. Töne mit sehr tiefen oder sehr hohen Frequenzen müssen hingegen große Pegel aufweisen, damit sie vom menschlichen Ohr wahrgenommen werden. Betrachtet man zwei Töne mit den Frequenzen f1 und f2, so kann der Unterschied dieser Frequenzwerte als Quotient oder als Differenz dargestellt werden: Das Gehör nimmt Frequenzunterschiede durch den Quotienten α wahr. So ergibt sich für zwei Töne, die sich um eine Oktave unterscheiden, ein Quotient von α = 2. Daraus folgt, dass bei niedrigen Frequenzen kleinere Frequenzdifferenzen unterschieden werden können als bei großen. So liegt zwischen zwei Tönen mit 50 Hz und 100 Hz eine Oktave, aber ebenso zwischen 5.000 Hz und 10.000 Hz, die Frequenzdifferenzen sind aber ∆f = 50 Hz bzw. ∆f = 5.000 Hz. Das Auflösungsvermögen von Frequenzdifferenzen bezeichnet man auch als Frequenzauflösung. Aus den genannten Gründen werden die in einem Signal enthaltenen Frequenzkomponenten häufig über einer logarithmischen Frequenzachse dargestellt (vgl. Bild 1); über dieser Achse bedeuten gleiche Abstände auch gleiche Quotienten zwischen den betrachteten Frequenzwerten. UNIFORSCHUNG – AUSGABE 2005 FACHBEREICH ELEKTROTECHNIK Zwicker hat in [1] festgestellt, dass Schallereignisse vom Menschen in so genannten Frequenzgruppen oder kritischen Bändern wahrgenommen werden. Das menschliche Gehör fasst die Signalleistungen aller Schallereignisse in einer Frequenzgruppe für die Bestimmung der subjektiven Lautstärke zusammen. Der Frequenzbereich von 20 Hz bis 20 kHz wird damit in 25 kritische Bänder unterteilt. Zwicker hat für eine Bezeichnung der Frequenzgruppen die Tonheit z mit der Einheit „Bark“ definiert. Jede Frequenzgruppe hat nach dieser Definition die Bandbreite von 1 Bark. Die Frequenzgruppen werden deshalb auch als Bark-Bänder bezeichnet. Die Grenzen dieser Bänder sind in Bild 2 grafisch dargestellt, wobei die Frequenzachse linear (oben) und logarithmisch (unten) skaliert ist. Bild 2: Bandgrenzen der Frequenzgruppen nach Zwicker über linearer und logarithmischer Frequenzachse. Man erkennt an dieser Darstellung, dass bei der logarithmischen Frequenzskalierung die Breiten der Frequenzgruppen als nahezu gleich breit abgebildet werden. Qualitätsbeurteilung von Audiocodecs Jede verlustbehaftete Audiocodierung produziert einen Codierungsfehler. Hiermit wird die Differenz zwischen dem decodierten Signal y(n) und dem Referenzsignal (dem zu codierenden Signal) x(n) bezeichnet. Der ganzzahlige Zeitindex n dieser Signale gibt den aktuell betrachteten Abtastwert an. Bei dieser Differenzbildung ist zu beachten, dass ggf. die Verzögerung (Latenz) durch die Encodierung/Decodierung berücksichtigt werden muss, d.h. das Referenzsignal muss bei der Differenzbildung entsprechend verzögert werden, siehe Bild 3. Bei einer digitalen Codierung ist diese Verzögerung immer eine ganzzahlige Anzahl von Abtastwerten. Das Ziel einer Audiocodierung ist immer, dass der durch die Codierung entstandene Codierungsfehler möglichst nicht wahrnehmbar ist. Bei der Qualitätsbeurteilung eines Audiocodecs ist also zu bewerten, ob das Fehlersignal e(n) zusätzlich zum Originalsignal x(n) wahrnehmbar ist. Ähnlich der Ruhehörschwelle kann für jedes Signal eine so genannte Mithörschwelle oder Maskierungsschwelle angegeben werden [1, 2]. Die Maskierungsschwelle gibt für jede Frequenz an, welchen Pe- UNIFORSCHUNG– AUSGABE 2005 gel ein zusätzliches Signal haben muss, damit es wahrgenommen werden kann. Ist also der Pegel des Fehlersignals für jede Frequenz kleiner als die Maskierungsschwelle, so ist dieses Fehlersignal nicht wahrnehmbar. Da sich das Signal über der Zeit ändert, ändert sich auch seine Maskierungsschwelle, so dass es vom Signal abhängt, welche zusätzlichen Signale überdeckt (maskiert) werden. Die Maskierungsschwelle ist immer mindestens so groß wie die Ruhehörschwelle. Um nun eine Qualitätsbeurteilung durchführen zu können, wird für kleine Zeitausschnitte (Blöcke) des betrachteten Signals die Maskierungsschwelle bestimmt. Nach Ermittlung des Fehlersignals wird dieses ebenfalls im Frequenzbereich analysiert und mit der Maskierungsschwelle verglichen. Dieser Vorgang wird für jeden Block des Signals durchgeführt, um die zeitliche Änderung der Maskierungsschwelle und des Fehlersignals zu berücksichtigen. Um die erläuterte Bewertung durchzuführen, wird ein Modell zur Nachbildung der Maskierungsschwelle benutzt, das von Johnston in [3] vorgestellt wurde. Nach den Betrachtungen der Eigenschaften des menschlichen Ohres zu Beginn dieses Artikels scheint es sinnvoll zu sein, die Maskierungsschwelle sowie den Pegel des Fehlersignals für Frequenzbereiche entsprechend den vorgestellten Frequenzgruppen zu bestimmen. Die Berechnung der Maskierungsschwelle basiert auf der Frequenzanalyse mittels Fouriertransformation (FFT, Fast Fourier Transform) des Signalblocks. Die Berechnung der Mithörschwelle erfolgt in folgenden Schritten (vgl. auch [4, 2]): • Frequenzanalyse (FFT) des Signalblocks. • Ermittlung der in jeder Frequenzgruppe i erfassten Signalleistung (Pegel Lx(i) in dB). • Berücksichtigung der bandübergreifenden Maskierung, da ein Schallereignis auch benachbarte Frequenzgruppen maskiert [5]. • Ermittlung der „Tonalität“ des Signals und Berücksichtigung dieses Maßes, da tonale bzw. rauschartige Signale unterschiedliche Maskierungseffekte verursachen. Anschließende Normierung der erhaltenen Maskierungsschwelle. • Vergleich mit der Ruhehörschwelle, da die Maskierungsschwelle immer mindestens den Wert der Ruhehörschwelle haben muss. Bild 3: Ermittlung des Codierungsfehlers bei einer Audiocodierung. 9 FACHBEREICH ELEKTROTECHNIK wertung der Größe der Störung wird für die Frequenzgruppen, in denen eine Störung wahrnehmbar ist, der Mittelwert des NMR gebildet: Bild 4: Mithörschwelle für ein Sinussignal der Frequenz f = 440 Hz. Zur Ermittlung der Leistung des Fehlersignals für jede Frequenzgruppe werden die durch die Frequenzanalyse ermittelten Signalleistungen für jedes Band aufsummiert. Als Ergebnis dieser Analysen erhält man für jede Frequenzgruppe i: • Die Signalleistung Lx(i) in dB. • Die Maskierungsschwelle Lm(i) in dB. • Die Fehlerleistung Le(i) in dB. Bild 4 zeigt als Beispiel die Maskierungsschwelle (dunkelgrau) für ein Sinussignal. Zusätzlich ist die per FFT ermittelte Signalleistung (schwarz) sowie die Ruhehörschwelle (hellgrau) dargestellt. Im Unterschied zu Bild 1 wurden die Pegel auf die Maximalaussteuerung von 0 dB normiert An diesem Beispiel ist deutlich zu erkennen, dass das Sinussignal auch benachbarte Frequenzbereiche maskiert. So wäre beispielsweise ein weiterer Sinuston der Frequenz 500 Hz mit einem Pegel von -40 dB nicht wahrnehmbar. Als Beispiel betrachten wir die Codierung eines hohen Violintons im MP3-Format mit einer Bitrate von 128 kbit/s. Alle in diesem Artikel angegeben Bitraten beziehen sich auf ein Stereosignal; ausgehend von CD-Qualität (16 Bit bei 44,1 kHz Abtastrate) mit ca. 1,4 Mbit/s ergibt sich also eine Kompression um etwa den Faktor 11. In Bild 5 sind die Signalleistungen abhängig von der Frequenz für das Originalsignal, das decodierte Signal und den Codierungsfehler über einer linearen Frequenzachse dargestellt. Bei der genutzten Codierung gehen die Komponenten ab etwa 17 kHz verloren, ebenso sind im Bereich von etwa 8 bis 16 kHz deutliche Unterschiede zwischen Original und decodiertem Signal erkennbar. An der Frequenzbereichsanalyse des Fehlersignals erkennt man eine Ähnlichkeit zum Originalsignal, weshalb dieser Fehler nur schwer wahrzunehmen ist. Bild 6 zeigt die Ergebnisse der psychoakustischen Bewertung dieses Signals. Hier wird für 9 Frequenzgruppen eine Überschreitung der Mithörschelle detektiert, und die durchschnittliche Überschreitung liegt bei etwa 2,3 dB. Messwerte Ausgehend von der oben beschriebenen Analyse des Original- und Fehlersignals kann für jede Frequenzgruppe der Rausch-zu-Maskierungs-Abstand (NMR, noise-to-mask ratio) in dB angegeben werden: Für den betrachteten Signalblock wird mit Nmask die Anzahl der Frequenzgruppen mit NMR(i) > 0 dB bezeichnet. In diesen Bändern ist theoretisch das Fehlersignal wahrnehmbar. Dieser Messwert ist angelehnt an das von Brandenburg [6] eingeführte „masking flag“, das angibt, ob in mindestens einer Frequenzgruppe die Fehlerleistung über der Maskierungsschwelle liegt. Die Messgröße Nmask gibt noch keine Auskunft darüber, wie groß die wahrnehmbare Störung ist. Zur Be- 10 Bild 5: Frequenzspektren von Original, decodiertem Signal und Codierungsfehler für ein Violin-Signal bei MP3-Codierung mit 128 kbit/s. Ergebnisse Für einen Vergleich der MP3-Codierung eines Musikstücks bei verschiedenen Bitraten soll eine Bewertung mit den oben eingeführten Messgrößen erfolgen. Zusätzlich wird noch der Signal-Rausch-Abstand (SNR, signal-to-noise ratio) angegeben. Dieses UNIFORSCHUNG – AUSGABE 2005 FACHBEREICH ELEKTROTECHNIK Bild 6: Psychoakustische Bewertung für ein Violin-Signal bei MP3-Codierung mit 128 kbit/s. Maß ist die Differenz der Pegel in dB von Originalsignal und Fehlersignal. Wie bei der psychoakustischen Analyse wird diese Berechnung für kleine Blöcke durchgeführt und anschließend der Mittelwert über alle Blöcke ermittelt. Für diese Art der Berechnung spricht man auch vom segmentellen SNR oder kurz segSNR. Das SNR berücksichtigt nicht die Frequenzkomponenten bzw. die Wahrnehmbarkeit, ist also nur bedingt zur Qualitätsbeurteilung nutzbar. Das SNR nimmt bei kleinen Rauschleistungen große Werte an. Nimmt das SNR also sehr große Werte an, ist die Qualität auch gut. Bei kleinen Werten des SNR muss die Qualität jedoch nicht schlecht sein, weil der Fehler evtl. nicht wahrgenommen wird. Als Testsignal wurde der Titel „Iron Hand“ der Gruppe „Dire Straits“ gewählt und dieses Signal wurde mit dem LAME MP3-Coder (Version 3.96.1) in verschiedenen Bitraten codiert. Es wurden sowohl konstante als auch Durchschnittsbitraten gewählt. Bei letzterer Einstellung wird die vorgegebene Bitrate im Durchschnitt erreicht, wobei für jeden Signalblock die Anzahl zur Verfügung stehender Bits optimiert wird. Die ermittelten Messwerte sind in Tabelle 1 und Bild 7 dargestellt. Bei allen drei betrachteten Messwerten ist eine Qualitätsverbesserung mit steigender Bitrate zu erkennen. Allerdings zeigt sich für das benutzte Musikstück bei Nutzung einer durchschnittlichen Tabelle 1: Vergleich der Codierungsqualität der MP3-Codierung bei verschiedenen Bitraten. Die Bezeichnung (a) kennzeichnet die Nutzung einer durchschnittlichen Bitrate. Bitrate in kbit/s 96 96(a) 128 128(a) 192 192(a) 320 Nmask 15,44 15,11 12,77 12,81 7,65 7,30 2,08 UNIFORSCHUNG– AUSGABE 2005 NMRm in dB 5,57 5,44 4,24 4,27 1,71 1,61 0,20 segSNR in dB 20,09 20,52 22,50 22,34 28,58 28,72 45,36 Bild 7: Vergleich der Codierungsqualität der MP3-Codierung bei verschiedenen Bitraten. Die Bezeichnung (a) kennzeichnet die Nutzung einer durchschnittlichen Bitrate. Bitrate gegenüber der konstanten Bitrate kein wesentlicher Qualitätsunterschied. Bei der Bitrate von 128 kbit/s ist die Qualität bei konstanter Bitrate sogar minimal besser als bei Nutzung der durchschnittlichen Bitrate. Echtzeitrealisierung Im Rahmen einer Diplomarbeit [4] sowie zweier Studienarbeiten [7, 8] entstand an der Professur für Allgemeine Nachrichtentechnik eine Programmumgebung für MS Windows, mit der die beschriebene psychoakustische Qualitätsbeurteilung in Echtzeit visualisiert werden kann. Die auf den genannten Arbeiten basierende Programmoberfläche ist in Bild 8 abgebildet. Die Anwendung ist in C++ implementiert und erlaubt den Zugriff auf Sound-Dateien im *.wav Format sowie auf den Soundkarten-Eingang. Unten links kann das über die Soundkarte abzuspielende Signal ausgewählt werden. Nach Auswahl einer Audiodatei mit Originalsignal und Codierungsfehler und Starten der Analyse werden im mittleren Zeichenbereich die zeitlich schwankenden Werte von Lx(i), Lm(i) und Le(i) über der Frequenz grafisch dargestellt (vgl. auch Bild 6 oben). Auf der rechten Seite werden die Histogramme (Häufigkeitsverteilungen) für die psychoakustischen Messwerte dargestellt. Oben erkennt man für jeden Wert von Nmask (Anzahl der Frequenzgruppen mit Überschreitung der Maskierungsschwelle) die Häufigkeit des Auftretens dieses Wertes. Unten ist entsprechend die Verteilung für den Messwert NMRm (dort mit Mmask bezeichnet) angegeben, wobei jeweils ein Bereich von 1 dB Breite betrachtet wird. Im unteren Bereich der Programmoberfläche sind an den sich horizontal bewegenden Balken die aktuel- 11 FACHBEREICH ELEKTROTECHNIK Bild 8: Programmoberfläche zur Psychoakustischen Qualitätsbeurteilung. len Messwerte abzulesen, wobei auch das segSNR angegeben ist, zusätzlich wird jeweils der aktuelle Mittelwert als Zahlenwert angegeben. Zusammenfassung In diesem Artikel wurden nach einer kurzen Darstellung der Eigenschaften des menschlichen Ohrs psychoakustische Messgrößen zur Qualitätsbeurteilung von Audiocodierverfahren wie z. B. MP3 vorgestellt. Basierend auf der signalabhängigen Modellierung der Mithörschwelle kann bewertet werden, in welchem Maße ein aufgetretener Codierungsfehler Literatur [1] EBERHARD ZWICKER, Psychoakustik, Springer-Verlag, Berlin, 1982. [2] UDO ZÖLZER, Digitale Audiosignalverarbeitung, B.G. Teubner, Stuttgart, 3., überarbeitete und erweiterte Auflage, 2005. [3] JAMES D. JOHNSTON, Transform coding of audio signals using perceptual noise criteria, IEEE Journal on Selected Areas in Communications, Vol. 6, No. 2, pp. 314–323, Febr. 1988. [4] MARC FRITZ, Entwicklung und Implementierung eines Verfahrens zur psycho- 12 wahrnehmbar ist. Viele Audio-Codierverfahren wie MP3 benutzen beim Codiervorgang eine ähnliche Berechnung der Maskierungsschwelle, um eine effiziente Datenreduktion zu erzielen. Die vorgestellte Echtzeit-Messtechnik ist sehr hilfreich zur Qualitätsbeurteilung von codierten Audiosignalen, bei denen die enthaltenen Fehler nicht sofort hörbar sind bzw. intensive Hörtests erfordern würden. So ist die Qualitätsbeurteilung insbesondere während der Entwicklung eines Audiocodierverfahrens wichtig, um ggf. den eingesetzten Algorithmus zu optimieren. akustischen Qualitätsbeurteilung von Audiokodierverfahren, Diplomarbeit, Universität der Bundeswehr Hamburg, Juli 2001. [5] M. R. SCHROEDER, B. S. ATAL UND J. L. HALL, Optimizing digital speech coders by exploiting masking properties of the human ear, The Journal of the Acoustical Society of America, Vol. 66, No. 6, pp. 1647–1652, 1979. [6] KARLHEINZ BRANDENBURG, Ein Beitrag zu den Verfahren und der Qualitätsbeurteilung für hochwertige Musikcodierung, Dissertation, Technische Fakultät der Universität Erlangen-Nürnberg, 1989. [7] VINCENT REUTER, Implementierung eines Directshow-Plugins zur psychoakustischen Qualitätsbeurteilung von Audiokodierverfahren, Studienarbeit, Technische Universität Hamburg-Harburg/Universität der Bundeswehr Hamburg, Nov. 2002. [8] SAYAK GHOSH CHOUDHURY, Audio Quality Measurement with a Psychoacoustic Model, Project Work, Technische Universität Hamburg-Harburg/Helmut-Schmidt-Universität – Universität der Bundeswehr Hamburg, Dez. 2003. UNIFORSCHUNG – AUSGABE 2005