Skip to main content

2023 | Buch

Filterbänke und Audiocodierung

Komprimierung von Audiosignalen mit Python

insite
SUCHEN

Über dieses Buch

Dieses Lehrbuch stellt die Grundlagen der Audiocodierung vor, die zur Komprimierung von Audio- und Musiksignalen verwendet wird. Dabei werden Python-Programme sowohl als Beispiele zur Veranschaulichung der Prinzipien als auch für Experimente für den Leser verwendet. Zusammen bilden diese Programme dann komplette Audiocodierer. Der Autor beginnt mit grundlegenden Kenntnissen der digitalen Signalverarbeitung (Abtastung, Filterung), um eine gründliche Einführung in Filterbänke, wie sie in der Audiocodierung verwendet werden, und deren Entwurfsmethoden zu geben. Er fährt dann mit der nächsten Kernkomponente fort, den psycho-akustischen Modellen. Der Autor zeigt schließlich, wie man sie entwirft und implementiert. Schließlich beschreibt der Autor Komponenten für speziellere Kodierer, wie die Integer-to-Integer MDCT-Filterbank und prädiktive Kodierung für verlustfreie und verzögerungsarme Kodierung. Zu jedem Abschnitt gibt es Python-Programmbeispiele, die die Prinzipien veranschaulichen und die Werkzeuge für Experimente bereitstellen.

Umfassende Erläuterung der Grundlagen von Filterbänken und Audiocodierung; Bietet Python-Beispiele für jedes Prinzip, so dass fertige Audiocodierer in der Sprache erhalten werden; Enthält eine Reihe von Unterrichtsmaterialien mit Übungen, Experimenten und Beispielen.

Inhaltsverzeichnis

