PatentDe  


Dokumentenidentifikation DE69521004T2 29.11.2001
EP-Veröffentlichungsnummer 0707308
Titel Kompensationsverfahren bei Rahmenauslöschung oder Paketverlust
Anmelder AT & T Corp., New York, N.Y., US
Erfinder Chen, Juin-Hwey, Neshanic Station, New Jersey 08853, US;
Watkins, Craig Robert, Hamilton QLD 4007, AU
Vertreter derzeit kein Vertreter bestellt
DE-Aktenzeichen 69521004
Vertragsstaaten DE, ES, FR, GB, IT
Sprache des Dokument EN
EP-Anmeldetag 03.10.1995
EP-Aktenzeichen 953070174
EP-Offenlegungsdatum 17.04.1996
EP date of grant 23.05.2001
Veröffentlichungstag im Patentblatt 29.11.2001
IPC-Hauptklasse G10L 19/00

Beschreibung[de]

Die vorliegende Erfindung betrifft allgemein Sprachcodierungsanordnungen zur Verwendung in drahtlosen Kommunikationssystemen oder Kommunikationssystemen auf der Grundlage von Paketvermittlungsnetzen und insbesondere die Funktionsweise solcher Sprachcodierer im Fall stoßartiger Fehler bzw. verlorener Pakete.

Viele Kommunikationssysteme wie zum Beispiel Zellularfernsprech- und persönliche Kommunikationssysteme benutzen drahtlose Kanäle zur Übermittlung von Informationen. Im Verlauf des Übermittelns solcher Informationen können bei drahtlosen Kommunikationskanälen mehrere Fehlerquellen entstehen, wie zum Beispiel Mehrwege-Fading. Diese Fehlerquellen können u. a. das Problem der Rahmenlöschung verursachen. Eine Löschung bedeutet totalen Verlust oder eine wesentliche Verfälschung einer Menge von Bit, die zu einem Empfänger übermittelt wird. Ein Rahmen ist eine vorbestimmte feste Anzahl von Bit, die das Kommunikationssystem für Kommunikationszwecke als ein einziges Element behandelt.

Wenn ein Rahmen von Bit völlig verlorengeht, dann hat der Empfänger keine Bit zu interpretieren. Unter solchen Umständen kann der Empfänger ein bedeutungsloses Ergebnis erzeugen. Wenn ein Rahmen empfangener Bit verfälscht und deshalb unzuverlässig wird, kann der Empfänger ein stark verzerrtes Ergebnis erzeugen.

Mit dem zunehmenden Bedarf an drahtloser Systemkapazität ist es notwendig geworden, verfügbare drahtlose Systembandbreite am besten auszunutzen. Die effiziente Verwendung von Systembandbreite kann zum Beispiel dadurch verbessert werden, indem ein Signalkomprimierungsverfahren verwendet wird. Bei drahtlosen Systemen, die Sprachsignale führen, können zu diesem Zweck Sprachkomprimierungs- (oder Sprachcodierungs-) Verfahren verwendet werden. Zu solchen Sprachcodierungsverfahren gehören Analyse-durch-Synthese-Sprachcodierer, wie zum Beispiel der wohlbekannte Sprachcodierer mit codeerregter Linearprädiktion (CELP).

Das Problem des Paketverlusts in Paketvermittlungsnetzen, die Sprachcodierungsanordnungen verwenden, gleicht einer Rahmenlöschung im drahtlosen Kontext, d. h. aufgrund des Paketverlusts kann es vorkommen, daß ein Sprachdecodierer entweder einen Rahmen nicht empfängt oder einen Rahmen mit einer wesentlichen Anzahl fehlender Bit empfängt. In beiden Fällen hat der Sprachdecodierer dasselbe wesentliche Problem - er muß trotz des Verlustes an komprimierter Sprachinformation Sprache syntherisieren. "Rahmenlöschung" und "Paketverlust" betreffen beide ein Problem bei einem Kommunikationskanal (oder Kommunikationsnetz), das den Verlust übertragener Bit verursacht. In der vorliegenden Beschreibung kann der Begriff "Rahmenlöschung" deshalb als gleichbedeutend mit Paketverlust betrachtet werden.

CELP-Sprachcodierer verwenden ein Codebuch von Erregungssignalen zur Codierung eines ursprünglichen Sprachsignals. Diese Erregungssignale werden verwendet, um ein linear-prädiktives Filter (LPC-Filter) zu "erregen", das als Reaktion auf die Erregung ein Sprachsignal (oder einen bestimmten Vorläufer eines Sprachsignals) synthetisiert. Das synthetisierte Sprachsignal wird mit dem zu codierenden Signal verglichen. Das Codebucherregungssignal, das am besten mit dem ursprünglichen Signal übereinstimmt, wird identifiziert. Der Codebuchindex des identifizierten Erregungssignals wird dann zu einem CELP-Decodierer übermittelt. (Abhängig von der Art von CELP-System können auch andere Arten von Informationen übermittelt werden.) Der Decodierer enthält ein Codebuch, das mit dem des CELP-Codierers identisch ist. Der Decodierer verwendet den übertragenen Index zur Auswahl eines Erregungssignals aus seinem eigenen Codebuch. Dieses gewählte Erregungssignal wird zur Erregung des LPC- Filters des Decodierers verwendet. Mit dieser Erregung erzeugt das LPC-Filter des Decodierers ein decodiertes (oder quantisiertes) Sprachsignal (das hier auch als ein "rekonstruiertes Sprachsignal" bezeichnet wird) - nämlich dasselbe Sprachsignal, das zuvor als dem ursprünglichen Sprachsignal am nächsten kommend bestimmt wurde.

