DE69813912T2 - Digitaler audiokodierer mit verschiedenen genauigkeiten - Google Patents

Digitaler audiokodierer mit verschiedenen genauigkeiten Download PDF

Info

Publication number
DE69813912T2
DE69813912T2 DE69813912T DE69813912T DE69813912T2 DE 69813912 T2 DE69813912 T2 DE 69813912T2 DE 69813912 T DE69813912 T DE 69813912T DE 69813912 T DE69813912 T DE 69813912T DE 69813912 T2 DE69813912 T2 DE 69813912T2
Authority
DE
Germany
Prior art keywords
precision
data
coupling
bit
coefficients
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69813912T
Other languages
English (en)
Other versions
DE69813912D1 (de
Inventor
Javed Mohammed ABSAR
Sapna George
Mario Antonio ALVAREZ-TINOCO
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics Asia Pacific Pte Ltd
Original Assignee
STMicroelectronics Asia Pacific Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics Asia Pacific Pte Ltd filed Critical STMicroelectronics Asia Pacific Pte Ltd
Publication of DE69813912D1 publication Critical patent/DE69813912D1/de
Application granted granted Critical
Publication of DE69813912T2 publication Critical patent/DE69813912T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0212Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • Gebiet der Erfindung
  • Diese Erfindung ist anwendbar auf den Bereich von Audio-Codierern und insbesondere auf solche Audio-Codierer, die implementiert werden können auf Festkomma-Arithmetik-Digitalprozessoren, beispielsweise für professionelle und gewerbliche Anwendungen.
  • Hintergrund der Erfindung
  • Um effizienter Audiosignale zu senden oder aufzuzeichnen, kann die zur Darstellung der Audiosignale erforderliche Informationsmenge vermindert werden. Im Fall von digitalen Audiosignalen kann die Menge an digitaler Information, die benötigt wird, um die ursprünglichen pulscodemodulierten Samples (PCM-Samples) akkurat zu reproduzieren, vermindert werden durch Anwendung eines digitalen Kompressionsalgorithmus, was eine digital komprimierte Darstellung des ursprünglichen Signals ergibt. Das Ziel des digitalen Kompressionsalgorithmus besteht darin, eine digitale Darstellung eines Audiosignals zu erzeugen, die genauso klingt wie das Originalsignal, wenn sie decodiert und reproduziert wird, während ein Minimum an digitaler Information für die komprimierte oder codierte Darstellung verwendet wird.
  • Neuerliche Fortschritte in der Audio-Codier-Technologie haben zu hohen Kompressionsverhältnissen geführt, während die hörbare Verschlechterung des komprimierten Signals auf einem Minimum gehalten wurde. Diese Codierer sind für eine Vielzahl von Anwendungen gedacht, einschließlich 5.1 Kanal-Film-Soundtracks, HDTV, Laserdisks und Multimedia. Eine Beschreibung eines anwendbaren Verfahrens kann gefunden werden im Standard-Dokument des Advanced Television Systems Committee (ATSC) mit dem Titel „Digital Audio Compression (AC-3) Standard", Dokument A/52, 20 Dezember 1995, und die Offenbarung dieses Dokuments wird hiermit ausdrücklich durch Bezugnahme hierin aufgenommen.
  • Die Implementierung eines AC-3-Codierers durch Übertragung der Erfordernisse und Prozesse von dem erwähnten AC-3 Standard auf die Firmware eines Digitalsignalprozessor-Kerns (DSP-Kerns) umfasst mehrere Phasen. Als erstes müssen die wesentlichen Kompressionsalgorithmusblöcke des AC-3-Codierers konstruiert werden, da es nur die Funktionen sind, die von dem Standard definiert sind. Nachdem individuelle Blöcke vollständig sind, werden sie in ein Codiersystem integriert, das einen PCM-Strom (pulscodemodulierten Strom) empfängt, das Signal verarbeitet unter Anwendung von Signalverarbeitungstechniken, wie beispielsweise Transientendetektion, Frequenztransformation, Maskieren und psychoakustische Analyse, und einen komprimierten Strom im Format des AC-3-Standards erzeugt.
  • Der codierte AC-3-Strom sollte in der Lage sein, von jeglichem normalen bzw. Standard-AC-3-Decodierer dekomprimiert zu werden, und der dadurch erzeugte PCM-Strom sollte eine vergleichbare Audio-Qualität zu dem ursprünglichen Musikstrom besitzen. Wenn der ursprüngliche Strom und der dekomprimierte Strom hinsichtlich hörbarer Qualität (bei einem vernünftigen Kompressionsniveau) voneinander nicht unterscheidbar sind, geht die Entwicklung in die dritte Phase. Wenn die Qualität nicht transparent ist (nicht unterscheidbar), gehen algorithmische Entwicklung und Verbesserungen weiter.
  • In der dritten Phase werden die Algorithmen in einer Sprache auf hohem Niveau (High Level-Sprache) (z. B. C) simuliert unter Verwendung von Wortlängenangaben des Ziel DSP-Kerns. Die meisten kommerziellen DSP-Kerne gestatten nur Festkomma-Arithmetik (da ein Fließkomma-Modul hinsichtlich der Fläche der integrierten Schaltung aufwendig bzw. kostspielig ist). Danach werden die Codierer-Algorithmen in eine Festkomma-Lösung übersetzt. Die verwendete Wortlänge ist üblicherweise vorgegeben durch die Fähigkeiten der ALU (Arithmetik-Logik-Einheit) und die Busbreite des Zielkerns. Beispielsweise würde ein AC-3-Codierer auf einem Motorola 56000-DSP 24-Bit-Präzision verwenden, da es ein 24-Bit-Kern ist. In ähnlicher Weise würde für die Implementierung auf einem Zoran ZR38000, der einen 20-Bit-Datenpfad besitzt, eine 20-Bit-Präzision verwenden.
  • Wenn beispielsweise entdeckt wird, dass 20-Bit-Präzision ein nicht annehmbares Niveau an Klangqualität liefert, besteht immer die Möglichkeit doppelte Präzision zu vennrenden. In diesem Fall wird jede Dateninformation als zwei Segmente gespeichert und verarbeitet, und zwar als untere und obere Worte, jeweils mit einer Länge von 20-Bit. Die Genauigkeit der Implementierung wird verdoppelt, aber ebenso wird die rechnerische Komplexität verdoppelt, und eine Multiplikation mit doppelter Präzision könnte 6 oder mehr Zyklen erfordern, während eine Multiplikation mit einfacher Präzision und Addition (MAC) nur einen einzigen Zyklus verwenden kann. Block-Exponenten-Techniken und andere Verstärkungsbzw. Verbesserungstechniken, die für den AC-3-Codierer spezifisch sind, können je nach Einschätzung verwendet werden zur Verbesserung der Qualität, aber diese Merkmale sind nicht immer auf den kommerziellen DSPs vorhanden.
  • 24-Bit-AC-3-Codierer mit einfacher Präzision liefern bekanntermaßen eine ausreichende Qualität. Jedoch wird die Qualität eines 16-Bit-AC-3-Codierers mit einfacher Präzision als sehr schlecht angesehen. Infolgedessen war die Implementierung von AC-3-Codierern auf 16-Bit-DSP-Kernen nicht populär. Da eine Einfachpräzisions-16-Bit-Implementierung eines AC-3-Codierers eine nicht akzeptable Wiedergabequalität ergibt, wäre ein solches Produkt klar im Nachteil auf dem Kundenmarkt. Andererseits ist eine Implementierung mit doppelter Präzision von der Rechenleistung her zu teuer. Es wurde geschätzt, dass eine vollständige Implementierung mit doppelter Präzision über 140 MIPS (Millionen Anweisungen pro Sekunde) erfordern würde. Dies übersteigt die Fähigkeiten der meisten kommerziellen DSPs, und darüber hinaus werden immer zusätzliche MIPS für die Systemsoftware und wertsteigernde Merkmale benötigt.
  • US-A-5,787,025 beschreibt ein Verfahren zur Ausführung einer digitalen Signalverarbeitung mit einem Signal, wobei die digitale Signalverarbeitung verschiedene rechnerische Stufen aufweist.
  • Zusammenfassung der Erfindung
  • Gemäß der vorliegenden Erfindung ist ein Verfahren vorgesehen zum Codieren digitaler Audiodaten mit einem Umwandlungscodiersystem, das implementiert ist auf ein Festkomma-Digitalsignalprozessor mit mehreren Niveaus an Rechnerpräzision, wobei das Umwandlungscodiersystem eine Vielzahl von Berechnungsstufen umfasst, die arithmetische Operationen beim Umwandeln der digitalen Audiodaten in codierte Audiodaten umfassen, und wobei verschiedene Berechnungsstufen verschiedene vorgewählte Niveaus an rechnerischer Präzision verwenden.
  • Die vorliegende Erfindung sieht auch einen digitalen Audioumwandlungscodierer zum Codieren von digitalen Audiodaten in komprimierte Audiodaten vor, wobei der digitale Audioumwandlungscodierer Folgendes aufweist: einen Festkomma-Digitalsignalprozessor mit mehreren Niveaus an Berechnungspräzision, und ein Umwandlungscodiersystem, das in Firmware oder Software gespeichert ist zum Steuern des Digitalsignalprozessors, wobei das Umwandlungscodiersystem eine Vielzahl von Berechnungsstufen umfasst, die arithmetische Operationen beim Umwandeln der digitalen Audiodaten in komprimierte Audiodaten umfassen, und wobei verschiedene Berechnungsstufen von dem Digitalsignalprozessor durchgeführt werden unter Verwendung verschiedener vorgewählter Niveaus an rechnerischer Präzision.
  • In einer bevorzugten Ausführungsform der Erfindung ist das Audioumwandlungscodiersystem implementiert auf einem 16-Bit-Digitalsignalprozessor, der in der Lage ist, Berechnungen mit einfacher Präzision (16-Bit) und Berechnungen mit doppelter Präzision (32-Bit) durchzuführen. Entsprechend verwendet die bevorzugte 16-Bit-Implementierung Kombinationen aus einfacher und doppelter Präzision, um sich in bestmöglicher Weise an das Bezugs-Fließkomma-Modell anzunähern. Dadurch wird rechnerische Komplexität vermindert, ohne übermäßig Qualität zu opfern. Die Merkmale des bevorzugten Ausführungsbeispiels, die nachfolgend allgemein beschrieben werden, werden daher im Kontext einer solchen Implementierung dargestellt.
  • Für Transientendetektion können Berechnungen mit einfacher Präzision (16-Bit) verwendet werden. Es wird angenommen, dass der Eingangsstrom von PCM-Audiodaten 16-Bit ist (oder für diese Stufe auf 16 Bits trunkiert ist) und dass die Hochpassfilterkoeffizienten auch auf 16 Bits beschränkt sind. Die gefilterten 16-Bit-Daten werden segmentiert und analysiert, um Transienten zu detektieren. Simulationsergebnisse mit Musikströmen zeigen, dass das Ergebnis dieser Implementierung in über 99% der Zeit mit der Fließkomma-Version übereinstimmt. Da dieser Schritt nur 16-Bit-Operationen umfasst, wird er als 16-16 (Daten:Koeffizienten)-Verarbeitung bezeichnet.
  • Die Eingabe-16-Bit-PCM-Daten werden in die Frequenzdomäne umgewandelt, indem zunächst ein Fenster mit Koeffizienten mit einer Länge von 32 Bit angewandt wird. Daher ist die Fensterbildung eine 16-32 (Daten:Koeffizienten)-Verarbeitung. Wenn die Eingabe-PCM-Daten 24-Bit sind, dann kann 32-16-Verarbeitung für die Fensterbildung verwendet werden, wobei die PCM-Daten als 32-Bit behandelt werden (Vorzeichen der oberen Bits erweitert) und mit 16-Bit-Fenster-Koeffizienten multipliziert werden.
  • Eine Frequenzumwandlung unter Verwendung einer modifizierten diskreten Kosinusumwandlung (MDCT = Modified Discrete Cosine Transform) wird durchgeführt unter Verwendung von 32-Bit-Daten und 16-Bit-Koeffizienten. Für jede Berechnung sind die Eingabedaten 32-Bit und werden multipliziert mit den Koeffizienten (Sinus- und Kosinusausdrücke), die 16 Bit lang sind. Die sich ergebenden 48 Bit werden für den nächsten Verarbeitungsschritt auf 32 Bit trunkiert. Es kann gezeigt werden, dass diese Form der Frequenzumwandlung mit 32-16-Verarbeitung eine 21-25-Bit Genauigkeit mit 80% Sicherheit ergibt, verglichen mit der Fließkomma-Version.
  • Es sei angenommen, dass jeder 32-Bit-Frequenz-Koeffizient in zwei 16-Bit-Registern gespeichert ist. Für Phasen- und Kopplungs-Strategie-Berechnungen können die oberen 16 Bit der Daten verwendet werden. Sobald die Strategie zum Kombinieren des gekoppelten Kanals zur Bildung des Kopplungskanals bekannt ist, verwendet der Kombinationsprozess die vollen 32-Bit-Daten. Die Rechenleistung wird reduziert, während die Genauigkeit noch immer hoch ist. Eine einfache Trunkierung der oberen 16 Bit der 32-Bit-Daten für die Phasen- und Kopplungsstrategie-Berechnung führt zu einem schlechten Ergebnis (nur 80% der Zeit stimmt die Strategie mit der der Fließkomma-Version überein), und somit kann ein Block-Exponenten-Vorverarbeitungsverfahren verwendet werden. Wenn das Block-Exponenten-Verfahren verwendet wird, ist die Kopplungs-Strategie in 97% der Zeit genau gleich wie beim Fließkomma.
  • Eine Rematrix-Entscheidung bestimmt, ob die Koeffizienten als linker Kanal (L) oder rechter Kanal (R) oder die Summe (L + R) oder die Differenz (L – R) der Kanäle codiert werden, und kann durchgeführt werden unter Verwendung der oberen 16 Bit der 32-Bit-Daten. Das tatsächliche Rematrix-Codieren der Koeffizienten verwendet vorzugsweise die vollen 32-Bit-Daten wie bei den Kopplungsberechnungen.
  • Die übrige Verarbeitung des AC-3-Codierens, einschließlich Exponentencodierung, Quantisierung und Bit-Zuordnung sind im AC-3-Standard als Festkomma-Arithmetik definiert, und daher trifft man bei diesen Berechnungen nicht auf eine Wahl der Wortlänge.
  • Die Erfindung wird ausgeführt gemäß dem unabhängigen Anspruch 1.
  • Kurze Beschreibung der Zeichnungen
  • Die Erfindung wird in größeren Einzelheiten anschließend beschrieben anhand eines Beispiels mit Bezug auf die beigefügten Zeichnungen, in denen:
  • 1 ein Systemblockdiagramm eines AC-3-gemäßen Audiocodierers ist;
  • 2 ein Vergleich von 24-24 (Daten:Koeffizienten)-Bit- und 16-16 (Daten:Koeffizienten)-Bit-Wortlängen mit Fließkomma-Berechnungen für Transientendetektion;
  • 3 ist ein Flußdiagramm des Transientendetektionsprozesses, wobei 16-32 (Daten:Koeffizienten)-Bit-Präzision verwendet wird für Fensterbildungsoperationen, während 32–16 (Daten:Koeffizienten)-Bit-Präzision verwendet wird für Frequenztransformation;
  • 4 zeigt vergleichende Schaubilder der Fehlerwahrscheinlichkeit von Festkomma-Berechnungen (32-16 und 24-24), mit der Fließkomma-Berechnung als Referenz, für die Frequenzumwandlungsstufe;
  • 5 ist ein Blockdiagramm, das die Kopplungskoeffizientenerzeugung und Phasenschätzung darstellt;
  • 6 ist ein Diagramm, dass Blockexponentenverarbeitung zeigt;
  • 7, 8 und 9 sind Schaubilder des Frequenzansprechverhaltens der AC-3-Codierer-Implementierung hinsichtlich des Rauschabstandes (Signalzu-Rauschen-Verhältnis) für Berechnungen Fließkomma, 16-32-Bit und 24-Bit.
  • Genaue Beschreibung der bevorzugten Ausführungsbeispiele
  • In der folgenden genauen Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung wird zunächst eine Beschreibung eines AC-3-Codierers auf Systemniveau gegeben. Dies dient dazu, die Gesamtprozesse zu erklären und die Wichtigkeit jedes Verarbeitungsblocks im Gesamt-Audio-Kompressionssystem zu beschreiben.
  • Nach der Beschreibung auf Systemniveau werden die Wortlängenanforderungen jedes Verarbeitungsblocks, in dem Festkomma-Arithmetik verwendet wird, beschrieben. Dies umfasst Transientendetektions-, Frequenzumwandlungs-, Rematrix- und Kopplungsblöcke. Durch Analyse der erhaltenen Daten durch extensive Simulation und daraus abgeleiteten Statistiken werden angemessene Wortlängenanforderungen für jeden Block geschätzt. Insbesondere beschäftigt sich diese Beschreibung mit dem Problem der Implementierung des Zwei-Kanal-AC-3-Codierers auf einem 16-Bit Prozessor in einer Art und Weise, dass Verarbeitungserfordernisse nicht zu hoch sind und die Qualität vergleichbar ist zu einer Implementierung auf einem Einfach-Präzisions-24-Bit-Prozessor.
  • Systemüberblick
  • Ähnlich wie die AC-2-Einzelkanal-Codiertechnik, von der er abgeleitet ist, ist ein AC-3-Audiocodierer grundsätzlich ein adaptiver Codierer auf Umwandlungsbasis unter Verwendung einer frequenzlinearen kritisch gesampelten Filterreihe basierend auf der Alias-Löschungstechnik in der Zeitdomäne von Princen Bradley (Princen Bradey TDAC-Technik = Princen Bradley Time Domain Aliasing Cancellation-Technik). Ein Gesamtsystem-Blockdiagramm eines AC-3-Codierers 10 ist in 1 gezeigt. Es sei bemerkt, dass von den in 1 gezeigten Blöcken solche Blöcke, wie beispielsweise die Rahmenoptimierungstabellen (Frame Optimisation Tables) 22, schnelle Bit-Zuordnung (Fast Bit Allocation) 21 und spektrale Umformung (Spectral Reshaping) 18 nicht direkt Teil des AC-3-Standards sind, aber für qualitativ hochwertige Audiowiedergabe und zur Verminderung der Rechnerlast zweckmäßig bzw. wünschenswert sind.
  • Audioeingabeformat
  • AC-3 ist ein Block-strukturierter Codierer, so dass einer oder mehrere Blöcke des Signals in der Zeitdomäne, typischerweise 512 Samples pro Block und Kanal, in einem Eingabepuffer gesammelt werden, bevor zusätzliche Verarbeitung ausgeführt wird.
  • Transientendetektion
  • Transienten werden detektiert in den Voll-Bandbreiten-Kanälen, um zu entscheiden, wann auf Audioblöcke mit kurzer Länge umgeschaltet werden soll, um Quantisierungsrauschen zu begrenzen, das mit der Transienten innerhalb eines kleinen zeitlichen Bereichs um die Transiente herum assoziiert ist. Die Eingabe-Audiosignale werden hochpassgefiltert (12) und dann durch einen Transientendetektor (13) auf einen Energieanstieg hin untersucht, und zwar von einem Sub- Block-Zeitsegment zum nächsten. Sub-Blöcke werden mit unterschiedlichen Zeitskalen untersucht. Wenn eine Transiente in der zweiten Hälfte eines Audioblocks in einem Kanal detektiert wird, schaltet dieser Kanal auf einen kurzen Block (256 Sample). Beim Vorhandensein einer Transienten, wird das Bit „blksw" für den Kanal in dem codierten Bit-Strom in dem bestimmten Audioblock eingestellt.
  • Der Transientendetektor arbeitet mit 512 Samples für jeden Audioblock. Dies wird in zwei Durchgängen erreicht, wobei jeder Durchgang 256 Samples verarbeitet. Die Transientendetektion ist unterteilt in vier Schritte:
    • 1. Hochpassfiltern;
    • 2. Segmentierung des Blöcke in Sub-Mehrfache;
    • 3. Spitzenamplitudendetektion innerhalb jedes Sub-Block-Segments; und
    • 4. Schwellenwertvergleich.
  • Der Transientendetektor gibt den Merker blksw für jeden Voll-Bandbreiten-Kanal aus; wenn der Merken auf „1" gesetzt ist, zeigt dies das Vorhandensein einer Transienten in der zweiten Hälfte des Eingabeblocks mit einer Länge von 512 für den entsprechenden Kanal an. Die vier Stufen der Transientendetektion werden in Einzelheiten nachfolgend beschrieben.
    • 1) Hochpassfiltern: Das Hochpassfilter kann implementiert werden als ein Cascaden-Biquad-Direktform-II-IIR-Filter mit einer Abschneidfrequenz von 8 kHz.
    • 2) Blocksegmentierung: Der Block von 256 hochpassgefilterten Samples wird segmentiert in einen hierarchischen Baum von Niveaus, wobei das Niveau 1 den Block mit einer Länge von 256 repräsentiert, das Niveau 2 ist zwei Segmente mit einer Länge von 128, und das Niveau 3 ist vier Segmente mit einer Länge von 64.
    • 3) Spitzendetektion: Die Probe bzw. das Sample mit der größten Größe wird für jedes Segment identifiziert, und zwar auf jedem Niveau des hierarchischen Baums. Die Spitzen für ein einziges Niveau werden wie folgt gefunden:
    • P[j][j] = max(x(n)) für n = (512 × (k – l)/2^j) + 1, ... (512 × k/2^j) – 1 und k = 1, ..., 2^(j – l); wobei x(n) = das n-te Sample in dem Block mit einer Länge von 256 j = 1, 2, 3 ist die Zahl des hierarchischen Niveaus k = die Segmentzahl innerhalb des Niveaus j
    • 4) Schwellenwertvergleich: Die erste Stufe des Schwellenwertkomparators überprüft um zu sehen, ob es in dem aktuellen Block einen signifikanten Signalpegel gibt. Dies wird erreicht durch Vergleich des Gesamtspitzenwerts P[1][1] des aktuellen Blöcke mit einem „Stille-Schwellenwert" („silence threshold"). Wenn P[1][1] unterhalb diese Schwellenwerts ist, dann wird ein langer Block erzwungen. Der Stille-Schwellenwert ist 100/32768. Die nächste Stufe des Komparators überprüft die relativen Spitzenpegel benachbarter Segmente auf jedem Niveau des hierarchischen Baums. Wenn das Spitzenverhältnis von irgendwelchen zwei benachbarten Segmenten auf einen bestimmten Niveau einen vorbestimmten Schwellenwert für diese Niveau übersteigt, dann wird ein Merker gesetzt, um das Vorhandensein einer Transienten im aktuellen Block mit einer Länge von 256 anzuzeigen.
  • Zeitdomänen-Alias-Auslöschungsfilterreihe (TDAC-Filterreihe = Time Domain Aliasing Cancellation Filter Bank)
  • Das Zeitdomänen-Eingabesignal für jeden Kanal wird individuell gefenstert und gefiltert mit einer Analysefilterreihe (11) auf TDAC-Basis, um Frequenzdomänen-Koeffizienten zu erzeugen. Wenn das blksw-Bit gesetzt ist, was bedeutet, dass für diesen Block eine Transiente detektiert wurde, dann werden zwei kurze Transformationen mit einer Länge von 256 vorgenommen, was die zeitweilige Auflösung des Signals erhöht. Wenn blksw nicht gesetzt ist, wird eine einzige lange Transformation mit einer Länge von 512 durchgeführt, wodurch einen hohe spektrale Auflösung vorgesehen wird.
  • Die Ausgabefrequenzsequenz [k] ist definiert als:
    Figure 00110001
    wobei x[n] die gefensterte Eingabesequenz für einen Kanal ist und N die Umwandlungslänge ist.
  • Anstatt Xk in der oben angegebenen Form auszuwerten, kann es in einer rechnermäßig effizienten Weise berechnet werden, wie es beschrieben ist in der Beschreibung der internationalen Patentanmeldung Nr. WO-A-9943110 mit dem Titel „A Fast Frequency Transformation Technique for Transform Audio Coders". Die Offenbarung dieses Dokuments wird hierdurch ausdrücklich durch Bezugnahme hierin aufgenommen, und ein erklärender Auszug wird nachfolgend gegeben:
  • Anstatt Xk in der oben gegebenen Form auszuwerten, könnte es berechnet werden als: Xk = cos γ*(gk,r cos(π(k + 1/2)/ N) – gk,j sin(π(k + 1/2)/N)) – sin γ*(9k,r sin(π(k + 1/2)/ N) + gk,j cos(π(k + 1 / 2)/N))
    Figure 00110002
    dem bekannten FFT-Verfahren (Schnelle-Fourier-Transformation-Verfahren), indem zunächst die Transformation x'[n] = x[n]*ejπn/N und dann die FFT
  • Figure 00110003
  • Kopplung
  • Eine hohe Komprimierung kann in AC-3 erreicht werden durch Verwendung einer Technik, die als Kopplung bekannt ist. Kopplung nutzt die Art und Weise, wie das menschliche Ohr Direktionalität bzw. Gerichtetheit für Hochfrequenzsignale bestimmt. Bei hohen Audiofrequenzen (ungefähr über 4 kHz) ist das Ohr physisch nicht in der Lage, individuelle Zyklen einer Audiowellenform zu detektieren und spricht stattdessen auf die Umhüllende der Wellenform an. Folglich kann der Codieren 10 einen Kopplungsprozessor (14) umfassen, der die Hochfrequenzkoeffizienten der individuellen Kanäle kombiniert, um einen gemeinsamen Kopplungskanal zu bilden. Die ursprünglichen Kanäle, die kombiniert wurden zur Bildung des Kopplungskanals, werden die gekoppelten Kanäle genannt.
  • Der einfachste Codierer kann den Kopplungskanal bilden durch einfaches Nutzen aller individueller Kanalkoeffizienten. Ein höher entwickelter Codierer könnte die Vorzeichen der individuellen Kanäle ändern, bevor sie zu der Summe addiert werden, um Phasenauslöschung zu vermeiden.
  • Der erzeugte Kopplungskanal wird in eine Anzahl von Bändern unterteilt. Für jedes solche Band und jeden Kopplungskanal wird eine Kopplungskoordinate zu dem Decoder übertragen. Um die Hochfrequenzkoeffizienten in jedem Band für einen bestimmten gekoppelten Kanal aus dem Kopplungskanal zu erhalten, multipliziert der Decodierer die Kopplungskanalkoeffizienten in diesem Frequenzband mit der Kopplungskoordinate dieses Kanals für dieses bestimmte Frequenzband. Für einen Zweikanalcodierer wird auch Phasenkorrekturinformation für jedes Frequenzband des Kopplungskanals gesandt.
  • Bessere Verfahren zur Kopplungskanalbildung werden diskutiert in der Beschreibung der internationalen Patentanmeldungen WO-A-9934527 mit dem Titel „Method and Apparatus for Estimation of Coupling Parameters in a Transform Coder for High Quality Audio" und WO-A-9933194 mit dem Titel „Method and Apparatus for Phase Estimation in a Transform Coder for High Quality Audio". Die Offenbarungen dieser Beschreibungen werden hiermit ausdrücklich durch Bezugnahme hierin aufgenommen. Ein erklärender Auszug aus der letztgenannten Beschreibung wird nachfolgend zum Zwecke der Bezugnahme gegeben.
  • „Es sei angenommen, dass die Frequenzdomänen-Koeffienten bezecchnet sind als:
    ai, für den ersten gekoppelten Kanal,
    bi, für den zweiten gekoppelten Kanal,
    ci für den Kopplungskanal,
  • Für jedes Sub-Band wird der Wert Σiai*bi berechnet, wobei sich der Index i über den Frequenzbereich des Sub-Bands erstreckt. Wenn Σai*bi > 0 ist, wird die Kopplung für dieses Sub-Band durchgeführt als ci = (ai + bi)/2. Wenn Σiai*bi < 0 ist, dann wird in ähnlicher Weise die Kopplungsstrategie für das Sub-Band durchgeführt als ci = (ai + bi)/2
  • Benachbarte Sub-Bänder, die identische Kopplungsstrategien verwenden, können zusammengruppierf werden, um eines oder mehrere Kopplungsbänder zu bilden. Jedoch dürfen Sub-Bänder mit unterschiedlichen Kopplungsstrategien nicht in einem Band verbunden werden. Wenn die Gesamtkopplungsstrategie für ein Band ci = (ai + bi)/2 ist, d. h. für alle Sub-Bänder, die das Band bilden, wird der Phasenmerker für das Band auf +1 gesetzt, anderenfalls wird er auf –1 gesetzt."
  • Rematrixing
  • Ein weiterer Prozess, das Rematrixing (15), wird verwendet im speziellen Fall, dass der Codierer nur zwei Kanäle verarbeitet. Die Summe und die Differenz der beiden Signale von jedem Kanal werden auf einer Band-für-Band-Basis berechnet, und wenn in einem gegebenen Band die Pegeldisparität zwischen dem abgeleiteten (matrixed bzw. gematrixten) Signalpaar größer ist als der entsprechende Pegel des ursprünglichen Signals, wird stattdessen das Matrixpaar gewählt. Mehr Bits werden in dem Bit-Strom vorgesehen, um diesen Zustand anzuzeigen, woraufhin der Decodieren eine komplementäre Unmatrixing- bzw. Entmatrizierungs-Operation durchführt, um die ursprünglichen Signale wieder herzustellen. Die Rematrix-Bits werden weggelassen, wenn es mehr als zwei codierte Kanäle gibt.
  • Der Vorteil dieser Technik ist, dass sie gerichtetes Entmaskieren (directional unmasking) vermeidet, wenn die decodierten Signale nachfolgend bei einem Matrixsurround-Prozessor verarbeitet werden, wie beispielsweise einem Dolby Prologic (TM) Decoder.
  • Bei AC-3 wird Rematrixing in separaten Frequenzbändern unabhängig durchgeführt. Es gibt vier Bänder mit Grenzstellen abhängig von der Kopplungsinformation. Die Grenzstellen sind bestimmt anhand der Koeffizient-Bin-Zahl, und die entsprechenden Rematrixing-Band-Frequenzgrenzen ändern sich mit der Sampling-Frequenz.
  • Umwandlung in Fließkomma
  • Die umgewandelten Werte, die einem Rematrix- und Kopplungsprozess unterzogen worden sein können, werden in eine spezielle Fließkomma-Darstellung umgewandelt am Exponent-Extraktionsblock (16), was separate Anordnungen aus binären Exponenten und Mantissen ergibt. Diese Fließkomma-Anordnung wird durch den Rest des Codierverfahrens hindurch beibehalten, bis gerade vor der inversen Umwandlung des Decodierers, und sieht einen dynamischen Bereich von 144 dB vor und gestattet, dass AC-3 auf Festkomma- oder Fließkomma-Hardware implementiert wird.
  • Codierte Audioinformation besteht im Wesentlichen aus separater Darstellung der Exponenten- und Mantissenanordnungen. Der übrige Codierprozess konzentriert sich individuell auf die Verminderung der Exponenten- und Mantissendatenrate.
  • Die Exponenten werden codiert unter Verwendung einer der Exponentencodierungsstrategien. Jede Mantisse ist auf eine festgelegte Anzahl von Binärstellen trunkiert. Die Anzahl von Bits, die verwendet werden zum Codieren jeder Mantisse, wird erhalten aus einem Bit-Zuordnungsalgorithmus, der auf der Maskierungseigenschaft des menschlichen Gehörsystems basiert.
  • Exponentencodierungsstrategie
  • Exponentenwerte dürfen bei AC-3 in einem Bereich von 0 bis –24 liegen. Die Exponenten wirken als ein Skalierfaktor für jede Mantisse, gleich 2–exp. Die Exponenten für Koeffizienten, die mehr als 24 führende Nullen besitzen, werden bei –24 festgelegt, und bei den entsprechenden Mantissen wird gestattet, dass sie führende Nullen besitzen.
  • Ein AC-3-Bit-Strom enthält Exponenten für unabhängige, gekoppelte und die Kopplungskanäle. Exponenteninformation kann für Blöcke innerhalb eines Rahmens gemeinsam verwendet werden, so dass die Blöcke 1 bis 5 Exponenten von vorhergehenden Blöcke wiedervennrenden können.
  • Die AC-3-Exponentenübertragung verwendet eine Differenzialcodiertechnik, bei der die Exponenten für einen Kanal über die Frequenz hinweg differenziell codiert werden. Der erste Exponent wird immer als ein Absolutwert gesandt. Der Wert zeigt die Anzahl führender Nullen im ersten Umwandlungskoeffizienten an. Nachfolgende Exponenten werden als Differenzwerte gesandt, die zu dem vorhergehenden Exponentenwert hinzugefügt werden müssen, um den nächsten tatsächlichen Exponentenwert zu bilden.
  • Die differenziell codierten Exponenten werden als nächstes in Gruppen kombiniert. Die Gruppierung wird durchgeführt mit einem der drei Verfahren D15, D25 und D45. Diese Verfahren zusammen mit ‚Wiedeiverwendung' werden als Exponentenstrategien bezeichnet. Die Anzahl von Exponenten in jeder Gruppe hängt nur von der Exponentenstrategie ab. Im D15-Modus ist jede Gruppe aus drei Exponenten gebildet. Bei D45 werden vier Exponenten durch einen Differenzwert repräsentiert. Als nächstes werden drei aufeinanderfolgende solcher repräsentativer Differenzwerte zusammen gruppiert, um eine Gruppe zu bilden. Jede Gruppe besteht stets aus 7 Bits. Im Fall, dass die Strategie ‚Wieder verwendung' für einen Kanal in einem Block ist, werden keine Exponenten für diesen Kanal geschickt, und der Decodierer verwendet die zuletzt für diesen Kanal gesandten Exponenten erneut.
  • Eine Vorverarbeitung der Exponenten vor dem Codieren kann zu einer besseren Audioqualität führen. Eine solche Verarbeitungstechnik ist beschrieben in der Beschreibung der internationalen Patentanmeldung WO-A-9935758 mit dem Titel „Method and Apparatus for Spectral Exponent Reshaping in a Transform Coder for High Quality Audio", deren Offenbarung hiermit durch Bezugnahme hierin aufgenommen wird.
  • Die Wahl der geeigneten Strategie für Exponentencodierung bildete einen wichtigen Aspekt von AC-3, und in dem in 1 gezeigten Codieren 10 wird dies durchgeführt durch die Verfahrensblöcke 17, 18. D15 liefert die beste Genauigkeit, aber nur eine geringe Komprimierung. Andererseits kann die Übertragung von nur einem Exponentensatz für einen Kanal in dem Rahmen (in dem ersten Audioblock des Rahmens) und der Versuch, dieselben Exponenten für die nächsten fünf Audioblöcke „wiederzuverwenden", zu einer hohen Exponentenkompression führen, manchmal aber auch zu einer sehr hörbaren Verzerrung.
  • Es gibt mehrere Verfahren zur Bestimmung der Exponentenstrategie, und ein solches Verfahren ist beschrieben in der Beschreibung der internationalen Patentanmeldung WO-A-9941844 mit dem Titel „A Neural Network Based Method for Exponent Coding in a Transform Coder for High Quality Audio"
  • Bit-Zuweisung für Mantissen
  • Der Bit-Zuweisungsalgorithmus (Block 21) analysiert die Spektral-Umhüllende des Audiosignals, das codiert wird, hinsichtlich Maskierungseffekten, um die Anzahl von Bits zu bestimmen, die jeder Umwandlungskoeffizienten-Mantisse zugewiesen werden. Es wird empfohlen, dass die Bit-Zuweisung im Codierer global auf die Gesamtheit der Kanäle als eine Einheit durchgeführt wird, und zwar aus einem gemeinsamen Bit-Pool.
  • Die Bit-Zuweisungsroutine enthält ein parametrisches Modell (Block 20 für psychoakustische Analyse) des menschlichen Hörvermögens zum Schätzen eines Rauschpegelschwellenwerts, und zwar ausgedrückt als eine Funktion der Frequenz, die hörbare von nicht-hörbaren Spektralkomponenten trennt. Verschiedene Parameter des Gehörmodells können von dem Codierer eingestellt werden, abhängig von den Signaleigenschaften. Beispielsweise wird eine Prototyp-Maskierungskurve definiert anhand von zwei stückweise kontinuierlichen Liniensegmenten, und zwar jedes mit seiner eigenen Steigung und y-Schnittpunkt.
  • Wortlängenanforderungen der Verarbeitungsblöcke
  • Fließkomma-Arithmetik verwendet üblicherweise die Verfahren, die beschrieben sind in IEEE 754 (d. h. 32-Bit-Darstellung mit 24-Bit-Mantisse, 7-Bit-Exponent und einem Vorzeichen-Bit), was adäquat ist für AC-3-Codierung mit hoher Qualität. Workstations, wie die Sun SPARCstation 20 (TM) können eine viel höhere Präzision vorsehen (z. B. doppelte Präzision ist 8 Byte). Jedoch erfordern Fließkomma-Einheiten eine größerer Fläche der integrierten Schaltung und daher vennrenden die meisten DSP-Prozessoren eine Festkomma-Arithmetik. Der AC-3-Codierer soll bei der Verwendung häufig ein Teil eines Verbraucherprodukts sein, z. B. DVD-RAM (Digital Versatile Disk Readable and Writeable), wo Kosten (Chipfläche) ein wichtiger Faktor sind.
  • Im Bewusstsein des Zwiespalts von Kosten und Qualität bei der Entwicklung des AC-3-Standards, haben Dolby Laboratories sichergestellt, dass die Algorithmen auf Festkomma-Prozessoren implementiert werden können, aber ein wichtiger Punkt ist, welche Wortlänge für den Festkomma-Prozessor zur Verarbeitung von Audiosignalen mit hoher Qualität erforderlich ist.
  • Der AC-3-Codierer wurde implementiert auf 24-Bit-Prozessoren, wie beispielsweise dem Motorola 56000, und hatte großen wirtschaftlichen Erfolg. Obwohl jedoch die Leistung eines AC-3-Codierers, welcher auf einem 16-Bit-Prozessor implementiert ist, allgemein als qualitativ gering angenommen wurde, wurde keine angemessene Studie durchgeführt, um die Qualität zu messen bzw. einzuordnen (benchmark), oder sie mit der Fließkomma-Version zu vergleichen.
  • Wie oben beschrieben wurde, kann die Verwendung doppelter Präzision (32-Bit) zur Implementierung des Codierers auf einem 16-Bit-Prozessor zu einer hohen Qualität führen (sogar mehr als eine Implementierung auf einem 24-Bit-Prozessor). Jedoch ist die Arithmetik für doppelte Präzision rechnermäßig sehr aufwendig bzw. teuer (z. B. benötigt auf D950 eine Multiplikation mit einfacher Präzision 1 Zyklus, wohingegen doppelte Präzision 6 Zyklen erfordert). Demgemäß kann, anstatt einfache oder doppelte Präzision während des gesamten Codierprozesses durchzuführen, eine Analyse durchgeführt werden, um adäquate Präzisionsanforderungen für jede Stufe der Berechnung zu bestimmen.
  • In der folgenden Beschreibung wurde aus Gründen der Einfachheit des Ausdrucks (und um Wiederholung zu vermeiden) die folgende Konvention angenommen. Die Bezeichnung x-y (Satz A:Satz B) impliziert, dass für den Prozess Datenelemente innerhalb des Satzes A begrenzt oder trunkiert sind auf x Bits, während die Elemente des Satzes B y Bits lang sind. Beispielsweise impliziert 16-32 (Daten:Fenster), dass zur Fensterbildung Daten auf 16 Bits und der Fensterkoeffizient auf 32 Bits trunkiert wurden. Ohne Erklärung in Klammern, z. B. x-y, wird ein Erklärung der gemeinten Bedeutung im Allgemeinen geliefert. Wenn keine Erklärung geliefert wird, wird die Bedeutung aus dem Kontext klar sein, und der Kürze des Ausdrucks wurde der Vorzug gegeben gegenüber einer Wiederholung desselben Gedankens bzw. Konzepts.
  • Basierend auf umfangreichen Simulationen und einer Studie der davon abgeleiteten Statistiken wurde bestimmt, dass die verschiedenen Stufen des Codierers in geeigneter Weise implementiert werden können mit verschiedenen Kombinationen rechnerischer Präzision, wie beispielsweise 16-32, 32-16, 16-16 und 32-32. Geeignete Kompromisse hinsichtlich MIPS und Qualität werden daher anhand der erhaltenen Statistiken gemacht, und die rechnerischen Strategien, die als Ergebnis davon für die verschiedenen Verarbeitungsstufen verwendet werden können, werden nachfolgend beschrieben.
  • Transientendetektion
  • Bei einer Simulation wurde das Hochpassfiltern und die nachfolgende Segmentanalyse für Transientendetektion durchgeführt mit 16- und 24-Bit-Wortlängen (beides mit einfacher Präzision). Der eingehende PCM-Strom wurde als 16-Bit angenommen und die Filterkoeffizienten wurden auch auf 16 Bits trunkiert. Die Ausgabe des Filters ist eine 16-Bit-Zahl, die auf Transienten hin analysiert wird. Somit ist dieser Prozess 16-16 (Daten:Koeffizienten).
  • Die Simulationsergebnisse werden mit der Fließkomma-Version verglichen, die sich aus der Verarbeitung mit einer Sun SparcStation 20 (TM) ergibt. Für die Simulation werden fünf Musikproben verwendet, nämlich: a) Trommel, b) Harfe, c) Piano, d) Saxophon und e) Stimme. Obwohl es nicht erschöpfend ist, wird angenommen, dass dies ausreichend ist, um ein gutes Beispiel komplexer Audioströme zu liefern. 2 der beigefügten Zeichnungen ist eine Kennliniendarstellung der Transientendetektion mit einem Vergleich von 16-16 (Daten:Koeffizienten) und 24-24 (Daten:Koeftizienten)-Wortlängen mit den Fließkomma-Ergebnissen. Wie aus dem Schaubild deutlich ist, stimmt das 16-16-Ergebnis in über 99% der Zeit mit dem Fließkomma überein.
  • Aus 2 ist deutlich, dass in mehr als 99% der Fälle die 16-Bit-Ausgabe von der Transienten-Detektion 13 (hinsichtlich der blksw-Information) die gleiche ist wie bei der Fließkomma-Version. Dies bedeutet, dass für diese Stufe eine Berechnung mit doppelter Präzision wenig Nutzen bringt, und dass die 16-Bit-Verarbeitung mit einfacher Präzision adäquat ist. Simulationsergebnisse für 24-24 (Daten:Koeffizienten) sind auch in der Figur dargestellt.
  • Vorwärtstransformation
  • Fensterbildung
  • Der Audioblock wird multipliziert mit einer Fensterfunktion, um die Transformationsgrenzeffekte zu vermindern und um die Frequenzselektivität in der Filterreihe 11 zu verbessern. Die Werte der Fensterfunktion sind umfasst in dem oben erwähnten ATSC-Beschreibungs-Dokument. Wenn das Audioeingabesignal als 16-Bit angenommen wird, dann ist für die Fensterbildungsoperation einen Daten-Wortlänge von mehr als 16 Bit nicht nötig. Für die Implementierung auf einem 16-Bit-Prozessor, können die Fensterkoeffizienten 16- oder 32-Bit sein. Im Allgemeinen sind 16-Bit-Koeffizienten unangemessen, und es wird empfohlen, dass 32 Bits für die Fensterkoeffizienten verwendet wird. Darüber hinaus bildet dieser Schritt die Grundlage für weitere Verarbeitung und eine begrenzte Genauigkeit in dieser Stufe ist nicht vernünftig. Wenn jedoch der Eingabestrom 24-Bit ist, dann kann 32-16 (Daten:Koeffizienten)-Verarbeitung durchgeführt werden.
  • Zeit-zu-Frequenz-Transformation
  • Basierend auf den Blockschaltmerkern wird jeder Audioblock in die Frequenzdomäne umgewandelt, durch Durchführen einer langen 512-Punkt-Transformation oder zweier kurzer 256-Punkt-Transformationen. Jeder gefensterte Datensatz ist 32 Bits lang. Für die Frequenztransformationsstufe ist die Länge der Koeffizienten (Kosinus- und Sinusausdrücke) auf 16 Bits beschränkt. Unter Verwendung der vorhergenannten Terminologie, ist dies daher eine 32-16 (Daten:Koeffizienten)-Berechnung.
  • Der Vorteil der 32-16-Präzision ist der, dass die Rechnerlast nicht so hoch ist wie bei der 32-32 Version (reine doppelte Präzision). Auf dem D950 benötigt die 32-16-Multiplikation 3 Zyklen, während eine 32-32-Multiplikation 6 Zyklen erfordert.
  • 3 zeigt ein Transienten-Detektions-Verfahren, das vollständig 16-Bit ist: 16-32 (Daten:Koeffizienten)-Bit-Präzision wird verwendet für die Fensterbildungsoperation, während 32-16 (Daten:Koeftizienten) für die Frequenztransformation verwendet wird. Aus 3 ist zu sehen, dass die Fensterbildungskoeffizienten 32-Bit sind, während die Eingabedaten (CD Qualität) 16-Bit sind. Das 32-Bit-Fenster wird multipliziert mit den 16-Bit-Daten, um 32-Bit-Daten zu erzeugen. Dieses gefensterte 32-Bit-Signal wird in die Frequenzdomäne umgewandelt unter Verwendung der modifizierten diskreten Kosinustransformation (MDCT = Modified Discrete Cosina Transform). Die 32-16-Präzision wird in der nachfolgenden Tabelle 1 verglichen mit der Fließkomma-Version und der 24-24-Bit-Version, und der mittlere Fehler und die Standardabweichung sind tabellenartig angegeben.
  • Figure 00210001
  • Tabelle 1. Frequenztransformationsstufe: Mittelwert (e) und Standardabweichung (σ) des Fehlers zwischen Implementierung mit Fließkomma und Festkomma (32-16 und 24-24).
  • Man kann beobachten, dass der mittlere Fehler ungefähr 0,0000005 ist, wobei die Diskrepanz üblicherweise an der 20. Binärstelle erfolgt. Da jedoch die Standardabweichung (σ) viel größer ist als der Mittelwert (e), reflektiert dies in genauerer Weise das Verhalten der unterschiedlichen Implementierungen. Mit dem gegebenen Satz von Beobachtungen ist es häufig praktisch, die Daten zu packen bzw. zu kondensieren und zusammenzufassen, indem sie in ein Modell gepasst werden, das auf einstellbaren Parametern beruht (in diesem Fall hängt der Fehler von der einstellbaren Wortlänge ab). Daher ist es instruktiv, die Wahrscheinlichkeitsverteilung der Fehlerfunktion zu analysieren.
  • 4 zeigt zwei Schaubilder der Fehlerwahrscheinlichkeit für die Frequenztransformationsstufe für 32-16- und 24-24-Festkomma-Berechnungen, mit der Fließkomma-Version als Referenz. Die Wahrscheinlichkeitsverteilung basiert auf Simulationsergebnissen mit einem Sample-Raum von 40.000. Aus der Figur ist ersichtlich, dass zu 80% der Zeit eine 21- bis 25-Bit-Genauigkeit vorhanden ist für die 32-16-Implementierung. Für die 24-24-Implementierung, gilt dies für den Bereich 18–21 Bits. Bei Annahme einer Gaußschen Verteilung für die Fehlerfunktion (was vernünftig ist angesichts der Wahrscheinlichkeitsverteilung in der obigen Figur), kann man sagen, dass für 32-16 der Fehler zu 99,7% der Zeit weniger als 0,005 (3σ) ist. Der niedrige Wert wird stark beeinflusst durch die Statistik von dem Trommel-Teil der Audioeingabe. Für 24-24 ist mit einer Wahrscheinlichkeit von 99,7% der Fehler geringer als 0,003 (3σ). Aus 4 kann auch erkannt werden, dass die Spreizung der Fehlerfunktion für 24-24 geringer ist, was eine stabilere Leistung impliziert verglichen mit 32-16. Obwohl sie nicht akkurat ist, dient diese Figur der Verdienstfunktion zumindest dazu hervorzuheben, dass beide Implementierungen eine ziemlich gute Genauigkeit besitzen.
  • Kopplungsprozess
  • Die Berechnungserfordernisse für den Kopplungsprozess sind ziemlich erheblich, was die Auswahl einer geeigneten Präzision schwieriger macht. Die Eingabe zum Kopplungsprozess sind die Kanalkoeffizienten mit einer Länge von jeweils 32 Bit. Das Koppeln erfolgt in mehreren Stufen. Für jede Stufe muss eine geeignete Wortlänge bestimmt werden.
  • Kopplungskanalerzeugungsstrategie
  • Wie oben diskutiert wurde, ist die Kopplungskanalerzeugungsstrategie verbunden mit dem Produkt Σiai*bi, wobei ai und bi die zwei gekoppelten Kanalkoeffizienten innerhalb des betreffenden Bandes sind. Obwohl 32-32-Berechnung (doppelte Präzision) für das Produkt des Mal-Zeichens zu genaueren Ergebnissen führen würde, ist es rechnerisch zu anspruchsvoll. Ein wichtiger Punkt ist jedoch, dass die Ausgabe dieser Stufe nur beeinflusst, wie der Kopplungskanal erzeugt wird, und nicht die Genauigkeit der Koeffizienten selbst. Wenn der Fehler von der 16-Bit-Berechnung nicht ziemlich groß ist, kann die Rechnerlast vermindert werden.
  • 5 ist ein Blockdiagramm des Kopplungsprozesses 30. In dem in dieser Figur gezeigten Prozess wird einfache Präzision mit 16 Bit (obere Hälfte) nur für die Kopplungskoeffizienten-Erzeugungsstrategie und Phasenschätzung verwendet. Das tatsächliche Koppeln wird dann mit den gesamten 32-Bit-Daten durchgeführt. Kopplungskoordinaten können erzeugt werden, und zwar ebenfalls unter Verwendung einfacher Präzision.
  • Wie in der Figur gezeigt ist, können für Phasenschätzung und die Kopplungseffizienten-Erzeugungsstrategie (31) die oberen 16 Bits der vollen 32-Bit-Daten aus der Frequenztransformationsstufe verwendet werden. Die tatsächliche Kopplungseffizientenerzeugung von cj = (aj ± bj)/2 (33) wird durchgeführt unter Verwendung von 32-32 (ai:bi)-Präzision.
  • Eine ähnliche Vorgehensweise der 16-16 (ai:bi) wird für die Kopplungskoordinaten-Erzeugung (34, 35) verwendet. Jedoch muss die letzte Division bei der Koordinatenerzeugung vorzugsweise mit der höchstmöglichen Präzision durchgeführt werden. Dafür wird empfohlen, dass die Fließkomma-Operation emuliert wird, d. h. Exponent (äquivalent zur Anzahl führender Nullen) und Mantisse (die verbleibenden 16 Bits nach Entfernen der führenden Nullen). Die Division kann dann durchgeführt werden unter Verwendung des bestmöglichen Verfahrens, das durch den Prozessor vorgesehen ist, um eine maximale Genauigkeit zu liefern. Da die Kopplungskoordinaten für die letzte Übertragung ohnehin in das Fließkomma-Format (Exponent und Mantisse) umgewandelt werden müssen, besitzt diese Herangehensweise einen doppelten Nutzen.
  • Figure 00240001
  • Tabelle 2. Kopplungsstrategie: Kopplungsstrategie für jedes Band mit der 24-24- und der 16-16-Vorgehensweise werden verglichen (in Prozent) mit der Fließkomma-Version. Während 24-24 ein überlegenes Ergebnis ergibt, ist das Ergebnis für 16-16 schlecht.
  • Die obige Tabelle 2 zeigt vergleichende Ergebnisse der Kopplungsstrategien in Bändern für die simulierten Audiodaten unter Verwendung der Fließkomma-Berechnungen als Referenz. Die Ergebnisse für 16-16 sind nicht wie gewünscht. Bei Analyse des Grundes für die schlechte Leistung kann gezeigt werden, dass normalerweise die Kopplungskoeffizienten einen niedrigen Wert besitzen. Obwohl die Kopplungskoeffizienten durch 32 Bits repräsentiert werden können, sind somit die höheren 16 Bits normalerweise alles Nullen. Daher ergibt die einfache Trunkierung der oberen 16 Bits schlechte Ergebnisse. Eine Variation der Blockexponentenstrategie, die nachfolgend beschrieben wird, kann verwendet werden, um die Ergebnisse zu verbessern.
  • 6 ist ein Diagramm, dass Blockexponentenverarbeitung darstellt und eine Vorverarbeitungsstufe zeigt, die implementiert werden kann vor der Trunkierung der 32 Bit auf 16 Bit für die Phasenschätzung, die Kopplungskoeffizienten-Erzeugungsstrategie und die Berechnung der Kopplungskoordinaten. Bei diesem Verfahren werden die Koeffizienten innerhalb des Bandes (oder des Sub-Bandes, abhängig vom Niveau der Verarbeitung) analysiert, um die minimale Anzahl führender Nullen zu finden (in einer tatsächlichen Implementierung wird das absolute Maximum anstatt der führenden Nullen zum Skalieren verwendet). Der gesamte Koeffizientensatz innerhalb des Bandes wird dann nach links verschoben (äquivalent zu einer Multiplikation), und dann werden die verbleibenden oberen 16 Bits für die Verarbeitung verwendet. Es sei bemerkt, dass für die Phasenschätzung und Kopplungsstrategie der Multiplikationsfaktor keinen Einfluss hat, solange sowohl der linke als auch der rechte Kanal innerhalb des Bandes um die gleiche Anzahl von Bits verschoben wurden.
  • Für die Kopplungskoordinaten-Erzeugungsphase sollten der Kopplungskanal und die gekoppelten Kanäle den gleichen Multiplikationsfaktor besitzen, so dass dieser vernachlässigbar ist. Wenn eine Fließkomma-Emulation verwendet wird, wie es oben empfohlen wurde, können alternativ der Kopplungskanal und die gekoppelten Kanäle auf einer unterschiedlichen Skala bzw. in einem unterschiedlichen Maßstab sein. Der Unterschied der Skala bzw. im Maßstab wird kompensiert im Exponentenwert der schließlichen Kopplungskoordinate. Es sei beispielsweise ein Band betrachtet, das nur 4 Bins, 96 ... 99, besitzt:
  • Figure 00250001
  • Wenn man in diesem Fall nur die oberen 16 Bits berücksichtigt, wird das eindeutig zu einem schlechten Ergebnis führen. Beispielsweise wird die Kopplungskoordinate Ψa = (Σa2/Σb2) Null sein, wodurch alle Frequenzkomponenten innerhalb des Bandes für den Kanal a weggewischt werden, wenn der Kopplungskoeffizient mit der Kopplungskoordinate im Decodierer multipliziert wird, um die Koeffizienten für den Kanal a zu reproduzieren. Wenn jedoch die führenden Nullen entfernt werden, werden die neuen Koeffizienten für den Kanal a wie folgt sein:
    Figure 00260001
    mit denen vernünftigere Messungen durchgeführt werden können. Der Skalierfaktor wird im Exponentenwert für die Kopplungskoordinate kompensiert werden müssen. Mit dieser Herangehensweise wird die Leistung der Phasenschätzung mit 16-16-Bit-Verarbeitung drastisch verbessert, wie es durch die Ergebnisse gezeigt ist, die in Tabelle 3 dargestellt sind, und zwar verglichen mit den Zahlen in 2.
  • Figure 00260002
  • Tabelle 3. Kopplungsstrategie für die zwei Implementierungen (16-16) und (24-24) verglichen (in Prozent) mit der Fließkomma-Version. Durch die Verwendung des Blockexponentenverfahrens ist die Genauigkeit der 16-16-Version stark verbessert verglichen mit den Zahlen von Tabelle 2.
  • Wie in 5 gezeigt ist, können folglich die Kopplungskoordinaten berechnet werden unter Verwendung von ausschließlich 16-Bit-Werten. Die Vorverarbeitungsstufe der 32-Bit-Zahlen vor der Trunkierung dient wiederum dazu, die Ergebnisse merklich zu verbessern. Aus der nachfolgenden Tabelle 4 ist deutlich, dass die 24-24-Version wie auch die 16-32-Version einen ähnliche Leistung bzw. Performance besitzen.
  • Figure 00270001
  • Tabelle 4. Mittelwert (e) und Standardabweichung (σ) des Fehlers zwischen der Fließkomma-Version und der 16-16-Version (mit Blockexponent) und der 24-24-Version. Die Zahlen sind für beide Implementierungen fast gleich.
  • Rematrixing
  • Die oberen 16 Bits der 32-Bit-Daten, die sich aus der Frequenztransformationsstufe ergeben, können verwendet werden, um Rematrixing für jedes Band zu bestimmen, und zwar in einer Art und Weise ähnlich der Kopplungsphasenschätzung. Innerhalb jedes Rematrixing-Bandes werden Leistungsmessungen durchgeführt für den linken Kanal (L), den rechten Kanal (R), und den Kanal, der sich aus der Summe (L + R) und der Differenz (L – R) ergibt.
  • Wenn die maximale Leistung in dem L + R- oder L – R-Signal gefunden wird, dann wird für dieses Band der Rematrix-Merker gesetzt, und L + R und L – R werden codiert anstatt von L und R. Für den Codierprozess werden die vollen 32-Bit-Daten verwendet, um maximale Genauigkeit vorzusehen.
  • Wenn die maximale Leistung in L oder R ist, wird der Rematrix-Merker für dieses Band nicht gesetzt, und die 32-Bit-Daten gehen direkt zum Codierprozess. Die nachfolgende Tabelle 5 vergleicht die 16-Bit-Version (wie eben beschrieben) mit der Fließkomma-Version. Die hohen Zahlen zeigen, dass zum Berechnen des Rematrix-Merkers das oben beschriebene Blockexponentenverfahren nicht notwendig ist.
  • Figure 00280001
  • Tabelle 5. Vergleich (in Prozent) des Rematrix-Merkers für die Fließkomma-Version und die 16-16-Version (ohne Blockexponent) und die 24-24-Version. Die hohen Zahlen (94 bis 100 ) für die 16-16-Version zeigen, dass das Blockexponentenverfahren nicht sehr notwendig ist.
  • Ergebnisse
  • Die 7, 8 und 9 sind Kennlinien des Frequenzansprechverhaltens hinsichtlich des Rauschabstands (Signal-zu-Rausch-Verhältnis) für die drei beschriebenen Implementierungen, nämlich Fließkomma-, 24-24-Bit- und 16-32-Bit-Berechnungen. Dieses Ergebnis wird erhalten durch Codieren-Decodieren von 100 dB-Sinuskurven an diskreten Frequenzpunkten für die betreffende Codiererversion. Die Ausgabe vom Decodierer wird verglichen mit der ursprünglichen Sinuskurve, um den Rauschabstand (SNR) zu schätzen. Aus der Kennlinie ist zu erkennen, dass die Fließkomma-Version einen durchschnittlichen Rauschabstand (SNR) von 85 dB ergibt (16-Bit-PCM besitzt einen Rauschabstand (SNR) von 96 dB). Die Rauschabstandmessung berücksichtigt nicht die Maskierungs- und psychoakustischen Effekte, aber gibt dennoch eine Zahl, um die verschiedenen Implementierungen zu vergleichen. Das in 8 gezeigte Frequenzansprechverhalten ist von einem 24-24-AC-3-Codierer, was impliziert, dass für alle Verarbeitung eine Einfach-Präzisions-Arithmetik mit einer Registerlänge von 24 Bit angenommen wurde. Andererseits ist das in 9 gezeigte Frequenzansprechverhalten das eines 16-32-AC-3-Codierers, was in diesem Kontext Folgendes impliziert: 16-16 für Transientendetektion, 16-32 für Fensterbildung, 32-16 für Frequenztransformation, 16-16 für Kopplung (Bestimmung der Phase und Kopplungskoordinate), 32-32 für Kopplungskanalerzeugung, 16-16 für Berechnung des Rematrix-Merkers und 32-32 für den Rematrix-Vorgang.

