DE69533657T2 - Synthese-Teilbandfilter - Google Patents

Synthese-Teilbandfilter Download PDF

Info

Publication number
DE69533657T2
DE69533657T2 DE69533657T DE69533657T DE69533657T2 DE 69533657 T2 DE69533657 T2 DE 69533657T2 DE 69533657 T DE69533657 T DE 69533657T DE 69533657 T DE69533657 T DE 69533657T DE 69533657 T2 DE69533657 T2 DE 69533657T2
Authority
DE
Germany
Prior art keywords
value
subband
multiplexer
sample
adder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69533657T
Other languages
English (en)
Other versions
DE69533657D1 (de
Inventor
Sung Bae Hwang
Chai Yeol Rim
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.)
LG Electronics Inc
Original Assignee
LG Electronics 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 LG Electronics Inc filed Critical LG Electronics Inc
Application granted granted Critical
Publication of DE69533657D1 publication Critical patent/DE69533657D1/de
Publication of DE69533657T2 publication Critical patent/DE69533657T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/02Analogue recording or reproducing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/66Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for reducing bandwidth of signals; for improving efficiency of transmission
    • H04B1/667Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for reducing bandwidth of signals; for improving efficiency of transmission using a division in frequency subbands

Landscapes

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

Description

  • Hintergrund der Erfindung
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft einen Synthese-Teilbandfilter, insbesondere einen Synthese-Teilbandfilter zum Dekodieren eines digitalen Audiosignals.
  • 2. Beschreibung des Standes der Technik
  • Es gibt mehrere Verfahren zur Kodierung eines digitalen Audiosignals, in welchem eine motion picture expert group (MPEG) ein Verfahren zum Unterscheiden der Quantisierungslevel durch Teilbandfilter gemäß den Eigenschaften pro Ausgabesignal von entsprechenden Teilbändern verwendet.
  • Das wie oben erwähnt kodierte Audiosignal wird einer inversen Quantisierung unterworfen, um durch einen Synthese-Teilbandfilter in das originale Audiosignal wiederhergestellt zu werden.
  • 1 ist ein Flussdiagramm, das die Rechenoperation eines allgemeinen Synthese-Teilbandfilters zeigt.
  • Wenn ein Bandpassfilter zum Kompressionskodieren eines Audiosignals verwendet wird, muß ein Synthesefilter für die Wiederherstellung des Audiosignals ausgebildet sein.
  • Der allgemeine von der MPEG festgelegte Wiederherstellungsprozeß wird mit Bezugnahme auf 1 beschrieben.
  • Zunächst sind 32 neue Teilbandabtastungen Si (wobei i = 0, 1, ..., 31) neu empfangen (Schritt 1).
  • Unter Verwendung der 32 empfangenen Teilbandabtastungen Si wird ein Matrixwert Vi um 64 s geschoben (Schritt 2), was geschrieben werden kann als: Vi = Y[i – 64] (1)wobei i eine Zahl von 1023 bis 64 ist.
  • Nach dem Schieben wird der Matrixwert Vi wie unten berechnet (Schritt 3):
    Figure 00020001
    wobei i eine Zahl von 0 bis 63 ist, so dass 64 Matrixwerte Vi gebildet werden.
  • Nach der Matrixoperation wird eine Abbildung durchgeführt, um einen wie in Gleichungen (3) und (4) definierten Abbildungswert Ui zu bilden. U[i*64 + j] = V[i*128 + j] (3) U[i*64 + 32 + 1] = V[i*328+96 + i] (4)wobei der Abbildungswert Ui so erhalten wird, dass i eine Zahl von 0 bis 7 ist, und j eine Zahl von 0 bis 31 ist. Dann wird eine Rechenoperation ausgeführt, um einen Rechenwert Wi, wie in der folgenden Gleichung (Schritt 5) ausgedrückt, zu ergeben. Das heißt, dass Wi = Ui*Di( 5)wobei i zu 512 von 0 bis 511 numeriert ist.
  • Danach werden 32 Abtastwerte Sj entsprechend der folgenden Gleichung (Schritt 6) berechnet:
    Figure 00030001
    wobei j eine Zahl von 0 bis 31 ist.
  • Nach der Berechnung von 32 Abtastungen, sind 32 rekonstruierte pulskodemodulierte (PCM) (reconstructed 32 pulse-coded modulation (PCM)) Abtastungen bereitgestellt (Schritt 7). Um das gemäß dem obigen Algorithmus kodierte Audiosignal wiederherzustellen, ist ein allgemeiner digitaler Signalprozessor oder Mikroprozessor, ein Datenspeicher und ein Programmspeicher verwendet.
  • Genauer, wenn ein auszuführender Algorithmus in einem Programmspeicher geschrieben ist, dekodiert ein Prozessor das Programm und liest ein teilbandgefiltertes Signal in dem Datenspeicher aus, um eine Operation entsprechend der Dekodierung auszuführen, und das Ergebnis wird dem Datenspeicher zugeführt, wobei das Synthesefiltern ausgeführt wird.
  • Jedoch, weil der Algorithmus in herkömmlicher weise mittels des allgemeinen Prozessors ausgeführt ist, sind viele Zyklen für das Berechnen erforderlich, so dass eine Hochgeschwindigkeitsverarbeitung behindert ist, was wiederum die in dem Prozessor empfangenen Takte zur Durchführung einer Echtzeitverarbeitung notwendigerweise beschleunigt.
  • Daher wird der Preis des Prozessors hoch und noch weiter erhöht, wenn ein Mehrkanal-Signal verarbeitet wird.
  • Das Dokument aus dem Stand der Technik, Maturi G: "Single chip MPEG audio decoder", IEEE Transactions on Consumer Electronics, US, vol. 38, no. 3, 1 August 1992, pp348-355, offenbart eine Audiodekoderarchitektur, wie sie im Oberbegriff von Anspruch 1 beschrieben ist.
  • Zusammenfassung der Erfindung
  • Spezielle Ausführungsformen in der vorliegenden Erfindung sind auf das Lösen der oben beschriebenen Probleme gerichtet. Entsprechend ist es eine Aufgabe dieser Ausführungsformen, einen Teilbandfilter für ein Durchführen eines Syntheseteilbandfilterns mit hoher Geschwindigkeit und Ermöglichen der Mehrkanalverarbeitung bereitzustellen.
  • Die Erfindung stellt einen Syntheseteilbandfilter, wie in Anspruch 1 beschrieben, bereit.
  • Kurze Beschreibung der Zeichnungen
  • Die obigen Aufgaben und anderen Vorteile der vorliegenden Erfindung werden durch detailliertes Beschreiben bevorzugter Ausführungsformen hiervon unter Bezugnahme auf die beiliegenden Zeichnungen klarer, wobei:
  • 1 ein Flussdiagramm ist, das den Rechenprozeß eines allgemeinen Synthese-Teilbandfilters zeigt;
  • 2 eine Aufbauansicht ist, die eine erfindungsgemäße Ausführungsform eines Synthese-Teilbandfilters zeigt;
  • 3 eine Aufbauansicht ist, die eine andere erfindungsgemäße Ausführungsform des Syntheseteilbandfilters zeigt;
  • 4A eine detaillierte Aufbauansicht ist, die eine Ausführungsform des Matrixwertprozessors der 2 und 3 zeigt;
  • 4B eine detaillierte Aufbauansicht ist, die eine andere Ausführungsform des Matrixwertprozessors der 2 und 3 zeigt;
  • 5A eine detaillierte Aufbauansicht ist, die eine Ausführungsform der Ausgabeabtasteinheit von 2 und 3 zeigt;
  • 5B eine detaillierte Aufbauansicht ist, die eine andere Ausführungsform der Ausgabeabtasteinheit der 2 und 3 zeigt;
  • 6A eine Aufbauansicht ist, die den Matrixwertprozessor im Falle eines Mehrkanals zeigt; und
  • 6B eine Aufbauansicht ist, die die Ausgabeeinheit im Falle des Mehrkanals zeigt.
  • Detaillierte Beschreibung der bevorzugten Ausführungsformen
  • Unter Bezugnahme auf 2 wird eine Ausführungsform eines Synthese-Teilbandfilters im Detail beschrieben.
  • Der in 2 gezeigte Synthese-Teilbandfilter umfasst einen Matrixwertprozessor 10, ein erstes Register (nicht gezeigt), eine Konstantenspeichereinheit 30, einen Multiplikationsoperator 40, einen Additionsoperator 50 und eine Ausgabeeinheit 60.
  • Der Matrixwertprozessor 10 erhält einen geschobenen Matrixwert Vi und einen Abbildungswert Ui, wie in den Gleichungen (7), (8), und (9), gezeigt, mittels 32 Matrixwerten V und Teilbandabtastungen Si von dem Additionsoperator 50, so daß gilt: Vi = V[i – 64] (7)wobei i eine Konstante von 1023 bis 64 ist. U(i*64 + j) – V[i*128 + j] (8) U[i*64 + 32 + i] = V(i*128 + 96 + i] (9)wobei i eine Konstante von 0 bis 7 ist, und J eine Konstante von 0 bis 31 ist.
  • Das erste Register speichert vorübergehend die Ausgabe des Matrixwertprozessors 10, um in Abgleich mit einer zeitlichen Steuerung zu sein.
  • Die Konstantenspeichereinheit 30 speichert einen Matrixkonstantwert Nik und einen Operationskonstantwert Di, und führt die gespeicherten Konstantwerte Nik und Di dem Multiplikationsoperator 40 zu.
  • Die Konstantenspeichereinheit 30 ist aus zwei Zählern 31 und 32, zwei ROMs 33 und 34 und einem Multiplexer 35 gebildet.
  • Der Zähler 31 zählt einen Takt CLK1 als eine Eingabe hiervon, um den gezählten Takt an das ROM 33 auszugeben.
  • Das ROM 33 speichert den voreingestellten Matrixkonstantwert Nik und stellt den gespeicherten Matrixkonstantwert Nik gemäß der Ausgabe des Zählers 31 sequentiell bereit.
  • Der Zähler 32 zählt einen Takt CLK2 als eine Eingabe hiervon, um den gezählten Takt an das ROM 34 auszugeben.
  • Das ROM 34 speichert den voreingestellten Operationskonstantwert Di, und stellt den gespeicherten Operationskonstantwert Di gemäß der Ausgabe des Zählers 32 sequentiell bereit.
  • Der Multiplexer 35 empfängt selektiv den Matrixkonstantwert Nik von dem ROM 33 oder den Operationskonstantwert Di von dem ROM 34, um den ausgewählten Wert dem Multiplikationsoperator 40 zuzuführen.
  • Der Takt CLK1 gestattet es dem Zähler 31, zu zählen, um den in dem ROM 33 gespeicherten Matrixkonstantwert Nik sequentiell bereitzustellen, und der Takt CLK2 gestattet es dem Zähler 32, zu zählen, so dass der in dem ROM 34 gespeicherte Operationskonstantwert Di sequentiell bereitgestellt wird.
  • Der Matrixkonstantwert Nik und Operationskonstantwert Di der ROMs 33 und 34 werden von dem Multiplexer 35 ausgewählt, um dem Multiplikationsoperator 40 zugeführt zu werden.
  • Mit anderen Worten wählt der Multiplexer 35 den Ausgang des ROM 33, um den Matrixkonstantwert Nik dem Multiplikationsoperator 40 bereitzustellen, wenn der Multiplikationsoperator 40 die Multiplikation für eine Matrixberechnung durchführt; ansonsten wählt er den Ausgang des ROM 34 aus, um den Operationskonstantwert Di bereitzustellen, wenn der Multiplikationsoperator 40 die Multiplikation durchführt.
  • Insbesondere wählt der Multiplexer 35 den Ausgang des ROM 33 aus, wenn die in der folgenden Gleichung (10) definierte Operation ausgeführt wird, oder den Ausgang des ROM 34, wenn die in Gleichung (11) definierte Operation ausgeführt wird: Ak = Nik*Sk (10) Wi = Ui*Di (11)
  • Der Multiplikationsoperator 40 führt die Multiplikation mittels einer Teilbandabtastung Sk von dem ersten Register und dem Matrixkonstantwert Nik von der konstanten Speichereinheit 30 aus. Ebenso führt er die, wie in Gleichungen (12) und (13) ausgedrückte Multiplikation, mittels des Abbildungswertes Ui von dem ersten Register und dem Operationskonstantwert Di von der Konstantenspeichereinheit 30 aus. Ak = Nik*Sk (12)wobei k eine Konstante von 0 bis 31 ist, und Wi = Ui*Di (13)wobei i eine Konstante von 0 bis 511 ist.
  • Der Multiplikationsoperator 40 ist aus einem Multiplikator 41 und einem Register 42 gebildet.
  • Der Multiplikator 41 führt die Multiplikationsoperation wie in Gleichungen (14) und (15) ausgedrückt ist, mittels der Teilbandabtastung Sk und dem Abbildungswert Ui von dem Matrixwertprozessor 10 über das erste Register mit dem konstanten Wert Nik oder Di von dem Multiplexer 35 der konstanten Speichereinheit 30 aus. Ak = Nik*Sk (14)wobei k eine Konstante von 0 bis 31 ist, und Wi = Ui*Di (15)wobei i eine Konstante von 0 bis 511 ist.
  • Das Register 42 speichert vorübergehend Daten von dem Multiplikator 41.
  • Die Teilbandabtastung Sk von dem Matrixwertprozessor 10 via dem ersten Register und der Matrixkonstantwert Nik von dem Multiplexer 35 der Konstantenspeichereinheit 30 werden gemäß der folgenden Gleichung (16) in dem Multiplikator 41 multipliziert, d. h.: Ak = Nik*Sk (16)wobei k eine Konstante von 0 bis 31 ist.
  • Zusätzlich werden der Abbildungswert Ui von dem Matrixwertprozessor 10 via dem ersten Register und der Operationskonstantenwert Di von dem Multiplexer 35 der Konstantenspeichereinheit 30 miteinander gemäß der folgenden Gleichung (17) in dem Multiplikator 41 multipliziert, d. h.: Wi = Ui*Di (17)wobei i eine Konstante von 0 bis 511 ist.
  • Die der Multiplikationsoperation in dem Multiplikator 41 unterworfenen Daten werden, bevor sie ausgegeben werden, vorübergehend in dem Register 42 gespeichert.
  • Der Additionsoperator 50 addiert die Rechenwerte des Multiplikationsoperators 40, um die Matrixoperation und Abtastungsberechnung nach Gleichungen (18) und (19) unten zu vervollständigen:
    Figure 00100001
    wobei i eine Konstante von 0 bis 63 ist, und
    Figure 00100002
    wobei j eine Konstante von 0 bis 31 ist.
  • Die Matrixoperation und 32 Abtastberechnung werden wie oben beschrieben ausgeführt.
  • Der Additionsoperator 50 ist aus zwei Addierern 51 und 56, einem Register 52, einem Ausgabeabtaster 54, und einem FIFO 53 gebildet.
  • Der Addierer 51 überträgt den multiplizierten Rechenwert Wi von dem Register 42 des Multiplikationsoperators 40 im Takt, und addiert kumulativ die multiplizierten Rechenwerte Ak von dem Register 42 der Multiplikationsoperation 40, um die Matrixwerte Vi wie in Gleichungen (20) und (21) spezifiert, bereitzustellen.
    Figure 00110001
    wobei i eine Konstante von 0 bis 63 ist.
  • Das Register 52 versorgt den Addierer 51 mit den in dem Addierer 51 addierten Werten, um die kumulative Addition zu wiederholen.
  • Der Matrixwert Vi, der in dem Addierer 51 kumulativ addiert ist, um dem Register 52 zugeführt zu werden, ist dem FIFO 53 und dem Matrixwertprozessor 10 bereitgestellt.
  • Das FIFO 53 speichert den multiplizierten Rechenwert Wi, der unverändert gleich durch den Addierer 51 und das Register 52 weitergereicht wird, und versorgt den Addierer 56 mit dem ungeänderten Wert.
  • Der Addierer 56 addiert kumulativ den in dem FIFO 53 gespeicherten multiplizierten Operationswert Wi zu den 32 Ausgabe-Teilbandabtastungen (output 32 subband samples) Sj, was geschrieben ist als:
    Figure 00110002
    wobei j eine Konstante von 0 bis 31 ist.
  • Der Ausgabeabtaster 54 speichert einen zwischenberechneten Wert der Teilbandabtastung von dem Addierer 56.
  • Der multiplizierte Rechenwert Ak von dem Register 42 des Multiplikationsoperators 40 wird zunächst mit 0 addiert, in dem Register 42 gespeichert, und wieder dem Addierer 51 zugeführt, so dass er kontinuierlich und kumulativ addiert wird durch den Addierer 51 und Register 52, so dass der Matrixwert Vi produziert ist als Gleichung (23):
    Figure 00120001
    wobei i eine Konstante von 0 bis 63 ist.
  • Der kumulativ addierte Matrixwert Vi ist dem Matrixwertprozessor 10 bereitgestellt.
  • Der multiplizierte Rechenwert Wi von dem Register 42 des Multiplikationsoperators 40 passiert durch den Addierer 51 und Register 52 im Takt, bevor er in dem FIFO 53 gespeichert wird, und wird durch den Addierer 56 und Ausgabeabtaster 54 kumulativ addiert, so dass die Teilbandabtastung Sj produziert ist als:
    Figure 00120002
    wobei j eine Konstante von 0 bis 31 ist.
  • Im Detail wird der multiplizierte Rechenwert Wi von dem Register 42 des Multiplikationsoperators 40 in dem FIFO 53 gespeichert und wird zunächst in dem Addierer 56 mit Null addiert. Dann wird das Ergebnis wiederholt dem Addierer 56 via dem Ausgabeabtaster 54 zugeführt, so dass kontinuierlich und kumulativ via dem Addierer 56, dem Ausgabeabtaster 54 und FIFO 53 kumulativ addiert wird, so dass schließlich die Teilbandabtastung Sj bereitgestellt wird.
  • Die Ausgabeeinheit 60 besteht aus einem FIFO 61, um 32 Teilbandabtastungen Sj zu speichern, welche schließlich von dem Addierer 56 des Additionsoperators 50 bereitgestellt sind, um die gespeicherten Teilbandabtastungen Sj einem Digital/Analog-Konverter DAC bereitzustellen.
  • Die vorherigen 32 Teilbandabtastungen Si werden vorübergehend in dem Matrixprozessor 10 gespeichert, um in dem Multiplikationsoperator 40 mit dem Matrixkonstantwert Nik von der Konstantenspeichereinheit 30 multipliziert zu werden, und in dem Addierer 51 des Additionsoperators 50 kumulativ addiert zu werden, um den Matrixwertprozessor 10 mit dem Matrixwert Vi zu versorgen.
  • Der Matrixwert Vi von dem Addierer 51 des Additionsoperators 50 wird in dem Matrixwertprozessor 10 geschoben und abgebildet, so dass er als der Abbildungswert Ui ausgegeben wird.
  • Der Abbildungswert Ui von dem Matrixwertprozessor 10 wird mit dem Operationskonstantenwert Di von der Konstantenspeichereinheit 30 multipliziert und in dem Addierer 56 des Additionsoperators 50 kumulativ adddiert, um als 32 Teilbandabtastungen Sj über die Ausgabeeinheit 60 ausgegeben zu werden.
  • 3 ist eine Aufbauansicht, die eine andere Ausführungsform des Synthese-Teilbandfilters zeigt, welcher einen Matrixwertprozessor 10, eine Konstantenspeichereinheit 30, einen Multiplikationsoperator 40, einen Additionsoperator 70 und eine Ausgabeeinheit 60 beinhaltet.
  • Weil der Betrieb und Konstruktion des Matrixwertprozessors 10, Konstantenspeichereinheit 30, Multiplikationsoperators 40 und Ausgabeeinheit 60 die gleichen sind, wie die einer Ausführungsform des in 2 gezeigten Synthese-Teilbandfilters sind, werden nur die Konstruktion und Operation des Additionsoperators 70 im Detail beschrieben.
  • Der Additionsoperator 70 addiert die Rechenwerte von dem Multiplikationsoperator 40, um die Matrixoperation und Abtastberechnung gemäß den folgenden Gleichungen (25) und (26) zu vervollständigen:
    Figure 00140001
    wobei i eine Konstante von 0 bis 63 ist, und
    Figure 00140002
    wo j eine Konstante von 0 bis 31 ist.
  • Die Matrixoperation und 32 Abtastberechnungen (32 sample calculation) werden wie oben beschrieben ausgeführt.
  • Der Additionsoperator 70 ist aus zwei Multiplexern 72 und 73, einem Addierer 75 einem Ausgabeabtaster 71, einem FIFO 74 und einem Register 76 gebildet.
  • Die Multiplexer 72 und 73 dienen dem zeitlichen Multiplexen der Operationen des Matrixwertes Vi und Teilbandabtastung Sj.
  • Der Multiplexer 73 wählt den multiplizierten Rechenwert Ak oder Wi von dem Register 42 des Multiplikationsoperators 40 aus, um den ausgewählten Wert dem Addierer 75 bereitzustellen.
  • Der Addierer 75 verarbeitet kumulativ den multiplizierten Operationswert Wi und den multiplizierten Rechenwert Ak, beide von dem Multiplexer 73, um den Matrixwert Vi und die Teilbandabtastung Sj auszugeben.
  • Das FIFO 74 speichert den multiplizierten Operationswert Wi von dem Multiplexer 73, um den Multiplexer 73 wiederum mit dem gespeicherten Wert zu versorgen.
  • Der Ausgabeabtaster 71 speichert den zwischenberechneten Wert der Teilbandabtastung von dem Addierer 75, um den Multiplexer 72 mit dem gespeicherten Wert in Abstimmung mit einer Zeitsteuerung zu versorgen.
  • Das Register 76 speichert den kumulativ in dem Addierer 75 addierten Matrixwert Vi, um den Multiplexer 72 mit dem gespeicherten Wert zu versorgen, und versorgt den Matrixwertprozessor 10 mit dem letzten ausgegebenen Matrixwert Vi.
  • Auch 32 Teilbandabtastungen Sj, die, bevor sie schließlich ausgegeben werden sollen, in dem Addierer 75 kumulativ addiert sind, sind in dem Register 76 gespeichert, um die Ausgabeeinheit 60 zu versorgen.
  • Der Multiplexer 72 wählt die zwischenberechnete Teilbandabtastung von dem Register 76 und Ausgabeabtaster 71 sowie den zwischenberechneten Matrixwert von dem Register 76 aus, um den ausgewählten Wert dem Addierer 75 zuzuführen.
  • Als erstes, in dem Fall, dass die 32 Teilbandabtastungen Sj berechnet werden, wird der multiplizierte Operationswert Wi von dem Register 42 des Multiplikationsoperator 40 durch den Multiplexer 73 ausgewählt, in dem Addierer 75 mit Null addiert, in dem Ausgabeabtaster 71 gespeichert und dann in dem Ausgabeabtaster 71 gespeichert, um dem Multiplexer 72 zugeführt zu werden.
  • Auch der multiplizierte Operationswert Wi von dem Register 42 des Multiplikationsoperators 40 passiert im Takt durch den Addierer 75, um in dem FIFO 74 gespeichert zu werden, und wird über den Multiplexer 73 dem Addierer 75 zugeführt.
  • Der zwischenberechnete Wert der Teilbandabtastung von dem Ausgabeabtaster 71 ist in dem Multiplexer 72 auszuwählende Eingabe und ist Ausgabe an den Addierer 75, um zu dem multiplizierten Operationswert Wi des durch den Multiplexer 73 ausgewählten FIFOs 74 kumulativ addiert zu werden, wie unten:
    Figure 00160001
    wobei j eine Konstante von 0 bis 31 ist.
  • Die fertige in dem Addierer 75 kumulativ addierte Ausgabe-Teilbandabtastung Sj ist in dem Register 76 gespeichert, um der Ausgabeeinheit 60 bereitgestellt zu sein. Als zweites, in dem Fall, dass der Matrixwert Vi berechnet wird, wird der multiplizierte Operationswert Ak von dem Register 42 des Multiplikationsoperators 40 von dem Multiplexer 73 ausgewählt, um zunächst mit Null addiert zu werden, in dem Register 76 gespeichert, um dem Multiplexer 72 bereitgestellt zu werden.
  • Der multiplizierte Operationswert Ak von dem Register 42 des Multiplikationsoperators 40 wird über den Multiplexer 73 empfangen und mit dem zuvor addierten multiplizierten Operationswert von dem Addierer 75 zu dem Multiplexer 72 kumulativ addiert, wie in der folgenden Gleichung (28) definiert ist:
    Figure 00170001
    wobei i eine Konstante von 0 bis 63 ist.
  • Der fertige Ausgabe-Matrixwert Vi wird, nachdem er in dem Addierer 75 addiert ist, über das Register 76 zu dem Matrixwertprozessor 10 geleitet.
  • 4A ist eine detaillierte Aufbauansicht, die eine Ausführungsform des Matrixwertprozessors 10 der 2 und 3 zeigt, und 4B ist eine detaillierte Aufbauansicht, die eine andere Ausführungsform des Matrixwertprozessors 10 zeigt.
  • Der Matrixwertprozessor 10, der ein Mehrfach-FIFO verwendet, wie in 4A gezeigt, umfasst zwei Multiplexer 11 und 13, ein FIFO 12 zum Speichern der Teilbandabtastung Si und ein aus 32 FIFOs 140 bis 171 bestehendes Mehrfach-FIFO 14, zum Speichern des Matrixwertes Vi.
  • Der Multiplexer 11 wählt die Teilbandabtastung von dem FIFO 12 und eine neu empfangene Teilbandabtastung Si aus, um das FIFO 12 mit der ausgewählten Abtastung zu versorgen.
  • Das FIFO 12 speichert die Teilbandabtastung Si von dem Multiplexer 11 und stellt die gespeicherte Teilbandabtastung Si gemäß einem Teilbandabtastungs- Ausgabefreigabesignal (subband sample output enable signal) OES über das erste Register dem Multiplizierer 41 bereit.
  • Der Multiplexer 13 wählt den Matrixwert Vi von dem Mehrfach-FIFO 14 oder den Matrixwert Vi von dem Addierer 51 oder 75 des Additionsoperators 50 oder 70 aus, um den ausgewählten Wert dem Mehrfach-FIFO 14 auszugeben.
  • Das durch die Mehrzahl von FIFOs 140 bis 171 parallel zueinander verbundenen FIFOs gebildete Mehrfach-FIFO 14 speichert den Matrixwert Vi von dem Multiplexer 13 in Antwort auf ein Matrixwert-Speicherfreigabesignal (latch enable signal) LEvV-0 bis LEvV-31 und liefert den gespeicherten Matrixwert Vi an den Multiplizierer 41 des Multiplikationsoperators 40 in Antwort auf Matrixwertspeicher-Freigabesignale OEV-0 bis OEV-31
  • Da der Matrixwert Vi mittels eines sequentiellen Zugriffs der Mehrfach-FIFO 14 in einer 32-Abtasteinheit (32-sample unit) auf den Abbildungswert Ui abgebildet ist, ist das Mehrfach-FIFO 14 aus 32 FIFOs 140 bis 171 gebildet, die in der Lage sind, mehr als 32 Abtastungen zu speichern.
  • Der Matrixwertprozessor 10, welcher zwei FIFOs benutzt, wie in 4B gezeigt, ist aus zwei Multiplexern 15 und 16, einem FIFO 17 und einem doppelten FIFO 18 gebildet.
  • Der Multiplexer 15 wählt die Teilbandabtastung von dem FIFO 17 oder neu empfangene Teilbandabtastung Si aus, um dem FIFO 17 die ausgewählte Teilbandabtastung zuzuführen.
  • Das FIFO 17 speichert die Teilbandabtastung Si von dem Multiplexer 15, um die gespeicherte Teilbandabtastung Si gemäß einem Teilbandausgabe-Freigabesignal (output enable signal) OES bereitzustellen.
  • Der Multiplexer 16 wählt den Matrixwert Vi von dem doppelten FIFO 18 oder den Matrixwert von dem Addierer 51 oder 75 des Additionsoperators 50 oder 70 aus, um dem doppelten FIFO 18 den ausgewählten Matrixwert bereitzustellen.
  • Das doppelte FIFO 18, welches durch zwei parallel zueinander verbundene FIFOs 181 und 182 gebildet ist, speichert den Matrixwert Vi von dem Multiplexer 16 gemäß Matrixwert-Speicherfreigabesignalen LEV-a und LEV-b, und versorgt den Multiplizierer 41 des Multiplikationsoperators 40 mit dem gespeicherten Matrixwert Vi gemäß Matrixwert-Ausgabefreigabesignalen OEV-a und OEV-b.
  • Der Matrixwert Vi wird durch den sequentiellen Zugriff des doppelten FIFO 18 abgebildet, so dass er der Abbildungswert Ui ist. Aus diesem Grunde kann das doppelte FIFO 18 nur durch zwei FIFOs 181 und 182 ausgeführt werden, wenn der Matrixwert Vi abgebildet ist, um der Abbildungswert Ui durch 512 s zu sein.
  • Vorausgesetzt, dass die Zahl der Teilbandabtastungen Si N ist, besteht das Mehrfach-FIFO 14 aus wenigstens N FIFOs.
  • Genauer, wenn 512 Abbildungswerte Ui mittels 1024 Matrixwerten Vi gebildet sind, ist der Matrixwert Vi abgebildet, so dass er der Abbildungswert in einer 32-Abtastungseinheit wird, so dass sich die Zahl der das Mehrfach-FIFO 14 bildenden FIFOs auf mindestens 32 beläuft.
  • Wenn die Abbildung in einer M-Abtasteinheit (M sample unit) ausgeführt wird, wird das Mehrfach-FIFO durch wenigstens M FIFOs gebildet. Auch, wenn die Abtastung des Matrixwerts Vi sich auf K beläuft, besteht das Mehrfach-FIFO aus K/M und weniger FIFOs.
  • 5A ist eine detaillierte Aufbauansicht, die eine Ausführungsform der Ausgabeabtasteinheit 54 oder 71 der 2 und 3 zeigt, und 5B ist eine detaillierte Aufbauansicht, die eine andere Ausführungsform der Ausgabeabtasteinheit 54 oder 71 der 2 und 3 zeigt.
  • Die Ausgabeeinheit 54 oder 71, mittels der mehrfachen Register, wird durch 32 Register 5400 bis 5431 gebildet, wie in 5A gezeigt.
  • Weil 32 Ausgaben in Bezug auf neu empfangene 32 Teilbandabtastsignale Si gebildet sind, sind die zwischenberechneten Werte der 32 Teilbandabtastungen in 32 Registern 5400 bis 5431 gespeichert.
  • Die Ausgabeabtasteinheit 54 oder 71 mittels des Mehrfach-FIFO wird durch ein FIFO 5432 gebildet, wie in 5B gezeigt.
  • Die zwischenberechneten Werte der 32 Teilbandabtastungen werden sequentiell in dem FIFO 5432 gespeichert, indem der sequentielle Zugriff der zwischenberechneten Werte der Teilbandabtastungen versendet wird.
  • 6A ist eine Aufbauansicht, die den Matrixwertprozessor 10 im Falle eines Mehrkanals zeigt, und 6B ist eine Aufbauansicht, die die in 2 und 3 gezeigte Ausgabeeinheit im Falle des Mehrkanals zeigt.
  • Wenn der Synthese-Teilbandfilter auf den Mehrkanal angewandt ist, wie in 6A und 6B gezeigt, können nur der Matrixwertprozessor 10 und Ausgabeeinheit 60 modifiziert werden, um als der Matrixwertprozessor 10 verwendet zu werden.
  • D. h., daß der Matrixwertprozessor und die Ausgabeeinheit gemäß der Anzahl an Kanälen parallel miteinander verbunden sind.
  • Wenn das Teilbandabtastsignal SNi von jedem Kanal von dem Addierer 51 oder 75 empfangen ist, berechnet jeder Matrixwertprozessor 111 bis 11N einen Matrixwert Vni mittels eines Eingabeteilbandabtastsignals SNi entsprechend der folgenden Gleichung (29), und versorgt den Multiplikator 41 mit dem berechneten Matrixwert Vni. Vni = kΣNik ⫳ Snk (19)wobei n einen nten Kanal bezeichnet, Sni das Teilbandabtastsignal Si von dem nten Kanal ist, und Vni der Matrixwert Vi des nten Kanals ist.
  • Die Ausgabeeinheit 60 kann gebildet werden, indem N FIFOs 511 bis 51N parallel zueinander verbunden werden, weil sie die Ausgabewerte von N Kanälen speichern soll.
  • Die Eingabe und Ausgabe der N FIFOs 511 bis 51N werden individuell gesteuert.
  • Der Synthese-Teilbandfilter, der ausgebildet ist, wie oben betrieben zu werden, erfordert nicht einen Programmspeicher, reduziert die Anzahl an Zyklen, die erforderlich sind, um eine Abtastung zu erhalten, so dass Hochgeschwindigkeitsverarbeitung ermöglicht ist, und betreibt einen notwendigen Takt bei einer geringen Frequenz, im Vergleich zur Verwendung des DSP oder Mikroprozessors. Weiterhin wird ein Mehrkanalaudiosignal pro Kanal verwendet, indem der Filter zeitlich so geteilt wird, so daß ein einzelner Synthese-Teilbandfilter auf einen Mehrkanalaudiodekoder angewandt ist.
  • Während die vorliegende Erfindung insbesondere unter Bezugnahme auf spezielle Ausführungen hiervon speziell gezeigt und beschrieben wurde, wird von dem Fachmann verstanden, dass verschiedene Veränderungen in Form und Details hierin bewirkt sein können, ohne von dem Bereich der wie in den angefügten Ansprüchen definierten Erfindung abzuweichen.