Ein konkretes CELP-Codierungssystem ist das wohlbekannte Sprachcodierungssystem mit 16-kbit/s-CELP mit geringer Verzögerung (LD-CELP), das vom CCITT als dessen internationaler Standard mit dem Namen "Empfehlung G.728" angenommen wird. In diesem System wird zum Beispiel das Codebuch mit 1024 Einträgen (d. h. 10 Bit) in zwei kleinere Codebücher zerlegt, ein 7-Bit- "Formcodebuch", das 128 unabhängige Codevektoren enthält, und ein 3-Bit-"Verstärkungscodebuch", das 8 Skalarwerte enthält. Die Codevektoren des ersteren Codebuchs stellen die Form eines Erregungssignals dar, während die Werte des letzteren Codebuchs einen Verstärkungsfaktor darstellen, der auf diese Codevektoren angewandt werden soll. Somit besteht der Erregungssignalindex, der zum Decodierer gesendet wird, aus zwei Teilen - einem Teil, der den aus dem entsprechenden Formcodebuch in dem Decodierer abzurufenden Codevektor (einen 7-Bit-Index) identifiziert und einem, der einen auf diesen anzuwendenden Verstärkungsfaktor (einen 3-Bit-Index) identifiziert. Bei einem G.728- CELP-Codierungssystem wird ein solcher (10-Bit-)Erregungssignalindex für jede Menge von fünf zusammenhängenden Sprachproben übertragen, wobei die Sprachproben mit einer Rate von 8 kHz abgetastet wurden. Diese Menge von fünf Proben wird als ein "Vektor" bezeichnet. Jeder Rahmen umfaßt eine feste Anzahl solcher "Vektoren" (z. B. 16).

Systeme, die Sprachcodierer verwenden, können anfälliger für das Problem der Rahmenlöschung sein, als Systeme, die Sprache nicht komprimieren. Diese Anfälligkeit ist auf die verminderte Redundanz codierter Sprache (im Vergleich zu uncodierter Sprache) zurückzuführen, wodurch der mögliche Verlust jedes übermittelten Bit signifikanter wird. Im Kontext eines CELP-Sprachcodierers, bei dem Rahmenlöschung auftritt, können Erregungssignalcodebuchindizes entweder verlorengehen oder wesentlich verfälscht werden. Aufgrund gelöschter Rahmen wird der Decodierer nicht in der Lage sein, zuverlässig zu identifizieren, welche Einträge in seinem Codebuch zum Synthetisieren von Sprache verwendet werden sollten. Als Folge kann sich die Sprachcodierungssystemleistung wesentlich verschlechtern.

Bei den meisten bisherigen Versuchen, das Problem der Rahmenlöschung zu korrigieren, war es erforderlich, daß entweder der Sprachdecodierer oder sowohl der Sprachdecodierer als auch der Sprachcodierer modifiziert werden, um die Leistung des Systems beim Vorliegen solcher Löschungen zu verbessern. Wenn ein standardmäßiges Codierungssystem wie zum Beispiel 6.728 verwendet wird, ist es jedoch möglich, daß es nicht möglich oder wünschenswert ist, diese Komponenten zu modifizieren. Dies gilt besonders im Fall der Verwendung standardmäßiger "Lager"-Bauelemente zur Implementierung des Codierers und des Decodierers. Wenn zum Beispiel ein standardmäßiges Codierungssystem wie zum Beispiel 6.728 mit VLSI-ASIC-Chips (höchst integrierte anwendungsspezifische integrierte Schaltungen) implementiert wird, ist es nicht möglich, den Decodierer oder den Codierer zu modifizieren und diese Chips weiter zu verwenden. Wenn das Codierungssystem mit einem Vielzweckprozessor wie zum Beispiel einem DSP (digitaler Signalprozessor) implementiert wird, aber der Decodierer- und Codiererprogrammcode aus vom Hersteller bereitgestellter Software in Objektcode (im Gegensatz zu Quellcode) besteht, kann es dagegen unmöglich sein, den Programmcode so zu modifizieren, daß das Verhalten des Decodierers oder des Codierers verändert wird.

Aus EP-A-0673016, einem Teil des Stands der Technik gemäß der beanspruchten Priorität mittels Artikel 54(3)EPC, ist ein Sprachcodierungssystem bekannt, das gegenüber Rahmenlöschung (oder Pakektverlust) robust ist. Im Fall einer Rahmenlöschung werden Vektoren eines Erregungssignals auf der Grundlage zuvor gespeicherter Erregungssignalvektoren synthetisiert, die während nichtgelöschter Rahmen erzeugt werden. Diese Synthese ist bei stimmhafter Sprache anders als bei nichtstimmhafter Sprache. Während gelöschter Rahmen werden Linearprädiktions- Filterkoeffizienten als eine gewichtete Extrapolation einer Menge von Linearprädiktionsfilterkoeffizienten synthetisiert, die während nichtgelöschter Rahmen bestimmt werden. Der Gewichtungsfaktor ist eine Zahl, die kleiner als 1 ist. Diese Gewichtung erzielt eine Bandbreitenerweiterung von Spitzen im Frequenzgang eines linear-prädiktiven Filters. Die rechnerische Komplexität während gelöschter Rahmen wird durch Beseitigung bestimmter Berechnungen, die nur während nichtgelöschter Rahmen benötigt werden, vermindert. Diese Verminderung der rechnerischen Komplexität gleicht einen zusätzlichen Rechenaufwand aus, der für die Erregungssignalsynthese und die Erzeugung von Linearprädiktionsfilterkoeffizienten während gelöschter Rahmen erforderlich ist.

Aus EP-A-0582921 ist ein Audio-Signalcodierungssystem mit geringer Verzögerung bekannt, das Analyse-durch-Synthese-Verfahren verwendet und ein Mittel zur Anpassung der spektralen Parameter und der Prädiktionsordnung von Synthesefiltern im Codierer und Decodierer und wahrnehmungsbezogener Gewichtungsfilter in dem Codierer in jedem Rahmen beginnend von dem rekonstruierten Signal, das für den vorherigen Rahmen relevant ist, umfaßt. Im Fall eines CELP-Codierers werden außerdem Mittel zur Anpassung, beginnend von dem rekonstruierten Signal, eines Faktors, der an die mittlere Leistung des Eingangssignals gebunden ist, der Verstärkung bereitgestellt, durch die die Innovationsvektoren gewichtet werden.

Verfahren und Vorrichtungen gemäß der Erfindung oder gemäß der Gruppe von Erfindungen werden in den unabhängigen Ansprüchen definiert. Bevorzugte Formen werden in den abhängigen Ansprüchen definiert.

Die vorliegende Erfindung verbessert die Leistung von Codierungssystemen beim Vorliegen von Rahmenlöschungen ohne Modifikationen entweder an dem Sprachcodierer oder dem Sprachdecodierer zu erfordern. Ein Decodierer-Vorprozessor kann verwendet werden, um vorteilhafterweise ein codiertes Signal (d. h. ein Signal, das durch einen Codierer komprimiert wurde) nach der Übertragung aber vor der Decodierung zu modifizieren. Der Vorprozessor erkennt, daß ein gegebener Rahmen verfälscht wurde, und modifiziert das codierte Signal so, daß dessen Decodierung ein besseres rekonstruiertes Signal erzeugt als andernfalls durch den Decodierer erzeugt worden wäre.