Claims (20)

  1. Verfahren zum Codieren digitaler Audiodaten gemäß einem Umwandlungscodierprozess, der auf einem Festkomma-Digitalsignalprozessor implementiert ist, wobei der Umwandlungscodierprozess eine Vielzahl von Berechnungsstufen aufweist, die arithmetische Operationen beim Umwandeln der Digitalaudiodaten in codierte Digitalaudiodaten umfassen, und wobei unterschiedliche der Berechnungsstufen unterschiedliche vorgewählte Niveaus an Berechnungspräzision nutzen, wobei der Umwandlungscodierprozess gemäß dem AC-3 Digitalaudio-Kompressionsstandard ist; und dadurch gekennzeichnet, dass die Vielzahl von Berechnungsstufen Folgendes aufweisen: einen Transientendetektions-Schritt (13) zum Detektieren von Übergängen bzw. Transienten in den Audiodaten, einen Fensterbildungs-Schritt (11) durchgeführt unter Verwendung einer Fensterfunktion, einen Frequenztransformations-Schritt (11), einen Kopplungsstrategie-Bestimmungs-Schritt und einen Kopplungskanal-Berechnungs-Schritt (14) zum Bilden der Kopplungskanäle, und einen Rematrix-Bestimmungs- und -Berechnungs-Schritt (15), der nur aufgerufen wird, wenn zwei Kanäle verarbeitet werden, um direktionales Demaskieren zu vermeiden.
  2. Verfahren nach Anspruch 1, wobei jeder der Schritte mit einer einfachen, 16 Bit-Präzision und in doppelter, 32 Bit-Präzision durchgeführt werden kann.
  3. Verfahren nach Anspruch 2, wobei der Transienten-Detektions-Schritt (13) mit Berechnungen mit einfacher Präzision durchgeführt wird.
  4. Verfahren nach Anspruch 2, wobei der Fensterbildungs-Schritt (11) mit Audiodaten mit doppelter Präzision und mit Koeffizienten mit einfacher Präzision durchgeführt wird.
  5. Verfahren nach Anspruch 2, wobei der Fensterbildungs-Schritt (11) mit Audiodaten mit doppelter Präzision und Koeffizienten mit einfacher Präzision durchgeführt wird.
  6. Verfahren nach Anspruch 2, wobei der Frequenztransformations-Schritt (11) mit Daten mit doppelter Präzision und Koeffizienten mit einfacher Präzision durchgeführt wird.
  7. Verfahren nach Anspruch 2, wobei der Schritt zur Bestimmung der Kopplungsstrategie (14) mit Daten mit einfacher Präzision durchgeführt wird.
  8. Verfahren nach Anspruch 7, wobei der Schritt zur Bestimmung der Kopplungsstrategie (14) einen Vorverarbeitungsschritt aufweist mittels eines Blockexponentenverfahrens, wobei Frequenzkoeffizienten mit doppelter Präzision verschoben werden zum Eliminieren von führenden Nullen und zum Abschneiden bzw. Trunkieren auf einfache Präzision.
  9. Verfahren nach Anspruch 7 oder 8, wobei der Schritt zur Bildung eines Kopplungskanals mit Daten mit doppelter Präzision durchgeführt wird.
  10. Verfahren nach Anspruch 2, wobei der Rematrix-Bestimmungs-Schritt (15), der mit Daten einfacher Präzision durchgeführt wird, ferner einen Rematrix-Codierschritt (15) aufweist, der mit Daten mit doppelter Präzision durchgeführt wird.
  11. Ein Digitalaudio-Umwandlungscodierer zum Codieren von digitalen Audiodaten in komprimierte Audiodaten, der einen Festkomma-Digitalsignalprozessor, der Berechnungen auf verschiedenen Niveaus der Präzision durchführen kann, sowie Umwandlungscodiermittel aufweist, wobei die Umwandlungscodiermittel eine Vielzahl von Berechnungsmitteln aufweisen, die angepasst sind für das Umwandeln der Digitalaudiodaten in komprimierte Digitalaudiodaten, und wobei unterschiedliche der Berechnungsmittel unterschiedliche vorgewählte Niveaus der Berechnungspräzision nutzen, und wobei die Umwandlungscodiermittel gemäß dem AC-3 Digital-Audio-Kompressionsstandard betrieben werden; gekennzeichnet dadurch, dass weiter Folgendes vorgesehen ist: Übergangsdetektionsmittel (13), die für das Detektieren von Transienten in den Audiodaten geeignet sind, Fensterbildungsmittel (11), die für das Durchführen einer Fensterbildungsfunktion geeignet sind, Frequenz-Transformationsmittel (11), Kopplungsstrategie-Bestimmungsmittel und Kopplungs-Kanalberechnungsmittel (14), die für das Bilden von Kopplungskanälen geeignet sind, und Rematrix-Bestimmungs- und -Berechnungsmittel (15), die geeignet sind für das Vermeiden eines direktionalen Demaskierens nur in dem Fall, dass zwei Kanäle verarbeitet werden.
  12. Digitalaudio-Umwandungscodierer nach Anspruch 11, wobei jedes der Mittel sowohl mit einfacher, 16 Bit-Präzision und mit doppelter, 32-Bit-Präzision betrieben werden kann.
  13. Audio-Umwandlungscodierer nach Anspruch 12, wobei die Transienten-Detektionsmittel (13) für Berechnungen mit einfacher Präzision betrieben werden können.
  14. Audio-Umwandlungscodierer nach Anspruch 12, wobei die Fensterbildungsmittel (11) mit Audiodaten mit einfacher Präzision und Koeffizienten mit doppelter Präzision betrieben werden können.
  15. Audio-Umwandlungscodierer nach Anspruch 12, wobei die Fensterbildungsmittel (11) mit Audiodaten mit doppelter Präzision und Koeffizienten mit einfacher Präzision betrieben werden können.
  16. Audio-Umwandlungscodierer nach Anspruch 12, wobei die Frequenz-Transformationsmittel (11) mit Daten mit doppelter Präzision und Koeffizienten mit einfacher Präzision betrieben werden können.
  17. Audio-Umwandlungscodierer nach Anspruch 12, wobei die Kopplungsstrategie-Bestimmungsmittel mit Daten mit einfacher Präzision betrieben werden können.
  18. Audio-Umwandlungscodierer nach Anspruch 17, wobei die Kopplungsstrategie-Bestimmungsmittel ferner folgendes aufweisen: Vorverarbeitungsmittel aufweisen zum Verschieben von Frequenzkoeffizienten mit doppelter Präzision, um führende Nullen zu eliminieren, und Mittel zum Abschneiden der Koeffizienten für eine einfache Präzision gemäß dem Block-Exponentenverfahren.
  19. Audio-Umwandlungscodierer nach Anspruch 17 oder 18, wobei die Kopplungskanal-Berechnungsmittel mit Daten mit doppelter Präzision betrieben werden können.
  20. Audio-Umwandlungscodierer nach Anspruch 12, wobei die Rematrix-Bestimmungs- und -Berechnungsmittel mit Daten mit einfacher Präzision betrieben werden können, und wobei ferner Rematrix-Codiermittel vorgesehen sind, die mit Daten mit doppelter Präzision betrieben werden können.
