DE19510226C1 - Verfahren und Einrichtung zur Decodierung von, im Layer 1 oder 2 des MPEG-Formats codierter, digitaler Toninformation - Google Patents

Verfahren und Einrichtung zur Decodierung von, im Layer 1 oder 2 des MPEG-Formats codierter, digitaler Toninformation

Info

Publication number
DE19510226C1
DE19510226C1 DE1995110226 DE19510226A DE19510226C1 DE 19510226 C1 DE19510226 C1 DE 19510226C1 DE 1995110226 DE1995110226 DE 1995110226 DE 19510226 A DE19510226 A DE 19510226A DE 19510226 C1 DE19510226 C1 DE 19510226C1
Authority
DE
Germany
Prior art keywords
samples
control unit
memory
values
header
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
DE1995110226
Other languages
English (en)
Inventor
Fei Gao
Thomas Oberthuer
Mathias Tilmann
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.)
Sci Worx GmbH
Original Assignee
SICAN GmbH
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 SICAN GmbH filed Critical SICAN GmbH
Priority to DE1995110226 priority Critical patent/DE19510226C1/de
Priority to EP96104308A priority patent/EP0734021A3/de
Priority to US08/621,764 priority patent/US5832445A/en
Application granted granted Critical
Publication of DE19510226C1 publication Critical patent/DE19510226C1/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/60Receiver circuitry for the reception of television signals according to analogue transmission standards for the sound signals
    • H04N5/602Receiver circuitry for the reception of television signals according to analogue transmission standards for the sound signals for digital sound signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

In der Norm ISO/IEC 11172 werden Datenreduktionsverfahren sowohl für Video- als auch für Audiosignale standardisiert. Die Norm hat den Titel "Information-Technologie - Coding of moving pictures and associated audio for digital storage media at up to 1,5 Mbit/s". In ihr werden verschiedene Algorithmen zur Kompression von Bild- und Tondaten festgelegt und ein Konzept für die Synchronisation von Bild und Ton innerhalb eines Datenstroms vorgeschlagen. In "Der MPEG-2-Standard: Generische Codierung für Bewegtbilder und zugehörige Audio-Information - Audio-Codierung (Teil 1 und 4)", Fernseh- und Kino-Technik, 48. Jhrg., Nr. 4, 1994 ist die Norm zusammenfassend dargestellt.
Im Teil 3 Audio werden drei verschiedene Codierungsschichten mit unterschiedlicher Komplexität verwenden. Die Schichten werden entsprechend ihrer Komplexität als Layer 1, Layer 2 und Layer 3 bezeichnet. Ein Layer x-Dekoder muß in der Lage sein, sowohl Layer x als auch alle Layer x-n (n < x) zu dekodieren. Der Standard beschreibt nur das Format des komprimierten Datenstroms, so daß nur der Dekoder spezifiziert ist. Der Aufbau des Encoders ist hingegen nicht festgelegt, so daß qualitative Verbesserungen des Encoders ohne Änderung des Dekoders möglich sind.
Die Layer 1 und 2 basieren auf einem gemeinsamen Encoderprinzip. Zur Kompression der Daten werden sowohl Verfahren der Redundanzreduktion als auch der Irrelevanzreduktion eingesetzt, so daß das dekodierte Signal im allgemeinen nicht vollständig rekonstruiert werden kann.
Die Schritte bei der Kodierung in Layer 1 und 2 sind folgende:
  • 1) Mit einer Polyphasenfilterbank wird das Signal aus dem Zeitbereich in den Frequenzbereich abgebildet. Die Auflösung beträgt dabei 1/32 der Bandbreite des Originalsignals. Es entstehen also 32 Teilbänder mit einer von der Samplingfrequenz abhängigen konstanten Breite.
    Die Samples jeweils eines Teilbandes werden zu Gruppen von 12 Werten zusammengefaßt und gemeinsam weiterverarbeitet. Für jede Gruppe wird aus dem Maximalwert der 12 Samples ein Skalenfaktor bestimmt und alle Werte mit dem Skalenfaktor skaliert. Dieses Verfahren der Blockkompandierung ermöglicht durch eine höhere Aussteuerung des nachfolgenden Quantisierers eine größere Dynamik bei gleicher Anzahl der Quantisierungsstufen.
  • 2) Parallel zur Polyphasenfilterbank wird das Audiosignal in einem psychoakustischen Modell analysiert. Dabei wird festgestellt, welche Signalanteile vom menschlichen Ohr aufgrund von Verdeckungseffekten nicht wahrgenommen werden können und somit irrelevant für den Höreindruck sind. Aus dieser Information wird für jedes Teilband eine Maskierungsschwelle errechnet. Der Abstand zwischen maximalen Signalpegel innerhalb des Teilbandes und der Maskierungsschwelle bestimmt die Anzahl der Quantisierungsstufen, die benötigt werden, damit das Quantisierungsrauschen unterhalb der Maskierungsschwelle und somit unhörbar bleibt.
  • 3) Im Quantisierer werden die skalierten Samples anhand der Steuerinformationen aus dem psychoakustischen Modell quantisiert.
  • 4) Zum Schluß erfolgt der Zusammenbau des Rahmens, der aus einem Header, der vom Dekoder benötigten Seiteninformation und den quantisierten Samples besteht.