Genauer gesagt wird das codierte Signal auf der Grundlage der Kenntnis des Decodierungsprozesses und auf der Grundlage eines vorbestimmten Signals (das hier als das "Zielsignal" bezeichnet wird) so modifiziert, daß der Decodierer, wenn ihm das modifizierte Signal zugeführt wird, eine Approximation des vorbestimmten Zielsignals erzeugt. Vorteilhafterweise wird ein vorbestimmtes Zielsignal gewählt, das, wenn es dem Decodierer verfügbar wäre die Qualität des durch den Decodierer erzeugten rekonstruierten Signals verbessern würde. Somit verbessert die Verwendung des modifizierten Signals die Qualität des rekonstruierten Signals, da der Decodierer in die Lage versetzt wird, eine Approximation des Zielsignals zu erzeugen. (Mit "Approximation" ist gemeint, daß der Decodierer ein Signal erzeugt, daß nahe genug bei dem Zielsignal liegt, so daß das resultierende rekonstruierte Signal eine im Vergleich zum Betrieb des Systems beim Fehlen der Modifikation verbesserte Leistung des Codierungssystems liefert. Wie Durchschnittsfachleuten wohlbekannt ist, wird die wahrnehmungsbezogene Qualität eines rekonstruierten Signals routinemäßig auf der Grundlage objektive Maße, wie zum Beispiel des "mittleren Meinungsbewertungs"-Index eingestuft.)

Zum Beispiel wird bei einem ersten Ausführungsbeispiel ein CELP-Sprachcodierer verwendet, und das Zielsignal wird als ein Erregungssignal gewählt, das aus Erregungsvektoren aus nur Nullen besteht. Bei dieser Ausführungsform werden die Erregungssignalindizes für den gelöschten Rahmen vorteilhafterweise durch den Vorprozessor modifiziert, um sicherzustellen, daß dessen Decodierung zu der Erzeugung von Erregungssignalen mit niedriger Energie führt, d. h. zu der Approximation des Zielsignals (d. h. der Erregungsvektoren mit nur Nullen). Genauer gesagt wird, wenn ein Rahmen als verfälscht erkannt wurde, der Teil des übertragenen Erregungssignalindex, der den Verstärkungsfaktor identifiziert (d. h. der Index des Verstärkungscodebuchs) für jeden Vektor des Rahmens auf einen Wert gesetzt, der den Verstärkungsfaktor mit dem kleinsten möglichen Absolutwert identifiziert. Auf diese Weise wird die Auswirkung verfälschter Rahmen in dem rekonstruierten Sprachsignal möglichst gering gehalten.

Bei einem zweiten Ausführungsbeispiel wird ein CELP-Codierer verwendet, und das Zielsignal wird so gewählt, daß es ein Erregungssignal ist, das aus einer Extrapolation des Erregungssignals besteht, das durch das codierte Signal für einen oder mehrere vorherige Rahmen dargestellt wird. Bei dieser Ausführungsform "decodiert" der Vorprozessor das codierte Sprachsignal nichtgelöschter Rahmen soweit wie notwendig, um das Erregungssignal zu erzeugen, das ebenfalls im Decodierer erzeugt wird. Anders ausgedrückt führt der Vorprozessor Codebuch-"Nachschläge" genauso wie der Decodierer aus. Wenn ein gelöschter Rahmen erkannt wird, extrapoliert der Vorprozessor dann das "decodierte" Erregungssignal des vorherigen Rahmens vorwärts durch die Zeitspanne des gelöschten Rahmens hindurch. Der Vorprozessor codiert das extrapolierte Erregungssignal unter Verwendung der besten verfügbaren Codebuch-Übereinstimmungen, indem eine Reihe von Codebuch-"Suchen" durchgeführt wird. Genauer gesagt werden die Codebuchvektoren gewählt, die am besten mit jedem Vektor des extrapolierten Erregungssignals übereinstimmen. Der Vorprozessor identifiziert dann die Indizes, die die besten Codebuchvektoren darstellen, und verwendet diese Indizes zur Erzeugung eines modifizierten codierten Sprachsignals. Dieses modifizierte Signal ermöglicht dem Decodierer, das Zielsignal (d. h. das extrapolierte Erregungssignal) zu approximieren, wodurch die Auswirkungen verfälschter Rahmen in dem rekonstruierten Sprachsignal möglichst gering gehalten werden.

Fig. 1 zeigt ein beispielhaftes drahtloses Kommunikationssystem gemäß der vorliegenden Erfindung.

Fig. 2 zeigt ein Flußdiagramm eines ersten Ausführungsbeispiels des Decodierervorprozessors von Fig. 1.

Fig. 3 zeigt ein Flußdiagramm eines zweiten Ausführungsbeispiels des Decodierervorprozessors von Fig. 1.

A. Einführung

Die vorliegende Erfindung betrifft zum Beispiel den Betrieb des Sprachcodierungssystems, bei dem Rahmenlöschung auftritt - das heißt ein Verlust einer Gruppe aufeinanderfolgender Bit in dem komprimierten Bitstrom, wobei die Gruppe gewöhnlich zum Synthetisieren von Sprache verwendet wird. Die folgende Beschreibung betrifft Merkmale der vorliegenden Erfindung, die als Beispiel auf das wohlbekannte Sprachcodierungssystem mit 16-kbit/s-CELP mit geringer Verzögerung (LD-CELP) angewandt werden, das vom CCITT als sein internationaler Standard, die "Empfehlung G.728" angenommen wird.

Der Betrieb des Standards G.728 wird ausführlich in EP-A-0 673 017 beschrieben.

(Der Entwurf der Empfehlung, der als der Standard G.728 angenommen wurde, ist der vorliegenden Schrift als ein Anhang beigefügt. Der Entwurf wird hier als der "Entwurf des Standards G.728" bezeichnet. Er enthält ausführliche Beschreibungen des Sprachcodierers und -decodierers des Standards in den dortigen Abschnitten 3 und 4.)