Claims (12)

  1. Synthese-Teilbandfilter für einen MPEG-Audiosignaldekodierer, umfassend: ein Matrixwertverarbeitungsmittel (10), um einen verschobenen Matrixwert und einen Zuordnungswert mittels einer Eingangsteilbandabtastung und eines Matrixwertes zu erhalten, ein Konstantenspeichermittel (30), um einen Matrizen-Konstantwert und einen Operations-Konstantwert zu speichern, ein Multiplikationsoperationsmittel (40), um eine Multiplikationsoperation mittels Daten von dem Matrixwertverarbeitungsmittel und Daten von dem Konstantenspeichermittel durchzuführen, ein Additionsoperationsmittel (50), um die Operationswerte von dem Multiplikationsoperationsmittel kumulativ zu addieren, um den Matrixwert und eine Teilbandabtastung zu liefern, und ein Ausgabemittel (60), um die Teilbandabtastung von dem Additionsoperationsmittel zu liefern, dadurch gekennzeichnet, dass das Matrixwertverarbeitungsmittel (10) umfasst: einen ersten Multiplexer, um die Teilbandabtastung zu empfangen (11, 15), ein FIFO-Mittel (12, 17), um die Teilbandabtastung von dem ersten Multiplexer zu speichern und den ersten Multiplexer mit der gespeicherten Teilbandabtastung zu versorgen, einen zweiten Multiplexer (13, 16) um den Matrixwert von dem Additionsoperationsmittel zu empfangen und eine Mehrzahl an FIFO-Mitteln (14, 18), um den Matrixwert von dem zweiten Multiplexer zu speichern und das Multiplikationsoperationsmittel und den zweiten Multiplexer mit dem gespeicherten Matrixwert zu versorgen.
  2. Synthese-Teilbandfilter nach Anspruch 1, worin das Konstantenspeichermittel (30) umfasst: einen ersten Zähler (31), um einen ersten Takt als einen Eingang zu zählen, einen zweiten Zähler (32), um einen zweiten Takt als einen Eingang zu zählen, ein erstes ROM (33), um den gespeicherten Matrizen-Konstantwert gemäß einer Ausgabe des ersten Zählers sequentiell zu liefern, ein zweites ROM (34), um den gespeicherten Operations-Konstantwert gemäß einer Ausgabe des zweiten Zählers sequentiell zu liefern und einen Multiplexer (35), um die Konstantenwerte von dem ersten und zweiten ROM selektiv zu liefern.
  3. Synthese-Teilbandfilter nach Anspruch 1, worin das Multiplikationsoperationsmittel (40) umfasst: ein Multipliziermittel (41), um die Multiplikationsoperation mittels des Matrixwertes, des Zuordnungswertes und des Konstantenwertes von dem Matrixwertverarbeitungsmittel und dem Konstantenspeichermittel durchzuführen und ein Registermittel (42), um die Operationswerte von dem Multipliziermittel zu speichern.
  4. Synthese-Teilbandfilter nach Anspruch 1, worin das Additionsoperationsmittel (50) umfasst: einen ersten Addierer (51), um die Operationswerte von dem Multiplikationsoperationsmittel kumulativ zu addieren, ein Register (52), um eine zwischenberechnete Operation von dem ersten Addierer zu speichern, den ersten Addierer mit dem Wert dieser zwischenberechneten Operation zu versorgen und das Matrixwertverarbeitungsmittel mit dem endberechneten Matrixwert zu versorgen, ein FIFO-Mittel (53), um den Operationswert von dem Multiplikationsoperationsmittel zu speichern, einen zweiten Addierer (56), um den Operationswert von dem FIFO-Mittel kumulativ zu addieren und das Ausgabemittel mit der fertig berechneten Teilbandabtastung zu versorgen, und ein Ausgabeabtastmittel (54), um einen zwischenberechneten Wert von der Teilbandabtastung von dem zweiten Addierer zu speichern.
  5. Synthese-Teilbandfilter nach Anspruch 1, worin das Additionsoperationsmittel (70) umfasst: einen ersten Multiplexer (73), um die Operationswerte von dem Multiplikationsoperationsmittel als Eingaben zu empfangen, einen Addierer (75), um die Operationswerte von dem ersten Multiplexer kumulativ zu addieren, ein FIFO-Mittel (74), um den Operationswert von dem Multiplikationsoperationsmittel durch den ersten Multiplexer und den Addierer zu speichern und den ersten Multiplexer mit dem gespeicherten Wert zu versorgen, ein Ausgangsabtastungsmittel (71), um die zwischenberechneten Werte von der Teilbandabtastung von dem ersten Addierer zu speichern, ein Register (76), um die Teilbandabtastung und den Matrixwert von dem Addierer zu speichern, das Matrixwertverarbeitungsmittel mit dem endberechneten Matrixwert zu versorgen, und das Ausgabemittel mit der endberechneten Teilbandabtastung zu versorgen und einen zweiten Multiplexer (72), um den zwischenberechneten Wert von dem Ausgangsabtastungsmittel und Register auszuwählen, um den Addierer mit dem ausgewählten Wert zu versorgen.
  6. Synthese-Teilbandfilter nach Anspruch 1, worin das Ausgabemittel (60) von einem FIFO (61) gebildet ist.
  7. Synthese-Teilbandfilter nach Anspruch 1, worin die mehreren FIFO-Mittel (14) von den FIFOs (140, 141, ... 171) gebildet sind, die parallel miteinander verbunden sind, und zwar entsprechend der Anzahl der Teilbandabtastungen.
  8. Synthese-Teilbandfilter nach Anspruch 1, worin die mehrfachen FIFO-Mittel (18) von zwei FIFOs (181, 182) gebildet sind, die parallel miteinander verbunden sind.
  9. Synthese-Teilbandfilter nach Anspruch 4, worin das Ausgangsabtastungsmittel (54) von Registern (5400 ... 5431) gebildet ist, um die zwischenberechneten Werte der Teilbandabtastungen entsprechend der Zahl dieser Teilbandabtastungen zu speichern.
  10. Synthese-Teilbandfilter nach Anspruch 5, worin das Ausgangsabtastungsmittel (71) von Registern (5400 ... 5431) gebildet ist, um die zwischenberechneten Werte der Teilbandabtastungen entsprechend der Zahl dieser Teilbandabtastungen zu speichern.
  11. Synthese-Teilbandfilter nach Anspruch 4, worin das Ausgabeabtastungsmittel (54) von einem FIFO-Mittel (5432) gebildet ist, um die zwischenberechneten Werte der Teilbandabtastung zu speichern.
  12. Synthese-Teilbandfilter nach Anspruch 5, worin das Ausgangsabtastungsmittel (71) von einem FIFO-Mittel (5432) gebildet ist, um die zwischenberechneten Werte der Teilbandabtastung sequentiell zu speichern.