Ein Rahmen eines, nach dem Verfahren des MPEG-Audio-Layers x (x < 3) komprimierten Datenstroms, besteht aus dem Syncwort, dem Header, einer optionalen CRC-Prüfsumme, der Seiteninformation, den quantisierten Subband- Samples und optionalen Zusatzinformationen. In der Seiteninformation sind die Bitallokationstabelle und die Informationen über die Skalenfaktoren enthalten.
Im Layer 1 wird die Bitallokationstabelle durch das psychoakustische Modell ermittelt. In ihr wird angegeben, mit welcher Bitanzahl jedes Teilband quantisiert wird. Jeder Wert der Bitallokationstabelle ist vier Bit breit, so daß bei einer binären Kodierung die Quantisierungsgenauigkeit zwischen 0 und 15 Bit liegt. Eine Bitallokation von 0 Bit bedeutet, daß für das entsprechende Teilband keine Information übertragen wird.
Die Seiteninformation besteht in Layer 1 aus der vollständigen Bitallokationstabelle sowie den Skalenfaktoren für jede Gruppe. Die Skalenfaktoren werden jedoch nur für die Bänder übertragen, für die Bits allokiert wurden.
Tabelle 1
Aufbau eines Rahmens im Layer 1 - Format
Layer 2 unterscheidet sich im wesentlichen durch eine größere Rahmenlänge und eine effizientere Kodierung der Seiteninformation von Layer 1 und erreicht dadurch bei höherer Kompressionsrate eine bessere Qualität.
Die Bitallokationstabelle wird in Layer 2 nicht vollständig für alle 32 Teilbänder aufgebaut, sondern abhängig von Bitrate und Modus auf eine bestimmte Anzahl von Subbändern begrenzt. Zusätzlich geben die in der Bitallokationstabelle stehenden Werte nicht direkt die Quantisierungsbreite an, sondern sind ein Index auf eine von vier Bitallokationstabellen, in der diese Anzahl abgelegt ist. Für die Kodierung der Indices werden für unterschiedliche Frequenzbereiche 2, 3 oder 4 Bits verwendet.
Bei Layer 2 werden 1152 (= 3*384) PCM-Werte innerhalb eines Rahmens verarbeitet. Daraus ergeben sich nach der Filterung für jedes Teilband 36 Werte, die in drei Gruppen á 12 Werte aufgeteilt werden. Für jede Gruppe wird ein Skalenfaktor bestimmt. Da sich bei stationären Signalen die drei Skalenfaktoren eines Subbandes nicht bzw. nur unwesentlich unterscheiden, kann eine Einsparung der Datenrate für die Skalenfaktoren dadurch erfolgen, daß gleiche Skalenfaktoren eines Teilbandes nur einmal übertragen werden. Die Information, welche Skalenfaktoren eines Subbandes im Datenstrom enthalten sind, wird in der Skalenfaktorselectinformation (SCFSI) angegeben. Dazu werden vier unterschiedliche Skalenfaktormuster mit 2 Bit kodiert und für jedes verwendete Teilband angegeben.
Tabelle 2
Aufbau eines Rahmens im Layer 2 - Format
Die Algorithmen und Prozeduren zur Dekodierung sind sehr detailliert in der Norm ISO/IEC 11172-3 : 1993 "Information technologie - Coding of moving pictures and associated audio for digital storage media at up to about 1,56 Mbit/s - Part 3: Audio" festgelegt. Damit liegt die Grundstruktur eines Dekoders ebenfalls fest. Sie besteht aus drei Funktionseinheiten:
  • - Synchronisation des Frames und Dekodierung der Seiteninformation (Frame-Unpacking)
  • - Inverse Quantisierung und Deskalierung (Reconstruction)
  • - Transformation in den Zeitbereich und Fensterung (Inverse Mapping)
Der Dekodierer synchronisiert sich zunächst auf die Blockstruktur des Bitstroms und zerlegt diesen wieder in Zusatzinformationen und quantisierte Spektraldaten. Diese sind die Grundlage für die nachfolgende Rekonstruktion des Spektrums. Eine inverse Filterbank überführt die Spektralwerte schließlich wieder in den Zeitbereich.
Das Rechenverfahren ist jedoch insbesondere durch den beschriebenen Filteralgorithmus sehr aufwendig. Die Prozesse für die Grundfunktionen sind daher nicht ohne weiteres bei geringem Aufwand an Rechenwerken möglichst parallel ausführbar.
Mit dem Chip MASC 3500 von Intermetall kann ein Audio-Dekoder für die Layer 1 bis 3 aufgebaut werden. Seine Funktion ist in "Mikroelektronik in der Audiocodierung", in Mikroelektronik me Bd. 9, 1995, Heft 1, S. 24-27, VDE-Verlag, in "Single Chip Implementation of an ISO/MPEG Layer III Decoder", AES, 26. 2.-1. 3. 1994, Amsterdam - Intermetall-Decoder "MASC 3500" und in "Multipurpose Audio Signal Compander", IEEE Transactions on Consumer Electronics, Vol. 39, No. 3, Aug. 1993, F.-O. Witte et al. - Intermetall- Decoder "MASC 3500" näher beschrieben.
Es handelt sich um einen programmierbaren DSP, bestehend aus einer arithmetischen Einheit, zwei parallelen Speicherblöcken mit korrespondierenden Adressgeneratoren, sowie einer Control-Unit. Die Auslastung der arithmetischen Einheit wird mittels einer "Harvard-Architektur" optimiert, wobei Befehlsdaten und Audiodaten auf getrennten Datenbussen übertragen werden. Die arithmetische Einheit besteht aus einem Multiplizierer/Akkumulator (MAG) und einer Arithmetischen-Logic- Unit (ALU). Der Dekoder bietet den Vorteil, daß er aufgrund der freien Programmierbarkeit sehr flexibel einsetzbar ist.
In einem derartigen herkömmlichen DSP können die Prozesse, bei denen ein gemeinsamer Multiplizierer/Addierer im Time-Sharing verwendet wird, nicht parallel durchgeführt werden. Es mangelt dort an Steuerwerken, die voneinander unabhängig arbeiten. Aufgrund der nur einmal vorhandenen Adress- und Control-Unit und dem Programmeingang (Task) können die Prozesse nur seriell ausgeführt werden. Eine Parallelisierung ist nur möglich, wenn zwei DSP′s verwendet werden. Dadurch steigt der Hardwareaufwand enorm, was aus Kostengründen (Bauteileanzahl, Chip- bzw. Boardfläche) unerwünscht ist. Nachteilig ist auch die im Vergleich zu anwendungsorientierten Schaltungen hohe Leistungsaufnahme und große erforderliche Chipfläche, so daß eine gemeinsame Integration der Schaltung zusammen mit weiteren Funktionseinheiten, wie z. B. Videodekoder nicht möglich ist. Durch die fehlende Möglichkeit, Prozesse zu parallelisieren, kann die Durchsatzrate nicht erhöht bzw. die Taktfrequenz für eine geringere Leistungsaufnahme minimiert werden.
Den gleichen Nachteil weist auch der Dekoder CS4920 auf, der in "Multi-Standard Audio Decoder DAG, Datenhandbuch CRYSTAL Semiconductor Corporation CS4920 beschrieben ist. Er basiert ebenfalls auf einem digitalen Signalprozessor (DSP).
Ein Dekoder-Baustein L 64111 für die Layer 1 und 2 von LSI-Logic besteht aus vier Komponenten: Preparser, Dekoder, Dram-Controler und PCM-Schnittstelle. Er benötigt externen DRAM. Seine Funktionsweise ist in "Dekompression - Monochip-MPEG- Audiodecoder", Greg Maturi, ELRAD, Heft 1,1994 S. 66 beschrieben.
Der Preparser sortiert aus dem MPEG-Systemstrom alle Daten des Audioteils heraus, synchronisiert System- und Audiodatenstrom und entfernt die parametrischen Header und die Zeitinformationen.
Der Dekoder entpackt die Audiodaten und führt die inverse Quantisierung, Skalierung und Filterung durch. Der Dekodiervorgang beginnt mit einem Startbefehl, der vom Mikroprozessor oder einem externen Starteingang erzeugt wird. Der Dekoder liest die Parameter und Informationen aus dem externen DRAM, wobei der DRAM- Controler den Schreibvorgang des Parsers und den Lesevorgang des Dekoders koordiniert.
Die Prozesse der inversen Quantisierung, Skalierung, Transformation in den Zeitbereich, sowie der Fensterung laufen programmgesteuert seriell nacheinander ab. Für die erforderlichen Berechnungen ist eine Multiplizierer-Akkumulator-Einheit in die Dekoderlogik integriert.
Ein Nachteil dieses Audiodekoders ist, daß Prozesse zur Dekodierung nicht parallel ablaufen können, so daß die Ressourcen nicht optimal ausgenutzt werden. Desweiteren ist für die Steuerung der Prozesse ein externer Mikrocontroller erforderlich.
Aufgabe
Ausgehend von diesem Decoderbaustein, der nicht auf einem DSP basiert, war es Aufgabe der Erfindung, ein Verfahren und eine Einrichtung zur Dekodierung von, im Layer 1 oder 2 des MPEG-Formats codierter, digitaler Toninformation durch die Prozesse:
  • - Synchronisation eines Datenstrom-Frames, der aus einem Synchronisationswort, einem Header, einer Seiteninformation, quantisierten Subband-Samples und optionalen Zusatzinformationen besteht;
  • - Dekodierung des Headers;
  • - Einlesen der Seiteninformationen;
  • - Inverse Quantisierung der Samples;
  • - Deskalierung der invers quantisierten Samples;
  • - Transformation der Frequenzbereichswerte in den Zeitbereich durch eine Matrixoperation;
  • - Fensterung der in den Zeitbereich transformierten Werte; anzugeben.
