DE69823557T2 - Schnelle frequenztransformationstechnik für transform audio koder - Google Patents

Schnelle frequenztransformationstechnik für transform audio koder Download PDF

Info

Publication number
DE69823557T2
DE69823557T2 DE69823557T DE69823557T DE69823557T2 DE 69823557 T2 DE69823557 T2 DE 69823557T2 DE 69823557 T DE69823557 T DE 69823557T DE 69823557 T DE69823557 T DE 69823557T DE 69823557 T2 DE69823557 T2 DE 69823557T2
Authority
DE
Germany
Prior art keywords
sequence
complex
samples
transformation
input
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
DE69823557T
Other languages
English (en)
Other versions
DE69823557D1 (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
Application granted granted Critical
Publication of DE69823557D1 publication Critical patent/DE69823557D1/de
Publication of DE69823557T2 publication Critical patent/DE69823557T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/86Arrangements characterised by the broadcast information itself
    • H04H20/88Stereophonic broadcast systems
    • H04H20/89Stereophonic broadcast systems using three or more audio channels, e.g. triphonic or quadraphonic

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • Technisches Gebiet
  • Die Erfindung ist anwendbar im Gebiet von Multikanalaudiokodierern, die eine modifizierte, diskrete Kosinustransformation als Schritt für die Komprimierung von Audiosignalen verwenden.
  • Hintergrund der Erfindung
  • Um Audiosignale effizienter zu übermitteln oder aufzuzeichnen, kann die Informationsmenge, die benötigt wird, um die Audiosignale zu repräsentieren, reduziert werden. In dem Fall von digitalen Audiosignalen kann der Betrag oder die Menge der digitalen Information, die benötigt wird, um die original pulscodemodulierten Abtastungen bzw. Puls Code Modulation (PCM)-Abtastungen zu reproduzieren, durch Anwendung eines digitalen Komprimierungsalgorithmus reduziert werden, was in einer digitalen, komprimierten Darstellung des Originalsignals resultiert. Das Ziel des digitalen Komprimierungsalgorithmus ist es eine digitale Darstellung eines Audiosignals zu erzeugen, das, wenn es dekodiert und reproduziert wird, genauso klingt wie das Originalsignal, während ein Minimum an digitaler Information für die komprimierte oder kodierte Darstellung verwendet wird.
  • Neuere Fortschritte in der Audiokodierungstechnologie haben zu hohen Komprimierungsverhältnissen geführt, wobei die hörbare Verschlechterung des komprimierten Signals auf ein Minimum beschränkt ist. Diese Kodierer sind für eine Vielzahl von Anwendungen bestimmt, wie z. B. 5.1-Kanalfilmsoundtracks, HDTV, Laser-CDs und Multimedia. Die Beschreibung eines anwendbaren Verfahrens kann in dem Dokument des Standards Advanced Television Systems Committee (ATSC), betitelt „Digital Audio Compression (AC-3) Standard", Dokument A/52, 20. Dezember 1995, gefunden werden.
  • In diesem grundlegenden Ansatz wird an dem Kodierer das Zeitdomänaudiosignal zuerst in die Frequenzdomäne mittels einer Filterbank konvertiert. Die Frequenzdomänkoeffizienten, die so generiert werden, werden dann in eine so genannte Fixed point- bzw. Fixpunktdarstellung konvertiert. In der Fixpunkt-Syntax wird jeder Koeffizient als eine Mantisse und ein Exponent repräsentiert. Der Großteil des komprimierten Bitstromes, der zum Dekodierer gesendet wird, besteht aus diesem Exponenten und Mantissen.
  • Die Exponenten werden normalerweise in der ursprünglichen Form gesendet. Jedoch muss jede Mantisse auf eine festgelegte oder variable Anzahl von Dezimalstellen gekürzt werden. Die Anzahl der Bits, die zur Kodierung einer jeden Mantisse verwendet werden, wird von einem Bitzuweisungsalgorithmus erhalten, der z. B. auf den Maskierungs- bzw. Abdeckungseigenschaften des menschlichen Gehörsystems basiert. Eine niedrige Anzahl von Bits resultiert in höheren Komprimierungsverhältnissen, da weniger Raum benötigt wird, um die Koeffizienten zu senden. Dies kann jedoch hohe Quantisierungsfehler bewirken, was zu einer hörbaren Verzerrung führt. Eine gute Verteilung bzw. Zuweisung der zur Verfügung stehenden Bits an jede Mantisse bildet den Kern von fortgeschrittenen Audiokodierern.
  • Die Frequenztransformationsphase stellt in einem Transformationskodierer die höchsten Rechenanforderungen. Daher kann eine effiziente Implementierung dieser Phase die Rechenleistungsanforderungen des Systems signifikant senken und führt dazu, dass ein Realtime- bzw. Echtzeitbetrieb des Kodierers leichter erreichbar ist.
  • In einigen Kodierer, wie sie z. B. in dem AC-3 Standard spezifiziert sind, wird die Frequenzdomäntransformation von Signalen durch die modifizierte, diskrete Kosinustransformation (Modified Discrete Cosine Transform (= MDCT)). Bei einer direkten Implementierung benötigt die MDCT O(N2) Addition und Multiplikation. Es wurde jedoch festgestellt, dass es möglich ist, die Anzahl der benötigten Operationen signifikant zu reduzieren, wenn die MDCT-Gleichung auf eine Art und Weise berechnet werden kann, die offen ist für die Verwendung des allseits bekannten Verfahrens der schnellen Fouriertransformation (Fast Fourier Transform (= FFT)) von J. W. Cooley und J. W. Tukey (1960). Eine bekannte Anwendung einer FFT auf eine MDCT ist z. B. in dem EP-A-0564089 offenbart.
  • Die vorliegende Erfindung dient dazu, ein alternatives Berechnungsverfahren mittels einer schnellen Fouriertransformation vorzusehen. Weiterhin dient die Erfindung dazu eine einzelne FFT für zwei Kanäle zu verwenden, um eine größere Reduktion der Rechenleistungsanforderungen an das System zu erlangen.
  • Zusammenfassung der Erfindung
  • Gemäß der vorliegenden Erfindung wird ein Verfahren zum Kodieren von Audiodaten, gemäß der Ansprüche 1 und 8 vorgesehen.
  • Die vorliegende Erfindung sieht weiterhin ein Verfahren zum Kodieren von Audiodaten, gemäß Anspruch 14 vor, wobei das Verfahren die folgenden Schritte aufweist:
    Erhalten erster und zweiter Eingangssequenzen von digitalen Audioabtastungen x[n], y[n], die jeweiligen ersten und zweiten Audiokanälen entsprechen;
    Kombinieren der ersten und zweiten Einganssequenzen von Digitalaudioabtastungen in eine einzelne komplexe Eingansabtastungssequenz z[n], wobei z[n] = x[n] + jy[n];
    Vorverarbeiten der komplexen Eingangssequenzabtastungen einschließlich des Anwendens eines Vormultiplikationsfaktors cos(πn/N) + jsin(πn/N), um modifizierte, komplexe Einganssequenzabtastungen zu erhalten, wobei N die Anzahl von Audioabtastungen in jeder der ersten Einganssequenzen ist und n = 0, ..., (N – 1);
    Transformieren der modifizierten, komplexen Eingangssequenzabtastungen in eine komplexe Transformationskoeffizientensequenz Zk unter Verwendung einer schnellen Fouriertransformation, wobei k = 0, ..., (N/2 – 1); und
    Nachbearbeiten der Sequenz von komplexen Transformationskoeffizienten, um erste und zweite Sequenzen von audiokodierten Frequenzdomänkoeffizienten zu erhalten, die den ersten und zweiten Audiokanälen Xk, Yk entsprechen und zwar gemäß: Gk = (Zk + Z*N–k–1 )/2 k = 0 ... N/2 – 1 G'k = (Zk + Z*N–k–1 )/2j k = 0 ... N/2 – 1 Xk = cosγ*(gk,rcos(π(k + 1/2)/N) – gk,isin(π(k + 1/2)/N) – sinγ*(gk,rsin(π(k + 1/2)/N) + gk,icos(π(k + 1/2)/N) Yk = cosγ*(g'k,rcos(π(k + 1/2)/N) – g'k,isin(π(k + 1/2)/N) – sinγ*(g'k,rsin(π(k + 1/2)/N + g'k,icos(π(k + 1/2)/N)wobei Gk eine Transformationskoeffizientensequenz für den ersten Kanal ist;
    G'k eine Transformationskoeffizienzensequenz für den zweiten Kanal ist;
    gk,r und gk,i die realen und imaginären Transformationskoeffizientenbestandteile von Gk sind;
    g'k,r und g'k,i die realen und imaginären Transformationskoeffizientenbestandteile von G'k sind;
    Z*N–k–1 das komplexe Konjugat bzw. Konjugierte von ZN–k–1 ist; und
    μ(k) = π(2k + 1)/4.
  • Die modifizierte, diskrete Kosinustransformationsgleichung kann wie folgt ausgedrückt werden:
    Figure 00040001
    wobei x[n] die Einganssequenz für einen Kanal und N die Transformationslänge ist.
  • Anstatt Xk in der oben gegebenen Form zu bestimmen, könnte es wie folgt berechnet werden: Xk = cosγ*(gk,rcos(π(k + 1/2)/N) – gk,isin(π(k + 1/2)/N)) – sinγ*(gk,rsin(π(k + 1/2)/N) + gk,icos(π(k + 1/2)/N))gk,r,gk,i
    Figure 00040002
    Satz von reelen Zahlen) wobei
    Figure 00050001
  • Das Symbol j stellt die Imaginärza √–1 dar. Den Ausdruck
    Figure 00050002
    erhält man von dem bekannten FFT-Verfahren, und zwar, indem zuerst die Transformation x'[n] = x[n]*ejπn/N verwendet wird und dann die FFT
    Figure 00050003
    berechnet wird.
  • Für einen Zweikanalansatz wird eine komplexe Variable z[n] = x[n]*ejπn/N + jy[n]* ejπn/N definiert, wobei x[n] und y[n] eine Abtastungssequenz für die zwei Kanäle ist und ejπn/N den Vormultiplikationsfaktor darstellt. Mittels des FFT-Ansatzes, wird der Frequenzkoeffizient Zk für die Variable z[n] berechnet. Von Zk wird der Wert Gk = (Zk + Z*N–k–1)/2 und G'k = (Zk – Z*N–k–1)/2j berechnet, der benötigt wird, um die endgültige MDCT für jeden jeweiligen Kanal auszurechnen.
  • Wenn entweder beide oder einer der Kanäle Transformationen mit kurzer Länge benötigen, werden zwei Kurztransformationen (short transforms) mittels des obigen Ansatzes vorgenommen. Wenn kein Kanal eine Kurztransformation benötigt, wird eine einzelne Langtransformation verwendet. Als ein zusätzlicher Schritt in der Reduzierung der Berechnung kann die Fensterungsfunktion (windowing function) mit der Vorverarbeitungsstufe kombiniert werden.
  • Kurzbeschreibung der Zeichnungen
  • Die Erfindung wird im Folgenden im Detail beschrieben, und zwar lediglich als Beispiel und unter Bezug auf bevorzugte Ausführungsbeispiele hiervon und mittels der Hilfe der beigefügten Zeichnungen, wobei die Zeichnungen folgendes zeigen:
  • 1 ist eine Diagrammdarstellung eines Stromes von Audiodaten und die Unterstrukturanordnung hiervon;
  • 2 ist ein funktionales Blockdiagramm eines digitalen Audiokodierers;
  • 3 ist ein funktionales Blockdiagramm eines Systems zum Kodieren eines einzelnen Audikanals; und
  • 4 ist ein funktionales Blockdiagramm eines Systems zum Kodieren eines Paares von Audiokanälen.
  • Detaillierte Beschreibung der bevorzugten Ausführungsbeispiele
  • Das oben beschriebene Dokument des Advanced Television Systems Committee (ATSC) Standards, betitelt „Digital Audio Compression (AC-3) Standard" (Dokument A/52, 20. Dezember 1995), beschreibt Verfahren zum Kodieren und Dekodieren von Audiosignalen.
  • Im Allgemeinen weist die Eingabe an einen Audiokodierer, einen Strom von digitalisierten Abtastungen des Zeitdomänanalogsignals auf. Bei einem Multikanalkodierer besteht der Strom bzw. die Folge aus verschachtelten (interleaved) Abtastungen für jeden Kanal. Der Eingangsstrom ist in Blöcke aufgeteilt bzw. sektioniert, wobei jeder Block N aufeinander folgende Abtastungen eines jeden Kanals (siehe 1) beinhaltet. Somit bilden innerhalb eines Blocks die N Abtastungen eines Kanals eine Sequenz {x[0], x[1], x[2], ..., x[N – 1]}.
  • Die Zeitdomänabtastungen werden als nächstes in die Frequenzdomäne mittels einer Analysefilterbank (siehe 2) konvertiert. Die Frequenzdomänkoeffizienten, die so generiert werden, bilden einen Koeffizientensatz, der als (Xn, X1, X2, ..., XN/2–1) identifiziert werden kann. Da das Signal real ist, werden nur die ersten N/2-Frequenzkomponenten bedacht bzw. berücksichtigt. Hier ist X0 die niedrigste Frequenz-(DC, Gleichstrom)-Komponente, während XN/2–1 die Höchstfrequenzkomponente des Signals ist.
  • Audiokomprimierung bedeutet bzw. beinhaltet im Wesentlichen das Herausfinden, wie viel Information aus dem Satz (X0, X1, ..., XN/2–1) nötig ist, um dass Originalana logsignal an dem Dekoder zu reproduzieren bei einer minimalen hörbaren Verzerrung.
  • Der Koeffizientensatz wird normalerweise in ein Gleitkommaformat konvertiert, in dem jeder Koeffizient durch einen Exponenten und eine Mantisse dargestellt ist. Der Exponentensatz wird normalerweise in seinem Originalformat gesendet. Die Mantisse wird jedoch auf eine festgelegte oder variable Zahl von Dezimalstellen gekürzt. Der Wert der Anzahl von Bits für die Kodierung einer Mantisse wird üblicherweise von einem Bitzuweisungsalgorithmus erhalten, der für fortgeschrittene psychoakustische Kodierer auf der Maskierungseigenschaft des menschlichen Hörsystems beruhen kann. Eine niedrige Anzahl von Bits resultiert in einem hohen Komprimierungsverhältnis, da weniger Platz für das Senden der Koeffizienten benötigt wird. Dieses bewirkt jedoch sehr hohe Quantisierungsfehler, was zu hörbaren Verzerrungen führt. Eine gute Verteilung der zur Verfügung stehenden Bits für jede Mantisse stellt den Kern der meisten fortschrittlichen Kodierer dar.
  • In einigen Kodierern, wie z. B. dem AC-3, wird die Frequenzdomäntransformation der Signale durch die modifizierte, diskrete Kosinustransformation (Modified Discrete Cosine Transform, MDCT) (Gl. 1) ausgeführt.
  • Figure 00070001
  • Bei einer direkten Implementierung in der oben gegebenen Form benötigt die MDCT O(N2)-Additionen und -Multiplikationen.
  • Einzelkanal FFT
  • Es ist möglich die Anzahl der benötigten Operationen wesentlich zu reduzieren, wenn es in der Lage ist die Gleichung 1 mittels des bekannten Verfahrens der schnellen Fouriertransformation (Fast Fourier Transform) von J. W. Cooley und J. W. Tukey (1960) auszurechen bzw. zu berechnen. Die allgemeine diskrete Fouriertransformation (Discrete Fourier Transform = DFT) ist unten angegeben (Gl. 2).
  • Sie benötigt O(N2)-Komplexadditionen und -Multiplikationen. Durch Verwenden des Verfahrens der schnellen Fouriertransformation kann die DFT in Gl. 2 mittels nur O(Nlog2N)-Operationen berechnet werden.
  • Figure 00080001
  • Hier steht j als Symbol für die Imaginärzahl, d. h √–1.
  • Obwohl es nicht sofort offensichtlich sein mag, wie Gl. 1 in Gl. 2 transformiert werden kann, zeigt eine detaillierte Analyse, dass dies tatsächlich möglich ist. Um die Gleichung bzw. Gl. 1 zu vereinfachen, können zwei Funktionen definiert werden: α(n, k) = 2π(2n + 1)(2k + 1)/4N Gl. 3 γ(k) = π(2k + 1)/4 Gl. 4
  • Nun kann mittels dieser Funktionen Gl. 1 wie folgt umgeschrieben werden:
  • Figure 00080002
  • In Gl. 6 wird die trigonometrische Gleichung cos(a + b) = cosa cosb – sina sinb für eine Vereinfachung verwendet. Weiterhin kann, da die Funktion γ(k) nicht abhängig ist von der Variable n, diese außerhalb des Summenausdrucks gebracht werden, um Folgendes zu erhalten:
    Figure 00080003
    wobei
    Figure 00080004
  • Die zwei Terme T1 und T2 können nun separat ausgerechnet werden. Mittels Eulers Identität
    Figure 00090001
    erhält man folgenden Ausdruck: cosα(n, k) = (ejα(n,k) + e–jα(n,k))/2 und sinα(n, k) = (ejα(n,k) – e–jα(n,k))/2j.
  • Daher kann man den Term T1 wie folgt umschreiben:
    Figure 00090002
    wobei
    Figure 00090003
    Ähnlich
  • Figure 00090004
  • Der Term bzw. Ausdruck A1 kann somit aus Gl. 8 und Gl. 9 berechnet werden
  • Figure 00090005
  • Wenn eine Komplexvariable wie folgt definiert ist: x'[n] = x[n]*ejπn/N Gl. 11dann vereinfacht sich Gl. 10 zu:
    Figure 00100001
    wobei
    Figure 00100002
  • Der komplexe Term Gk = gk,r + gk,i, wobei gk,r un gk,i ∈
    Figure 00100003
    (Satz von Realzahlen) ist, in der Gl. 12 ist im Wesentlichen derselbe wie Fk in Gl. 2. Daher kann der FFT-Ansatz verwendet werden, um Gk zu berechnen. Dies verringert die Rechnungen von O(N2) zu O(NlogN). Ähnlich kann der zweite Term A2 in Gl. 8 und Gl. 9 berechnet werden
    Figure 00100004
    wobei
    Figure 00100005
  • Es sei anzumerken, dass Gk tatsächlich das komplexe Konjugat von Gk ist, das durch Gl. 12 erhalten wurde. Das heißt, wenn Gk = gk,r + gk,i wobei gk,r und gk,i
    Figure 00100006
    wie zuvor definiert, dann Gk* = gk,r – jgk,i. Daher muss Gk* in Gl. 13 nicht erneut berechnet werden und das Ergebnis von Gl. 12 kann wieder verwendet werden. Dies bedeutet, dass nur eine FFT für die Errechnung von T1 berechnet werden muss. Das Ergebnis von Gl. 8 bis Gl. 13 ist somit T1 = 1/2(ejπ(k+1/2)/N Gk + e–jπ(k+1/2)/N G*k ) Gl. 14
  • Als nächstes kann der Term T2 analysiert werden
  • Figure 00110001
  • Schlussendlich erhält man nach den Vereinfachungen von Gl. 7, 14 und 15 Xk = cosγ(k)1/2(ejπ(k+1/2)/NGk + e–jπ(k+1/2)/NG*k ) – sinγ(k)1/2j(ejπ(k+1/2)/NGk – e–jπ(k+1/2)NG*k ) = cosγ*(gk,rcos(π(k + 1/2)/N) – gk,isin(π(k + 1/2)/N) – sinγ*(gk,rsin(π(k + 1/2)/N) + gk,icos(π(k + 1/2)/N = cosγ*T1 – sinγ*T2 Gl. 16
  • Der Ausdruck Gk = gk,r + jgk,i wird in O(NlogN)-Operationen durch Verwendung von FFT-Algorithmen berechnet. Die zusätzliche Operation die in Gl. 16 dargelegt ist, um das schlussendliche Xk zu extrahieren, hat nur eine Ordnung bzw. Größenordnung von O(N). Daher kann die MDCT in einer Zeit von O(Nlog2N) berechnet werden. Die Operationen die benötigt werden, um die MDCT zu erhalten, sind in der 3 dargestellt.
  • Kombinieren von zwei Kanälen in einer einzelnen FFT
  • Es wird angenommen, dass der Multikanalkodierer m Audiokanäle verarbeiten muss. Anstelle der Berechnung einer FFT für jeden Kanal, wie es in den vorherigen Abschnitten beschrieben wurde, ist es möglich, eine weitere Reduktion der Rechenleistungsanforderungen an den Kodierer zu reduzieren durch Kombinieren zweier Kanäle und mittels einer einzelnen FFT. Tatsächlich müssen anstelle von m FFTs nur m/2 FFTs berechnet werden.
  • Wenn die Eingangssequenz reale bzw. reelle Zahlen sind, dann ist es bekannt, dass DFT für beliebige Zweikanäle mit nur einem FFT-Block berechnet werden kann, und zwar dadurch, dass die Eingabe als eine komplexe Zahl angesehen wird. Der Realteil wird von der Sequenz für einen beliebigen Kanal gebildet und der Imaginärteil wird von den Daten eines anderen Kanals gebildet. Nachdem die Fourier-Transformation für die resultierende komplexe Variable berechnet wurde, kann die resultierende Transformation für jeden Kanal einfach wiedergewonnen werden.
  • In dem vorliegenden Fall sind die Eingangsdaten für den FFT-Block jedoch tatsächlich eine komplexe Zahl (gebildet durch Multiplizieren der Realdaten mit der komplexen Variable ejπn/N). In diesem Fall gibt es keine einfacher Art und Weise die Frequenztransformation wiederzuerlangen bzw. wiederzugewinnen, nachdem man zwei Kanäle kombiniert hat. Man kann jedoch mittels gewisser Verarbeitung nach der FFT noch immer die DFT von zwei Kanälen mittels eines einzelnen FFT-Blocks berechnen.
  • Angenommen {x[0], x[1], x[2], ..., x[N–1]} seien N Eingangsabtastungen des ersten Kanals und {y[0], y[1], y[2], ..., y[N–1]} seien Abtastungen für den zweiten Kanal. Wie oben beschreiben, müssen die Frequenzkoeffizienten
    Figure 00120001
    (Gl. 12 und 13) für den ersten Kanal erhalten werden; und ähnlich für den zweiten Kanal
  • Figure 00120002
  • Definieren der komplexen Variable z[n] = x[n]*ejπn/N + jy[n]*ejπn/N Gl. 17 und Berechnen deren DFT mittels des FFT-Verfahrens, ergibt
  • Figure 00130001
  • Nun Ersetzen von N – k für k in dem obigen Ausdruck
  • Figure 00130002
  • Da ej2πn = 1, n ∈ I (Satz von Integern) verschwindet der Term ej2πn in dem obigen Ausdruck. Durch Bilden des komplexen Konjugats von ZN–k erhält man;
  • Figure 00130003
  • Mittels Gl. 18 und 20 erhält man separate Ausdrücke für Gk und G'k. In einem einfachen Fall sollten die Konjugate in Gl. 18 und 20 addiert und subtrahiert werden, um die benötigten Ausdrücke zu ergeben. Im vorliegenden Fall ist dies jedoch nicht gegeben. Jedoch wird durch Ersetzen von N – k durch N – k – 1 in Gl. 18 das Folgende erhalten
  • Figure 00140001
  • Nun ist der Ausdruck ej2πn(k+1/2)/N in beiden Gl. 17 und 19 gemeinsam, und es ist möglich, diesen zu isolieren.
  • Figure 00140002
  • Ähnlich
  • Figure 00140003
  • Dies bedeutet Gk = (Zk + Z*N–k–1 )/2 k = 0, ... N/2 – 1 Gl. 22undG'k = (Zk – Z*N–k–1 )/2j k = 0 ... N/2 – 1 Gl. 23
  • Von dem Ausdruck für Gl. 22 und 23 eingefügt in Gl. 16 wird die MDCT für jeden Kanal erlangt. Der gesamte Prozess ist in der 4 dargestellt.
  • Transformationslängenanpassungstechnik
  • Die Freuquenztransformationslänge N wird durch den Kodierer, basierend auf zeitlichen und spektralen Auflösungsanforderungen (temporal und spectral resolution requirements) entschieden bzw. bestimmt. Das Eingangssignal wird normalerweise mit einem Hochfrequenzbandpassfilter analysiert, um das Vorliegen von Transienten zu detektieren. Diese Information wird verwendet, um die Blocklänge anzupassen, Quanitisierungsrauschen, das der Transienten innerhalb eines kleinen zeitlichen Bereichs um die Transiente zugeordnet ist, zu begrenzen, und Vermeiden von zeitlicher Maskierung bzw. Abdeckung (Masking). Somit werden, wenn eine Transiente in einem Kanal detektiert wird, jeweils zwei kurze Transformationen der Länge N/2 genommen. Beim nicht Vorhandensein von Transienten wird eine einzelne lange Transformation der Länge N verwendet, wodurch eine höhere spektrale Auflösung vorgesehen wird.
  • Von dem Verfahren, dass in dem vorhergehenden Abschnitt beschrieben wurde, und zwar zur Berechnung einer MDCT für zwei Kanäle mittels eines einzelnen FFT-Blocks, ist es offensichtlich bzw. nachgewiesen, dass die Transformationslänge für die zwei gepaarten Kanäle die selbe sein muss. Daher muss die Paarung für die Transformationsphase so sein, dass Kanäle mit identischer Transformationslänge zusammen gruppiert werden.
  • Es ist jedoch möglich, dass nicht alle Kanäle mit einer solchen Leichtigkeit gepaart werden können. Angenommen die gesamte Anzahl von Kanälen besitzt eine gerade Anzahl (wenn dies nicht der Fall ist, wird eine einzelne FFT für einen Kanal durchgeführt und der Rest bildet eine Gruppe mit gerader Anzahl). Weiterhin sei angenommen, dass, aus den m Kanälen, l eine lange Transformation benötigen, und daher m – l eine kurze Transformation benötigen.
  • Wenn l eine gerade Anzahl ist, folgt daraus, da die Gesamtzahl gerade ist, dass l – m ebenso gerade ist. In diesem Fall werden von den l Kanälen, die eine lange Transformation benötigen, l/2 Paare gebildet und für jedes der l/2 Paare wird eine einzelne FFT berechnet, um die MDCT für die original gepaarten Kanäle zu schät zen. Ähnlich werden die l – m Kanäle gepaart, um (l – m)/2 Paare zu bilden und für die (l – m)/2 werden zwei kurze FFTs berechnet.
  • Nun wird der Fall angenommen, wenn 1/ = 2r + 1 eine ungerade Anzahl ist. Daher m – l = 2s + 1 ist ebenfalls eine ungerade Anzahl. Die 2r Kanäle, die eine lange Transformation benötigen, werden zusammen gepaart, um r Paare zu bilden, und es werden dann 2r Transformationen mittels nur r FFTs berechnet. Ähnlich werden für die 2s Kanäle s Paare gebildet. Was übrig bleibt, ist ein Kanal, der eine lange Transformation benötigt und ein weiterer, der zwei kurze Transformationen benötigt. Beide dieser Kanäle werden zusammen gepaart und zwei kurze FFTs werden berechnet, um die MDCT herzuleiten.
  • Der Grund für die Begrenzung der langen Transformation auf zwei Kurze ist wie folgt. Eine kurze Transformation wird benötigt, um Quantisierungsrauschen zu begrenzen, das der Transiente innerhalb einer kleinen zeitlichen Region um die Transiente zugeordnet ist, und zwar zur Vermeidung von zeitlichem bzw. temporären Maskierens. Eine lange Transformation gibt eine leicht bessere Frequenzauflösung, wobei der Fehler jedoch nicht viel ist im Vergleich zu dem Fall, in dem beim Vorliegen einer Transiente eine lange Transformation verwendet wird. Das Auferzwingen einer langen Transformation auf einem Kanal beim Vorliegen einer Transiente führt zu größerer Verzerrung in der letztendlich produzierten Musik. Diese Annahme wurde durch experimentelle Studien bei Benchmark- bzw. Vergleichsmusikdatenströmen als wahr bewiesen.
  • Kombinieren der Fensterung (Windowing) mit der Vorverarbeitung
  • Bevor das Zeitdomänsignal x[n] in die Frequenzdomän transformiert wird, wird normalerweise eine Fensterungsfunktion angewendet. Somit wird, wenn das abgetastete Signal p[n] ist, die Sequenz x[n] = p[n]*w[n], wobei w[n] die Fensterungsfunktion ist, an den Frequenztransformationsblock angelegt. Von den vorhergehenden Abschnitten hat man gesehen, dass bevor die FFT für einen Block berechnet wird, eine Vorverarbeitung gemäß Gl. 11 ausgeführt wird (hier aus Übersichtlichkeitsgründen wiederholt). Somit ist x'[n] = x[n]*ejπn/N = (p[n]*w[n])*ejπn/N = (p[n]*w[n])*(cosπn/N + jsinπn/N) = p[n]*((w[n]*cosπn/N) + j(w[n]*sinπn/N) Gl. 24
  • Von der Gl. 24 kann man erkennen, dass die Fensterungsfunktion mit der Kosinus- und Sinusmultiplikation, die in Gl. 11 benötigt wird, kombiniert werden kann. Dies verringert die Berechnungen sogar noch mehr, da die Sinus und Kosinus normalerweise in einem Realtime- bzw. Echtzeitsystem als Nachschlagetabelle implementiert sind. Wenn zwei Tabellen wie unten definiert konstruiert werden rcos[n] = w[n]*cos(πn/N) rsin[n] = w[n]*sin(πn/N)dann kann Gl. 11 wie folgt umgeschrieben werden x'[n] = (p[n]*rcos[n]) + j(p[n]*rsin[n]) Gl. 25
  • Obwohl die Erfindung hierin hauptsächlich in Termen bzw. Ausdrücken ihrer mathematischen Herleitung und Anwendung und den Prozeduren, die für die Implementierung benötigt sind, beschrieben wurde, wird der Fachmann sofort erkennen, dass die beschriebenen Prozeduren mittels einer jeden gewünschten Rechenvorrichtung implementiert werden können. Zum Beispiel kann die Erfindung in einer Computersoftware ausgeführt werden, die auf einer Allzweck-Computerausrüstung operiert, oder sie kann in einer für diesen Zweck gebauten Schaltung ausgeführt werden oder in einem Microcode oder ähnlichem in einer integrierten Schaltung oder einem Satz von integrierten Schaltungen enthalten sein.
  • Die vorhergehende detaillierte Beschreibung der Ausführungsbeispiele der Erfindung wurde lediglich als eine Beispiel präsentiert, und das Beispiel soll nicht als einschränkend für die Erfindung angesehen werden, wie sie in den hierzu beigefügten Ansprüchen definiert ist.
  • Glossary bzw. Nachschlageliste der Gleichungen MDCT
    Figure 00190001

Claims (14)

  1. Verfahren zum Kodieren von Audiodaten, wobei das Verfahren die folgenden Schritte aufweist: Erhalten bzw. Erfassen wenigstens einer Eingangssequenz von Digitalaudioabtastungen bzw. -samples; Vorbearbeitung der Eingangssequenzabtastungen einschließlich dem Anlegen eines Vor-Multiplikationsfaktors zum Erhalten modifizierter Eingangssequenzabtastungen; Transformieren der modifizierten Eingangssequenzabtastungen in eine Transformationskoeffizientensequenz unter Verwendung einer Fast-Fourier-Transformation; und Nachbearbeiten der Sequenz aus Transformationskoeffizienten einschließlich des Anlegens erster Nach-Multiplikationsfaktoren an die realen und imaginären Koeffizientenbestandteile, Differenzieren und Kombinieren der nachmultiplizierten realen und imaginären Bestandteile, Anwenden zweiter Nach-Multiplikationsfaktoren auf die Differenz- und Kombinationsergebnisse und Differenzieren zum Erhalten einer Sequenz aus modifizierten diskreten Kosinustransformationskoeffizienten, welche die Eingangssequenz von Digitalaudioabtastungen repräsentieren.
  2. Verfahren nach Anspruch 1, wobei der Vor-Multiplikationsfaktor und die ersten und zweiten Nach-Multiplikationsfaktoren trigonometrische Funktionsfaktoren sind.
  3. Verfahren nach Anspruch 2, wobei der Vor-Multiplikationsfaktor, der an jede digitale Audiostichprobe in der Eingangssequenz angelegt wird, eine trigonometrische Funktion der Audioabtastungssequenzposition und der Anzahl von Abtastungen in der Sequenz ist.
  4. Verfahren nach Anspruch 2, wobei die ersten Nach-Multiplikationsfaktoren für jeden Transformationskoeffizienten in der Sequenz trigonometrische Funktio nen der Transformationskoeffizientensequenzposition und der Anzahl von Koeffizienten in der Sequenz ist.
  5. Verfahren nach Anspruch 2, wobei der zweite Nach-Multiplikationsfaktor für jedes Differenz- oder Kombinationsergebnis trigonometrische Funktionen der Transformationskoeffizientensequenzposition und der Koeffizienten, welche in der Differenz oder Kombination verwendet werden, sind.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei die Vorbearbeitungsvorgänge an jeder Stichprobe in der Sequenz individuell durchgeführt werden.
  7. Verfahren nach einem der Ansprüche 1 bis 6, wobei die Nachbearbeitungsvorgänge an jedem Transformationskoeffizienten in der Sequenz individuell durchgeführt werden.
  8. Verfahren zum Kodieren von Audiodaten, wobei das Verfahren die folgenden Schritte aufweist: Erhalten bzw. Erfassen erster und zweiter Eingangssequenzen von Digitalaudioabtastungen bzw. -samples, welche ersten bzw. zweiten Audiokanälen entsprechen; Kombinieren der ersten und zweiten Eingangssequenzen aus Digitalaudioabtastungen in eine einzelne komplexe Eingangsabtastungssequenz; Vorbearbeiten der komplexen Eingangssequenzabtastungen einschließlich des Anlegens eines Vor-Multiplikationsfaktors zum Erhalten modifizierter komplexer Eingangssequenzabtastungen; Transformieren der modifizierten komplexen Eingangssequenzabtastungen in eine komplexe Transformationskoeffizientensequenz unter Verwendung einer Fast-Fourier-Transformation; und Nachbearbeiten der Sequenz aus komplexen Transformationskoeffizienten zum Erhalten erster und zweiter Sequenzen von audiokodierten Frequenzdomainkoeffizienten entsprechend den ersten und zweiten Audiokanälen, wobei die Nachbearbeitung folgendes aufweist: für jeden entsprechenden Frequenzdomainkoeffizienten in den ersten und zweiten Sequenzen Auswählen erster und zweiter komplexer Transformationskoeffizienten aus der Sequenz von komplexer Transformationskoeffizienten aus der Sequenz von komplexen Transformationskoeffizienten, Kombinieren des ersten komplexen Transformationskoeffizienten und des Komplexkonjugat des zweiten komplexen Transformationskoeffizienten für den ersten Kanal und Differenzieren des ersten komplexen Transformationskoeffizienten und des Komplexkonjugat des zweiten komplexen Transformationskoeffizienten für den zweiten Kanal und Anlegen jeweiliger Nach-Multiplikationsfaktoren an die Kombination und die Differenz zum Erhalten der audiokodierten Frequenzdomainkoeffizienten, die den ersten und zweiten Audiokanälen entsprechen.
  9. Verfahren nach Anspruch 8, wobei der Vor-Multiplikationsfaktor für jede Stichprobe in der komplexen Eingangsabtastungssequenz eine komplexe trigonometrische Funktion aus der komplexen Eingangsabtastungssequenzposition und der Anzahl von Abtastungen in der Sequenz ist.
  10. Verfahren nach Anspruch 8 oder 9, wobei die Nachbearbeitung für jeden der ersten und zweiten Kanäle das Anlegen erster Nach-Multiplikationsfaktoren an die realen und imaginären Koeffizientenbestandteile, das Differenzieren und Kombinieren der nach-multiplizierten realen und imaginären Bestandteile, das Anlegen zweiter Nach-Multiplikationsfaktoren an die Differenz- und Kombinationsergebnisse und das Differenzieren umfasst zum Erhalten einer Sequenz von modifizierten diskreten Kosinustransformationskoeffizienten, welche die Eingangssequenz der Digitalaudioabtastungen darstellen.
  11. Verfahren zum Kodieren von Audiodaten nach Anspruch 8, wobei das Verfahren das Untersuchen der ersten und zweiten Sequenzen von Digitalaudioabtastungen umfasst zum Bestimmen einer kurzen oder langen Transformationslänge und zum Kodieren der Audioabtastungen unter Verwendung einer kurzen oder langen Transformationslänge, wie sie bestimmt wurde.
  12. Verfahren zum Kodieren von Audiodaten, die Sequenzen von Digitalaudioabtastungen von einer Vielzahl von Audiokanälen aufweisen, wobei das Verfahren folgendes aufweist: Bestimmen einer Transformationslänge für jeden der Kanäle, Paaren der Kanäle gemäß ihrer bestimmten Transformationslänge und Kodieren der Audioabtastungen der ersten und zweiten Kanäle in jedem Paar nach Anspruch 8, und zwar gemäß der bestimmten Transformationslänge.
  13. Verfahren zum Kodieren von Audiodaten nach einem der vorhergehenden Ansprüche, wobei das Verfahren das Anlegen einer Fensterfunktion in Kombination mit dem Schritt des Anlegens eines Vor-Multiplikationsfaktors umfasst.
  14. Verfahren zum Kodieren von Audiodaten, das die folgenden Schritte aufweist: Erhalten bzw. Erfassen erster und zweiter Eingangssequenzen von Digitalaudioabtastungen x[n], y[n], die jeweiligen ersten und zweiten Audiokanälen entsprechen; Kombinieren der ersten und zweiten Eingangssequenzen von Digitalaudioabtastungen in eine einzelne komplexe Eingangsabtastungssequenz z[n], wobei z[n] = x[n] + jy[n]; Vorbearbeiten der komplexen Eingangssequenzabtastungen einschließlich des Anlegens eines Vor-Multiplikationsfaktors cos(πn/N) + jsin(πn/N) zum Erhalten von modifizierten komplexen Eingangssequenzabtastungen, wobei N die Anzahl von Audioabtastungen in jeder der ersten und zweiten Eingangssequenzen ist und n = 0, ..., (N – 1); Transformieren der modifizierten komplexen Eingangssequenzabtastungen in eine komplexe Transformationskoeffizientensequenz Zk unter Verwendung einer Fast-Fourier-Transformation, wobei k = 0, ..., (N/2 – 1) ist; und Nachbearbeiten der Sequenz von komplexen Transformationskoeffizienten zum Erhalten erster und zweiter Sequenzen von audiokodierten Frequenzdomainkoeffizienten, die den ersten und zweiten Audiokanälen Xk, Yk entsprechen, und zwar gemäß Gk = (Zk + Z*N–k–1 )/2 k = 0 ... N/2 – 1 G'k = (Zk + Z*N–k–1 )/2j k = 0 ... N/2 – 1 Xk = cosγ*(gk,rcos(π(k + 1/2)/N) – gk,isin(π(k + 1/2)/N) – sinγ*(gk,rsin(π(k + 1/2)/N) + gk,icos(π(k + 1/2)/N) Yk = cosγ*(g'k,rcos(π(k + 1/2)/N) – g'k,isin(π(k + 1/2)/N) – sinγ*(g'k,rsin(π(k + 1/2)/N + g'k,icos(π(k + 1/2)/N)wobei Gk eine Transformationskoeffizientensequenz für den ersten Kanal ist; G'k eine Transformationskoeffizientensequenz für den zweiten Kanal ist; gk,r und gk,i die realen und imaginären Transformationskoeffizientenbestandteile von Gk sind; g'k,r und g'k,i die realen und imaginären Transformationskoeffizientenbestandteile von G'k sind; Z*N–k–1 das komplexe Konjugat von ZN–k–1 ist; und γ(k) = π(2k + 1)/4.
DE69823557T 1998-02-21 1998-02-21 Schnelle frequenztransformationstechnik für transform audio koder Expired - Fee Related DE69823557T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SG1998/000014 WO1999043110A1 (en) 1998-02-21 1998-02-21 A fast frequency transformation techique for transform audio coders

Publications (2)

Publication Number Publication Date
DE69823557D1 DE69823557D1 (de) 2004-06-03
DE69823557T2 true DE69823557T2 (de) 2005-02-03

Family

ID=20429840

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69823557T Expired - Fee Related DE69823557T2 (de) 1998-02-21 1998-02-21 Schnelle frequenztransformationstechnik für transform audio koder

Country Status (3)

Country Link
EP (1) EP1057292B1 (de)
DE (1) DE69823557T2 (de)
WO (1) WO1999043110A1 (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
DE19959156C2 (de) * 1999-12-08 2002-01-31 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Verarbeiten eines zu codierenden Stereoaudiosignals
US7240001B2 (en) 2001-12-14 2007-07-03 Microsoft Corporation Quality improvement techniques in an audio encoder
US6934677B2 (en) 2001-12-14 2005-08-23 Microsoft Corporation Quantization matrices based on critical band pattern information for digital audio wherein quantization bands differ from critical bands
US7299190B2 (en) 2002-09-04 2007-11-20 Microsoft Corporation Quantization and inverse quantization for audio
US7502743B2 (en) 2002-09-04 2009-03-10 Microsoft Corporation Multi-channel audio encoding and decoding with multi-channel transform selection
GB2423451A (en) * 2005-02-16 2006-08-23 Ishce Ltd Inserting a watermark code into a digitally compressed audio or audio-visual signal or file
US7539612B2 (en) 2005-07-15 2009-05-26 Microsoft Corporation Coding and decoding scale factor information
US7953604B2 (en) 2006-01-20 2011-05-31 Microsoft Corporation Shape and scale parameters for extended-band frequency coding
US7831434B2 (en) 2006-01-20 2010-11-09 Microsoft Corporation Complex-transform channel coding with extended-band frequency coding
US7885819B2 (en) 2007-06-29 2011-02-08 Microsoft Corporation Bitstream syntax for multi-process audio decoding

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2646778B2 (ja) * 1990-01-17 1997-08-27 日本電気株式会社 ディジタル信号処理装置
JP2866754B2 (ja) * 1991-03-27 1999-03-08 三菱電機株式会社 演算処理装置
CA2090052C (en) * 1992-03-02 1998-11-24 Anibal Joao De Sousa Ferreira Method and apparatus for the perceptual coding of audio signals
JPH06112909A (ja) * 1992-09-28 1994-04-22 Sony Corp 改良dctの信号変換装置
DE69534097T2 (de) * 1994-12-21 2006-02-09 Koninklijke Philips Electronics N.V. Booth-Multiplizierer für trigonometrische Funktionen

Also Published As

Publication number Publication date
WO1999043110A1 (en) 1999-08-26
EP1057292A1 (de) 2000-12-06
EP1057292B1 (de) 2004-04-28
DE69823557D1 (de) 2004-06-03

Similar Documents

Publication Publication Date Title
EP1741039B1 (de) Informationssignalverarbeitung durch modifikation in der spektral-/modulationsspektralbereichsdarstellung
DE60317722T2 (de) Verfahren zur Reduzierung von Aliasing-Störungen, die durch die Anpassung der spektralen Hüllkurve in Realwertfilterbanken verursacht werden
DE4320990B4 (de) Verfahren zur Redundanzreduktion
DE60318835T2 (de) Parametrische darstellung von raumklang
DE602004004818T2 (de) Audiosignalcodierung oder -decodierung
DE69927505T2 (de) Verfahren zum einfügen von zusatzdaten in einen audiodatenstrom
DE69432538T2 (de) Digitales Signalkodierungsgerät, dazugehöriges Dekodiergerät und Aufzeichnungsträger
EP0910927B1 (de) Verfahren zum codieren und decodieren von stereoaudiospektralwerten
DE69116476T2 (de) Digitaler Signalverschlüssler
DE69107841T2 (de) Transformationskodierer und -dekodierer mit adaptiver blocklänge, adaptiver transformation und adaptivem fenster für hochwertige tonsignale.
DE69210064T2 (de) Teilbandkodierer und Sender unter Verwendung dieses Kodierers
EP0750811B1 (de) Verfahren zum codieren mehrerer audiosignale
EP1609084B1 (de) Vorrichtung und verfahren zum umsetzen in eine transformierte darstellung oder zum inversen umsetzen der transformierten darstellung
EP1647009B1 (de) Vorrichtung und verfahren zum verarbeiten eines signals
DE69826529T2 (de) Schnelle datenrahmen-optimierung in einem audio-kodierer
DE10234130B3 (de) Vorrichtung und Verfahren zum Erzeugen einer komplexen Spektraldarstellung eines zeitdiskreten Signals
EP1397799B1 (de) Verfahren und vorrichtung zum verarbeiten von zeitdiskreten audio-abtastwerten
EP1016319B1 (de) Verfahren und vorrichtung zum codieren eines zeitdiskreten stereosignals
DE60024729T2 (de) System und verfahren zum effizienten antialiasing im zeitbereich (tdac)
EP1654674B1 (de) Vorrichtung und verfahren zum verarbeiten von wenigstens zwei eingangswerten
DE69823557T2 (de) Schnelle frequenztransformationstechnik für transform audio koder
EP0719483A1 (de) Verfahren zum bestimmen der zu wählenden codierungsart für die codierung von wenigstens zwei signalen
EP0642719B1 (de) Verfahren zur reduzierung von daten bei der übertragung und/oder speicherung digitaler signale mehrerer voneinander abhängiger kanäle
EP1926082A1 (de) Verfahren zur skalierbaren Codierung von Stereo-Signalen
WO2015049332A1 (de) Ableitung von multikanalsignalen aus zwei oder mehreren grundsignalen

Legal Events

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