DE69813912T 1998-10-26 1998-10-26 Digitaler audiokodierer mit verschiedenen genauigkeiten Expired - Lifetime DE69813912T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SG1998/000084 WO2000025249A1 (en) 1998-10-26 1998-10-26 Multi-precision technique for digital audio encoder

Publications (2)

Publication Number Publication Date
DE69813912D1 DE69813912D1 (de) 2003-05-28
DE69813912T2 true DE69813912T2 (de) 2004-05-06

Family

ID=20429883

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69813912T Expired - Lifetime DE69813912T2 (de) 1998-10-26 1998-10-26 Digitaler audiokodierer mit verschiedenen genauigkeiten

Country Status (4)

Country Link
US (2) US7117053B1 (de)
EP (1) EP1125235B1 (de)
DE (1) DE69813912T2 (de)
WO (1) WO2000025249A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69813912T2 (de) * 1998-10-26 2004-05-06 Stmicroelectronics Asia Pacific Pte Ltd. Digitaler audiokodierer mit verschiedenen genauigkeiten
EP1228576B1 (de) 1999-10-30 2005-12-07 STMicroelectronics Asia Pacific Pte Ltd. Kanal koppelung für einen ac-3 kodierer
US6882685B2 (en) * 2001-09-18 2005-04-19 Microsoft Corporation Block transform and quantization for image and video coding
ATE452401T1 (de) * 2003-10-13 2010-01-15 Koninkl Philips Electronics Nv Audiocodierung
US7689052B2 (en) * 2005-10-07 2010-03-30 Microsoft Corporation Multimedia signal processing using fixed-point approximations of linear transforms
US8942289B2 (en) * 2007-02-21 2015-01-27 Microsoft Corporation Computational complexity and precision control in transform-based digital media codec
US8630848B2 (en) 2008-05-30 2014-01-14 Digital Rise Technology Co., Ltd. Audio signal transient detection
EP2273495A1 (de) * 2009-07-07 2011-01-12 TELEFONAKTIEBOLAGET LM ERICSSON (publ) System zur Verarbeitung digitaler Audiosignale
US8489391B2 (en) * 2010-08-05 2013-07-16 Stmicroelectronics Asia Pacific Pte., Ltd. Scalable hybrid auto coder for transient detection in advanced audio coding with spectral band replication
WO2013075753A1 (en) * 2011-11-25 2013-05-30 Huawei Technologies Co., Ltd. An apparatus and a method for encoding an input signal
CN103236846B (zh) * 2013-05-02 2016-08-10 浙江中控技术股份有限公司 一种工业实时数据压缩方法及装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5479562A (en) * 1989-01-27 1995-12-26 Dolby Laboratories Licensing Corporation Method and apparatus for encoding and decoding audio information
US5230038A (en) * 1989-01-27 1993-07-20 Fielder Louis D Low bit rate transform coder, decoder, and encoder/decoder for high-quality audio
US5579404A (en) * 1993-02-16 1996-11-26 Dolby Laboratories Licensing Corporation Digital audio limiter
JP3188013B2 (ja) * 1993-02-19 2001-07-16 松下電器産業株式会社 変換符号化装置のビット配分方法
US5632003A (en) * 1993-07-16 1997-05-20 Dolby Laboratories Licensing Corporation Computationally efficient adaptive bit allocation for coding method and apparatus
US6331856B1 (en) * 1995-11-22 2001-12-18 Nintendo Co., Ltd. Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
US5787025A (en) * 1996-02-28 1998-07-28 Atmel Corporation Method and system for performing arithmetic operations with single or double precision
US6854003B2 (en) * 1996-12-19 2005-02-08 Hyundai Electronics America Video frame rendering engine
US6144937A (en) * 1997-07-23 2000-11-07 Texas Instruments Incorporated Noise suppression of speech by signal processing including applying a transform to time domain input sequences of digital signals representing audio information
WO1999033194A1 (en) 1997-12-19 1999-07-01 Sgs-Thomson Microelectronics Asia Pacific (Pte) Ltd. Method and apparatus for phase estimation in a transform coder for high quality audio
WO1999034527A1 (en) 1997-12-27 1999-07-08 Sgs-Thomson Microelectronics Asia Pacific (Pte) Ltd. Method and apparatus for estimation of coupling parameters in a transform coder for high quality audio
DE69808146T2 (de) 1998-01-12 2003-05-15 St Microelectronics Asia Verfahren und gerät zur spektralumformung in einem transformationskodierer für hochwertige tonsignale
US6208671B1 (en) * 1998-01-20 2001-03-27 Cirrus Logic, Inc. Asynchronous sample rate converter
EP1055289B1 (de) 1998-02-12 2008-11-19 STMicroelectronics Asia Pacific Pte Ltd. Ein auf einem neuralen netzwerk basierendes verfahren zum exponentkodieren in einem transformationskodierer für hochwertige tonsignale
WO1999043110A1 (en) 1998-02-21 1999-08-26 Sgs-Thomson Microelectronics Asia Pacific (Pte) Ltd A fast frequency transformation techique for transform audio coders
AU3372199A (en) * 1998-03-30 1999-10-18 Voxware, Inc. Low-complexity, low-delay, scalable and embedded speech and audio coding with adaptive frame loss concealment
DE69813912T2 (de) * 1998-10-26 2004-05-06 Stmicroelectronics Asia Pacific Pte Ltd. Digitaler audiokodierer mit verschiedenen genauigkeiten