Ungeachtet der Beschreibung des Standards G.728 ist für Durchschnittsfachleute erkennbar, daß Merkmale der vorliegenden Erfindung auch auf andere Codierungssysteme anwendbar sind.

B. Übersicht

Fig. 1 zeigt ein beispielhaftes drahtloses Kommunikationssystem gemäß der vorliegenden Erfindung. Der Codierer 12 umfaßt einen herkömmlichen G.728-LD- CELP-Codierer und der Decodierer 18 umfaßt einen herkömmlichen G.728-LD-CELP-Decodierer. Der Decodierer 18 umfaßt einen Erregungssignalgenerator 17 und den Generator 19 für rekonstruierte Sprache. Kanal 14 umfaßt einen herkömmlichen Kommunikationskanal, der die Möglichkeit einer Datenverfälschung der durch diesen übertragenen codierten Signale enthält. Kanal 14 kann zum Beispiel ein drahtloser Kommunikationskanal oder ein Paketvermittlungsnetz sein. Der Decodierervorprozessor 16 modifiziert auf der Grundlage der Erkennung gelöschter (d. h. verfälschter) Rahmen das codierte Sprachsignal gemäß einem Ausführungsbeispiel der vorliegenden Erfindung und verbessert dadurch die Leistung des Codierungssystems beim Vorliegen von Rahmenlöschungen.

Im Betrieb wird zu codierende Eingangssprache dem Codierer 12 zugeführt, der ein codiertes Sprachsignal erzeugt, das durch den Kanal 14 übertragen werden soll. Das resultierende codierte Sprachsignal, das am "fernen" Ende des Kanals 14 empfangen wird, kann Rahmenlöschungen enthalten. Der Decodierer 18 erzeugt letztendlich ein rekonstruiertes Sprachsignal, das versucht, so getreu wie möglich die ursprünglich dem Codierer 12 zugeführte Eingangssprache zu reproduzieren. Insbesondere erzeugt der Erregungssignalgenerator 17 des Decodierers 18 zunächst ein Erregungssignal durch Durchführen von Codebuch-Nachschlagevorgängen auf der Grundlage des codierten Sprachsignals (d. h. der Codebuchindizes), das diesem zugeführt wird. Danach erzeugt der Generator 19 für rekonstruierte Sprache auf der Grundlage dieses Erregungssignals das rekonstruierte Sprachsignal.

Beim "normalen" Betrieb (d. h. ohne Rahmenlöschprobleme) verarbeitet der Decodierer 18 das ursprüngliche codierte Sprachsignal, das durch den Codierer 12 erzeugt, durch den Kanal 14 übermittelt und durch den Vorprozessor 16 empfangen wird. Wenn der Vorprozessor 16 bestimmt, daß das codierte Sprachsignal für einen gegebenen Rahmen gültig ist (d. h. nicht durch seine Übermittlung durch den Kanal 14 verfälscht wurde), dann leitet er anders ausgedrückt das Signal unmodifiziert zu dem Decodierer 18 weiter.

Wie oben und in dem Entwurf des Standards G.728 beschrieben wird, umfaßt das codierte Sprachsignal Codebuchindizes. Jeder Index stellt einen Vektor von fünf Erregungssignalproben dar, die aus dem (identischen) Erregungscodebuch gewonnen werden können, das sowohl im Codierer 12 als auch dem Erregungssignalgenerator 17 des Decodierers 18 zu finden ist. Jedes Codebuch (d. h. das Codierercodebuch und das Decodierercodebuch) umfaßt separate Verstärkungs- und Formcodebücher. Das Verstärkungscodebuch mit 3-Bit-Index umfaßt 8 vorzeichenbehaftete skalare Einträge und das Formcodebuch mit 7-Bit-Index umfaßt 128 Codevektoreinträge (5-Proben). Die Skalarwerte des Verstärkungscodebuchs sind symmetrisch in bezug auf Null und umfassen ein Bit (d. h. das höchstwertige Bit), um das Vorzeichen darzustellen, und zwei Bit (d. h. die beiden niedrigstwertigen Bit), um den Betrag des Werts darzustellen. Der gesamte 10-Bit-Index in dem codierten Signal stellt das "Produkt" des identifizierten Codevektors aus dem Formcodebuch und des identifizierten Verstärkungsfaktors aus dem Verstärkungscodebuch dar.

Der Decodierer verwendet jeden empfangenen Index, um einen Erregungscodevektor aus seinem Codebuch zu entnehmen. Der entnommene Codevektor ist derjenige, der durch den Codierer als die beste Übereinstimmung mit dem ursprünglichen Signal bestimmt wurde. Genauer gesagt umfaßt der empfangene Index zwei Teile - einen Formcodebuchindex und einen Verstärkungscodebuchindex. Der letztendlich vom Decodierer entnommene Erregungscodevektor ist das Produkt des entnommenen Formcodevektors (aus dem 7-Bit-Formcodebuch) und des entnommenen Verstärkungspegels (aus dem 3-Bit-Verstärkungscodebuch). (Man beachte, daß gemäß dem Standard G.728 das decodierte Signal weiter durch eine rückwärts-adaptive Vektorverstärkung skaliert wird. Dieser Verstärkungsskalierungsprozeß wird zusätzlich zu, aber getrennt und außerhalb von der Verwendung des auf die oben beschriebene Weise aus dem Verstärkungscodebuch entnommenen Verstärkungsfaktors durchgeführt. Mit Bezug auf das in Fig. 1 dargestellte System wird zum Beispiel die rückwärts-adaptive Verstärkungsskalierung als Teil des Generators 19 für rekonstruierte Sprache durchgeführt, während die Multiplikation des entnommenen Formcodevektors mit dem aus dem Verstärkungscodebuch entnommenen Verstärkungsfaktor als Teil des Erregungssignalgenerators 17 durchgeführt wird.)