DE69533657T 1994-01-14 1995-01-12 Synthese-Teilbandfilter Expired - Lifetime DE69533657T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1019940000625A KR950024195A (ko) 1994-01-14 1994-01-14 합성서브밴드 필터
KR9400625 1994-01-14

Publications (2)

Publication Number Publication Date
DE69533657D1 DE69533657D1 (de) 2004-11-25
DE69533657T2 true DE69533657T2 (de) 2006-02-16

Family

ID=19375675

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69533657T Expired - Lifetime DE69533657T2 (de) 1994-01-14 1995-01-12 Synthese-Teilbandfilter

Country Status (3)

Country Link
EP (1) EP0663735B1 (de)
KR (1) KR950024195A (de)
DE (1) DE69533657T2 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970066881A (ko) * 1996-03-23 1997-10-13 구자홍 서브밴드 필터의 필터링방법
KR100447152B1 (ko) * 1996-12-31 2004-11-03 엘지전자 주식회사 디코더필터의연산처리방법
TW395142B (en) 1997-05-15 2000-06-21 Matsushita Electric Industrial Co Ltd Compressed code decoding device and audio decoding device
JPH11330980A (ja) * 1998-05-13 1999-11-30 Matsushita Electric Ind Co Ltd 復号装置及びその復号方法、並びにその復号の手順を記録した記録媒体

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0484595B1 (de) * 1990-11-05 1996-01-31 Koninklijke Philips Electronics N.V. Digitales Übertragungssystem, Gerät zur Aufnahme und/oder Wiedergabe und Sender sowie Empfänger zur Anwendung im Übertragungssystem
US5508949A (en) * 1993-12-29 1996-04-16 Hewlett-Packard Company Fast subband filtering in digital signal coding