Die Einrichtung sollte als integrierte Ausführung mit möglichst geringer Chipfläche ausgeführt werden. Um die Kombination der Einrichtung mit weiteren Funktionalitäten wie z. B. Videodekoder zu ermöglichen, sollte durch die Minimierung der erforderlichen Taktrate die Einrichtung eine möglichst geringe Leistungsaufnahme aufweisen. Daher sollte die Lösung nicht auf einem digitalen Signalprozessor (DSP) basieren. Vielmehr sollten durch die Erfindung die Ressourcen optimal genutzt werden. Hierzu sollte der Aufwand an Rechenwerken minimiert und die Speicherbedarf optimiert werden.
Erfindung
Erfindungsgemäß wird die Aufgabe durch die Einrichtung nach Anspruch 1 und das Verfahren nach Anspruch 5 oder 6 gelöst.
Die Prozesse für die Synchronisation des Frames, für die Dekodierung des Headers, für das Einlesen der Seiteninformation, für die inverse Quantisierung der Samples und für die Deskalierung der invers quantisierten Samples werden mittels eines Steuerwerkes 2 ausgeführt. Unabhängig davon wird die Transformation in den Zeitbereich durch eine Matrixoperation und eine Fensterung mittels eines Steuerwerkes 3 ausgeführt. Beide Steuerwerke weisen einen Zugriff auf ein gemeinsames Rechenwerk 1 zur Multiplikation und Akkumulation und gemeinsamen Speicher 4 auf.
Ein wesentlicher Vorteil der Erfindung liegt in einer optimalen Auslastung des Multiplizierers.
Die gemeinsame Nutzung des Rechenwerkes 1 wird durch die Aufteilung der Prozesse auf unterschiedliche Steuerwerke und ihre Ausführung im Zeitmultiplex ermöglicht. Die Prozesse können dennoch parallel gestartet werden, da sie den Zugriff auf den Multiplizierer kooperativ regeln und so Zugriffskonflikte auflösen.
Dabei können die inverse Quantisierung, Deskalierung und die Fensterung parallel gestartet werden, wenn die ebenfalls nebeneinander durchführbaren Prozesse Matrixberechnung, Dekodierung der Seiteninformation und Synchronisation des Frames abgeschlossen sind.
Indem die Steuerwerke 2 und 3 mit lokalem Speicher versehen werden, der zum Teil sinnvollerweise Festwertspeicher für genormte Koeffizienten sein sollte, ist es möglich, einzelne Prozesse vorteilhaft parallel voneinander ablaufen zu lassen. Beide Steuerwerke 2 und 3 greifen aber auch gemeinsam auf den Speicher 4 zu, so daß dem Steuerwerk 3 direkt die deskalierten Tondaten zur Verfügung stehen. Da bei der nachfolgenden Matrixberechnung der Multiplizierer ohnehin voll ausgelastet ist, wird keine parallele Deskalierung durchgeführt. Das Steuerwerk 2 muß in diesem Zeitraum also nicht auf den Speicher 4 zugreifen, so daß kein Konflikt entsteht.
Die selbständige und voneinander unabhängige Durchführung der Prozesse durch die Steuerwerke 2 und 3 hat den Vorteil, daß durch einfache Startsignale der Control-Unit die Ausführung der Prozesse ohne großen Aufwand an Steuerelementen zeitlich optimal aufeinander abgestimmt werden kann.
Eine weitere Optimierung des Dekoders kann durch Verringerung der benötigten Operationen bei der Filterung erreicht werden. Hierfür wird der standardisierte Filteralgorithmus umgeformt. Der erforderliche Rechenbedarf sinkt dadurch auf die Hälfte.
Eine sehr vorteilhafte Gestaltung des Dekoders kann erreicht werden, indem mittels Adreß-Mapper die Adressierung des Speichers gesteuert wird. Die einzelnen Prozesse greifen auf einen für sie linearen logischen Adreßraum zu, der durch den Adreß-Mapper auf die physikalische Adresse innerhalb des gemeinsamen Speichers 4 abgebildet wird. Hierzu werden mehrere Map-Modi festgelegt, die in Abhängigkeit des ausgeführten Prozesses Speicherbereiche freigeben und die Speicherzuweisung übernehmen. Nicht mehr benötigte Daten können auf diese Weise nahezu unverzüglich überschrieben werden, so daß der Speicher optimal ausgenutzt wird. Die Steuerung der Map-Modi erfolgt durch die Control-Unit.
Durch die Realisierung der Einrichtung mit den erfindungswesentlichen Merkmalen ist im Gegensatz zu Lösungen mit programmierbaren digitalen Signalprozessoren nur eine geringe Chipfläche notwendig. Die erforderliche Taktrate und somit die Leistungsaufnahme der Einrichtung ist durch die kontinuierliche Auslastung des Rechenwerkes sehr niedrig. Auf diese Weise ist es möglich, z. B. in Verbindung mit einer Schaltung zur Dekodierung von Videosignalen, eine Gesamtlösung auf einen Schaltkreis zu integrieren.
Zeichnungen
Die Erfindung wird anhand der nachfolgenden Zeichnungen beschrieben. Es zeigen:
Fig. 1 Blockschaltbild eines Audio-Dekoders für Layer 2 mit zwei Steuerwerken 1 und 2 und einem gemeinsamen Rechenwerk,
Fig. 2 Zeitliche Verschachtelung der Prozesse für Layer 1,
Fig. 3 Zeitliche Verschachtelung der Prozesse für Layer 2,
Fig. 4 Ablaufdiagramm der Prozeßsteuerung durch die Control-Unit
Fig. 5 Ablaufdiagramm der Prozeßsteuerung der Seiteninformationsdekodierung durch das Steuerwerk 2,
Fig. 6 Ablaufdiagramm des Steuerelements "Wait for Sync-word" für die Dekodierung der Seiteninformation durch das Steuerwerk 2,
Fig. 7 Ablaufdiagramm der Headerdekodierung durch das Steuerwerk 2,
Fig. 8 Ablaufdiagramm für das Auslesen der Lokalisierung der Tondaten im Datenstrom durch den Prozeß Seiteninformationsdekodierung,
Fig. 9 Ablaufdiagramm für das Auslesen der SCFSI-Information von Layer 2,
Fig. 10 Ablaufdiagramm für das Auslesen der Skalenfaktoren,
Fig. 11 Ablaufdiagramm für den Prozeß Sample-Reconstruction,
Fig. 12 Ablaufdiagramm für das Preprocessing für die Sample-Reconstruction,
Fig. 13 Ablaufdiagramm für die Umgruppierung der Datenströme für das Preprocessing,
Fig. 14 Ablaufdiagramm für die Rekonstruktion der Samples,
Fig. 15 Ablaufdiagramm der Prozeßsteuerung für die Matrixoperation durch das Steuerwerk 3,
Fig. 16 Ablaufdiagramm der Adreßberechnung durch das Steuerwerk 3 für die, im ROM abgespeicherten Matrixkoeffizienten,
Fig. 17 Ablaufdiagramm der Prozeßsteuerung für die Fensterung durch das Steuerwerk 3,
Fig. 18 Ablaufdiagramm der Berechnung einer neuen Adresse der im RAM abgespeicherten Daten zur Fensterung,
Fig. 19 Ablaufdiagramm der Adreßinitialisierung für die im RAM abgespeicherten Daten zur Fensterung.
Ausführungsbeispiel
Das Gesamtsystem, dargestellt in Fig. 1, besteht im wesentlichen aus den vier Blöcken Frame-Unpacker 2, Filterbank 3, Processing-Unit 1 und Control-Unit 5 und zwei FIFOs (6 und 7) zur Ein- und Ausgabe. Der Datenstrom wird über das Eingabe-FIFO eingelesen. Im Frame-Unpacker 2 erfolgt die Synchronisation, die Auswertung des Headers und die Dekodierung der Seiteninformation. Außerdem ist der Frame-Unpacker für die Rekonstruktion der quantisierten und skalierten Samples zuständig. Die rekonstruierten Samples werden von der Filterbank 3 in den Zeitbereich transformiert, einer Fensterung unterzogen und an das Ausgabe- FIFO 7 übergeben. Um Chipfläche zu sparen greifen Frame-Unpacker und Filterbank auf gemeinsam genutzte Ressourcen zurück. Sämtliche Multiplikationen und Additionen werden in der Processing-Unit von einer Multiplizierer-Akkumulator-Einheit 1 (MAG) durchgeführt, die Datenübergabe zwischen Frame-Unpacker und Filterbank erfolgt über einen gemeinsam genutzten Speicher 4 (shared memory). Um eine möglichst effiziente Auslastung der gemeinsamen Ressourcen zu erreichen, werden diese in einem engverschachtelten Zeitmultiplex betrieben. Die Steuerung erfolgt durch die Control-Unit 5.
Die Processing-Unit besteht aus einer Multiplizierer-Akkumulator-Einheit mit zwei Eingängen und einem Ausgang. Über einen Steuervektor kann festgelegt werden, ob die Ergebnisse einer Multiplikation mittels Akkumulator addiert werden sollen. Das Ergebnis der Multiplikation bzw. der Akkumulatorinhalt kann auf den Eingang geschaltet werden.
Die Verarbeitung der Daten erfolgt granuleorientiert. Der Granule-Buffer 8 kann ein vollständiges Granule zwischenspeichern.
Die Dekodierung des Datenstroms kann in den fünf Prozessen Seiteninfo, Sample-Rekonstruction, Matrixberechnung, Fenster und Ausgabe erfolgen. Die Prozesse sind zeitlich eng verschachtelt, um eine möglichst effiziente Ausnutzung der gemeinsamen Ressourcen zu erreichen. Sie werden basierend auf der, am Datenfluß orientierten logischen Reihenfolge der Prozesse, beschrieben. Aus der Tabelle ist ersichtlich, welche Prozesse auf welche Ressourcen zugreifen.
Tabelle 3
Prozesse und die von ihnen genutzten Ressourcen
In Fig. 2 und Fig. 3 ist die zeitliche Verschachtelung der Prozesse für Layer 1 und 2 skizziert. Die Matrixoperation läuft ohne weitere parallele Prozeduren ab.
Die Rekonstruktion der Samples kann zeitgleich mit der Fensterung erfolgen. Unabhängig von den Prozessen erfolgt die Datenausgabe, die durch ein externes Signal gesteuert werden kann. Der Prozeß Matrixberechnung wird in definierten Intervallen angehalten, die Ausgabe der PCM-codierten Tondaten verzögerungsfrei in der geforderten Rate erfolgt.
Die Prozeßabläufe sind in den Fig. 3 bis 18 als Flußdiagramme dargestellt. Sie können mit üblichen Designwerkzeugen festverdrahtet aus Gatterbausteinen oder als programmierte Einheiten aufgebaut werden. Die in den Fig. 4 bis 13 skizzierten Prozesse werden hierbei in dem Steuerwerk 2 realisiert. Eine Hardwarelösung für die in den Fig. 14 bis 18 gezeigten Abläufe der Matrixberechnung und Fensterung wird in das Steuerwerk 3 implementiert.
1. Die Aktivierung der Prozesse
Die Synchronisation der Prozesse erfolgt kooperativ durch die einzelnen Prozesse, die Reihenfolge der Prozeßaktivierungen wird durch die Control-Unit bestimmt. Sie kann als programmierbare Einheit oder festverdrahtete Logikschaltung ausgeführt werden. Ein möglicher Dekodierablauf ist als Flußdiagramm in Fig. 3 gezeigt. Wesentliches Funktionsmerkmal der Unit ist die Erzeugung von Startsignalen für die verschiedenen Prozesse. Das Ende der Prozesse wird der Control-Unit durch die Steuerwerke mitgeteilt.
Zur Aktivierung eines Prozesses durch ein Start-Signal wird das entsprechende Signal für einen Takt auf den Wert "1" gesetzt. Anschließend blockiert der aktive Prozeß durch sein RDY-Signal = "0" alle anderen Prozesse, die auf gemeinsame Ressourcen zugreifen. Ist der aktive Prozeß beendet oder an einer Stelle angelangt, an der er unterbrochen werden kann, so signalisiert er dies durch Umschalten des RDY-Signal auf "1". Von der Control Unit wird anschließend bestimmt, welcher Prozeß als nächstes aktiviert wird Ausnahme hiervon ist der Prozeß Ausgabe, der von einem externen Takt gesteuert wird und kontinuierlich aktiv ist.
2. Der Prozeß Seiteninfo
Im Prozeß Seiteninfo, ausführlich gezeigt in Fig. 4, erfolgt die Synchronisation des Rahmens, die Dekodierung des Headers und das Einlesen der Seiteninformationen aus dem Datenstrom. Dabei werden eine vollständige Bitallokationstabelle und Skalenfaktorindextabelle aufgebaut und im lokalen Speicher 9 des Moduls Frame-Unpacking abgelegt. Dieser Prozeß wird einmal zu Beginn jedes Rahmens gestartet und greift auf keine gemeinsamen Ressourcen zu.
Im folgenden werden die wesentlichen Funktionsmerkmale des Prozeß Seiteninfo beschrieben. Zunächst wird, wie aus Fig. 5 ersichtlich ist, das Synchronisationswort gesucht, indem der Datenstrom bitweise durchsucht wird. Anschließend wird der Header und das CRC-Wort gelesen und auf seine Gültigkeit überprüft. Dieser Vorgang ist in Fig. 6 dargestellt. Hierzu werden 4 Bits des Datenstroms in einen Registerspeicher geladen, das CRC-Register zurückgesetzt und die CRC-Kontrolle eingeschaltet. Dann werden 16 Bits in das Headerregister geschrieben. Wenn der Header ungültig ist, wird das nächste Synchronisationswort gesucht.
Die Länge der nachfolgenden Audiodaten wird im Prozeß "Bit-Allocation", skizziert in Fig. 7, überprüft und in den lokalen Speicher 9 des Steuerwerks 2 geschrieben.
Wenn der Datenstrom im Layer 2 übertragen wurde, wird die SCFSI- Information (Skalenfaktor-Auswahlinformation) ausgelesen und im lokalen Speicher des Steuerwerks 2 zwischengespeichert. Das Handling, wie das SCFI- Signal ausgelesen wird, ist in Fig. 8 skizziert.
Anschließend werden die Skalenfaktoren ausgelesen und im lokalen Speicher 9 des Steuerwerks 2 abgelegt. Dieser Prozeß ist in Fig. 9 dargestellt.
3. Der Prozeß Sample-Rekonstruktion (Layer 2)
Im Prozeß Sample-Rekonstruktion, dargestellt in Fig. 10, werden die Samples aus dem Bitstrom inversquantisiert und deskaliert.
Hierzu werden zunächst die Frequenzbereichssamples eines Granules aus dem Datenstrom gelesen und anschließend der inversen Quantisierung unterzogen. Dazu sind zwei Multiplikationen nötig, deren Ergebnisse im Akkumulator aufsummiert werden. Dieses Zwischenergebnis wird auf den Eingang A geschaltet und mit dem Skalenfaktor multipliziert.
Pro Sample sind insgesamt drei Multiplikationen erforderlich. Diese Berechnung kann im Zeitmultiplex mit der Fensterung ablaufen. Um jedem der Prozesse Zugriff auf die gemeinsam genutzte MAG 1 zu ermöglichen, können die Prozesse zu bestimmten Zeitpunkten unterbrochen und später wieder gestartet werden. Der Prozeß Sample-Rekonstruktion sollte im Layer 1 alle 32*n (n = Anzahl Kanäle) und im Layer 2 alle 24* n (n = Anzahl Kanäle) unterbrochen werden, um zu verhindern, daß im Granule-Buffer 8 Werte überschrieben werden, die noch vom Prozeß Matrixberechnung benötigt werden.
Wesentliche Funktionselemente dieses Prozesses sind das Preprocessing mit dem Degrouping, und die Steuerung der Multiplizierereinheit zur Durchführung der eigentlichen Rekonstruktion. Im Preprocessing werden die Daten aus dem Stream gelesen und direkt in einen FIFO-Speicher geschrieben. Wenn die Daten gruppiert sind, wird ein Degrouping durchgeführt. Hierzu werden die Daten in maximal drei Stufen blockweise in den FIFO geschrieben. Die Rekonstruktion erfolgt derart, daß das Rechenwerk 1 zurückgesetzt wird. Danach wird ein codierter Abtastwert mit den für die inverse Quantisierung koeffizienten multipliziert. Das Ergebnis der inversen Quantisierung wird anschließend mit dem Skalenfaktor multipliziert.
Anschließend werden die rekonstruierten Daten in den Granule-Buffer 8 des gemeinsamen Speichers 4 geschrieben.
4. Der Prozeß Matrixberechnung
Im Prozeß Matrixberechnung, dargestellt in Fig. 14, erfolgt die Transformation der Frequenzbereichswerte in den Zeitbereich durch eine Matrixoperation. Dazu werden die Daten eines 32-Werte-breiten Vektors, dies entspricht der Anzahl von Teilbändern, der Reihe nach aus dem Granule-Buffer 8 gelesen, der Filterung unterzogen und in den lokalen Speicher 10 der Filterbank geschrieben. Die Koeffizienten zur Matrixberechnung sind hierbei in einem ROM abgespeichert. Diese Vorgehensweise hat den Vorteil, daß der Speicherbedarf verringert wird. Auf die folgenden Werte wird mittels Adreßberechnung zugegriffen. Hierzu dient die Prozedur Calculate ROM-adr, die in Fig. 15 skizziert ist.
Für beide Kanäle benötigt der Prozeß 32*32* 2 Multiplikationen. Der Prozeß Matrixberechnung wird nicht unterbrochen, so daß während dieser Zeit die Prozesse Fenster und Sample-Rekonstruktion blockiert sind.
5. Der Prozeß Fenster
In diesem Prozeß werden die Zeitbereichswerte im lokalen Speicher 10 der Filterbank gefenstert, um die auszugebenden PCM-Audiodaten zu erhalten. Die dekodierten Audiodaten werden in den Ausgabe-FIFO geschrieben und vom Prozeß Ausgabe ausgegeben.
Die Zeitbereichswerte werden aus dem lokalen Speicher der Filterbank ausgelesen und zusammen mit den zugehörigen Koeffizienten aus einem lokalen ROM-Speicher in die Multiplizierereinheit 1 geschrieben. Dort wird die Multiplikation ausgeführt und akkumuliert. Da die Fensterkoeffizienten Symmetrieeigenschaften aufweisen, ist nur die Hälfte der im Standard angegebenen Werte gespeichert. Der Zugriff auf die RAM-Adressen des lokalen Speichers wird durch die Prozedur Calculate_new_RAM-Offset gesteuert. Sie ist in Fig. 17 skizziert. Nachdem je 16 PCM-Daten aus dem unteren und oberen Speicherbereich berechnet wurden, wird das Ergebnis in den Ausgabespeicher geschrieben. Anschließend kann die Prozedur angehalten werden. Dadurch wird gewährleistet, daß dem Prozeß Ausgabe genug Zugriffe auf den Ausgabe-FIFO gegeben werden, so daß keine noch nicht ausgegebenen Werte überschrieben werden.
Die aktuelle Speicheradresse des lokalen Speichers für die Eingabedaten wird mit der Prozedur initialize RAM-adress berechnet. Sie ist in Fig. 18 dargestellt.
6. Der Prozeß Ausgabe
Der Prozeß Ausgabe ist für die Ausgabe der PCM-Audiodaten (z. B. an den DAG, Harddisk, etc.) aus dem Ausgabe-FIFO 7 zuständig. Die Ausgaberate wird durch ein externes Taktsignal festgelegt (z. B. Samplerate oder Bustakt).
7. Die Adressierung des shared memory
Die Adressierung des gemeinsamen Speichers (shared memory) erfolgt nicht direkt von den auf den Speichern zugreifenden Prozessen, sondern über einen Adreß-Mapper. Dadurch kann eine optimale Ausnutzung des Speichers 8 erreicht werden, indem freiwerdende Speicherzellen sofort neu beschrieben werden können.
Die Steuerung des Adreß-Mappers erfolgt durch den Map-Mode, der von der Control-Unit gesetzt wird. Durch den Map-Mode wird bestimmt, in welchen Speicheradressen die Samples abgelegt werden. Durch die zeitliche Verschiebung der auf den Speicher zugreifenden Prozesse ergibt sich, daß jeder Prozeß zu einem anderen Zeitpunkt den Map-Modewechselt.