Also Published As

Publication number Publication date
US20070005349A1 (en) 2007-01-04
US7680671B2 (en) 2010-03-16
WO2000025249A1 (en) 2000-05-04
DE69813912D1 (de) 2003-05-28
EP1125235A1 (de) 2001-08-22
EP1125235B1 (de) 2003-04-23
US7117053B1 (en) 2006-10-03

Similar Documents

Publication Publication Date Title
DE69432538T2 (de) Digitales Signalkodierungsgerät, dazugehöriges Dekodiergerät und Aufzeichnungsträger
DE60015030T2 (de) Auf Block Umschaltung basierender Teilband-Audiokodierer
DE102004036154B3 (de) Vorrichtung und Verfahren zur robusten Klassifizierung von Audiosignalen sowie Verfahren zu Einrichtung und Betrieb einer Audiosignal-Datenbank sowie Computer-Programm
DE69924431T2 (de) Vorrichtung und Verfahren zur dynamischen Bitverteilung für Audiokodierung
EP1405222B9 (de) Verfahren und vorrichtung zum erzeugen eines fingerabdrucks und verfahren und vorrichtung zum identifizieren eines audiosignals
EP1763870B1 (de) Erzeugung eines codierten multikanalsignals und decodierung eines codierten multikanalsignals
EP1697930B1 (de) Vorrichtung und verfahren zum verarbeiten eines multikanalsignals
DE69013738T2 (de) Einrichtung zur Sprachcodierung.
EP2206113B1 (de) Vorrichtung und verfahren zum erzeugen eines multikanalsignals mit einer sprachsignalverarbeitung
DE60313332T2 (de) Audiocodierung mit niedriger bitrate
DE69107841T2 (de) Transformationskodierer und -dekodierer mit adaptiver blocklänge, adaptiver transformation und adaptivem fenster für hochwertige tonsignale.
DE4331376C1 (de) Verfahren zum Bestimmen der zu wählenden Codierungsart für die Codierung von wenigstens zwei Signalen
DE69006011T3 (de) Transformationscodierer, -decodierer und -codierer/decodierer mit niedriger bitrate für audio-anwendungen hoher qualität.
DE4320990B4 (de) Verfahren zur Redundanzreduktion
DE69923555T2 (de) Verfahren und vorrichtung zur entropie-kodierung von quantisierten transformationskoeffizienten eines signals
DE69333394T2 (de) Hochwirksames Kodierverfahren und -gerät
DE10134471C2 (de) Verfahren und Vorrichtung zum Charakterisieren eines Signals und Verfahren und Vorrichtung zum Erzeugen eines indexierten Signals
DE69826529T2 (de) Schnelle datenrahmen-optimierung in einem audio-kodierer
DE69533500T2 (de) Verfahren und vorrichtung zum kodieren und dekodieren von nachrichten
DE69932861T2 (de) Verfahren zur kodierung eines audiosignals mit einem qualitätswert für bit-zuordnung
EP0954909A1 (de) Verfahren zum codieren eines audiosignals
DE102004043521A1 (de) Vorrichtung und Verfahren zum Erzeugen eines Multikanalsignals oder eines Parameterdatensatzes
JP3277682B2 (ja) 情報符号化方法及び装置、情報復号化方法及び装置、並びに情報記録媒体及び情報伝送方法
DE19638997B4 (de) Digitales Toncodierungsverfahren und digitale Toncodierungsvorrichtung
DE69813912T2 (de) Digitaler audiokodierer mit verschiedenen genauigkeiten

Legal Events

Date Code Title Description
8332 No legal effect for de
8370 Indication of lapse of patent is to be deleted
8364 No opposition during term of opposition