Also Published As

Publication number Publication date
EP0663735A3 (de) 2001-02-21
EP0663735A2 (de) 1995-07-19
EP0663735B1 (de) 2004-10-20
KR950024195A (ko) 1995-08-21
DE69533657D1 (de) 2004-11-25

Similar Documents

Publication Publication Date Title
DE3882767T2 (de) Bandpass-Digitaloszilloskop.
DE3115859C2 (de)
EP0386418B1 (de) Verfahren zur Datenreduktion bei digitalen Tonsignalen und zur genäherten Rückgewinnung der digitalen Tonsignale
DE69736344T2 (de) Abtastfrequenz-Umsetzeinrichtung
DE3209073C2 (de) Anordnung zum Umsetzen der Zahl von Abtastlinien
DE69517625T2 (de) Vorrichtung und Verfahren zur Detektion von Bewegungsvektoren
DE2145404A1 (de) Nichtrekursive Digitalfiltereinrichtung mit Verzögerungs- und Addier-Anordnung
EP0137323A2 (de) Verfahren und Vorrichtung zur Umsetzung einer Eingangsabtastfolge in eine Ausgangsabtastfolge
DE69510147T2 (de) Perzeptueller Teilbandkodierer
DE69427212T2 (de) Modulare Audiodaten-Verarbeitungsarchitektur
DE3736193A1 (de) Sprachsignal-kodierverfahren
DE69423240T2 (de) Verfahren und vorrichtung für quadratische interpolation
EP0974105B1 (de) Verfahren zur mehrdimensionalen, diskreten wavelet-transformation und transformationseinheit zur durchführung des verfahrens
DE3537638A1 (de) Verfahren und einrichtung zum reduzieren von geraeuschartefakten
DE69321011T2 (de) Verfahren und Gerät zur Rauschmessung
DE68916480T2 (de) Fernsehübertragungssystem mit hybrider Kodierschaltung.
DE69527482T2 (de) Filterauswahlschaltung für ein digitales Wiederabtastsystem
WO1990014719A1 (de) Verfahren zur übertragung eines signals
DE69533657T2 (de) Synthese-Teilbandfilter
DE69418711T2 (de) Verarbeitung von videosignalen
DE3413694A1 (de) Verfahren und vorrichtung fuer eine 4-punkt-signalfolgefrequenzwandlung
DE69307192T2 (de) Verfahren und Einrichtung zur Übertragungsfehlerverdeckung von mittels einer Frequenztransformation kodierten digitalen Audiosignalen
DE4022387C2 (de)
EP0241745B1 (de) Verfahren zur Datenreduktion digitaler Bildsignale durch Vektorquantisierung von durch orthonormale Transformation mittels einer symmetrischen fastzyklischen Hadamard-Matrix gewonnenen Koeffizienten
DE69222626T2 (de) Hochauflösendes Digitalfilter

Legal Events

Date Code Title Description
8364 No opposition during term of opposition