Beim Vorliegen von Rahmenlöschungen empfängt der Vorprozessor 16 von Fig. 1 keine zuverlässigen Informationen (wenn er überhaupt etwas empfängt) in bezug darauf, welche Vektoren von Erregungssignalproben aus dem Codebuch des Erregungssignalgenerators 17 des Decodierers 18 entnommen werden sollten. Wenn der Vorprozessor 16 zum Beispiel das codierte Sprachsignal unmodifiziert zu dem Decodierer 18 weiterleiten würde (oder wenn der Vorprozessor 16 in dem System von Fig. 1 nicht vorläge), dann würde somit das resultierende Sprachsignal für verfälschte Rahmen auf der Grundlage einer im wesentlichen willkürlichen (d. h. zufälligen) Auswahl von Erregungscodevektoren erzeugt. Eine solche zufällige Auswahl von Codevektoren führt häufig zu äußerst starken wahrnehmungsbezogenen Verzerrungen, die in der Regel als viele "Explosionen" mit großem Betrag aber kurzer Dauer erscheinen. Obwohl solche Fehler das Anhören der rekonstruierten Sprache fast schon schmerzvoll werden lassen können, ist diese häufig jedoch zum größten Teil verständlich, sogar bei Rahmenlöschhäufigkeiten von bis zu 20%. Sogar bei Rahmenlöschraten von nur 1% ist das Anhören des resultierenden rekonstruierten Sprachsignals häufig unangenehm.

C. Ein erstes Ausführungsbeispiel

Fig. 2 zeigt ein Flußdiagramm eines ersten Ausführungsbeispiels des Decodierervorprozessors von Fig. 1. Bei dieser Ausführungsform wird ein CELP- Sprachcodierer (z. B. der Standard G.728) verwendet, und das Zielsignal umfaßt Erregungsvektoren mit nur Nullen. Der Vorprozessor ermöglicht dem Decodierer, dieses Zielsignal durch Modifizieren der gelöschten Rahmen des codierten Sprachsignals zu approximieren, indem die entsprechenden Verstärkungsfaktoren auf einen niedrigen Wert gesetzt werden. Genauer gesagt setzt er den Verstärkungscodebuchindex für gelöschte Rahmen auf einen Index, der einen Verstärkungsfaktor des niedrigsten möglichen Absolutwerts darstellt.

Mit Bezug auf Fig. 2 bestimmt der Vorprozessor 16 für jeden aus dem Kanal 14 empfangenen Rahmen (Schritt 20), ob das codierte Sprachsignal für diesen Rahmen verfälscht wurde (Schritt 22) oder nicht verfälscht wurde. Die Bestimmung, daß ein gegebener Rahmen verfälscht wurde, kann auf beliebige von zahlreichen herkömmlichen Weisen erfolgen, die in der Technik wohlbekannt sind. Zum Beispiel können Rahmenlöschungen durch Verwendung eines herkömmlichen Fehlererkennungscodes erkannt werden. Außerdem könnte ein solcher Code zum Beispiel als Teil eines herkömmlichen Funksende-/Empfangsteilsystems eines drahtlosen Kommunikationssystems implementiert werden (das zum Beispiel ein Teil des Kanals 14 sein kann), statt als Teil des Vorprozessors 16. Ähnlich könnte ein solcher Fehlererkennungscode als Teil eines Netzprotokollschnittstellenteilsystems in einer Paketvermittlungsnetzumgebung implementiert werden. Somit kann die Bestimmung, ob ein gegebener Rahmen verfälscht oder nicht verfälscht ist, innerhalb des Vorprozessors 16 durchgeführt werden, oder diese Informationen können aus einer externen Quelle dem Vorprozessor zugeführt werden. In jedem Fall erkennt der Vorprozessor 16, ob eine Rahmenlöschung aufgetreten ist oder nicht.

Wenn der gegebene Rahmen als unverfälscht bestimmt wurde (Entscheidung 24), leitet der Vorprozessor 16 das codierte Sprachsignal unmodifiziert zu dem Decodierer 18 weiter, wie oben beschrieben (Schritt 26). Wenn der Vorprozessor 16 andererseits erkennt, daß ein gegebener Rahmen verfälscht wurde, wird das codierte Sprachsignal modifiziert, um sicherzustellen, daß das Decodieren des modifizierten Signals für diesen Rahmen zu Erregungssignalen mit niedriger Energie führt (wodurch Erregungsvektoren mit nur Nullen approximiert werden). Genauer gesagt wird für jeden Vektor in dem verfälschten Rahmen der Teil des übertragenen Erregungssignalindex, der den Verstärkungsfaktor identifiziert (d. h. der Index des Verstärkungscodebuchs) auf einen Wert gesetzt, der einen niedrigen Verstärkungsfaktor darstellt (d. h. einen Verstärkungsfaktor mit dem kleinsten möglichen Absolutwert).

Gemäß dem Standard G.728 enthält das Verstärkungscodebuch zum Beispiel Verstärkungsfaktoren, die den kleinsten möglichen Absolutwert an einem Array- Index "1", was dem Kanalindex "0" entspricht, und an dem Array-Index "5", was dem Kanalindex "4" entspricht, aufweisen (siehe z. B. den Entwurf des Standards G.728, Anhang B). Somit wird bei dem Ausführungsbeispiel von Fig. 2 der Verstärkungsfaktorindex für jeden Vektor in dem verfälschten Rahmen so modifiziert, daß die niedrigstwertigen zwei Bit des 3-Bit-Verstärkungscodebuchindex auf "00" gesetzt werden (Schritt 28), wodurch entweder der Kanalindex "0" oder der Kanalindex "4" identifiziert wird. Man beachte, daß es zur Vermeidung einer unerwünschten Periodizität in dem Erregungssignal vorteilhaft ist, daß die anderen Bit des Erregungssignalindex - nämlich das höchstwertige Bit des Drei-Bit-Verstärkungscodebuchindex (das das Vorzeichen der Verstärkung wiedergibt) und der Sieben- Bit-Formcodebuchindex - effektiv zufällige Werte aufweisen. Entweder können solche zufälligen Werte explizit auf diese Bit angewandt werden, oder alternativ dazu können diese Bit unter der (vernünftigen) Annahme, daß sie natürlicherweise ausreichend zufällig sind, unmodifiziert gelassen werden. Nachdem der Vorprozessor 16 entweder das codierte Sprachsignal zum Decodierer 18 durchgeleitet hat (Schritt 26) oder das codierte Sprachsignal gemäß der obigen Beschreibung modifiziert hat (Schritt 28), kehrt die Steuerung schließlich zum Schritt 20 zurück, um den nächsten Rahmen zu empfangen.

D. Ein zweites Ausführungsbeispiel