Frontmatter
1. Filterbänke
Zusammenfassung
In diesem Kapitel werden Zeit-/Frequenzzerlegungen im Allgemeinen und der Entwurf von Filterbänken mit perfekter und nahezu perfekter Rekonstruktion für die Audiocodierung vorgestellt. Zunächst werden ihre theoretischen Grundlagen beschrieben, einschließlich Down- und Upsampling und der Polyphasendarstellung. Dann werden diese Prinzipien auf den Entwurf von MDCT-Filterbänken, Filterbänken mit erweiterter Länge, Filterbänken mit geringer Verzögerung und (P)QMF-Filterbänken angewendet, einschließlich der Optimierung ihrer Frequenzgänge. Schließlich werden zeitvariable und schaltbare Filterbänke behandelt. Vorausgesetzt werden Kenntnisse der Grundlagen digitaler Signale und Systeme sowie der Informationstheorie.
Gerald Schuller
2. Quantisierung
Zusammenfassung
Dieses Kapitel enthält eine kurze Beschreibung der Grundlagen der Quantisierung zur Berechnung der Quantisierungsfehlerleistung. Dies ist dann die Verbindung zur zulässigen Fehlerleistung, wie sie durch das psychoakustische Modell berechnet wird.
Gerald Schuller
3. Prädiktive Kodierung
Zusammenfassung
Dieses Kapitel beschreibt prädiktive Kodierer. Es beginnt mit der Lösung des mittleren quadratischen Fehlers, geht weiter zu adaptiven Online-Prädiktoren wie LPC-Codierern, der Anpassung der kleinsten mittleren Quadrate (LMS) und der Auswirkung der Quantisierung bei prädiktiver Codierung mit Python-Beispielen. Dann wird die Vorhersage für verlustfreie Kodierer mit Python-Implementierungen beschrieben. Als Erweiterung wird der Weighted Cascaded LMS (WCLMS) Kodierer gezeigt.
Gerald Schuller
4. Psycho-Akustische Modelle
Zusammenfassung
In diesem Kapitel werden die Grundlagen und eine Beispielimplementierung von psychoakustischen Modellen beschrieben. Es beginnt mit der Bark-Frequenzskala für das Hören, als eine der Grundlagen, und Mapping-Funktionen für die Umwandlung von und in die lineare Frequenzskala. Dann wird die Ruhehörschwelle des Gehörs beschrieben, und es werden Modelle für die Maskierungsschwelle bei Vorhandensein von Audiosignalen unter Verwendung von Spreizfunktionen entwickelt. Anschließend wird die Überlagerung dieser Spreizfunktionen für allgemeine Audiosignale behandelt, wobei nichtlineare Überlagerungen verwendet werden. Schließlich werden diese Modelle zu einem vollständigen psycho-akustischen Modell in Python kombiniert.
Gerald Schuller
5. Entropie-Kodierung
Zusammenfassung
In diesem Kapitel werden einige der Grundlagen der Entropie-Kodierung und Anwendungsbeispiele in Python beschrieben. Es behandelt zunächst den bekannten Huffman-Codierer und geht dann auf den Golomb-Rice-Codierer ein, der einfacher zu implementieren ist. Letzterer wird daher für die folgende Implementierung vollständiger Audiocodierer gewählt.
Gerald Schuller
6. Der Python Perceptual Audio Coder
Zusammenfassung
Dieses Kapitel beschreibt die Python-Implementierung eines kompletten Audio-Encoders und -Decoders, der alle Teile zusammenfügt. Es zeigt einige Experimente, die damit durchgeführt werden können.
Gerald Schuller
7. Prädiktive verlustlose Audiocodierung
Zusammenfassung
Dieses Kapitel zeigt eine Beispielimplementierung eines prädiktiven verlustfreien LMS-Encoders und -Decoders unter Verwendung der Werkzeuge aus den vorangegangenen Kapiteln sowie Kompressionstests mit Audiodateien.
Gerald Schuller
8. Skalierbare verlustlose Audiocodierung
Zusammenfassung
Dieses Kapitel beschreibt eine skalierbare verlustfreie Audiocodierung, die auf der Integer-to-Integer MDCT (IntMDCT) basiert, die eine exakte Umwandlung zwischen ganzzahligen Signalabtastwerten und ganzzahligen Subbandwerten ermöglicht. Zunächst werden die Theorie und die Python-Implementierung der Integer-to-Integer-MDCT beschrieben, und dann geht es um ihre Verwendung in einem verlustfreien Encoder und Decoder, die skalierbar sein können.
Gerald Schuller
9. Psycho-Akustisches Vorfilter
Zusammenfassung
In diesem Kapitel wird ein neuer Ansatz zur Anwendung eines psycho-akustischen Modells auf Audiosignale beschrieben. Bisher haben wir das psychoakustische Modell und die entsprechende Quantisierung und Verarbeitung in denselben Teilbändern angewendet. Hier wird gezeigt, wie man den psychoakustischen Maskierungsschwellenwert verwendet, um das Audiosignal auf ihn zu normalisieren, und dann eine beliebige Verarbeitung im Zeitbereich oder eine beliebige Teilbandzerlegung vornimmt. Auf diese Weise kann das vorgefilterte Signal verwendet werden, um ein hörangepasstes Fehlermaß zu erhalten, oder um eine Teilbandzerlegung zu verwenden, die für das Signal optimal ist, aber für das psychoakustische Modell nicht notwendigerweise ist. Darüber hinaus kann das Vor- und Nachfilterprinzip zusammen mit der prädiktiven Kodierung zur Minimierung der Kodierungs-/Dekodierungsverzögerung verwendet werden, was zum Ultra Low Delay Audiokodierer führt.
Gerald Schuller
Metadaten
Titel
Filterbänke und Audiocodierung
verfasst von
Gerald Schuller
Copyright-Jahr
2023
Electronic ISBN
978-3-031-19990-5
Print ISBN
978-3-031-19989-9
DOI
https://doi.org/10.1007/978-3-031-19990-5