Claims (10)

1. Einrichtung zur Dekodierung von, im Layer 1 oder 2 des MPEG-Formats codierter, digitaler Toninformation durch die Prozesse:
  • - Synchronisation eines Datenstrom-Frames, der aus einem Synchronisationswort, einem Header, einer Seiteninformation, quantisierten Subband-Samples und optionalen Zusatzinformationen besteht;
  • - Dekodierung des Headers;
  • - Einlesen der Seiteninformationen;
  • - Inverse Quantisierung der Samples;
  • - Deskalierung der invers quantisierten Samples;
  • - Transformation der Frequenzbereichswerte in den Zeitbereich durch eine Matrixoperation;
  • - Fensterung der in den Zeitbereich transformierten Werte;
die Einrichtung bestehend aus
  • - einer Eingabeeinheit (6) und einer Ausgabeeinheit (9);
  • - einem Rechenwerk (1) mit Multiplizierer und Akkumulator;
  • - zwei voneinander unabhängigen Steuerwerken (2) und (3);
  • - einem gemeinsamen Speicher (4), wobei die Steuerwerke (2) und (3) einen Zugriff auf das gemeinsame Rechenwerk (1) und auf einen gemeinsamen Speicher aufweisen; und
  • - einem Steuerwerk (5) zur Steuerung der zeitlichen Abfolge der Prozesse;
