[0001] Die Erfindung betrifft ein Verfahren zur Decodierung eines Signals, welches mittels
eines Hybridcodierers codiert wurde. Die Erfindung betrifft ferner eine entsprechend
ausgestaltete Vorrichtung zur Decodierung.
[0002] Zur Codierung von Audiosignalen haben sich unterschiedliche Verfahren als besonders
effektiv herausgestellt. So hat sich beispielsweise zur qualitativ guten Codierung
von Sprachsignalen, welche eine gute Qualität aufweisen, und bei gleichzeitig niedrigen
Bitraten des codierten Datenstroms insbesondere die sogenannte CELP Technologie (Code
Excited Linear Prediction) als günstig erwiesen. CELP arbeitet im Zeitbereich und
basiert auf einem Anregungsmodell für ein variables Filter. Hierbei wird das Sprachsignal
sowohl durch Filterparameter als auch durch Parameter, welche das Anregungssignal
beschreiben, dargestellt.
[0003] Zumeist wird in Hinblick auf Codierer auch von dem entsprechenden Decodierer gesprochen,
der die codierten Daten wieder entschlüsseln bzw. decodieren kann. Entsprechende Kommunikationsgeräte
weisen einen solchen sogenannten Codec auf, um eben Daten versenden und empfangen
zu können, was für eine Kommunikation erforderlich ist.
[0004] Für die Codierung von Musik- und Sprachsignalen, welche eine sehr hohe Qualität insbesondere
auch bei höheren Bitraten des codierten Datenstroms aufweisen sollen, haben sich vor
allem sogenannte perceptuelle Codecs (Codec = Codierer/Decodierer) durchgesetzt. Diese
perceptuellen Codecs basieren auf einer Informationsreduktion im Frequenzbereich und
sie nutzen Maskierungseffekte des menschlichen Hörsystems aus, d.h., dass beispielsweise
bestimmte Frequenzen oder Änderungen, die der Mensch nicht wahrnehmen kann, auch nicht
dargestellt werden. Dadurch wird die Komplexität des Coders oder Codecs gesenkt. Da
diese Coder meist mit einer Transformierung des Zeitsignals in den Frequenzbereich
arbeiten, wobei die Transformierung beispielsweise mittels MDCT (Modified Discrete
Cosine Transformation) vorgenommen wird, werden diese oft auch als Transformcoder
oder -codecs bezeichnet. Dieser Ausdruck wird im Rahmen der weiteren Anmeldung verwendet.
[0005] In letzter Zeit kommen zunehmend sogenannte skalierbare Codecs zum Einsatz. Skalierbare
Codecs sind solche Codecs, die zunächst eine exzellente Audioqualität bei relativ
hoher Bitrate des codierten Datenstroms erzeugen. Damit ergeben sich relativ lange,
periodisch zu übertragende Pakete.
[0006] Ein Paket ist eine Mehrzahl Daten, welche in einem Zeitintervall anfallen, und zusammen
eben in diesem Paket übertragen werden. Bei Paketen werden oftmals wichtige Daten
zuerst und weniger wichtige Daten nachfolgend übertragen. Bei diesen langen Paketen
besteht jedoch die Möglichkeit, diese Pakete zu kürzen, indem ein Teil der Daten entfernt
wird, insbesondere indem der zeitlich zuletzt übertragene Teil des Paketes abgeschnitten
wird. Damit geht natürlich eine Verschlechterung der Qualität einher.
[0007] Wegen der zuvor genannten Eigenschaften bietet es sich für skalierbare Codecs an,
bei niedrigen Bitraten mit CELP Codecs zu arbeiten und bei höheren Bitraten mit Transformcodecs.
Dies hat zur Entwicklung von hybriden CELP/Transformcodecs geführt, die ein Basissignal
mit guter Qualität nach dem CELP Verfahren codieren und zusätzlich dazu ein Zusatzsignal
nach dem Transformcodec-Verfahren generieren, mit dem das Basissignal verbessert wird.
Dies führt dann zu der erwünschten exzellenten Qualität.
[0008] Nachteilig bei der Verwendung dieser Transformcodecs ist, dass ein sogenannter "Pre-Echo
Effekt" auftritt. Dabei handelt es sich um ein Störgeräusch, das gleichmäßig über
die gesamte Blocklänge eines Transform-Coder Blocks verteilt ist. Unter einem Block
versteht man, eine Gesamtheit von Daten, welche gemeinsam codiert werden. Für Transformcodecs
beträgt eine typische Blocklänge 40 msec. Das Störgeräusch des PreEcho Effekts entsteht
durch Quantisierungsfehler von übertragenen spektralen Komponenten. Bei gleichmäßigem
Signalpegel liegt der Pegel dieses Störgeräusches überall unter dem Pegel des Nutzsignals.
Hat man allerdings ein Nutzsignal mit einem Null-Pegel gefolgt von einem plötzlichen
hohen Pegel, so ist dieses Störgeräusch vor dem Einsetzen des hohen Pegels deutlich
zu hören. In der Literatur ist ein bekanntes Beispiel hierfür der Signalverlauf beim
Klappern einer Castanette.
[0009] Zur Reduktion dieses Effekts werden bereits verschiedene Verfahren angewandt. Diese
arbeiten aber alle mit der Übertragung von Zusatzinformationen, was wiederum das Coderdesign
sehr komplex gestaltet oder erzwingt, dass die Coder mit vorübergehend erhöhten Bitraten
arbeiten müssen.
[0010] Ausgehend von diesem Stand der Technik ist es Aufgabe der vorliegenden Erfindung,
eine einfache Möglichkeit zu schaffen, eine Störgeräuschreduktion bei mittels eines
hybriden Coders codierten Signalen herbeizuführen, bei der keine Zusatzinformation
benötigt wird.
[0011] Diese Aufgabe wird durch den Gegenstand der unabhängigen Ansprüche gelöst. Vorteilhafte
Weiterbildungen sind Gegenstand der abhängigen Ansprüche.
[0012] Für diese Störgeräuschreduktion bei einem decodierten Signal, das sich aus einem
ersten, z.B. von einem CELP Decodierer stammenden, und einem zweiten, z.B. von einem
TransformDecodierer stammenden Signal zusammensetzt, werden folgende Schritte durchgeführt:
[0013] Aus den beiden decodierten Signalbeiträgen wird jeweils die zugehörige Energiehüllkurve
ermittelt. Unter Energiehüllkurve versteht man insbesondere den Energieverlauf eines
Signals gegenüber der Zeit.
[0014] Aus einem Vergleich beider Hüllkurven wird eine Kennzahl gebildet, beispielsweise
ein Verhältnis.
[0015] Diese Kennzahl dient wiederum zum Ableiten eines Verstärkungsfaktors.
[0016] Dieses Verfahren weist insbesondere Vorteile auf, wenn Energie z.B. bei dem Codierverfahren,
welches zum ersten decodierten Signalbeitrag führt, zuverlässiger erkannt wird. Dann
kann nämlich durch die Kennzahl oder den Verstärkungsfaktor eine Abweichung erkannt
werden.
[0017] Insbesondere kann der zweite decodierte Signalbeitrag mit dem Verstärkungsfaktor
multipliziert werden. Dadurch kann die oben erwähnte Abweichung korrigiert werden.
[0018] Sämtliche Signale können in Zeitabschnitte unterteilt sein, wobei insbesondere die
Zeitabschnitte, welche für den ersten decodierten Signalbeitrag verwendet werden,
kürzer sein können als diejenigen für den zweiten.
[0019] Damit können aufgrund der höheren Zeitauflösung Energieabweichungen im zweiten Signalbeitrag
besser korrigiert werden.
[0020] Der erste Signalbeitrag kann aus einem CELP Decodierer stammen, der ein CELP codiertes
Signal decodiert, der zweite aus einem Transformdecodierer, der ein transformcodiertes
Signal decodiert. Dieses transformcodierte Signal kann insbesondere auch den ersten,
CELP-decodierten Signalbeitrag enthalten, der nach der Decodierung transform-codiert
wurde, zum vom Sender übertragenen transformcodierten Signal addiert wurde (also schon
im Frequenzbereich), und dann im Transformdecodierer als Beitrag zum zweiten Signalbeitrag
decodiert wird.
[0021] Alternativ hierzu kann eine Summenbildung aus dem übertagenen CELP-codierten Signal
und dem übertragenen transformcodierten-Signal auch im Zeitbereich erfolgen.
[0022] Der Verstärkungsfaktor kann insbesondere gleich der Kennzahl sein. Dann kann sich
bei Bildung eines geeigneten Verhältnisses einen entsprechende Schwächung des zweiten
decodierten Signalbeitrages ergeben, wenn dieses vornehmlich das Pre-Echo noise enthält.
[0023] Insbesondere kann es sich bei dem ersten Decoder um einen auf der CELP-Technologie
basierenden, oder/und bei dem zweiten Coder um einen Transformdecoder handeln. Damit
ergibt sich eine besonders effektive Geräuschreduktion bei gleichzeitig exzellenter
Qualität des decodierten Signals.
[0024] Die Veränderung des empfangenen Gesamtsignals auf Decoderseite kann insbesondere
nur dann vorgenommen werden, wenn bestimmte Kriterien vorliegen.
[0025] Insbesondere ist es vorgesehen, dass das Verändern des empfangenen Gesamtsignals
auf Decoderseite nur erfolgt, wenn die Signalpegeländerung eine bestimmte Schwelle
übersteigt. Dies ermöglicht eine besonders effektive Pre-Echo-Reduktion, da der Pre-Echo-Effekt
- wie bereits dargelegt- hauptsächlich bei Pegeländerungen auftritt, da dann das Pre-Echo
Geräusch überhalb des Signalpegels liegt. Andererseits wird durch dieses selektive
Verändern nicht unnötigerweise auf die Qualitätsverbesserung durch den zweiten Coder
verzichtet.
[0026] Gemäß einem weiteren Aspekt der Erfindung wird ein Verfahren geschaffen, bei dem
aufbauend auf dem erläuterten Verfahren das decodierte Signal bzw. dessen erste und
zweite decodierte Signalbeiträge nach Frequenzbereichen getrennt behandelt werden.
Dies hat folgenden Vorteil. Beim Decodieren ist für mehrere Frequenzbänder die Sollenergie
für diese Frequenzbändern bekannt, nämlich aus der Energie der einzelnen nach Frequenzbereichen
getrennten ersten decodierten Signalbeiträge, beispielsweise CELP-Signale. Durch den
zweiten decodierten Signalbeitrag kann nun ein Add-on Signal (Zusatzbeitrag) bereitgestellt
werden, welches jedoch in seiner Energie erheblich abweichen kann. Problematisch ist
vor allem, wenn die Energie des zweiten decodierten Signalbeitrags erheblich zu hoch
ist, z.B. aufgrund von Pre-Echo-Effekten. Das Verfahren führt nun für jedes einzeln
behandelte Frequenzband eine Begrenzung der Energie (bzw. des Pegels) des zweiten
Signalbeitrags abhängig von der Energie des ersten Signalbeitrags ein. Dieses Verfahren
ist umso effektiver, je mehr Frequenzbänder auf diese Weise getrennt behandelt werden.
[0027] Weitere Vorteile der Erfindung werden anhand beispielhafter Ausführungsformen dargestellt.
[0028] Es zeigen:
- Figur 1
- eine Darstellung der wesentlichen Komponenten auf einer Codiererseite und einer Decodiererseite
zur Erläuterung des beispielhaften Ablaufs eines Codierungs/Decodierungsvorganges;
- Figur 2
- eine schematische Darstellung einer Kommunikationsanordnung zur Übertragung eines
codierten Signals zwischen Kommunikationsgeräten über ein Kommunikationsnetz;
- Figur 3
- eine Decodiereinrichtung bzw. eine Geräuschunterdrückungseinrichtung zur Erläuterung
der Reduktion von Pre-Echos mit Hilfe von Gain-Adaption, welche auf einem CELP Signal
basiert;
- Figur 4
- eine weitere Ausführungsform zur Pegelanpassung bzw. zur Reduktion von Pre-Echos.
[0029] In FIG 1 ist der schematische Ablauf eines Codierungs- und Decodierungsvorgang anhand
einer Ausführungsführungsform gezeigt. Auf einer Codiererseite C wird ein analoges
an einen Empfänger zu übertragendes Signal S mittels einer Vorverarbeitungseinrichtung
PP für die Codierung vorverarbeitet bzw. vorbereitet, beispielsweise indem es digitalisiert
wird. Es erfolgt weiterhin eine Zerlegung des Signals in Zeitabschnitte bzw. Rahmen
in einer Unterteilungseinheit F. Ein derart vorbereitetes Signal wird einer Codierungseinheit
COD zugeführt. Die Codierungseinheit COD weist einen hybriden Coder auf, der einen
ersten Coder, einen CELP-Coder COD1 und einen zweiten Coder, einen Transformcoder
COD2 umfasst. Der CELP-Coder COD1 umfasst eine Mehrzahl von CELP-Codern COD1_A, COD1_B,
COD1_C, welche in unterschiedlichen Frequenzbereichen arbeiten. Durch diese Aufteilung
in unterschiedliche Frequenzbereiche kann eine besonders akkurate Codierung gewährleistet
werden. Ferner unterstützt diese Aufteilung in unterschiedliche Frequenzbereiche sehr
gut das Konzept eines skalierbaren Codecs, da je nach gewünschter Skalierung nur einer,
mehrere oder alle Frequenzbereiche übertragen werden können. Der CELP-Coder COD1 liefert
einen Grundbeitrag S_G zum codierten Gesamtsignal S_GES. Der Transformcoder COD2 liefert
einen Zusatzbeitrag S_Z zum codierten Gesamtsignal S_GES. Das codierte Gesamtsignal
S_GES wird mittels einer Kommunikationsvorrichtung KC auf der Codiererseite C an eine
Kommunikationsvorrichtung KD auf einer Decodiererseite D übertragen. Hier erfolgt
ggf. eine Verarbeitung (beispielsweise eine Aufspaltung des codierten Gesamtsignals
in die Beiträge S_G und S_Z) der Daten bzw. des empfangenen codierten Gesamtsignals
S_GES in einer Verarbeitungseinrichtung PROC, wobei anschließend die verarbeiteten
Daten bzw. das verarbeitete Signal einer Decodiereinrichtung DEC zur nachfolgenden
Decodierung DEC übertragen werden (vgl. dazu auch die Figuren 3 und 4). An die Decodierung
schließt sich eine Geräuschreduktion in einer Geräuschreduktionseinrichtung NR an,
die in Figur 3 in größerem Detail dargestellt ist.
[0030] In FIG 2 ist ein erstes Kommunikationsgerät COM1 (beispielsweise repräsentierend
die Komponenten auf der Codiererseite C von Figur 1) dargestellt, welches eine Sende-
und Empfangseinheit ANT1 (beispielsweise entsprechend der Kommunikationsvorrichtung
KC) zum Übertragen oder/und Empfangen von Daten, sowie eine Recheneinheit CPU1 aufweist,
die zur Realisierung der Komponenten auf der Codiererseite C bzw. zur Durchführung
des in FIG 1 dargestellten Codierverfahrens (Verarbeitung auf der Codiererseite C)
eingerichtet ist. Die Übertragung von Daten erfolgt mittels der Sende/Empfangseinheit
ANT1 über ein Kommunikationsnetz CN (das beispielsweise je nach zu verwendenden Kommunikationsgeräten
als Internet, ein Telefonnetz bzw. Mobilfunknetz eingerichtet sein kann). Der Empfang
erfolgt durch ein zweites Kommunikationsgerät COM2 (beispielsweise repräsentierend
die Komponenten auf der rechten Seite der Figur 1), welches wiederum eine Sende- und
Empfangseinheit ANT2 (beispielsweise entsprechend der Kommunikationsvorrichtung KB),
sowie eine Recheneinheit CPU2 aufweist, welche zur Realisierung der Komponenten auf
der Decodiererseite D bzw. zur Durchführung eines Decodierverfahrens (Verarbeitung
auf der Decodiererseite D) gemäß FIG 1 eingerichtet ist. Beispiele für mögliche Realisierungen
der Kommunikationsgeräte COM1 und COM2, in denen dieses Verfahren zur Anwendung kommen
kann, sind IP-Telefone, Voice-Gateways oder Mobiltelefone.
[0031] Es sei nun auf Figur 3 verwiesen, in der die Decodierungseinrichtung DEC und die
Geräuschreduktionseinrichtung NR mit den wesentlichen Komponenten zur schematischen
Darstellung des Ablaufs einer Pre-Echo-Reduktion zu sehen ist.
Ein CELP-codiertes Signal S_COD,CELP (entsprechend dem Signal S_G) wird mittels eines
Gesamtband-CELP-Decodierers DEC_GES,CELP decodiert. Das decodierte Signal S_CELP wird
einerseits zu einer (ersten) Energiehüllkurvenbestimmungseinheit GE1 zur Bestimmung
der zugehörigen Hüllkurve ENV_CELP, anderseits zu einem TDAC(Time domain aliasing
cancellation)Encoder COD_TDAC weitergeleitet. Bei der TDAC-Codierung handelt es sich
um ein Beispiel für eine Transformcodierung.
[0032] Das codierte Signal S_COD,CELP,TDAC wird zusammen mit dem von Empfängerseite stammenden
transformcodierten Signal S_COD,TDAC (entsprechend dem Signal S_Z) zu einem Transformdecodierer
DEC_TDAC geleitet, um ein decodiertes Signal S_TDAC zu erzeugen. Auch aus diesem decodierten
Signal S_TDAC wird ebenfalls in einer (zweiten) Energiehüllkurvenbestimmungseinheit
GE2 die zugehörige Energiehüllkurve ENV_TDAC bestimmt. In einer Verhältnisbestimmungseinheit
D wird das Verhältnis R der Energiehüllkurven zueinander als Kennzahl zeitabschnittweise
bestimmt. In einer Bedingungsfeststellungseinheit BFE wird festgestellt, ob das Verhältnis
R einen festgelegten Mindestabstand von 1 (1: beide Energiehüllkurven gleich) hat,
d.h. dass die Pegel beider Signale gleich sind oder zumindest nur um einen vorgegebenen
Prozentsatz voneinander abweichen.
[0033] Ergebnis ist dann ein Verstärkungsfaktor bzw. Dämpfungsfaktor G, der im gezeigten
Fall gleich dem Verhältnis R (Kennzahl) ist, mit dem der transformdecodierte Signalbeitrag
S_TDAC in einer Multiplikationseinrichtung M multipliziert wird, um ein endgültiges
störgeräuschreduziertes Signal S_OUT zu erhalten. Genauer gesagt, wird beispielsweise
davon ausgegangen, dass das Verhältnis R gebildet wird durch R = ENV_CELP / ENV_TDAC,
und wurde festgelegt, dass dieses Verhältnis einen vorbestimmten Schwellenwert SW
nicht unterschreiten darf, so wird bei unterschreiten des Schwellenwerts SW der transformdecodierte
Signalbeitrag S_TDAC mit einem Verstärkungsfaktor G, beispielsweise G = R multipliziert,
was zu einer Dämpfung des Signalbeitrags S_TDAC führt. Es ist ferner möglich, in dem
Fall, in dem der Schwellenwert SW nicht unterschritten wird, dem Verstärkungsfaktor
G den Wert "1" zuzuordnen, so dass bei einer Multiplikation des Signalbeitrags S_TDAC,
die dann in jedem Fall stattfinden kann, der Wert S_TDAC unverändert bleibt.
[0034] Somit kann im Fall einer Abweichung der Energie des transformdecodierten Signalbeitrags
S_TDAC, wobei die Abweichung eben der genannte Pre-Echo-Effekt ist, die Energie bzw.
der Pegel dieses Signalbeitrags zum zuverlässigeren Wert des CELP-decodierten Signals
S_CELP bewegt werden, so dass das endgültige Signal S_out störgeräuschreduziert ist.
[0035] Es sei nun auf Figur 4 verwiesen, anhand der eine weitere Ausführungsform zur Reduzierung
des Pre-Echoeffekts erläutert werden soll.
[0036] Es ist möglich, dass anstelle nur eines CELP-codecs mehrere, nach Frequenzbereichen
getrennte (CELP- oder andere) Codecs vorhanden sind. Die in Figur 4 gezeigte Ausführungsform
entspricht größtenteils der in Figur 3 gezeigten Ausführungsform und stellt ein Erweiterung
diesbezüglich dar, dass das in Figur 3 gezeigte Verfahren nicht auf die Gesamtsignale
von CELP (oder anderen)-Decoder und Transformdecoder angewendet wird, sondern dass
das Verfahren getrennt nach Frequenzbereichen angewendet wird. Das heißt, es findet
zunächst eine Aufteilung des Gesamtsignals bzw. der einzelnen Signalbeiträge nach
Frequenzbereichen statt, wobei das Verfahren von Figur 3 dann pro Frequenzbereich
auf die einzelnen Signalbeiträge angewendet werden kann.
[0037] Der Vorteil davon wird im Folgenden erläutert. Beim Decoder ist für mehrere Frequenzbänder
die Sollenergie für diese Frequenzbänder bekannt, nämlich aus der Energie der einzelnen
nach Frequenzbereichen getrennten CELP-Signale. Der Transformdecoder liefert nun ein
Add-on Signal (Zusatzbeitrag), welches jedoch in seiner Energie erheblich abweichen
kann. Problematisch ist vor allem, wenn die Energie des Signals aus dem Transformdecoder
erheblich zu hoch ist, z.B. aufgrund von Pre-Echo-Effekten. Das Verfahren führt nun
für jedes einzeln behandelte Frequenzband eine Begrenzung der Transformcodec-Energie
abhängig von der CELP-Energie ein. Dieses Verfahren ist umso effektiver, je mehr Frequenzbänder
auf diese Weise getrennt behandelt werden.
[0038] Dies wird anhand von folgendem Beispiel sofort deutlich:
[0039] Das Gesamtsignal bestehe aus einem 2000 Hz Ton, welches gänzlich aus dem CELP codec
Anteil kommt. Zusätzlich, aufgrund von Preecho Effekten liefert der Transformcodec
nun noch ein Störsignal mit einer Frequenz von 6000 Hz; die Energie des Störsignals
sei 10% der Energie des 2000 Hz Tons.
Das Kriterium zur Begrenzung des Transformcodec-Anteils sei, dass dieser max. gleich
groß wie der CELP-Anteil sein darf. Fall 1: Es wird kein Splitting nach Frequenzbändern
gemacht (erste Ausführungsform): Dann wird das 6000 Hz Störsignal nicht unterdrückt,
da es nur 10% der Energie des 2000Hz Tons aus dem CELP Codec hat.
[0040] Fall 2: Die Frequenzbänder A: 0 - 4000 Hz und B: 4000 Hz - 8000 Hz werden getrennt
behandelt (weitere Ausführungsform): In diesem Fall wird das Störsignal komplett unterdrückt,
da im oberen Frequenzband der CELP-Anteil Null ist, und somit auch das Transformcodecsignal
auf den Wert Null begrenzt wird.
[0041] In Figur 4 ist nun (entsprechend zu Figur 3) wieder eine Decodierungseinrichtung
DEC und eine Geräuschreduktionseinrichtung NR mit den wesentlichen Komponenten zur
schematischen Darstellung des Ablaufs einer Pegelanpassung bzw. Pre-Echo-Reduktion
zu sehen. Für die Erzeugung von codierten Signalen bzw. die Übertragung an einen Empfänger
sei wieder auf die Figuren 1 oder 2 verwiesen.
[0042] Ein CELP-codiertes Signal S_COD,CELP (entsprechend dem Signalbeitrag S_G) wird mittels
eines Gesamtband-CELP-Decodierers DEC_GES,CELP' decodiert. Der Gesamtband-CELP-Decodierer
umfasst dabei zwei Decodiereinrichtungen, eine erste Decodiereinrichtung DEC_FB_A
zum Decodieren des Signals S_COD,CELP in einem ersten Frequenzband A und eine zweite
Decodiereinrichtung DEC_FB_B zum Decodieren des Signals S_COD,CELP in einem zweiten
Frequenzband B. Ein erstes decodiertes Signal S_CELP_A wird zu einer (ersten) Energiehüllkurvenbestimmungseinheit
GE1_A zur Bestimmung der zugehörigen Hüllkurve ENV_CELP_A geleitet, während ein zweites
decodiertes Signal S_CELP_B zu einer (zweiten) Energiehüllkurvenbestimmungseinheit
GE1_B zur Bestimmung der zugehörigen Hüllkurve ENV_CELP_B geleitet wird.
[0043] Ein von der Empfängerseite stammendes transformcodiertes Signal S_COD,TDAC (entsprechend
dem Signal S_Z) wird zu einem Transformdecodierer DEC_TDAC geleitet, um ein decodiertes
Signal S_TDAC zu erzeugen, das wiederum einem Frequenzbandsplitter (Frequenzbandaufteiler)
FBS zugeführt wird. Dieser teilt das Signal S_TDAC in zwei Signale, nämlich S_TDAC_A
für das Frequenzband A und S_TDAC_B für das Frequenzband B auf. Die Aufteilung in
Frequenzbänder kann optional auch im Frequenzbereich, vor der Rücktransformation in
den Zeitbereich, erfolgen. Dadurch entfällt insbesondere die mit einem im Zeitbereich
arbeitenden Frequenzbandsplitter (Hoch-,Tief-, oder Bandpassfilter) einhergehende
Verzögerung. Auch aus diesen decodierten frequenzbandabhängigen Signalen S_TDAC_A
und S_TDAC_B wird ebenfalls in einer (dritten) Energiehüllkurvenbestimmungseinheit
GE2_A bzw. einer (vierten) Energiehüllkurvenbestimmungseinheit GE2_B die zugehörige
Energiehüllkurve ENV_TDAC_A bzw. ENV_TDAC_B bestimmt.
[0044] In einer ersten Verstärkungsbestimmungseinheit BD_A wird für das Frequenzband A anhand
der Energiehüllkurven ENV_CELP_A und ENV_TDAC_A ein Verstärkungsfaktor (oder auch
Dämpfungsfaktor, da die Verstärkung negativ ist) G_A bestimmt, während in einer zweiten
Verstärkungsbestimmungseinheit BD_B für das Frequenzband B anhand der Energiehüllkurven
ENV_CELP_B und ENV_TDAC_B ein Verstärkungsfaktor (Dämpfungsfaktor) G_B bestimmt wird.
Die Bestimmung der jeweiligen Verstärkungsfaktoren kann entsprechend der Bestimmung
von Figur 3 (vgl. Komponenten D, BFE) von statten gehen. Es kann dabei beispielsweise
wieder ein jeweiliges Verhältnis (Kennzahl) R_A, R_B der Energiehüllkurven für ein
jeweiliges Frequenzband A und B, nämlich R_A = ENV_CELP_A/ ENV_TDAC_A bzw. R_B = ENV_CELP_B/ENV_TDAC_B
gebildet werden, wobei für ein jeweiliges Frequenzband ein Schwellenwert SW_A bzw.
SW_B festgelegt wird, bei dessen Unterschreiten ein jeweiliger Verstärkungsfaktor
G_A (beispielsweise G_A = R_A) bzw. G_B (beispielsweise G_B = R_B) erzeugt wird, der
schließlich auf ein jeweiliges frequenzbandabhängiges Signal S_TDAC_A bzw. S_TDAC_B
anzuwenden ist (um eine Dämpfung herbeizuführen). Wird ein jeweiliger Schwellenwert
nicht unterschritten kann ein jeweiliger Verstärkungsfaktor G_A bzw. G_B auf "1" festgelegt
werden, so dass bei einer Multiplikation ein jeweiliges frequenzbandabhängiges Signal
S_TDAC_A bzw. S_TDAC_B unverändert bleibt.
[0045] In einer ersten Multiplikationseinrichtung M_A für das Frequenzband A wird schließlich
der Verstärkungsfaktor G_A mit dem Signal S_TDAC_A und wird der Verstärkungsfaktor
G_B mit dem Signal S_TDAC_B multipliziert. Schließlich werden die multiplizierten
(eventuell gedämpften) frequenzbandabhängigen Signale zusammengeführt, um ein endgültiges
störgeräuschreduziertes (Gesamtfrequenz-)Signal S_OUT' zu erzielen.
[0046] Es sei bemerkt, dass obwohl im vorliegenden Beispiel lediglich eine Aufspaltung der
decodierten Signalbeiträge S_CELP_A, S_CELP_B, S_TDAC_A und S_TDAC_B in zwei Frequenzbereiche
A und B stattgefunden hat, eine Aufteilung auch in 3 oder mehr Frequenzbereiche möglich
und vorteilhaft sein kann.
1. Verfahren zur Geräuschunterdrückung (S_OUT) bei einem decodierten Signal, welches
sich aus einem ersten decodierten Signalbeitrag (S_CELP) und einem zweiten decodierten
Signalbeitrag (S_TDAC) zusammensetzt mit folgenden Schritten:
a. Ermitteln einer ersten Energiehüllkurve (ENV_CELP) und einer zweiten Energiehüllkurve
(ENV_TDAC) des ersten Signalbeitrags (S_CELP) und des zweiten decodierten Signalbeitrags
(S_TDAC);
b. Bilden einer Kennzahl (R) in Abhängigkeit von einem Vergleich von erster und zweiter
Energiehüllkurve (ENV_CELP, ENV_TDAC) ;
c. Ableiten eines Verstärkungsfaktors (G) in Abhängigkeit von der Kennzahl (R).
2. Verfahren nach Anspruch 1 mit folgendem weiteren Schritt:
d. Multiplizieren des zweiten decodierten Signalbeitrags (S_TDAC) mit dem Verstärkungsfaktor
(G), wenn die Kennzahl (R) ein festgelegtes Kriterium (C) nicht erfüllt.
3. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die decodierte Signalbeiträge
(S_TDAC, S_CELP) in Zeitabschnitte unterteilt ist und die Schritte a) bis d) zeitabschnittweise
erfolgen.
4. Verfahren nach Anspruch 3, bei dem die Länge der Zeitabschnitte für den ersten und
den zweiten decodierten Signalbeitrag (S_TDAC, S_CELP) unterschiedlich ist und die
Schritte a) bis d) zeitabschnittweise für den kürzeren Zeitabschnitt erfolgen.
5. Verfahren nach einem der vorhergehenden Ansprüche, bei dem der erste decodierte Signalbeitrag
(S_CELP) durch Decodieren eines ersten Codierbeitrags (S_COD,CELP)aus einem ersten
Decodierer (DEC_GES,CELP) stammt und der zweite decodierte Signalbeitrag (S_TDAC)
durch Decodieren eines zweiten Codierbeitrags (S_COD,TDAC, S_COD,CELP,TDAC) aus einem
zweiten Decodierer (DEC_TDAC) stammt .
6. Verfahren nach Anspruch 5, bei dem der zweite Codierbeitrag (S_TDAC) den ersten Codierbeitrag
(S_CELP) enthält.
7. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Kennzahl (R) durch
das Bilden des Verhältnisses von erster und zweiter Energiehüllkurve (ENV_CELP, ENV_TDAC)
gebildet wird.
8. Verfahren nach einem der vorhergehenden Ansprüche, bei dem der Verstärkungsfaktor
(G) gleich der Kennzahl (R) ist.
9. Verfahren nach einem der vorhergehenden Ansprüche, bei dem das erste decodierte Signal
(S_CELP) durch Decodieren eines Signals (S_COD,CELP) gebildet wird, welches von einer
Mehrzahl von ersten Codierern (COD1_A, COD1_B, COD_C) stammt, welche in unterschiedlichen
Frequenzbereichen arbeiten.
10. Verfahren nach einem der vorhergehenden Ansprüche 5 oder 6, bei dem der erste Decodierer
(DEC_GES_CELP) durch einen CELP-Decodierer gebildet wird.
11. Verfahren nach einem der vorhergehenden Ansprüche 5, 6 oder 10, bei dem der zweite
Decodierer (DEC_TDAC) durch einen Transform Decodierer gebildet wird.
12. Verfahren nach einem der vorhergehenden Ansprüche 5, 6, 10 oder 11, bei dem erster
und zweiter Decodierer (DEC_TDAC, DEC_CELP) den gleichen Frequenzbereich umfassen.
13. Verfahren zur Geräuschunterdrückung bei einem einem Frequenzband zugeordneten decodierten
Signal , welches sich aus einem jeweiligen ersten decodierten Signalbeitrag (S_CELP_A,
S_CELP_B) und einem jeweiligen zweiten decodierten Signalbeitrag (S_TDAC_A, S_TDAC_B)
für ein jeweiliges Teilfrequenzband des Frequenzbands zusammensetzt, mit folgenden
Schritten:
a. Ermitteln einer ersten Energiehüllkurve (ENV_CELP_A, ENV_CELP_B) des jeweiligen
ersten decodierten Signalbeitrags und einer zweiten Energiehüllkurve (ENV_TDAC_A,
ENV_TDAC_B) und des jeweiligen zweiten decodierten Signalbeitrags für ein jeweiliges
Teilfrequenzband;
b. Bilden einer jeweiligen Kennzahl (R_A, R_B) in Abhängigkeit von einem Vergleich
von erster und zweiter Energiehüllkurve für ein jeweiliges Teilfrequenzband;
c. Ableiten eines jeweiligen Verstärkungsfaktors (G_A, G_B) in Abhängigkeit von der
jeweiligen Kennzahl für ein jeweiliges Teilfrequenzband.
14. Verfahren nach Anspruch 13 mit folgendem weiteren Schritt:
d. Multiplizieren des zweiten decodierten Signalbeitrags (S_TDAC_A, S_TDAC_B) mit
dem jeweiligen Verstärkungsfaktor (G_A, G_B) für ein jeweiliges Teilfrequenzband,
wenn die jeweilige Kennzahl (R_A, R_B) ein festgelegtes Kriterium nicht erfüllt.
15. Vorrichtung, insbesondere Kommunikationsgerät, mit einer Recheneinheit (CPU2), die
zur Durchführung eines Verfahrens nach Anspruch 1 bis 14 ausgebildet ist.