Fig. 3 zeigt ein Flußdiagramm eines zweiten Ausführungsbeispiels des Decodierervorprozessors von Fig. 1. Bei dieser Ausführungsform wird ein CELP- Sprachcodierer (z. B. der Standard G.728) verwendet, und das Zielsignal wird als ein Erregungssignal gewählt, das eine Extrapolation des durch das codierte Signal für den vorherigen Rahmen dargestellten Erregungssignals umfaßt. Der Vorprozessor "decodiert" das codierte Sprachsignal nichtgelöschter Rahmen so weit wie notwendig, um das Erregungssignal zu erzeugen - das beißt, er führt dieselben Codebuchnachschläge durch, die innerhalb des Erregungssignalgenerators 17 des Decodierer durchgeführt werden. Der Vorprozessor 16 enthält deshalb vorteilhafterweise eine Kopie desselben Codebuchs, das sowohl im Codierer als auch im Decodierer zu finden ist. Wenn ein gelöschter Rahmen erkannt wird, extrapoliert der Vorprozessor 16 das Erregungssignal, das er für den vorherigen Rahmen decodiert hat, vorwärts durch die Zeitspanne des gelöschten Rahmens. Danach führt der Vorprozessor Codebuchsuchen durch, um die (am besten übereinstimmenden) Codebuchindizes zu erzeugen, die das extrapolierte Erregungssignal darstellen.

Genauer gesagt und mit Bezug auf Fig. 3 bestimmt der Vorprozessor 16 für jeden aus dem Kanal 14 empfangenen Rahmen (Schritt 30), ob das codierte Sprachsignal für diesen Rahmen verfälscht wurde (Schritt 32) oder nicht verfälscht wurde. Schritt 32 entspricht Schritt 22 des Flußdiagramms von Fig. 2 und kann wie oben erwähnt auf beliebige der herkömmlichen Weisen durchgeführt werden.

Wenn der gegebene Rahmen als unverfälscht bestimmt wird (Entscheidung 34), leitet der Vorprozessor 16 das codierte Sprachsignal unmodifiziert zu dem Decodierer 18 weiter (Schritt 36). Außerdem führt der Vorprozessor 16 Codebuchnachschläge für jeden Codebuchindex in dem gegebenen Rahmen durch, wobei das resultierende Erregungssignal erzeugt und gespeichert wird. Dieser Prozeß ist im wesentlichen identisch mit dem Prozeß, der von dem Erregungssignalgenerator 17 des Decodierers 18 in Fig. 1 auf die oben beschriebene Weise durchgeführt wird. Diese gespeicherten Daten werden zur möglichen Verwendung bei der Verarbeitung des nächsten Rahmens gesichert (wenn sich herausstellt, daß der nächste Rahmen ein gelöschter Rahmen ist).

Wenn der Vorprozessor 16 jedoch in der Entscheidung 34 erkennt, daß ein gegebener Rahmen verfälscht wurde, dienen die Schritte 40 bis 44 dazu, das codierte Sprachsignal zu modifizieren, um sicherzustellen, daß das Decodieren des modifizierten Signals für diesen Rahmen eine Extrapolation des Erregungssignals approximiert, das bei der Verarbeitung des vorherigen Rahmens gespeichert wurde. Genauer gesagt führt der Schritt 40 zunächst eine Extrapolation des Erregungssignals des vorherigen Rahmens durch (das im Schritt 38 decodiert und gespeichert wurde). Eine solche Extrapolation kann unter Verwendung herkömmlicher Extrapolationsverfahren durchgeführt werden, die Fachleuten wohlbekannt sind. Einen Ansatz für eine solche Extrapolation findet man z. B. in Abschnitt II. A der ausführlichen Beschreibung von EP-A-0 673 017.

Als nächstes führt Schritt 42 die "Codierung" des extrapolierten Erregungssignals durch - das heißt, es werden Codebuchsuchen durchgeführt, um die Codebucheinträge zu finden, die die beste Übereinstimmung mit dem extrapolierten Signal liefern. Für jeden Vektor des gelöschten Rahmens wird das Codebuch durchsucht, um den Eintrag zu finden, der am besten mit dem entsprechenden Teil des extrapolierten Erregungssignals übereinstimmt. Das Kriterium der besten Übereinstimmung kann zum Beispiel auf einer quadratischen *+- oder auf anderen Fehlerkriterien basieren, die Fachleuten wohlbekannt sind.

Als letztes ersetzt Schritt 44 den gelöschten Rahmenteil des codierten Sprachsignals mit den im Schritt 42 erzeugten Codebuchindizes. Die Verwendung dieser Codebuchindizes ermöglicht dem Decodierer, ein Erregungssignal zu erzeugen, das das extrapolierte Erregungssignal, das im Schritt 40 erzeugt wurde, approximiert, wodurch die Leistung des Codierungssystems verbessert wird. Nachdem der Vorprozessor 16 das codierte Sprachsignal entweder zum Decodierer 18 durchgeleitet hat (Schritt 36) (und im Schritt 38 das Erregungssignal erzeugt hat) oder das codierte Sprachsignal gemäß der obigen Beschreibung in den Schritten 40 bis 44 modifiziert hat, kehrt die Steuerung zum Schritt 30 zurück, um den nächsten Rahmen zu empfangen.

E. Andere Ausführungsformen

Der Klarheit halber wurden die hier beschriebenen Ausführungsbeispiele der vorliegenden Erfindung als einzelne Funktionsblöcke umfassend dargestellt. Die von diesen Blöcken dargestellten Funktionen können durch Verwendung entweder gemeinsam benutzter oder eigener Hardware bereitgestellt werden, darunter u. a. Hardware, die in der Lage ist, Software auszuführen. Zum Beispiel können die in Fig. 1 dargestellten Blöcke von einem oder mehreren Prozessoren bereitgestellt werden. (Die Verwendung des Begriffs "Prozessor" sollte nicht als ausschließlich Hardware, die in der Lage ist Software auszuführen, bedeutend aufgefaßt werden.)

Ausführungsbeispiele können Hardware für digitale Signalverarbeitung (DSP), wie zum Beispiel den DSP16 oder DSP32C von AT&T, Nur-Lese-Speicher (ROM) zum Speichern von Software zur Durchführung der oben besprochenen Operationen und Direktzugriffsspeicher (RAM) zum Speichern von DSP-Ergebnissen umfassen. Außerdem können höchst integrierte Hardwareausführungsformen (VLSI) sowie kundenspezifische VLSI-Schaltkreise in Verbindung mit einer Vielzweck-DSP-Schaltung bereitgestellt werden.

Obwohl hier spezifische Ausführungsformen der vorliegenden Erfindung gezeigt und beschrieben wurden, versteht sich, daß diese Ausführungsformen lediglich ein Beispiel der vielen möglichen spezifischen Anordnungen bilden, die bei der Anwendung der Prinzipien der Erfindung entwickelt werden können. Zahlreiche und verschiedene andere Anordnungen können gemäß diesen Prinzipien von Durchschnittsfachleuten entwickelt werden, ohne vom Gedanken und Schutzumfang der Erfindung abzuweichen.

Zum Beispiel wurde die vorliegende Erfindung zwar im Kontext des Sprachcodierungsstandards G.728 LD- CELP beschrieben, die Prinzipien der Erfindung sind jedoch auch auf andere Sprachcodierungssysteme anwendbar. Zum Beispiel können solche Codierungssysteme einen Langzeit-Prädiktor (oder ein Langzeit-Synthesefilter) enthalten, um ein verstärkungsskaliertes Erregungssignal in ein Signal mit Tonhöhenperiodizität umzusetzen. Zusätzlich kann ein solches Codierungssystem möglicherweise ein Nachfilter enthalten. Darüberhinaus kann die vorliegende Erfindung auch auf die Codierung von anderen Signalen als Sprachsignale angewandt werden, darunter Audio-, Bild- und Videosignale.

Bei bestimmten CELP-Sprachcodierungssystemen können neben den Codebuchindizes andere codierte Parameter als Codebuchindizes übertragen werden, darunter zum Beispiel LPC-Filterkoeffizienten (linearprädiktive Filterkoeffizienten) und/oder Tonhöhenprädiktionsparameter. Die Prinzipien der vorliegenden Erfindung können vorteilhafterweise auch auf den Fall einer Rahmenlöschung im Kontext dieser Systeme angewandt werden. Wenn zum Beispiel solche codierten Parameter in einem gelöschten Rahmen enthalten sind, kann vorteilhafterweise ein Zielsignal verwendet werden, das eine Extrapolation der Werte dieser Parameter auf der Grundlage eines oder mehrerer vorheriger (z. B. nichtgelöschter) Rahmen umfaßt. Wie im Fall der oben beschriebenen Extrapolation von Erregungssignalen kann eine solche Extrapolation durch Verwendung herkömmlicher Extrapolationsverfahren durchgeführt werden, die Fachleuten wohlbekannt sind. Einen Ansatz für eine solche Extrapolation bei Anwendung auf LPC-koeffizienten findet man z. B. in Abschnitt II. B der ausführlichen Beschreibung von EP-A-0 673 017.

Zusätzlich kann im Kontext der vorliegenden Erfindung ein Zielsignal verwendet werden, das eine Interpolation (statt einer Extrapolation) von Signalen wie zum Beispiel Erregungssignalen oder Parametersignalen umfaßt, ohne vom Gedanken oder Schutzumfang der Erfindung abzuweichen. In diesem Fall können einer oder mehrere (nichtgelöschte) Rahmen nach dem gelöschten Rahmen neben einem oder mehreren Rahmen vor dem gelöschten Rahmen verwendet werden, um das Zielsignal zu bestimmen. Um nachfolgende Rahmen benutzen zu können, muß natürlich eine zusätzliche Verzögerung inkaufgenommen werden, da diese Rahmen empfangen werden müssen, bevor der aktuelle gelöschte Rahmen verarbeitet werden kann. Fachleuten werden weitere ähnliche oder verwandte Ausführungsformen der vorliegenden Erfindung offensichtlich sein.


Anspruch[de]

1. Verfahren zur Verbesserung der Leistung eines Codierungs- und Decodierungssystems, wobei das System einen Decodierer (18) enthält, der als Reaktion auf ein codiertes Signal einen Decodierungsprozeß durchführt, wobei das codierte Signal mehrere Rahmen umfaßt und bei mindestens einem der Rahmen des codierten Signals eine Rahmenlöschung aufgetreten ist, wobei das Verfahren durch einen Decodierer-Vorprozessor (16) ausgeführt wird, der von dem Decodierer (18) getrennt ist, und die folgenden Schritte umfaßt:

Erkennen (22), daß bei einem gegebenen der Rahmen des codierten Signals eine Rahmenlöschung aufgetreten ist; und

Modifizieren (28) des codierten Signals für den gegebenen Rahmen auf der Grundlage des Decodierungsprozesses, wobei der gegebene Rahmen ein codiertes Verstärkungssignal umfaßt, das einen Verstärkungsfaktor darstellt, und wobei der Schritt des Modifizierens des codierten Signals das Ersetzen des codierten Verstärkungssignals durch ein anderes codiertes Verstärkungssignal umfaßt, wobei das andere codierte Verstärkungssignal einen Verstärkungsfaktor darstellt, der einen kleineren Absolutwert als der durch das ersetzte codierte Verstärkungssignal dargestellte Verstärkungsfaktor aufweist.

2. Verfahren zur Verbesserung der Leistung eines Codierungs- und Decodierungssystems, wobei das System einen Decodierer (18) enthält, der als Reaktion auf ein codiertes Signal einen Decodierungsprozeß durchführt, wobei das codierte Signal mehrere Rahmen umfaßt und bei mindestens einem der Rahmen des codierten Signals eine Rahmenlöschung aufgetreten ist, wobei das Verfahren durch einen Decodierer-Vorprozessor (16) ausgeführt wird, der von dem Decodierer (18) getrennt ist, und die folgenden Schritte umfaßt:

Erkennen (32), daß bei einem gegebenen der Rahmen des codierten Signals eine Rahmenlöschung aufgetreten ist; und

Modifizieren (44) des codierten Signals für den gegebenen Rahmen auf der Grundlage des Decodierungsprozesses, wobei jeder Rahmen ein oder mehrere Erregungsanzeigesignale umfaßt, die jeweils ein Erregungssignal darstellen, und wobei der Schritt des Modifizierens des codierten Signals die folgenden Schritte umfaßt:

Bestimmen der Erregungssignale, die durch die Erregungsanzeigesignale eines oder mehrerer der dem gegebenen Rahmen vorausgehenden Rahmen dargestellt werden;

Erzeugen (40) eines oder mehrerer extrapolierter Erregungssignale für den gegebenen Rahmen auf der Grundlage der bestimmten Erregungssignale;

Erzeugen (42) eines oder mehrerer extrapolierter Erregungsanzeigesignale auf der Grundlage des einen bzw. der mehreren extrapolierten Erregungssignale; und

Ersetzen (44) des einen oder der mehreren Erregungsanzeigesignale des gegebenen Rahmens durch das eine bzw. die mehreren extrapolierten Erregungsanzeigesignale.

3. Verfahren nach Anspruch 1 oder 2, wobei der Schritt des Erkennens, daß bei dem gegebenen Rahmen eine Rahmenlöschung aufgetreten ist, das Erkennen des Auftretens der Rahmenlöschung umfaßt.

4. Verfahren nach Anspruch 1 oder 2, weiterhin mit dem Schritt des Decodierens des modifizierten codierten Signals zur Erzeugung eines rekonstruierten Signals.

5. Verfahren nach Anspruch 1 oder 2, wobei das codierte Signal ein codiertes Sprachsignal umfaßt.

6. Verfahren nach Anspruch 1, wobei das codierte Verstärkungssignal einen Codebuchindex umfaßt.

7. Verfahren nach Anspruch 2, wobei die Erregungsanzeigesignale und die extrapolierten Erregungsanzeigesignale Codebuchindizes umfassen.

8. Verfahren nach Anspruch 7, wobei der Schritt des Bestimmens der Erregungssignale ein ein- oder mehrfaches Nachschlagen im Codebuch umfaßt und der Schritt des Erzeugens der extrapolierten Erregungsanzeigesignale ein ein- oder mehrfaches Suchen im Codebuch umfaßt.

9. Verfahren nach Anspruch 6 oder 8, wobei das codierte Signal dem Standard G.728 LD-CELP entspricht.

10. Decodierer-Vorprozessor (16) zur Verbesserung der Leistung eines Codierungs- und Decodierungssystems, wobei das System einen Decodierer (18) enthält, der als Reaktion auf ein codiertes Signal einen Decodierungsprozeß durchführt, wobei das codierte Signal mehrere Rahmen umfaßt und bei mindestens einem der Rahmen des codierten Signals eine Rahmenlöschung aufgetreten ist, wobei der Decodierer-Vorprozessor (16) von dem Decodierer (18) getrennt ist und folgendes umfaßt:

ein Mittel zum Erkennen (22), daß bei einem gegebenen der Rahmen des codierten Signals eine Rahmenlöschung aufgetreten ist; und

ein Mittel zum Modifizieren (28) des codierten Signals für den gegebenen Rahmen auf der Grundlage des Decodierungsprozesses, wobei der gegebene Rahmen ein codiertes Verstärkungssignal umfaßt, das einen Verstärkungsfaktor darstellt, und wobei das Mittel zum Modifizieren des codierten Signals ein Mittel zum Ersetzen des codierten Verstärkungssignals durch ein anderes codiertes Verstärkungssignal umfaßt, wobei das andere codierte Verstärkungssignal einen Verstärkungsfaktor darstellt, der einen kleineren Absolutwert als der durch das ersetzte codierte Verstärkungssignal dargestellte Verstärkungsfaktor aufweist.

11. Decodierer-Vorprozessor (16) zur Verbesserung der Leistung eines Codierungs- und Decodierungssystems, wobei das System einen Decodierer (18) enthält, der als Reaktion auf ein codiertes Signal einen Decodierungsprozeß durchführt, wobei das codierte Signal mehrere Rahmen umfaßt und bei mindestens einem der Rahmen des codierten Signals eine Rahmenlöschung aufgetreten ist, wobei der Decodierer-Vorprozessor (16) von dem Decodierer (18) getrennt ist und folgendes umfaßt:

ein Mittel zum Erkennen (32), daß bei einem gegebenen der Rahmen des codierten Signals eine Rahmenlöschung aufgetreten ist; und

ein Mittel zum Modifizieren (44) des codierten Signals für den gegebenen Rahmen auf der Grundlage des Decodierungsprozesses, wobei jeder Rahmen ein oder mehrere Erregungsanzeigesignale umfaßt, die jeweils ein Erregungssignal darstellen, und wobei das Mittel zum Modifizieren des codierten Signals folgendes umfaßt:

ein Mittel zum Bestimmen der Erregungssignale, die durch die Erregungsanzeigesignale eines oder mehrerer der dem gegebenen Rahmen vorausgehenden Rahmen dargestellt werden;

ein Mittel zum Erzeugen (40) eines oder mehrerer extrapolierter Erregungssignale für den gegebenen Rahmen auf der Grundlage der bestimmten Erregungssignale;

ein Mittel zum Erzeugen (42) eines oder mehrerer extrapolierter Erregungsanzeigesignale auf der Grundlage des einen bzw. der mehreren extrapolierten Erregungssignale; und

ein Mittel zum Ersetzen (44) des einen oder der mehreren Erregungsanzeigesignale des gegebenen Rahmens durch das eine bzw. die mehreren extrapolierten Erregungsanzeigesignale.

12. Decodierer-Vorprozessor nach Anspruch 10 oder 11, wobei das Mittel zum Erkennen, daß bei dem gegebenen Rahmen eine Rahmenlöschung aufgetreten ist, ein Mittel zum Erkennen des Auftretens der Rahmenlöschung umfaßt.

13. Decodierer-Vorprozessor nach Anspruch 10 oder 11, wobei das codierte Signal ein codiertes Sprachsignal umfaßt.

14. Decodierer-Vorprozessor nach Anspruch 10, wobei das codierte Verstärkungssignal einen Codebuchindex umfaßt.

15. Decodierer-Vorprozessor nach Anspruch 11, wobei die Erregungsanzeigesignale und die extrapolierten Erregungsanzeigesignale Codebuchindizes umfassen.

16. Decodierer-Vorprozessor nach Anspruch 15, wobei das Mittel zum Bestimmen der Erregungssignale ein Mittel zum ein- oder mehrfachen Nachschlagen im Codebuch umfaßt und das Mittel zum Erzeugen der extrapolierten Erregungsanzeigesignale ein Mittel zum ein- oder mehrfachen Suchen im Codebuch umfaßt.

17. Decodierer-Vorprozessor nach Anspruch 14 oder 16, wobei das das codierte Signal dem Standard G.728 LD-CELP entspricht.







IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com