dadurch gekennzeichnet,
  • a) daß das Steuerwerk (2) zur Ausführung der Synchronisation des Datenstrom-Frames, zur Dekodierung des Headers, zum Einlesen der Seiteninformation, zur inversen Quantisierung der Samples und der zur Deskalierung der invers quantisierten Samples ausgebildet und festverdrahtet ausgeführt ist;
  • b) daß das Steuerwerk (3) zur Transformation der Frequenzbereichswerte in den Zeitbereich durch eine Matrixoperation und zur Fensterung der in den Zeitbereich transformierten Werte ausgebildet und festverdrahtet ausgeführt ist;
  • c) daß die Steuerwerke (2) und (3) lokale Speicher (9) und (10) haben;
  • d) daß die Berechnungen zur inversen Quantisierung der Samples und zur Deskalierung der invers quantisierten Samples zeitgleich mit der Fensterung der in den Zeitbereich transformierten Werte und nicht zeitgleich dazu die Transformation der Frequenzbereichswerte in den Zeitbereich durch eine Matrixoperation erfolgt.
2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß das Steuerwerk (5) zur Aktivierung der Steuerwerke (2) und (3) mittels Startsignale ausgeprägt ist.
3. Einrichtung nach einem der vorhergehenden Ansprüche, durch einen Adress-Mapper (11) zur Adressierung des Speichers.
4. Einrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß ein Speicher (9) zur Pufferung und Ausgabe der pulscodierten Toninformationen ausgeprägt ist und die Ausgabe durch ein externes Taktsignal gesteuert wird.
5. Verfahren zur Dekodierung von, im Layer 1 oder 2 des MPEG-Formats codierter, digitaler Toninformation mit den Prozessen:
  • - Synchronisation eines Datenstrom-Frames, der aus einem Synchronisationswort, einem Header, einer Seiteninformation, quantisierten Subband-Samples und optionalen Zusatzinformationen besteht;
  • - Dekodierung des Headers;
  • - Einlesen der Seiteninformationen;
  • - Inverse Quantisierung der Samples;
  • - Deskalierung der invers quantisierten Samples;
  • - Transformation der Frequenzbereichswerte in den Zeitbereich durch eine Matrixoperation;
  • - Fensterung der in den Zeitbereich transformierten Werte;
dadurch gekennzeichnet, daß
die Synchronisation eines Datenstrom-Frames, die Dekodierung des Headers, das Einlesen der Seiteninformationen, die Inverse Quantisierung der Samples und/oder die Deskalierung der invers quantisierten Samples zeitgleich mit der Fensterung der in den Zeitbereich transformierten Werte durchgeführt werden, und die Transformation der Frequenzbereichswerte in den Zeitbereich durch eine Matrixberechnung zeitlich separat von diesen Prozessen durchgeführt wird.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß
  • a) die Dekodierung des Headers und das Einlesen von Seiteninformationen in einem ersten Steuerwerk (2) durchgeführt wird, wobei eine Bitallokationstabelle und eine Skalenfaktorindextabelle in einem lokalen Speicher (9) des Steuerwerks (2) abgelegt wird,
  • b) die Inverse Quantisierung der Samples und die Deskalierung der invers quantisierten Samples in dem ersten Steuerwerk (2) durchgeführt wird und die hierzu erforderlichen Multiplikationen in einem Rechenwerk (1) ausgeführt werden und die Ergebnisse in einen globalen Speicher (4) geschrieben werden;
  • c) die Transformation der Frequenzbereichswerte in den Zeitbereich durch eine Matrixoperation in einem zweiten Steuerwerk (3) durchgeführt wird, wobei die hierzu erforderlichen Multiplikationen in dem Rechenwerk (1) ausgeführt werden und die Ergebnisse in einen lokalen Speicher (10) des zweiten Steuerwerks (3) geschrieben werden;
  • d) die Zeitbereichswerte aus dem lokalen Speicher (10) des zweiten Steuerwerks (3) gelesen, einer Fensterung unterzogen und in den globalen Speicher (4) geschrieben werden, wobei die hierzu erforderlichen Multiplikationen in einem Rechenwerk (1) ausgeführt werden;
  • e) die decodierte Toninformation aus dem globalen Speicher (4) ausgegeben wird;
  • f) die Reihenfolge der Prozesse durch ein Steuerwerk (5) festgelegt wird,
  • g) die ersten und zweiten Steuerwerke (2) und (3) durch Startsignale des Steuerwerks (5) aktiviert werden;
  • h) der gemeinsame Speicher (4) mittels eines Rechenwerks (11) adressiert wird.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß der Prozeß der Deskalierung und Dequantisierung für 32*n Samples im Layer 1 oder 24*n Samples im Layer 2, mit n gleich der Anzahl der Kanäle, ohne Unterbrechung durchgeführt wird.
DE1995110226 1995-03-23 1995-03-23 Verfahren und Einrichtung zur Decodierung von, im Layer 1 oder 2 des MPEG-Formats codierter, digitaler Toninformation Expired - Fee Related DE19510226C1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE1995110226 DE19510226C1 (de) 1995-03-23 1995-03-23 Verfahren und Einrichtung zur Decodierung von, im Layer 1 oder 2 des MPEG-Formats codierter, digitaler Toninformation
EP96104308A EP0734021A3 (de) 1995-03-23 1996-03-19 Verfahren und Vorrichtung zur Dekodierung digitaler, im MPEG-Format Layer 1 oder 2 kodierter Audiodaten
US08/621,764 US5832445A (en) 1995-03-23 1996-03-22 Method and apparatus for decoding of digital audio data coded in layer 1 or 2 of MPEG format

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1995110226 DE19510226C1 (de) 1995-03-23 1995-03-23 Verfahren und Einrichtung zur Decodierung von, im Layer 1 oder 2 des MPEG-Formats codierter, digitaler Toninformation

Publications (1)

Publication Number Publication Date
DE19510226C1 true DE19510226C1 (de) 1996-11-21

Family

ID=7757277

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1995110226 Expired - Fee Related DE19510226C1 (de) 1995-03-23 1995-03-23 Verfahren und Einrichtung zur Decodierung von, im Layer 1 oder 2 des MPEG-Formats codierter, digitaler Toninformation

Country Status (1)

Country Link
DE (1) DE19510226C1 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0957580A1 (de) * 1998-05-15 1999-11-17 Deutsche Thomson-Brandt Gmbh Verfahren und Vorrichtung zur Abtastratenumsetzung von Audiosignalen
EP0957579A1 (de) * 1998-05-15 1999-11-17 Deutsche Thomson-Brandt Gmbh Verfahren und Vorrichtung zur Abtastrateumsetzung von Audiosignalen
US6314391B1 (en) 1997-02-26 2001-11-06 Sony Corporation Information encoding method and apparatus, information decoding method and apparatus and information recording medium
DE10029675A1 (de) * 2000-06-23 2002-01-31 Dialog 4 System Engineering Gm Elektronisches Audiogerät

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
BRANDENBURG, Karlheinz et al.: Mikroelek- tronik in der Audiocodierung. In: me (Zeit- schrift Mikroelektronik) 1995, H.1, S.24 *
DOLLAR *
ISO/IEC-Norm 11172-3, 1.Ausgabe: 1.8.1993: Part 3: Audio *
MATURI, Greg: Dekompression. Monochip-MPEG- Audiodecoder. In: Elrad 1994, H.1, S.64 *
TEICHNER, D.: Der MPEG-2-Standard. In: Fern- seh- und Kino-Technik 1994, Nr.4 S.155 u. Nr.7-8, S.364 *
WITTE, Franz-Otto et al.: Multipurpose Audio Signal Compander. In: IEEE Transactions on Consumer Electronics 1993, Nr.3 (August), S.260 *
WITTE, Franz-Otto et al.: Single Chip Implemen- tation of an ISO/MPEG Layer III Decoder. Preprint eines Vortragsmanuskripts für die 96th Convention 1994, 26. Februar bis 1. März der Audio Engineering Society in Amsterdam *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6314391B1 (en) 1997-02-26 2001-11-06 Sony Corporation Information encoding method and apparatus, information decoding method and apparatus and information recording medium
EP0957580A1 (de) * 1998-05-15 1999-11-17 Deutsche Thomson-Brandt Gmbh Verfahren und Vorrichtung zur Abtastratenumsetzung von Audiosignalen
EP0957579A1 (de) * 1998-05-15 1999-11-17 Deutsche Thomson-Brandt Gmbh Verfahren und Vorrichtung zur Abtastrateumsetzung von Audiosignalen
DE10029675A1 (de) * 2000-06-23 2002-01-31 Dialog 4 System Engineering Gm Elektronisches Audiogerät

Similar Documents

Publication Publication Date Title
EP1502255B1 (de) Vorrichtung und verfahren zum skalierbaren codieren und vorrichtung und verfahren zum skalierbaren decodieren eines audiosignales
EP1647009B1 (de) Vorrichtung und verfahren zum verarbeiten eines signals
EP1495464B1 (de) Vorrichtung und verfahren zum codieren eines zeitdiskreten audiosignals und vorrichtung und verfahren zum decodieren von codierten audiodaten
DE69732159T2 (de) Geschaltete Filterbank für Audiosignalkodierung
DE69731677T2 (de) Verbessertes Kombinationsstereokodierverfahren mit zeitlicher Hüllkurvenformgebung
DE4320990B4 (de) Verfahren zur Redundanzreduktion
EP1609084B1 (de) Vorrichtung und verfahren zum umsetzen in eine transformierte darstellung oder zum inversen umsetzen der transformierten darstellung
DE69737514T2 (de) System und verfahren zum bearbeiten wellenartiger und umgekehrten wellenartigen transformationen von digitalen daten
EP0846405B1 (de) Verfahren zur redundanzreduktion bei der codierung von mehrkanaligen signalen und vorrichtung zur dekodierung von redundanzreduzierten, mehrkanaligen signalen
DE60318835T2 (de) Parametrische darstellung von raumklang
DE602004004168T2 (de) Kompatible mehrkanal-codierung/-decodierung
EP0386418B1 (de) Verfahren zur Datenreduktion bei digitalen Tonsignalen und zur genäherten Rückgewinnung der digitalen Tonsignale
EP1654674B1 (de) Vorrichtung und verfahren zum verarbeiten von wenigstens zwei eingangswerten
WO2002103684A1 (de) Verfahren und vorrichtung zum verarbeiten von zeitdiskreten audio-abtastwerten
DE69826529T2 (de) Schnelle datenrahmen-optimierung in einem audio-kodierer
DE19811039A1 (de) Verfahren und Vorrichtungen zum Codieren und Decodieren von Audiosignalen
EP2054884A2 (de) Vorrichtung zum kodieren und dekodieren
DE69126062T2 (de) System zur Sprachcodierung und -decodierung
EP1016319B1 (de) Verfahren und vorrichtung zum codieren eines zeitdiskreten stereosignals
DE112019003358T5 (de) Verfahren und vorrichtung zum codieren und/oder decodieren immersiver audiosignale
DE60024729T2 (de) System und verfahren zum effizienten antialiasing im zeitbereich (tdac)
DE60112407T2 (de) Verfahren und vorrichtung zur konvertierung eines audiosignals zwischen unterschiedlichen datenkompressionsformaten
Kovacevic Filter banks and wavelets: Extensions and applications
DE19510226C1 (de) Verfahren und Einrichtung zur Decodierung von, im Layer 1 oder 2 des MPEG-Formats codierter, digitaler Toninformation
DE60116809T2 (de) Vorrichtung zum Transkodieren eines Audiodatenstroms

Legal Events

Date Code Title Description
8100 Publication of the examined application without publication of unexamined application
D1 Grant (no unexamined application published) patent law 81
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: SICAN GMBH, 30419 HANNOVER, DE

8327 Change in the person/name/address of the patent owner

Owner name: SCI-WORX GMBH, 30419 HANNOVER, DE

8339 Ceased/non-payment of the annual fee