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 ToninformationInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
- H04N5/60—Receiver circuitry for the reception of television signals according to analogue transmission standards for the sound signals
- H04N5/602—Receiver 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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)
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 |
-
1995
- 1995-03-23 DE DE1995110226 patent/DE19510226C1/de not_active Expired - Fee Related
Non-Patent Citations (7)
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)
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 |