DE60222692T2 - Vorwärtskopplungsprädiktion von skalierungsfaktoren auf der basis zulässiger verzerrungen für die rauschformung bei der komprimierung auf psychoakustischer basis - Google Patents

Vorwärtskopplungsprädiktion von skalierungsfaktoren auf der basis zulässiger verzerrungen für die rauschformung bei der komprimierung auf psychoakustischer basis Download PDF

Info

Publication number
DE60222692T2
DE60222692T2 DE60222692T DE60222692T DE60222692T2 DE 60222692 T2 DE60222692 T2 DE 60222692T2 DE 60222692 T DE60222692 T DE 60222692T DE 60222692 T DE60222692 T DE 60222692T DE 60222692 T2 DE60222692 T2 DE 60222692T2
Authority
DE
Germany
Prior art keywords
sfb
scaling
frequency
signal
global gain
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 - Fee Related
Application number
DE60222692T
Other languages
English (en)
Other versions
DE60222692D1 (de
Inventor
Girish P. Austin SUBRAMANIAM
Raghunath K. Austin RAO
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.)
Cirrus Logic Inc
Original Assignee
Cirrus Logic Inc
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 Cirrus Logic Inc filed Critical Cirrus Logic Inc
Application granted granted Critical
Publication of DE60222692D1 publication Critical patent/DE60222692D1/de
Publication of DE60222692T2 publication Critical patent/DE60222692T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/032Quantisation or dequantisation of spectral components
    • G10L19/035Scalar quantisation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Amplifiers (AREA)
  • Transmission Devices (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft im Allgemeinen die digitale Verarbeitung, insbesondere Audiocodierung und -decodierung, und insbesondere ein Verfahren zum Codieren und Decodieren von Audiosignalen unter Verwendung einer Komprimierung auf psychoakustischer Basis, einen Audiocodierer und ein Computerprogrammprodukt.
  • Beschreibung des Standes der Technik
  • Viele Audiocodierverfahren verwenden psychoakustische Verfahren, um Audiosignale auf eine wahrnehmbar transparente Weise zu codieren. Aufgrund der endlichen Zeit-Frequenz-Auflösung der menschlichen Gehöranatomie kann das Ohr nur eine begrenzte Menge an im Reiz vorhandenen Informationen wahrnehmen. Folglich ist es möglich, Teile eines Audiosignals zu komprimieren oder auszufiltern, wobei diese Informationen effektiv verworfen werden, ohne dabei auf die wahrgenommene Qualität des rekonstruierten Signals zu verzichten.
  • Ein Audiocodierer, der eine psychoakustische Komprimierung verwendet, ist der MPEG-1 Layer 3 (auch als "MP3" bezeichnet). MPEG ist ein Akronym für die Moving Pictures Expert Group, ein Industriestandardwerk, das erzeugt wurde, um umfassende Richtlinien für die Übertragung von digital codierten Audio- und Video-(Bewegtbild-) Daten zu entwickeln. Die MP3-Codierung ist im Einzelnen in ISO/IEC 11172-3, Information Technology – Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to about 1.5 Mbit/s beschrieben. Es gibt derzeit drei "Ebenen" der Audiocodierung im MPEG-1-Standard, die zunehmende Komprimierungsniveaus auf Kosten höherer Rechenanforderungen bieten. Der Standard unterstützt drei Abtastraten von 32, 44,1 und 48 kHz und Ausgangsbitraten zwischen 32 und 384 kBit/s. Die Übertragung kann Mono-, Dualkanal (z. B. zweisprachig), Stereo oder Verbundstereo (wobei die Redundanz oder Korrelationen zwischen dem linken und dem rechten Kanal ausgenutzt werden können) sein.
  • MPEG Layer 1 ist die niedrigste Codiererkomplexität unter Verwendung einer mehrphasigen Analysefiltergruppe mit 32 Teilbändern und einer schnellen Fouriertransformation (FFT) mit 512 Punkten für das psychoakustische Modell. Die optimale Bitrate pro Kanal für MPEG Layer 1 beträgt mindestens 192 kBit/s. Typische Datenverringerungsraten (für Stereosignale) sind etwa 4-fach. Die üblichste Anwendung für MPEG Layer 1 betrifft digitale Kompaktkassetten (DCCs).
  • MPEG Layer 2 weist eine mäßige Codiererkomplexität unter Verwendung einer FFT mit 1024 Punkten für das psychoakustische Modell und einer effizienteren Codierung von Nebeninformationen auf. Die optimale Bitrate pro Kanal für MPEG Layer 2 beträgt mindestens 128 kBit/s. Typische Datenverringerungsraten (für Stereosignale) sind etwa 6–8-fach. Übliche Anwendungen für MPEG Layer 2 umfassen Videokompaktdisks (V-CDs) und digitalen Audiorundfunk.
  • MPEG Layer 3 weist die höchste Codiererkomplexität unter Anwendung einer Frequenztransformation auf alle Teilbänder für erhöhte Auflösung und durch Ermöglichen einer variablen Bitrate auf. Layer 3 (manchmal als Layer III bezeichnet) kombiniert Attribute sowohl der MUSICAM- als auch ASPEC-Codierer. Der codierte Bitstrom kann einen eingebetteten Fehlererkennungscode durch zyklische Redundanzprüfungen (CRC) bereitstellen. Die Codierungs- und Decodierungsalgorithmen sind asymmetrisch, das heißt der Codierer ist komplizierter und rechenaufwändiger als der Decodierer. Die optimale Bitrate pro Kanal für MPEG Layer 3 beträgt mindestens 64 kBit/s. Typische Datenverringerungsraten (für Stereosignale) sind etwa 10–12-fach. Eine übliche Anwendung für MPEG Layer 3 betrifft das Hochgeschwindigkeits-Streaming unter Verwendung beispielsweise eines dienstintegrierenden digitalen Fernmeldenetzes (ISDN).
  • Der Standard, der jede von diesen MPEG-1 Layers beschreibt, spezifiziert die Syntax von codierten Bitströmen, definiert Decodierungsprozesse und stellt Kompatibilitätstests zum Bewerten der Genauigkeit des Decodierungsprozesses bereit. Es gibt jedoch keine MPEG-1-Kompatibilitätsanforderungen für den Codierungsprozess, außer dass er einen gültigen Bitstrom erzeugen sollte, der durch die festgelegten Decodierungsprozesse decodiert werden kann. Systementwickler können andere Merkmale oder Implementierungen frei hinzufügen, solange sie innerhalb der relativ breiten Grenzen des Standards bleiben.
  • Der MP3-Algorithmus wurde tatsächlich für Multimediaanwendungen, Speicheranwendungen und die Übertragung über das Internet zu einem Standard. Der MP3-Algorithmus wird auch in populären tragbaren digitalen Abspielgeräten verwendet. MP3 nutzt die Begrenzungen des menschlichen Gehörsystems durch Entfernen von Teilen des Audiosignals, die vom menschlichen Ohr nicht erfasst werden können. Insbesondere nutzt MP3 die Unfähigkeit des menschlichen Ohrs, Quantisierungsrauschen in Gegenwart einer Hörmaskierung zu erfassen. Ein sehr grundlegendes Funktionsblockdiagramm eines MP3-Audiocodierers/-decodierers (Codec) ist in den 1A und 1B dargestellt.
  • Der Algorithmus verarbeitet Datenblöcke. Der Eingangsaudiostrom in den Codierer 1 ist typischerweise ein impulscodemoduliertes (PCM) Signal, das mit oder mehr als zweimal der höchsten Frequenz der ursprünglichen analogen Quelle abgetastet wird, wie durch das Nyquist-Theorem gefordert. Die PCM-Abtastwerte in einem Datenblock werden einer Analysefiltergruppe 2 und einem Wahrnehmungsmodell 3 zugeführt. Die Filtergruppe 2 unterteilt die Daten in mehrere Frequenzteilbänder (für MP3 gibt es 32 Teilbänder, die in der Frequenz den von Layer 2 verwendeten entsprechen). Derselbe Datenblock von PCM-Abtastwerten wird vom Wahrnehmungsmodell 3 verwendet, um ein Verhältnis der Signalenergie zu einer Maskierungsschwelle für jedes Skalierungsfaktorband (ein Skalierungsfaktorband ist eine Gruppierung von Transformationskoeffizienten, die näherungsweise ein kritisches Band des menschlichen Hörens darstellt) zu ermitteln. Die Maskierungsschwellen werden gemäß dem verwendeten speziellen psychoakustischen Modell festgelegt. Das Wahrnehmungsmodell stellt auch fest, ob die anschließende Transformation wie z. B. eine modifizierte diskrete Cosinustransformation (MDCT) unter Verwendung von kurzen oder langen Zeitfenstern angewendet wird. Jedes Teilband kann weiter unterteilt werden; MP3 unterteilt jedes der 32 Teilbänder in 18 Transformationskoeffizienten für insgesamt 576 Transformationskoeffizienten unter Verwendung einer MDCT. Auf der Basis der Maskierungsverhältnisse, die vom Wahrnehmungsmodell bereitgestellt werden, und der verfügbaren Bits (d. h. der Zielbitrate), weist die Bit/Rausch-Zuweisungs-, Quantisierungs- und Codiereinheit 4 iterativ den verschiedenen Transformationskoeffizienten Bits zu, um auf die Hörbarkeit des Quantisierungsrauschens zu reduzieren. Diese quantisierten Teilbandabtastwerte und die Nebeninformationen werden in einen codierten Bitstrom (Datenblock) durch einen Bitpacker 5 gepackt, der eine Entropiecodierung verwendet. Zusatzdaten können auch in den Datenblock eingefügt werden, aber solche Daten verringern die Anzahl von Bits, die der Audiocodierung übergeben werden können. Der Datenblock kann außerdem andere Bits wie z. B. Kopf- und CRC-Prüfbits umfassen.
  • Wie in 1B zu sehen ist, wird der codierte Bitstrom zu einem Decodierer 6 übertragen. Der Datenblock wird von einem Bitstromentpacker 7 empfangen, der irgendwelche Zusatzdaten und Nebeninformationen abstreift. Die codierten Audiobits werden zu einer Frequenzabtastwert-Rekonstruktionseinheit 8 geleitet, die die quantisierten Teilbandwerte entschlüsselt und gewinnt. Die Synthesefiltergruppe 9 wird dann verwendet, um die Werte zu einem PCM-Signal zu rekonstruieren.
  • 2 stellt ferner die Weise dar, auf die die Teilbandwerte durch die Bit/Rausch-Zuweisungs-, Quantisierungs- und Codiereinheit 4 ermittelt werden, wie durch ISO/IEC 11172-3 vorgeschrieben. Anfänglich wird ein Skalierungsfaktor von Eins (1,0) für jedes Skalierungsfaktorband im Block 10 festgelegt. Transformationskoeffizienten werden durch die Frequenzbereichstransformation der analogen Abtastwerte im Block 11 beispielsweise unter Verwendung einer MDCT geliefert. Die anfänglichen Skalierungsfaktoren werden dann jeweils im Block 12 auf die Transformationskoeffizienten für jedes Skalierungsfaktorband angewendet. Ein globaler Verstärkungsfaktor wird dann im Block 13 auf seinen maximalen möglichen Wert gesetzt. Die Gesamtverstärkung für ein spezielles Skalierungsfaktorband ist die globale Verstärkung in Kombination mit dem Skalierungsfaktor für dieses spezielle Skalierungsfaktorband. Die globale Verstärkung wird im Block 14 auf jedes der Skalierungsfaktorbänder angewendet und der Quantisierungsprozess wird dann für jedes Skalierungsfaktorband im Block 15 ausgeführt. Die Quantisierung rundet jeden verstärkten Transformationskoeffizienten auf den nächsten ganzzahligen Wert. Eine Berechnung wird im Block 16 durchgeführt, um die Anzahl von Bits zu ermitteln, die erforderlich sind, um die quantisierten Werte typischerweise auf der Basis einer Huffman-Codierung zu codieren. Mit einer Zielbitrate von 128 kbps und einer Abtastfrequenz von 44,1 kHz hat ein stereokomprimierter MP3-Datenblock beispielsweise etwa 3344 Bits zur Verfügung, von denen 3056 für die Audiosignalcodierung verwendet werden können, während der Rest für Kopf- und Nebeninformationen verwendet wird. Wenn die Anzahl von erforderlichen Bits größer ist als die verfügbare Anzahl, wie im Block 17 festgestellt, wird die globale Verstärkung im Block 18 verringert. Der Prozess wird dann iterativ beginnend mit dem Block 14 wiederholt. Diese erste oder "innere" Schleife wird wiederholt, bis ein geeigneter globaler Verstärkungsfaktor festgelegt ist, der zur Anzahl von verfügbaren Bits passt.
  • Sobald ein geeigneter globaler Verstärkungsfaktor durch die innere Schleife festgelegt ist, wird die Verzerrung für jedes Skalierungsfaktorband (sfb) im Block 19 berechnet. Wie im Block 20 zu sehen ist, ist dann, wenn die Verzerrungswerte geringer sind als die jeweiligen Schwellen, die die durch die Maske des verwendeten Wahrnehmungsmodells 3, z. B. psychoakustisches Modell 2, wie in ISO/IEC 11172-3 beschrieben, festgelegt werden, der Quantisierungs-/Zuweisungs-Prozess im Block 22 vollständig und der Bitstrom kann zur Übertragung gepackt werden. Wenn jedoch irgendein Verzerrungswert größer ist als seine jeweilige Schwelle, wird der entsprechende Skalierungsfaktor am Block 21 erhöht und der ganze Prozess wird iterativ beginnend mit Schritt 12 wiederholt. Diese zweite oder "äußere" Schleife wird wiederholt, bis geeignete Verzerrungswerte für alle Skalierungsfaktorbänder berechnet sind. Die erneute Ausführung der äußeren Schleife führt notwendigerweise ebenso zur erneuten Ausführung der inneren, verschachtelten Schleife. Mit anderen Worten, selbst wenn ein globaler Verstärkungsfaktor bereits durch die innere Schleife in einer vorherigen Iteration berechnet wurde, wird dieser Faktor verworfen, wenn die äußere Schleife wiederholt wird, und der globale Verstärkungsfaktor wird in Schritt 13 auf das Maximum zurückgesetzt. Auf diese Weise quantisiert der Codierer 1 der Layer III die Spektralwerte durch Zuweisen genau der richtigen Anzahl von Bits zu jedem Teilband, um die Wahrnehmungstransparenz bei einer gegebenen Bitrate aufrechtzuerhalten.
  • Die äußere Schleife ist als Verzerrungssteuerschleife bekannt, während die innere Schleife als Ratensteuerschleife bekannt ist. Die Verzerrungssteuerschleife formt das Quantisierungsrauschen durch Anwenden der Skalierungsfaktoren in jedem Skalierungsfaktorband, während die innere Schleife die globale Verstärkung so einstellt, dass die quantisierten Werte unter Verwendung der verfügbaren Bits codiert werden können. Diese Methode der Bit/Rausch-Zuweisung bei der Quantisierung führt zu mehreren Problemen. An vorderster Stelle unter diesen Probleme steht die übermäßige Verarbeitungsleistung, die erforderlich ist, um die Berechnungen aufgrund der iterativen Art der Schleifen auszuführen, insbesondere da die Schleifen verschachtelt sind. Überdies verringert das Erhöhen der Skalierungsfaktoren nicht immer das Rauschen aufgrund der am Quantisierungsprozess beteiligten Rundungsfehler und auch, da ein gegebener Skalierungsfaktor auf mehrere Transformationskoeffizienten in einem einzelnen Skalierungsfaktorband angewendet wird. Obwohl der Prozess iterativ ist, verwendet er ferner keine konvergente Lösung. Folglich besteht keine Grenze für die Anzahl von Iterationen, die erforderlich sein können (für Echtzeit-Implementierungen wird der Prozess durch einen Zeitablauf gesteuert). Diese rechenintensive Methode hat die weitere Konsequenz, dass sie mehr Leistung in einer elektronischen Vorrichtung verbraucht. Daher wäre es erwünscht, ein verbessertes Verfahren zur Quantisierung von Frequenzbereichswerten zu entwickeln, das keine übermäßigen Iterationen von Skalierungsfaktorberechnungen erfordern würde. Es wäre ferner vorteilhaft, wenn das Verfahren entweder in Hardware oder Software leicht implementiert werden könnte.
  • Ferner offenbaren CHI-MIN LIU ET AL in "A fast bit allocation method for MPEG layer III", CONSUMER ELECTRONICS, 1999, ICCE. INTERNATIONAL CONFERENCE IN LOS ANGELES, CA, USA, 22.–24. JUNI 1999, PISCATAWAY, NJ, USA, IEEE, US, 22. Juni 1999 (22.06.1999), Seiten 22–23, XPO10346532 ISBN: 0-7803-5123-1, ein neues Bitzuweisungsverfahren, bei dem eine Audiosequenz durch eine Hybridtransformation datenblockweise in die Spektrallinien umgesetzt wird. Diese Spektrallinien werden in mehrere Gruppen (als Skalierungsfaktorbänder bezeichnet) unterteilt und ungleichmäßig quantisiert. Die Formel der Quantisierung lautet Ij(k) = nint{[Xj(k)·scalej/gain]3/4 – 0,0946}wobei j und k der Index des Skalierungsfaktorbandes bzw. der Spektrallinien in den Bändern sind, während Xj(k) und Ij(k) die Spektrallinien vor bzw. nach der Quantisierung sind. In der obigen Formel bedeutet nint die Funktion der nächsten ganzen Zahl, während scalej und gain zwei Quantisierungsparameter sind. Scalej steuert das Quantisierungsrauschen des zugehörigen Bandes relativ zu den anderen Bändern. Gain steuert die Gesamtzahl von verbrauchten Bits. Das neue Bitzuweisungsverfahren wird mit den Erwägungen entwickelt, dass scalej ohne Iteration berechnet wird und dass im iterativen Verfahren die auf Bits bezogenen Parameter zur Bitrate passen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Daher ist es eine Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren zum Codieren von digitalen Signalen bereitzustellen.
  • Es ist eine weitere Aufgabe der vorliegenden Erfindung, ein solches verbessertes Verfahren bereitzustellen, das ein Audiosignal unter Verwendung eines psychoakustischen Modells zum Komprimieren des digitalen Bitstroms codiert.
  • Es ist noch eine weitere Aufgabe der vorliegenden Erfindung, ein Verfahren zum Vorhersagen von vorteilhaften Skalierungsfaktoren bereitzustellen, die zum Quantisieren eines Audiosignals verwendet werden.
  • Die Erfindung ist in den Ansprüchen 1, 10 bzw. 17 definiert. Spezielle Ausführungsbeispiele der Erfindung sind in den abhängigen Ansprüchen dargelegt.
  • Die vorstehenden Aufgaben werden durch ein Verfahren und eine Vorrichtung zum Ermitteln von Skalierungsfaktoren gelöst, die zum Codieren eines Signals verwendet werden, das im Allgemeinen die Zuordnung einer Vielzahl von Verzerrungsschwellen zu einer jeweiligen Vielzahl von Frequenzteilbändern des Signals, das Transformieren des Signals, um eine Vielzahl von Transformationskoeffizienten, einen für jedes der Frequenzteilbänder, zu liefern, und das Berechnen einer Vielzahl von Gesamtskalierungswerten, einen für jedes der Frequenzteilbänder, so dass das Produkt eines Transformationskoeffizienten für ein gegebenes Teilband mit seinem jeweiligen Gesamtskalierungswert geringer ist als eine entsprechende der Verzerrungsschwellen, beinhaltet. Das Verfahren und die Vorrichtung sind bei der Verarbeitung von Audiosignalen, die von einer analogen Quelle stammen können, besonders nützlich, in welchem Fall das analoge Signal zuerst in ein digitales Signal umgewandelt wird. Bei einer solchen Audiocodierungsanwendung beruhen die Verzerrungsschwellen auf einer psychoakustischen Maskierung.
  • Die Erfindung verwendet eine neue Näherung für die Berechnung der Gesamtskalierungswerte, die einen ersten Term auf der Basis einer entsprechenden Verzerrungsschwelle erhält und einen zweiten Term auf der Basis einer Summe der Transformationskoeffizienten erhält. Beide dieser Terme können unter Verwendung von Nachschlagetabellen erhalten werden. Bei der Berechnung eines gegebenen Gesamtskalierungswerts Asfb für ein spezielles Frequenzteilband können die Verfahren und Vorrichtungen die spezielle Formel: Asfb = 2[4/(9BWsfb)]2/3·(1/Msfb)2/3·(Σxi)1/3 verwenden, wobei BWsfb die Bandbreite des speziellen Frequenzteilbandes ist, Msfb die entsprechende Verzerrungsschwelle ist und Σxj die Summe aller Transformationskoeffizienten ist. Die Gesamtskalierungswerte können normiert werden, um eine jeweilige Vielzahl von Skalierungsfaktoren, einen für jedes Teilband, zu liefern, indem einer der Gesamtskalierungswerte als minimaler von Null verschiedener Wert identifiziert wird und dieser minimale von Null verschiedene Wert verwendet wird, um die Normierung auszuführen. Das Codieren des Signals umfasst ferner die Schritte der Festlegung eines globalen Verstärkungsfaktors auf diesen minimalen von Null verschiedenen Wert und der Quantisierung der Transformationskoeffizienten unter Verwendung des globalen Verstärkungsfaktors und der Skalierungsfaktoren. Die Anzahl von Bits, die zur Quantisierung erforderlich sind, wird berechnet und mit einer vorbestimmten Anzahl von verfügbaren Bits verglichen. Wenn die Anzahl von erforderlichen Bits größer ist als die vorbestimmte Anzahl von verfügbaren Bits, dann wird der globale Verstärkungsfaktor verringert und die Transformationskoeffizienten werden unter Verwendung des verringerten globalen Verstärkungsfaktors und der Skalierungsfaktoren erneut quantisiert.
  • Die obigen sowie zusätzliche Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden in der folgenden ausführlichen schriftlichen Beschreibung ersichtlich.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Durch Bezugnahme auf die zugehörigen Zeichnungen kann die vorliegende Erfindung besser verstanden werden und ihre zahlreichen Aufgaben, Merkmale und Vorteile für Fachleute ersichtlich gemacht werden.
  • 1A ist ein Blockdiagramm hoher Ebene eines herkömmlichen digitalen Audiocodierers des Standes der Technik, wie z. B. eines Codierers von MPEG-1 Layer 3, der ein psychoakustisches Modell verwendet, um das Audiosignal während der Quantisierung zu komprimieren, und die codierten Audiobits mit Nebeninformationen und Zusatzdaten packt, um einen Ausgangsbitstrom zu erzeugen.
  • 1B ist ein Blockdiagramm hoher Ebene eines herkömmlichen digitalen Audiodecodierers des Standes der Technik, der dazu ausgelegt ist, den Ausgangsbitstrom des Codierers von 1A zu verarbeiten, wie z. B. ein Decodierer von MPEG-1 Layer 3.
  • 2 ist ein Diagramm, das den logischen Ablauf eines Quantisierungsprozesses gemäß dem Stand der Technik darstellt, der eine äußere iterative Schleife als Verzerrungssteuerschleife und eine innere (verschachtelte) iterative Schleife als Ratensteuerschleife verwendet, wobei die äußere Schleife geeignete Skalierungsfaktoren für verschiedene Teilbänder des Audiosignals festlegt und die innere Schleife einen geeigneten globalen Verstärkungsfaktor für die Audiosignale festlegt.
  • 3 ist ein Diagramm, das den logischen Ablauf eines beispielhaften Quantisierungsprozesses gemäß der vorliegenden Erfindung darstellt, bei dem vorteilhafte Skalierungsfaktoren für verschiedene Teilbänder des Audiosignals auf der Basis von zulässigen Verzerrungspegeln und tatsächlichen Signalenergien vorhergesagt werden.
  • 4 ist ein Diagramm, das den logischen Ablauf eines weiteren beispielhaften Quantisierungsprozesses gemäß der vorliegenden Erfindung darstellt.
  • 5 ist ein Blockdiagramm eines Ausführungsbeispiels eines Computersystems, das in Verbindung mit und/oder zur Ausführung eines oder mehrerer Ausführungsbeispiele der vorliegenden Erfindung verwendet werden kann.
  • 6 ist ein Blockdiagramm eines Ausführungsbeispiels eines Digitalsignal-Verarbeitungssystems, das in Verbindung mit und/oder zur Ausführung eines oder mehrerer Ausführungsbeispiele der vorliegenden Erfindung verwendet werden kann.
  • Die Verwendung derselben Bezugszeichen in verschiedenen Zeichnungen gibt ähnliche oder identische Elemente an.
  • BESCHREIBUNG DES (DER) BEVORZUGTEN AUSFÜHRUNGSBEISPIELS (AUSFÜHRUNGSBEISPIELE)
  • Die vorliegende Erfindung richtet sich auf ein verbessertes Verfahren zum Codieren von digitalen Signalen, insbesondere Audiosignalen, die unter Verwendung von psychoakustischen Verfahren komprimiert werden können. Die Erfindung verwendet ein Mitkopplungsschema, das versucht, einen optimalen oder vorteilhaften Skalierungsfaktor für jedes Teilband in dem Audiosignal vorherzusagen. Um den Vorhersagemechanismus der vorliegenden Erfindung zu verstehen, ist es nützlich, den Quantisierungsprozess zu überprüfen. Die folgende Beschreibung wird für eine MP3-Struktur bereitgestellt, aber die Erfindung ist nicht darauf begrenzt und Fachleute werden erkennen, dass der Vorhersagemechanismus in anderen digitalen Codierungsverfahren, die Skalierungsfaktoren für verschiedene Frequenzteilbänder verwenden, implementiert werden kann.
  • Im Allgemeinen ist ein Transformationskoeffizient x, der quantisiert werden soll, anfänglich ein Wert zwischen Null und Eins (0,1). Wenn A die gesamte Skalierung ist, die auf x vor der Quantisierung angewendet wird, ist der Wert von A die Summe der auf den Transformationskoeffizienten angewendeten gesamten Skalierung, einschließlich Vorverzerrung, Skalierungsfaktorskalierung und globaler Verstärkung. Diese Terme können durch Bezugnahme auf den ISO/IEC Standard 11172-3 weiter verstanden werden. Sobald die Skalierung angewendet ist, wird eine nicht-lineare Quantisierung nach dem Erheben des Skalierungswerts auf seine ¾-Potenz durchgeführt. Somit kann der endgültige quantisierte Wert ix dargestellt werden als: ix = nint[(Ax)3/4], wobei
  • A
    = 2[(gg/4)+sf+pe],
    gg
    = Exponent der globalen Verstärkung,
    sf
    = Skalierungsfaktorexponent,
    pe
    = Vorverzerrungsexponent, und nint() ist die Operation der nächsten ganzen Zahl.
  • Die vorangehende Gleichung stellt eine Vereinfachung der Gleichung von der Spezifikation von ISO/IEC 11172-3 dar, die ohne Verzerrung des Wesentlichen der Implementierung verwendet werden kann.
  • Der Wert von ix wird dann codiert und zusammen mit dem Skalierungsfaktor A zum Decodierer gesandt. Am Decodierer wird die umgekehrte Operation durchgeführt und der Transformationskoeffizient wird als x' = [(ix)4/3]/A zurückgewonnen.
  • Die vorliegende Erfindung nutzt die Tatsache, dass das maximale Rauschen, das aufgrund der Quantisierung im skalierten Bereich auftreten kann, 0,5 (der maximale mögliche Fehler beim Runden des skalierten Werts auf die nächste ganze Zahl) ist. Diese Beobachtung kann durch die Gleichung: max{abs[ix – (Ax)3/4]} = 0,5ausgedrückt werden.
  • Eine inverse Operation kann an dieser Gleichung durchgeführt werden, um geeignete Skalierungsfaktoren vorherzusagen. In Anbetracht des schlimmsten Falls (bei dem die Verzerrung 0,5 ist) und durch Definieren von y = (Ax)3/4 gilt dann ix = y + 0,5. Die Differenz kann dann zwischen (y + 0,5)4/3 und y4/3 berechnet werden. Durch Taylor-Reihen-Näherung gilt (y + 0,5)4/3 = y4/3 + (4/3)(0,5)y1/3 + (4/9)(0,5)2y–2/3 + ...
  • Durch Ignorieren von Termen höherer Ordnung kann diese Gleichung umgeschrieben werden als: (y + 0,5)4/3 – y4/3 = (4/3)(0,5)y1/3 = (2/3)y1/3 = (2/3)(Ax)1/4
  • Um den maximalen Fehler (e) im Transformationskoeffizientenbereich zu erhalten, wird diese Differenz mit 1/A skaliert: e = [(y + 0,5)4/3 – y4/3]/A = (2/3)x1/4A–3/4
  • Um die mittlere Verzerrung in einem Skalierungsfaktorband zu finden, wird die Verzerrung für jeden Transformationskoeffizienten quadriert und summiert und die Summe durch die Anzahl von Koeffizienten in diesem Band dividiert. Folglich kann die maximale mittlere Verzerrung für ein Skalierungsfaktorband geschrieben werden als: E = [(2/3)2A–3/2/BWsfb]·Σxi 1/2 wobei BWsfb die Bandbreite des speziellen Skalierungsfaktorbandes ist (die Bandbreite ist die Anzahl von Transformationskoeffizienten in einem gegebenen Skalierungsfaktorband). Da die maximale zulässige Verzerrung für jedes Skalierungsfaktorband bekannt ist (Msfb aus dem psychoakustischen Modell) und da die Werte der Transformationskoeffizienten bekannt sind, kann der Wert der Gesamtskalierung (A), der erforderlich ist, um das Rauschen zu formen, damit es sich dem maximalen zulässigen Rauschen nähert, abgeleitet werden. Der Wert von A für ein spezielles Skalierungsfaktorband wird folglich berechnet als: Asfb = {[4/(9MsfbBWsfb)]·Σxi 1/2}2/3 was weiter genähert werden kann zu: Asfb = {[4/(9MsfbBWsfb)]2/3·2(Σxi)1/3 = 2[4/(9BWsfb)]2/3·(1/Msfb)2/3·(Σxi)1/3
  • Asfb würde jedoch auf einen minimalen Wert von 1,0 begrenzt werden. Diese Gleichung stellt eine heuristische Näherung dar, die in der Praxis gut funktioniert. In dieser letzten Gleichung sollte beachtet werden, dass der erste Term ein konstanter Wert ist, der zweite Term in einer Tabelle nachgeschlagen werden kann und der dritte Term die Addition der Transformationskoeffizienten, gefolgt von einem Nachschlag in einer anderen Tabelle, beinhaltet. Dieses Rechenverfahren ist folglich sehr einfach (und kostengünstig) zu implementieren. Die Skalierungsfaktoren werden auf der Basis der zulässigen Verzerrung und tatsächlichen Signalenergien vorhergesagt.
  • Sobald der Wert von Asfb für alle Skalierungsfaktorbänder abgeleitet wurde, können sie in Bezug auf den minimalen Wert aller abgeleiteten Werte normiert werden (die von Null verschiedenen wären, da Asfb auf einen minimalen Wert von Eins begrenzt wird). Die Normierung sieht die Werte vor, mit denen jedes Skalierungsfaktorband verstärkt werden soll, bevor die globale Verstärkung durchgeführt wird, d. h. die Skalierungsfaktoren selbst. Der minimale Wert aller abgeleiteten A-Werte stellt die globale Verstärkung dar. Wenn diese anfänglich ermittelte globale Verstärkung die Biteinschränkung erfüllt, dann ist garantiert, dass die Verzerrung in allen Skalierungsfaktorbändern geringer als die zulässigen Werte ist.
  • Die obige Analyse ist insofern konservativ, als sie einen Fehler des schlimmsten Falls von 0,5 in jeder quantisierten Ausgabe annimmt. In der Praxis kann gezeigt werden, dass der Fehler des schlimmsten Falls näher an der Größenordnung von 0,25 liegt, was zu einer geringfügig anderen Berechnung führen kann. Die Skalierungsfaktoren können immer noch einzeln verringert werden, bis die Biteinschränkung erfüllt ist. Obwohl die vorhergesagten Skalierungsfaktoren nicht optimal sein können, sind sie statistisch vorteilhafter als die Verwendung eines anfänglichen Skalierungsfaktorwerts von Eins (Nullskalierung), wie es im Stand der Technik praktiziert wird.
  • Mit Bezug auf 3 wird nun ein Diagramm gezeigt, das den logischen Ablauf gemäß einer Implementierung der vorliegenden Erfindung darstellt. Der Prozess beginnt mit dem Empfangen der Transformationskoeffizienten, die von der Frequenzbereichstransformation (z. B. MDCT) der analogen Abtastwerte im Block 30 geliefert werden, und mit dem Empfangen der vorbestimmten Maskierungsschwellen, die vom psychoakustischen Modell im Block 31 geliefert werden. Die analogen Abtastwerte können z. B. durch einen Analog-Digital-Wandler digitalisiert werden. Im Block 32 werden diese Werte in die vorangehende Gleichung eingesetzt, um die für jedes Skalierungsfaktorband erforderliche minimale Skalierung (Asfb) zu finden, so dass die Verzerrung für ein gegebenes Band geringer ist als der entsprechende Maskenwert. Jeder der Gesamtskalierungswerte Asfb (für MP3, 21 Skalierungsfaktorbänder) wird untersucht, um den minimalen Skalierungswert zu finden, der verwendet wird, um alle anderen Gesamtskalierungswerte zu normieren und die Skalierungsfaktoren im Block 33 zu liefern. Diese Skalierungsfaktoren werden dann jeweils auf die Transformationskoeffizienten für jedes Teilband im Block 34 angewendet. Der Exponent der globalen Verstärkung wird dann im Block 35 so festgelegt, dass er dem minimalen Asfb-Wert entspricht. Die globale Verstärkung wird auf jedes der Teilbänder im Block 36 angewendet und der Quantisierungsprozess wird dann für jedes Teilband im Block 37 ausgeführt, indem jeder verstärkte Transformationskoeffizient auf den nächsten ganzzahligen Wert gerundet wird. Im Block 38 wird eine Berechnung durchgeführt, um die Anzahl von Bits zu ermitteln, die erforderlich sind, um die quantisierten Werte für MP3 auf der Basis des vom Standard verwendeten Huffman-Codierungsschemas zu codieren. Wenn die Anzahl von erforderlichen Bits größer ist als die verfügbare Anzahl, wie im Block 39 festgestellt, wird der Exponent der globalen Verstärkung im Block 40 um Eins verringert. Der Prozess wird dann iterativ beginnend mit Schritt 36 wiederholt. Diese Schleife wird wiederholt, bis ein geeigneter globaler Verstärkungsfaktor festgelegt ist, der zur Anzahl von verfügbaren Bits passt. Wenn die Anzahl von erforderlichen Bits nicht größer ist als die verfügbare Anzahl, dann wird der Prozess beendet.
  • Sobald ein geeigneter globaler Verstärkungsfaktor durch diese (innere) Schleife festgelegt ist, ist der Prozess vollendet. Mit anderen Worten, die vorliegende Erfindung entfernt effektiv die "äußere" Schleife und die Neuberechnung der Verzerrung für jedes Skalierungsfaktorband. Diese Methode weist mehrere Vorteile auf. Da diese Methode nicht die Iterationen der äußeren Schleife erfordert, ist sie viel schneller als Codierungsschemen des Standes der Technik und erfordert folglich weniger Leistung. Wenn die Anzahl von Bits, die zum Quantisieren der Koeffizienten auf der Basis der anfänglichen Festlegung der globalen Verstärkung (das minimale Asfb) erforderlich sind, innerhalb der Biteinschränkung liegt, dann iteriert die innere Schleife überdies nicht einmal, d. h. der Prozess wird in einem Versuch vollendet und die codierten Bits können sofort in den Ausgangsdatenblock gepackt werden.
  • Die Verfahren der vorliegenden Erfindung können auch verwendet werden, um die Codierleistung von herkömmlichen mit innerer/äußerer (d. h. Raten/Verzerrungs-)Schleife konfigurierten Codierern wie z. B. das in 2 dargestellte Codierungsschema zu verbessern. 4 stellt eine solche Implementierung dar, bei der die vorhergesagten Skalierungsfaktoren und die globale Verstärkung als Ausgangszustand des herkömmlichen Schemas mit innerer/äußerer Schleife verwendet werden. Folglich beginnt der Prozess in den Blöcken 30 und 31 mit dem Empfangen der Transformationskoeffizienten der analogen Abtastwerte und der vorbestimmten Maskierungsschwellen, die vom psychoakustischen Modell geliefert werden. Im Block 33 wird die für jedes Skalierungsfaktorband erforderliche minimale Skalierung (Asfb) derart ermittelt, dass die Verzerrung für ein gegebenes Band geringer ist als der entsprechende Maskenwert. Jeder der Gesamtskalierungswerte Asfb wird untersucht, um den minimalen Skalierungswert zu finden, der verwendet wird, um alle anderen Gesamtskalierungswerte zu normieren und die Skalierungsfaktoren im Block 33 zu liefern. Der Exponent der globalen Verstärkung wird dann im Block 35 so festgelegt, dass er dem minimalen Asfb-Wert entspricht. Diese Skalierungsfaktoren werden dann jeweils auf die Transformationskoeffizienten für jedes Teilband im Block 34 angewendet und die globale Verstärkung wird auf jedes der Teilbänder im Block 36 angewendet. Wie in 4 gezeigt, verwendet die innere Schleife vielmehr die zuletzt berechnete globale Verstärkung als den maximalen Wert, wie in 2 gezeigt, wieder.
  • Der Quantisierungsprozess wird dann für jedes Teilband im Block 37 durch Runden jedes verstärkten Transformationskoeffizienten auf den nächsten ganzzahligen Wert ausgeführt. Im Block 38 wird eine Berechnung durchgeführt, um die Anzahl von Bits zu ermitteln, die erforderlich sind, um die quantisierten Werte zu codieren, und wenn die Anzahl von erforderlichen Bits größer ist als die verfügbare Anzahl, wie im Block 39 festgestellt, wird der Exponent der globalen Verstärkung im Block 40 um Eins verringert. Der Prozess wird dann iterativ beginnend mit Schritt 36 wiederholt. Diese Schleife wird wiederholt, bis ein geeigneter globaler Verstärkungsfaktor festgelegt ist, der zur Anzahl von verfügbaren Bits passt.
  • Wenn die Anzahl von erforderlichen Bits nicht größer ist als die verfügbare Anzahl, wie im Block 39 festgestellt, wird die Verzerrung für jedes Skalierungsfaktorband im Block 19 berechnet. Wenn die Verzerrungswerte geringer sind als die durch die Maske des verwendeten Wahrnehmungsmodells festgelegten jeweiligen Schwellen, wie im Block 20 festgestellt, ist der Quantisierungs-/Zuweisungs-Prozess vollständig und der Bitstrom kann zur Übertragung gepackt werden. Wenn irgendein Verzerrungswert größer ist als seine jeweilige Schwelle, wird der entsprechende Skalierungsfaktor im Block 21 erhöht und der ganze Prozess wird iterativ beginnend mit Schritt 34 wiederholt.
  • Dieses kombinierte Mitkopplungs-/Rückkopplungs-Schema führt zu einer schnelleren Konvergenz auf eine bessere Lösung (z. B. weniger Verzerrung) aufgrund der verbesserten Ausgangsbedingungen für den Konvergenzprozess.
  • Mit weiterem Bezug auf 5 kann die Erfindung auch über Software implementiert und an verschiedenen Datenverarbeitungssystemen wie z. B. einem Computersystem 51 ausgeführt werden. Bei diesem Ausführungsbeispiel weist das Computersystem 51 eine CPU 50 auf, die über einen Systembus 55 mit mehreren Vorrichtungen verbunden ist, einschließlich eines Direktzugriffsspeichers (RAM) 56, eines Festwertspeichers (ROM) 58, eines CMOS-RAM 60, einer Diskettensteuereinheit 70, einer seriellen Steuereinheit 88, einer Tastatur/Maus-Steuereinheit 80, einer Direktspeicherzugriffs-(DMA)Steuereinheit 86, einer Anzeigesteuereinheit 98 und einer parallelen Steuereinheit 102. Der RAM 56 wird verwendet, um Programmbefehle und Operandendaten zum Ausführen von Softwareprogrammen (Anwendungen und Betriebssystemen) zu speichern. Der ROM 58 enthält Informationen, die hauptsächlich vom Computer während des Hochfahrens verwendet werden, um die angekoppelten Vorrichtungen zu erfassen und sie korrekt zu initialisieren, einschließlich der Ausführung einer Firmware, die nach einem Betriebssystem sucht. Die Diskettensteuereinheit 70 ist mit einem Laufwerk 74 für entnehmbare Platten, z. B. einem Laufwerk für 3½ "Disketten" verbunden. Die serielle Steuereinheit 88 ist mit einer seriellen Vorrichtung 92 wie z. B. einem Modem für Telefonkommunikationen verbunden. Die Tastatur/Maus-Steuereinheit 80 sieht eine Verbindung mit Benutzerschnittstellenvorrichtungen vor, einschließlich einer Tastatur 82 und einer Maus 84. Die DMA-Steuereinheit 86 wird verwendet, um einen Zugriff auf den Speicher über direkte Kanäle vorzusehen. Die Anzeigesteuereinheit 98 unterstützt einen Videoanzeigemonitor 96. Die parallele Steuereinheit 102 unterstützt eine parallele Vorrichtung 100 wie z. B. einen Drucker.
  • Das Computersystem 51 kann mehrere andere Komponenten aufweisen, die mit dem Systembus 55 über einen anderen Verbindungsbus wie z. B. den Industriestandard-Architektur-(ISA)Bus, den Peripheriekomponenten-Verbindungs-(PCI)Bus oder eine Kombination derselben, verbunden sein können. Diese zusätzlichen Komponenten können auf "Erweiterungs"-Karten vorgesehen sein, die in Steckplätze 68 des Verbindungsbusses entnehmbar eingesetzt werden. Das Computersystem 51 umfasst eine Plattensteuereinheit 66, die eine Permanentspeichervorrichtung 72 (d. h. ein Festplattenlaufwerk) unterstützt, eine CD-ROM-Steuereinheit 76, die einen Kompaktdisk-(CD)Leser 78 steuert, und einen Netzwerkadapter 90 (wie z. B. eine Ethernet-Karte), der Kommunikationen mit einem Netzwerk 94 wie z. B. einem lokalen Netzwerk (LAN) oder dem Internet vorsieht. Ein Audioadapter 104 kann verwendet werden, um eine Audioausgabevorrichtung (Lautsprecher) 106 zu speisen.
  • Die vorliegende Erfindung kann an einem Datenverarbeitungssystem implementiert werden, indem geeignete Programmbefehle, die mit der vorangehenden Offenbarung konsistent sind, in einem computerlesbaren Medium (z. B. Speichermedium oder Übertragungsmedium) bereitgestellt werden. Die Befehle können in einem Programm enthalten sein, das auf einer entnehmbaren Magnetplatte, auf einer CD oder in der Permanentspeichervorrichtung 72 gespeichert ist. Diese Befehle und irgendwelche zugehörigen Operandendaten werden in den RAM 56 geladen und von der CPU 50 ausgeführt, um die vorliegende Erfindung auszuführen. Ein Signal vom CD-ROM-Adapter 76 kann beispielsweise eine Audioübertragung bereitstellen. Diese Übertragung wird dem RAM 56 und der CPU 50 zugeführt, wo sie analysiert wird, wie vorstehend beschrieben, um Transformationskoeffizienten zu berechnen, vorteilhafte Skalierungsfaktoren vorherzusagen und eine geeignete Gesamtverstärkung zu berechnen. Diese Werte werden dann verwendet, um die Transformationskoeffizienten zu quantisieren und einen codierten Bitstrom zu erzeugen. Das Computersystem 51 kann verwendet werden, um eine codierte Datei zu erzeugen, die eine Audiodarstellung repräsentiert, indem die aufeinander folgenden codierten Datenblöcke wie z. B. in einer MP3-Datei in der Permanentspeichervorrichtung 72 gespeichert werden; alternativ kann das Computersystem 51 einfach die Datenblöcke zu anderen Stellen wie z. B. über den Netzwerkadapter 90 übertragen (Streaming von Audio).
  • Nimmt man nun auf 6 Bezug, so kann die Erfindung in einem Digitalsignal-Verarbeitungssystem mit einem Digitalsignalprozessor (DSP) 41 implementiert werden. Bei solchen Implementierungen ist der DSP 41 typischerweise so programmiert, dass er die im Zusammenhang mit 3 und 4 beschriebenen Codierungsprozesse durchführt. Alternativ kann die Schaltungsanordnung des DSP 41 speziell so ausgelegt sein, dass er dieselben Aufgaben durchführt. Bei der Implementierung von 6 empfängt der DSP 41 Eingangssignale vom Analog-Digital-Wandler (ADC) 42 und/oder vom digitalen Schnittstellen-S-P/DIF-Anschluss 43. Das Ausgangssignal des DSP 41 kann zu einer Vielfalt von Vorrichtungen, einschließlich Speichervorrichtungen, wie z. B. CD-ROM 44, Festplattenlaufwerk (HDD) 45 oder Flash-Speicher 46, geliefert werden.
  • Obwohl die Erfindung mit Bezug auf spezielle Ausführungsbeispiele beschrieben wurde, soll diese Beschreibung nicht in begrenzender Hinsicht aufgefasst werden. Verschiedene Modifikationen der offenbarten Ausführungsbeispiele sowie alternative Ausführungsbeispiele der Erfindung werden für Fachleute bei der Bezugnahme auf die Beschreibung der Erfindung ersichtlich. Obwohl die Erfindung hauptsächlich im Zusammenhang mit Audiodaten erörtert wurde, werden Fachleute beispielsweise erkennen, dass die Erfindung auch auf visuelle Daten anwendbar ist, die unter Verwendung eines psychovisuellen Modells komprimiert werden können. Daher wird in Erwägung gezogen, dass derartige Modifikationen vorgenommen werden können, ohne vom Schutzbereich der vorliegenden Erfindung, wie in den beigefügten Ansprüchen definiert, abzuweichen.

Claims (25)

  1. Verfahren zum Bestimmen von Skalierungsfaktoren, die zum Codieren eines Signals verwendet werden, mit den Schritten: Zuordnen (31) einer Vielzahl von Verzerrungsschwellen zu jeweils einer Vielzahl von Frequenzskalierungsfaktorbändern des Signals; Transformieren (30) des Signals, um eine Vielzahl von Sätzen von Transformationskoeffizienten, einen Satz für jedes der Frequenzskalierungsfaktorbänder, zu liefern; und Berechnen einer Vielzahl von Gesamtskalierungswerten Asfb, einen für jedes der Frequenzskalierungsfaktorbänder, wobei ein bestimmer Gesamtskalierungswert Asfb für ein spezielles Frequenzskalierungsfaktorband gemäß der Gleichung: Asfb = 2[4/(9BWsfb)]2/3·(1/Msfb)2/3·(Σxi)1/3 berechnet wird, wobei BWsfb die Bandbreite des speziellen Frequenzskalierungsfaktorbandes ist, Msfb die entsprechende Verzerrungsschwelle ist und Σxi die Summe aller Transformationskoeffizienten xi für das spezielle Skalierungsfaktorband ist.
  2. Verfahren nach Anspruch 1, wobei das Signal ein digitales Signal ist, und ferner mit dem Schritt des Umwandelns eines analogen Signals in das digitale Signal.
  3. Verfahren nach Anspruch 1, wobei der Zuordnungsschritt (31) Verzerrungsschwellen verwendet, die auf einer psychoakustischen Maskierung basieren.
  4. Verfahren nach Anspruch 1, wobei der Berechnungsschritt die Schritte aufweist: für ein gegebenes Frequenzskalierungsfaktorband, Erhalten eines ersten Terms auf der Basis einer entsprechenden Verzerrungsschwelle; und Erhalten eines zweiten Terms auf der Basis einer Summe der Transformationskoeffizienten.
  5. Verfahren nach Anspruch 4, wobei: der erste Term aus einer ersten Nachschlagetabelle erhalten wird; und der zweite Term aus einer zweiten Nachschlagetabelle erhalten wird.
  6. Verfahren nach Anspruch 1, welches ferner die Schritte aufweist: Identifizieren (32) von einem der Gesamtskalierungswerte (Asfb) als minimalen von Null verschiedenen Wert; und Normieren mindestens eines der Gesamtskalierungswerte unter Verwendung des minimalen von Null verschiedenen Werts, um eine jeweilige Vielzahl von Skalierungsfaktoren, einen für jedes Skalierungsfaktorband, zu liefern.
  7. Verfahren nach Anspruch 6, welches ferner die Schritte aufweist: Festlegen (35) eines globalen Verstärkungsfaktors auf den minimalen von Null verschiedenen Wert; und erneutes Quantisieren der Transformationskoeffizienten unter Verwendung des globalen Verstärkungsfaktors und der Skalierungsfaktoren.
  8. Verfahren nach Anspruch 7, welches ferner die Schritte aufweist: Berechnen einer Anzahl von Bits, die für den Quantisierungsschritt erforderlich sind; und Vergleichen (39) der Anzahl von erforderlichen Bits mit einer vorbestimmten Anzahl von verfügbaren Bits.
  9. Verfahren nach Anspruch 8, wobei der Vergleichschritt (39) feststellt, dass die Anzahl von erforderlichen Bits größer ist als die vorbestimmte Anzahl von verfügbaren Bits, und ferner mit den Schritten: Verringern des globalen Verstärkungsfaktors (40), und Quantisieren (37) der Transformationskoeffizienten unter Verwendung des verringerten globalen Verstärkungsfaktors und der Skalierungsfaktoren.
  10. Audiocodierer mit: einem Eingang zum Empfangen eines Audiosignals; einer psychoakustischen Maske zum Liefern einer Vielzahl von Verzerrungsschwellen jeweils für eine Vielzahl von Frequenzskalierungsfaktorbändern des Audiosignals; einer Frequenztransformation zum Verarbeiten des Audiosignals, um eine Vielzahl von Sätzen von Transformationskoeffizienten, einen Satz für jedes der Frequenzskalierungsfaktorbänder, zu liefern; und einem Quantisierer zum Berechnen einer Vielzahl von Gesamtskalierungswerten, einen für jedes der Frequenzskalierungsfaktorbänder, wobei ein bestimmter Gesamtskalierungswert Asfb für ein spezielles Frequenzskalierungsfaktorband gemäß der Gleichung: Asfb = 2[4/(9BWsfb)]2/3·(1/Msfb)2/3·(Σxi)1/3 berechnet wird, wobei BWsfb die Bandbreite des speziellen Frequenzskalierungsfaktorbandes ist, Msfb die entsprechende Verzerrungsschwelle ist und Σxi die Summe aller Transformationskoeffizienten xi für das spezielle Skalierungsfaktorband ist.
  11. Audiocodierer nach Anspruch 10, wobei zur Berechnung eines Gesamtskalierungswerts für ein bestimmtes Frequenzskalierungsfaktorband der Quantisierer zum Erhalten eines ersten Terms auf der Basis einer entsprechenden Verzerrungsschwelle und zum Erhalten eines zweiten Terms auf der Basis einer Summe der Transformationskoeffizienten dient.
  12. Audiocodierer nach Anspruch 10, wobei: der erste Term aus einer ersten Nachschlagetabelle erhalten wird; und der zweite Term aus einer zweiten Nachschlagetabelle erhalten wird.
  13. Audiocodierer nach Anspruch 10, wobei der Quantisierer zum Normieren aller Gesamtskalierungswerte unter Verwendung eines minimalen von Null verschiedenen der Gesamtskalierungswerte dient, um eine jeweilige Vielzahl von Skalierungsfaktoren, einen für jedes Skalierungsfaktorband, zu liefern.
  14. Audiocodierer nach Anspruch 13, wobei der Quantisierer zum Festlegen eines globalen Verstärkungsfaktors auf den minimalen von Null verschiedenen Wert dient und die Transformationskoeffizienten unter Verwendung des globalen Verstärkungsfaktors und der Skalierungsfaktoren quantisiert.
  15. Audiocodierer nach Anspruch 14, wobei der Quantisierer ferner zum Vergleichen einer Anzahl von Bits, die für den Quantisierungsschritt erforderlich sind, mit einer vorbestimmten Anzahl von verfügbaren Bits dient.
  16. Audiocodierer nach Anspruch 15, wobei der Quantisierer ferner zum Verringern des globalen Verstärkungsfaktors dient und die Transformationskoeffizienten unter Verwendung des verringerten globalen Verstärkungsfaktors und der Skalierungsfaktoren in Reaktion auf eine Feststellung, dass die Anzahl von erforderlichen Bits größer ist als die vorbestimmte Anzahl von verfügbaren Bits, quantisiert.
  17. Computerprogrammprodukt mit: einem computerlesbaren Speichermedium; und Programmbefehlen, die auf dem Speichermedium gespeichert sind, um, wenn die Befehle auf einem Computer abgearbeitet werden, eine Vielzahl von Gesamtskalierungswerten, die verschiedenen Frequenzskalierungsfaktorbändern eines Signals zugeordnet sind, unter Verwendung von Transformationskoeffizienten des Signals und Verzerrungsschwellen für jedes Frequenzskalierungsfaktorband zu berechnen, wobei die Programmbefehle einen bestimmten Gesamtskalierungswert Asfb für ein spezielles Frequenzskalierungsfaktorband gemäß der Gleichung: Asfb = 2[4/(9BWsfb)]2/3·(1/Msfb)2/3·(Σxi)1/3 berechnen, wobei BWsfb die Bandbreite des speziellen Frequenzskalierungsfaktorbandes ist, Msfb die entsprechende Verzerrungsschwelle ist und Σxi die Summe aller Transformationskoeffizienten für das spezielle Skalierungsfaktorband ist.
  18. Computerprogrammprodukt nach Anspruch 17, wobei die Programmbefehle ferner eine Frequenztransformation des Signals ausführen, um die Transformationskoeffizienten zu liefern.
  19. Computerprogrammprodukt nach Anspruch 17, wobei die Programmbefehle ferner die Verzerrungsschwellen auf der Basis einer psychoakustischen Maske liefern.
  20. Computerprogrammprodukt nach Anspruch 17, wobei die Programmbefehle einen Gesamtskalierungswert für ein gegebenes Frequenzskalierungsfaktorband durch Erhalten eines ersten Terms auf der Basis einer entsprechenden Verzerrungsschwelle und Erhalten eines zweiten Terms auf der Basis einer Summe der Transformationskoeffizienten berechnen.
  21. Computerprogrammprodukt nach Anspruch 20, wobei die Programmbefehle den ersten Term aus einer ersten Nachschlagetabelle erhalten und den zweiten Term aus einer zweiten Nachschlagetabelle erhalten.
  22. Computerprogrammprodukt nach Anspruch 17, wobei die Programmbefehle ferner einen der Gesamtskalierungswerte als minimalen von Null verschiedenen Wert identifizieren und alle der Gesamtskalierungswerte unter Verwendung des minimalen von Null verschiedenen Werts normieren, um eine jeweilige Vielzahl von Skalierungsfaktoren, einen für jedes Skalierungsfaktorband, zu liefern.
  23. Computerprogrammprodukt nach Anspruch 22, wobei die Programmbefehle ferner einen globalen Verstärkungsfaktor auf den minimalen von Null verschiedenen Wert setzen und die Transformationskoeffizienten unter Verwendung des globalen Verstärkungsfaktors und der Skalierungsfaktoren quantisieren.
  24. Computerprogrammprodukt nach Anspruch 23, wobei die Programmbefehle ferner eine Anzahl von Bits berechnen, die für die Quantisierung erforderlich sind, und die Anzahl von erforderlichen Bits mit einer vorbestimmten Anzahl von verfügbaren Bits vergleichen.
  25. Computerprogrammprodukt nach Anspruch 24, wobei das Vergleichen nachweist, dass die Anzahl von erforderlichen Bits größer ist als die vorbestimmte Anzahl von verfügbaren Bits, und die Programmbefehle ferner den globalen Verstärkungsfaktor verringern und die Transformationskoeffizienten unter Verwendung des verringerten globalen Verstärkungsfaktors und der Skalierungsfaktoren quantisieren.
DE60222692T 2001-11-20 2002-11-07 Vorwärtskopplungsprädiktion von skalierungsfaktoren auf der basis zulässiger verzerrungen für die rauschformung bei der komprimierung auf psychoakustischer basis Expired - Fee Related DE60222692T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US989322 1992-12-11
US09/989,322 US6950794B1 (en) 2001-11-20 2001-11-20 Feedforward prediction of scalefactors based on allowable distortion for noise shaping in psychoacoustic-based compression
PCT/US2002/036031 WO2003044778A1 (en) 2001-11-20 2002-11-07 Feedforward prediction of scalefactors based on allowable distortion for noise shaping in psychoacoustic-based compression

Publications (2)

Publication Number Publication Date
DE60222692D1 DE60222692D1 (de) 2007-11-08
DE60222692T2 true DE60222692T2 (de) 2008-07-17

Family

ID=25535013

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60222692T Expired - Fee Related DE60222692T2 (de) 2001-11-20 2002-11-07 Vorwärtskopplungsprädiktion von skalierungsfaktoren auf der basis zulässiger verzerrungen für die rauschformung bei der komprimierung auf psychoakustischer basis

Country Status (7)

Country Link
US (1) US6950794B1 (de)
EP (1) EP1449205B1 (de)
JP (1) JP2005534947A (de)
AT (1) ATE374422T1 (de)
AU (1) AU2002350169A1 (de)
DE (1) DE60222692T2 (de)
WO (1) WO2003044778A1 (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1666571A (zh) * 2002-07-08 2005-09-07 皇家飞利浦电子股份有限公司 音频处理
KR100477699B1 (ko) * 2003-01-15 2005-03-18 삼성전자주식회사 양자화 잡음 분포 조절 방법 및 장치
US7650277B2 (en) * 2003-01-23 2010-01-19 Ittiam Systems (P) Ltd. System, method, and apparatus for fast quantization in perceptual audio coders
SG135920A1 (en) * 2003-03-07 2007-10-29 St Microelectronics Asia Device and process for use in encoding audio data
US7283968B2 (en) * 2003-09-29 2007-10-16 Sony Corporation Method for grouping short windows in audio encoding
US7349842B2 (en) * 2003-09-29 2008-03-25 Sony Corporation Rate-distortion control scheme in audio encoding
US7426462B2 (en) * 2003-09-29 2008-09-16 Sony Corporation Fast codebook selection method in audio encoding
US7325023B2 (en) * 2003-09-29 2008-01-29 Sony Corporation Method of making a window type decision based on MDCT data in audio encoding
KR100571824B1 (ko) * 2003-11-26 2006-04-17 삼성전자주식회사 부가정보 삽입된 mpeg-4 오디오 bsac부호화/복호화 방법 및 장치
DE102004009955B3 (de) * 2004-03-01 2005-08-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Ermitteln einer Quantisierer-Schrittweite
EP1939862B1 (de) * 2004-05-19 2016-10-05 Panasonic Intellectual Property Corporation of America Kodiervorrichtung, Dekodiervorrichtung und Verfahren dafür
KR20070056081A (ko) * 2004-08-31 2007-05-31 마츠시타 덴끼 산교 가부시키가이샤 스테레오 신호 생성 장치 및 스테레오 신호 생성 방법
CN1938759A (zh) * 2004-12-22 2007-03-28 松下电器产业株式会社 Mpeg音频解码方法
US7835904B2 (en) * 2006-03-03 2010-11-16 Microsoft Corp. Perceptual, scalable audio compression
JP2007293118A (ja) * 2006-04-26 2007-11-08 Sony Corp 符号化方法および符号化装置
DE102006022346B4 (de) * 2006-05-12 2008-02-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Informationssignalcodierung
US7295397B1 (en) * 2006-05-30 2007-11-13 Broadcom Corporation Feedforward controller and methods for use therewith
JP5224666B2 (ja) * 2006-09-08 2013-07-03 株式会社東芝 オーディオ符号化装置
JP4708446B2 (ja) 2007-03-02 2011-06-22 パナソニック株式会社 符号化装置、復号装置およびそれらの方法
TWI374671B (en) * 2007-07-31 2012-10-11 Realtek Semiconductor Corp Audio encoding method with function of accelerating a quantization iterative loop process
US20090087107A1 (en) * 2007-09-28 2009-04-02 Advanced Micro Devices Compression Method and Apparatus for Response Time Compensation
US8209190B2 (en) * 2007-10-25 2012-06-26 Motorola Mobility, Inc. Method and apparatus for generating an enhancement layer within an audio coding system
US20090132238A1 (en) * 2007-11-02 2009-05-21 Sudhakar B Efficient method for reusing scale factors to improve the efficiency of an audio encoder
US8204744B2 (en) * 2008-12-01 2012-06-19 Research In Motion Limited Optimization of MP3 audio encoding by scale factors and global quantization step size
US8548816B1 (en) * 2008-12-01 2013-10-01 Marvell International Ltd. Efficient scalefactor estimation in advanced audio coding and MP3 encoder
US8391212B2 (en) * 2009-05-05 2013-03-05 Huawei Technologies Co., Ltd. System and method for frequency domain audio post-processing based on perceptual masking
US8442837B2 (en) 2009-12-31 2013-05-14 Motorola Mobility Llc Embedded speech and audio coding using a switchable model core
US8774308B2 (en) * 2011-11-01 2014-07-08 At&T Intellectual Property I, L.P. Method and apparatus for improving transmission of data on a bandwidth mismatched channel
US8781023B2 (en) * 2011-11-01 2014-07-15 At&T Intellectual Property I, L.P. Method and apparatus for improving transmission of data on a bandwidth expanded channel
EP2830058A1 (de) * 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Frequenzbereichsaudiocodierung mit Unterstützung von Transformationslängenschaltung
CN115171709B (zh) * 2022-09-05 2022-11-18 腾讯科技(深圳)有限公司 语音编码、解码方法、装置、计算机设备和存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5285498A (en) * 1992-03-02 1994-02-08 At&T Bell Laboratories Method and apparatus for coding audio signals based on perceptual model
US5657423A (en) 1993-02-22 1997-08-12 Texas Instruments Incorporated Hardware filter circuit and address circuitry for MPEG encoded data
US5623577A (en) * 1993-07-16 1997-04-22 Dolby Laboratories Licensing Corporation Computationally efficient adaptive bit allocation for encoding method and apparatus with allowance for decoder spectral distortions
US5654952A (en) * 1994-10-28 1997-08-05 Sony Corporation Digital signal encoding method and apparatus and recording medium
JPH08223049A (ja) * 1995-02-14 1996-08-30 Sony Corp 信号符号化方法及び装置、信号復号化方法及び装置、情報記録媒体並びに情報伝送方法
US5781452A (en) 1995-03-22 1998-07-14 International Business Machines Corporation Method and apparatus for efficient decompression of high quality digital audio
AU5663296A (en) * 1995-04-10 1996-10-30 Corporate Computer Systems, Inc. System for compression and decompression of audio signals fo r digital transmission
EP0772925B1 (de) * 1995-05-03 2004-07-14 Sony Corporation Nichtlineares quantisieren eines informationssignales
US5867819A (en) 1995-09-29 1999-02-02 Nippon Steel Corporation Audio decoder
JP3189660B2 (ja) * 1996-01-30 2001-07-16 ソニー株式会社 信号符号化方法
GB2318029B (en) 1996-10-01 2000-11-08 Nokia Mobile Phones Ltd Audio coding method and apparatus
JP3784993B2 (ja) * 1998-06-26 2006-06-14 株式会社リコー 音響信号の符号化・量子化方法
JP3352406B2 (ja) 1998-09-17 2002-12-03 松下電器産業株式会社 オーディオ信号の符号化及び復号方法及び装置
JP4242516B2 (ja) * 1999-07-26 2009-03-25 パナソニック株式会社 サブバンド符号化方式

Also Published As

Publication number Publication date
ATE374422T1 (de) 2007-10-15
AU2002350169A1 (en) 2003-06-10
WO2003044778A1 (en) 2003-05-30
US6950794B1 (en) 2005-09-27
JP2005534947A (ja) 2005-11-17
EP1449205A1 (de) 2004-08-25
DE60222692D1 (de) 2007-11-08
EP1449205A4 (de) 2006-03-29
EP1449205B1 (de) 2007-09-26

Similar Documents

Publication Publication Date Title
DE60222692T2 (de) Vorwärtskopplungsprädiktion von skalierungsfaktoren auf der basis zulässiger verzerrungen für die rauschformung bei der komprimierung auf psychoakustischer basis
DE60313332T2 (de) Audiocodierung mit niedriger bitrate
EP2207169B1 (de) Audiodekodierung mit Füllung von spektralen Lücken
DE602004013031T2 (de) Verfahren zum codieren eines digitalen signals in einen skalierbaren bitstrom, verfahren zum decodieren eines skalierbaren bitstroms
EP0931386B1 (de) Verfahren zum signalisieren einer rauschsubstitution beim codieren eines audiosignals
DE602004010885T2 (de) Audio-transkodierung
DE69833834T2 (de) Skalierbares Audiokodier-und Dekodierverfahren und Gerät
DE69923555T2 (de) Verfahren und vorrichtung zur entropie-kodierung von quantisierten transformationskoeffizienten eines signals
US20080140405A1 (en) Audio coding system using characteristics of a decoded signal to adapt synthesized spectral components
KR100695125B1 (ko) 디지털 신호 부호화/복호화 방법 및 장치
DE60303346T2 (de) Encodier- und/oder Decodierverfahren für digitale Audiosignale, basierend auf Zeit-Frequenzkorrelation und Vorrichtung hierzu
DE60112407T2 (de) Verfahren und vorrichtung zur konvertierung eines audiosignals zwischen unterschiedlichen datenkompressionsformaten
US7426462B2 (en) Fast codebook selection method in audio encoding
DE60116809T2 (de) Vorrichtung zum Transkodieren eines Audiodatenstroms
DE60307634T2 (de) Audiocodierung
DE10010849C1 (de) Vorrichtung und Verfahren zum Analysieren eines Analyse-Zeitsignals
Sathidevi et al. Perceptual audio coding using sinusoidal/optimum wavelet representation

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee