-
Die
vorliegende Erfindung bezieht sich auf die Codierung und Decodierung
von Audio- und/oder Videoinformationen und insbesondere auf das
verbesserte Decodieren von Signalen, denen beim Codieren Quantisierungsrauschen
hinzugefügt
worden ist.
-
Das
gehörrichtige
Audiocodieren unter Berücksichtigung
psychoakustischer Aspekte ebenso wie das Videocodieren unter Berücksichtigung
psychooptischer Effekte wurden in jüngster Zeit zu wichtigen Schlüsseltechnologien
für viele
Typen von Multimediadiensten. 4 zeigt
ein allgemeines Übersichts-Blockschaltbild
eines modernen Audiocodierers als Beispiel für einen Datencodierer. Für Fachleute
ist es bekannt, daß Videocodierer
einen analogen Aufbau haben.
-
Ein
Audiosignal wird an einem Audio-Eingang 400 beispielsweise
in Form von digitalen Audio-Abtastwerten („Samples") in den Audiocodierer eingespeist.
Der Audiocodierer arbeitet blockweise. In einer Analysefilterbank 410 wird
ein Block von zeitlichen Audio-Abtastwerten von einer Zeitbereichsdarstellung
in eine Frequenzbereichsdarstellung übergeführt. Üblicherweise implementiert
die Analyse-Filterbank eine MDCT (Modified Discrete Cosine Transform).
Das zeitliche Audio-Signal wird ferner einem Psychoakustik-Modul 420 zugeführt. Das
Psychoakustik-Modul steuert einen Quantisierer, der in einem Block
Quantisierungs/Entropie-Codierung 430 enthalten ist. Insbesondere
berechnet das Psychoakustik-Modul 420 die aktuelle Markierungsschwelle,
d. h. den Pegel eines Signals, das dem Audiosignal in Form von Rauschen
hinzugefügt
werden kann, ohne daß es
zu hörbaren
Störungen
kommt, wenn das Audiosignal wieder decodiert wird. Die psychoakustische
Maskierungsschwelle, die typischerwei se sowohl zeitabhängig als
auch frequenzabhängig
ist, wird dem Quantisierer 430 zugeführt, so daß derselbe im idealen Fall
die Quantisierungsstufen so wählt, daß das durch
das Quantisieren eingeführte
Quantisierungsrauschen sowohl zeitlich gesehen als auch frequenzmäßig gesehen
immer kleiner oder gleich der psychoakustischen Maskierungsschwelle
ist.
-
Der
Quantisierer 430 erzeugt dann aus den Audiospektralwerten,
die am Ausgang der Analyse-Filterbank 410 vorhanden sind,
quantisierte Spektrallinien, welche dann, unter Verwendung einer rauschlosen
Codierung, wie z. B. einer Huffman-Codierung, Entropie-codiert werden.
Aus den zeitlichen Abtastwerten am Audioeingang 400 wird
somit ein Strom von Entropie-Codewörtern am Ausgang des Blocks 430 erzeugt.
-
In
einem Block Bitstromformatierung, der in 4 mit dem
Bezugszeichen 440 bezeichnet ist, wird schließlich ein
ausgangsseitiger Bitstrom erzeugt, welcher an einem Ausgang 450 des
Codierers ausgegeben wird, um entweder zu einem Empfänger direkt übertragen
zu werden, oder um in einem Speicher gespeichert zu werden, so daß ein Empfänger auch
zu einem späteren
Zeitpunkt einen codierten Bitstrom, welcher ein Audiosignal darstellt,
abrufen kann. Der Bitstrom umfaßt
neben den Entropie-Codewörtern
auch diverse Seiteninformationen, wie z. B. Skalenfaktoren, gegebenenfalls
Stereoinformationen, die durch den Quantisierer 430 berechneten Quantisierungsinformationen,
Angaben zur Filterbank etc.
-
Beispielhafte
Audiocodierer sind beispielsweise unter dem Stichwort ISO/MPEG-Layer
2, ISO/MPEG-Layer 3 (MP3) oder ISO/MPEG-AAC in der Fachwelt bekannt.
Die genannten Codierer arbeiten ebenso wie der in 4 gezeigte
allgemeine Codierer mit einer Frequenzbereichsdarstellung des Audiosignals.
Darüber
hinaus existieren jedoch auch sogenannte Zeitbereichscodierer, welche
keine Transformation in den Frequenzbereich durchführen, sondern
auf einer reinen Zeit bereichsverarbeitung basieren. Auch bei solchen
Codierern findet an irgend einer Stelle eine Quantisierung statt,
bei der versucht wird, das eingeführte Quantisierungsrauschen
irgendwie zu „verstecken". Allgemein besteht die
Bestrebung, möglichst
große
Quantisierungsschritte zu verwenden, wodurch ein hohes Quantisierungsrauschen
eingeführt
wird, um einen möglichst großen Codiergewinn
zu erreichen, d. h. um eine möglichst
große
Datenreduktion und damit eine möglichst
geringe Datenrate, also Anzahl von Bits pro Sekunde, zu erreichen.
Die andere Forderung besteht jedoch selbstverständlich darin, daß das codierte
und wieder decodierte Datensignal eine möglichst hohe Qualität hat, daß das codierte
und wieder decodierte Signal also möglichst nicht vom ursprünglichen
Signal unterscheidbar ist.
-
Die
Qualität
eines Codierers/Decodierers wird normalerweise durch subjektive
Hörtests
bestimmt, bei denen mehrere Testhörer diverse Teststücke, welche
für die
betrachteten Codierer eher stark oder eher weniger problematisch
sind, in ihrer codierten und wieder decodierten Form anhören und
beurteilen.
-
Für verschiedene
Codiereranwendungen existieren verschiedene Randbedingungen hinsichtlich
der Datenrate. Im einfachsten Fall darf der Codierer eine ausgangsseitige
Datenrate haben, die einerseits beliebig schwankt, und die andererseits
beliebig hoch werden darf. In diesem Fall kann der in 4 gezeigte
Codierer immer so codieren, daß das
durch die Quantisierung eingeführte
Quantisierungsrauschen kleiner oder gleich der psychoakustischen Maskierungsschwelle
ist. Je nach Audiosignal werden damit die Quantisierungsintervalle
nach Bedarf sehr fein eingestellt, was zu einer hohen ausgangsseitigen
Datenrate führt,
oder aber, falls das Audiosignal es zuläßt, möglichst grob eingestellt, was
zu einer niedrigen ausgangsseitigen Datenrate führt.
-
Es
ist bekannt, daß tonale
Bereiche eines Audiosignals sehr schlechte Maskierungseigenschaften
haben, was wiederum be deutet, daß die psychoakustische Maskierungsschwelle,
also die Leistung, die in das tonale Audiosignal eingebracht werden
kann, und die dennoch unhörbar
ist, sehr gering ist. Für
den Quantisierer bedeutet dies, daß sehr kleine Quantisierungsstufen
eingestellt werden müssen,
damit das durch den Quantisierer eingeführte Quantisierungsrauschen
kleiner oder gleich der psychoakustischen Maskierungsschwelle ist.
Für rauschhafte
Audiosignalanteile ist dagegen die Maskierungsfähigkeit hoch, so daß eine relativ
große Menge
an Quantisierungsrauschen in das Audiosignal eingebracht werden
kann, welches aufgrund der Charakteristik des Audiosignals noch
maskiert wird und daher unhörbar
bleibt. Der beschriebene Codierer, bei dem eine variable Datenrate
einerseits und eine beliebig hohe Datenrate andererseits zugelassen
ist, wird daher tonale Bereiche des Audiosignals sehr fein quantisieren,
was zu einer hohen Datenrate und somit zu einer geringen Datenreduktion
führt. Andererseits
wird dieser Codierer rauschhafte Audiosignalanteile sehr grob quantisieren,
wodurch sehr viel Quantisierungsrauschen eingeführt wird, was wiederum zu einer
geringen Datenrate und damit zu einer hohen Datenratenreduzierung
führt.
-
Üblicher
sind jedoch Codierer, die ausgangsseitig eine feste Datenrate liefern
müssen.
Die Datenratenanforderung ist bei solchen Codierern ein immer zu
beachtendes Kriterium, da beispielsweise für den digitalen Rundfunk eine
feste Datenrate vorgeschrieben ist. Ist die geforderte Datenrate
relativ hoch, so wird der Codierer immer relativ fein quantisieren,
damit auch tonale Bereiche des Audiosignals noch ohne hörbares Quantisierungsrauschen
codiert werden, während
weniger tonale Bereiche des Audiosignals ebenfalls relativ fein
quantisiert werden, derart, daß das
eingeführte
Quantisierungsrauschen weit unterhalb der psychoakustischen Maskierungsschwelle
liegt, was wiederum bedeutet, daß die weniger tonalen Bereiche übercodiert
sind, daß hier
also nicht die maximal mögliche
Datenrateneinsparung erreicht worden ist.
-
Wenn
die geforderte Ausgangsdatenrate eine mittlere Datenrate ist, so
wird ein Codierer nicht mehr in der Lage sein, in tonalen Bereichen
des Audiosignals die Quantisierungsstufen so fein zu wählen, daß das eingeführte Quantisierungsrauschen kleiner
oder gleich der psychoakustischen Maskierungsschwelle ist. In diesem
Fall wird, um der Datenratenanforderung unbedingt zu gehorchen,
in tonalen Bereichen Quantisierungsrauschen eingeführt. Während moderne
Codierer sogenannte Bitsparkassenfunktionen haben, also eine Funktion,
bei der in rauschhaften Audiobereichen mit einer geringeren als
der ausgangsseitigen Datenrate codiert wird und die eingesparten
Bits in eine Bitsparkasse gesteckt werden, um dann in tonalen Bereichen,
bei denen die geforderte Ausgangsdatenrate eigentlich zu niedrig ist,
auf die eingesparten Bits zurückzugreifen,
existieren auch ältere
Codierer, die keine derartigen Mechanismen aufweisen. Wenn daher
ein Codierer ohne Bitsparkasse bzw. ein Codierer, bei dem die Bitsparkasse
erschöpft
ist, da das Audiosignal ständig
tonale Bereiche hat, solche tonalen Bereiche codiert, um die geforderte
Ausgangsdatenrate einzuhalten, wird in das Audiosignal Quantisierungsrauschen
eingeführt,
das oberhalb der psychoakustischen Maskierungsschwelle liegt und
damit hörbar
sein wird.
-
Ein
Decodierer, wie er in 5 gezeigt ist, erhält an seinem
Eingang 500 den aus dem Codierer von 4 ausgegebenen
Bitstrom, führt
in einer Einrichtung 510 einen Bitstrom-Demultiplex durch,
um die Seiteninformationen wieder von den möglicherweise Entropie-codierten
quantisierten Spektralwerten zu trennen. Dann wird in einem Block 520 eine
inverse Quantisierung durchgeführt,
um dann die invers quantisierten Audiospektralwerte einer Synthese-Filterbank 530 zuzuführen, welche
ausgangsseitig wieder Audio-Abtastwerte
an einem Decodiererausgang 540 liefert, die dann nach einer
Digital/Analog-Wandlung einem Verstärker und einem Lautsprecher
zugeführt
werden können.
-
Hatte
der Quantisierer 430 von 4 in tonalen
Bereichen des Audiosignals derart viel Quantisierungsrauschen eingeführt, daß das Quantisierungsrauschen
oberhalb der psychoakustischen Maskierungsschwelle war, so wird
das codierte und wieder decodierte Audiosignal am Ausgang 540 des Decodierers
von 5 hörbare
Fehler haben. Dafür war
der Codierer jedoch in der Lage, die geforderte Ausgangs-Datenrate einzuhalten.
Typische mittlere Datenraten sind für eine Stereo-Übertragung
192 Kilobit pro Sekunde, und für
Monosignale eine Datenrate von 96 Kilobit pro Sekunde.
-
Durch
den Quantisierer 430 von 4 wird der
gesamte Wertebereich, den die Audiospektralwerte einnehmen können, in
verschiedene Stufen eingeteilt. Modernere Codierer haben hier eine
frequenzabhängige
Einteilung, d. h. verschiedene Quantisierungsstufen für verschiedene
Frequenzen. So dürften
größere Quantisierungsstufen
bei den oberen Frequenzen vorhanden sein, während kleinere Quantisierungsstufen
in niedrigeren Frequenzen auftreten werden, zumal bekanntlich tonalere
Anteile des Audiosignals eher niederfrequenter sind, während rauschhaftere
Anteile des Audiosignals eher höherfrequenter
sind.
-
Die
Quantisierung bewirkt eine wesentliche Datenreduktion dahingehend,
daß nunmehr
eigentlich nur noch übertragen
wird, in welchem Quantisierungsintervall ein gegebener Audio-Spektralwert
ist.
-
Der
inverse Quantisierer 520 geht dann so vor, daß er in
Form des quantisierten Spektralwerts die Information erhält, in welchem
Quantisierungsintervall bzw. in welcher Quantisierungsstufe der
ursprüngliche
Audio-Spektralwert war. Aufgrund der Quantisierungsinformationen,
die dem inversen Quantisierer 520 von dem Bitstrom-Demultiplexer 510 geliefert
werden, kann der inverse Quantisierer dann die obere und untere
Grenze des Quantisierungsintervalls erhalten, in dem der zu verarbeitende Audio-Spektralwert
liegt. Typischerweise wird der inverse Quantisierer dann das arithmetische
Mittel zwischen oberer und unterer Grenze des Quantisierungsintervalls
bestimmen, um den invers quantisierten Spektralwert als eben dieses
arithmetische Mittel auszugeben. Lag der im Codierer zu quantisierende Audio-Spektralwert in der
Nähe der
oberen Grenze des betrachteten Quantisierungsintervalls, so besteht
der Quantisierungsfehler, der durch den inversen Quantisierer 520 von 5 gemacht
wird, in der Differenz zwischen dem ursprünglichen Audio-Spektralwert,
der ja in der Nähe
der oberen Grenze des Quantisierungsintervalls lag, und dem von
dem inversen Quantisierer erzeugten invers quantisierten Audio-Spektralwert, welcher
nun z. B. das arithmetische Mittel des Quantisierungsintervalls
ist. War jedoch das Quantisierungsintervall so klein gewählt, daß der eingeführte Fehler
unterhalb der psychoakustischen Maskierungsschwelle liegt, so ist
dieser durch den inversen Quantisierer eingeführte Fehler nicht hörbar. War
dies jedoch nicht der Fall, da der Codierer z. B. Datenratenanforderungen
erfüllen
mußte,
so wird der Fehler hörbar
sein, da der inverse Quantisierer im bekannten Decodierer keine
Möglichkeit
hat, zu wissen, ob der ursprüngliche
Audiospektralwert in der Nähe der
oberen Grenze des Quantisierungsintervalls, in der Nähe der unteren
Grenze des Quantisierungsintervalls bzw. irgendwo im Quantisierungsintervall
gelegen hat.
-
Die
Doktorarbeit mit dem Titel „Fehlerverschleierung
bei spektral codierten Audiosignalen" von Dr. Jürgen Herre, Erlangen, 1995,
beschreibt unter anderem Techniken zur Fehlerverschleierung, die im
Zusammenhang mit der Übertragung
von Audiosignalen mittels gehörangepasster
Quellcodierverfahren eingesetzt werden können. Je nach Charakteristik
des Audiosignals werden tonale Signale und transiente Signalarten
betrachtet. In einem ersten Schritt wird eine Detektionsprozedur
durchgeführt,
um eine Detektionsschwelle aus dem Betragsmaximum der umgebenden
Werte in einer rechteckigen Zeit/Frequenzumgebung zu berechnen.
In einem zweiten Schritt wird dann eine Korrekturprozedur durchgeführt, in
dem der Wert des Koeffizienten aufgrund der Schwelle korrigiert
wird. Die Schwelle kann durch Summierung der Energie innerhalb einer
Umgebung berechnet werden. Auch eine Variante mit Spitzenwertdetektion
hat sich bewährt.
-
Die
Aufgabe der vorliegenden Erfindung besteht darin, einen verbesserten
Decodierer zu schaffen, welcher eine bessere Qualität eines
codierten und wieder decodierten Datensignals liefert.
-
Diese
Aufgabe wird durch eine Vorrichtung zum Decodieren eines codierten
Datensignals gemäß Patentanspruch
1 oder durch ein Verfahren zum Decodieren eines codierten Datensignals
nach Patentanspruch 11 gelöst.
-
Der
vorliegenden Erfindung liegt die Erkenntnis zugrunde, daß das Decodieren
eines codierten Datensignals dadurch verbessert werden kann, daß beim Decodieren
das Datensi gnalumfeld oder die Charakteristika des dem Decodierer
bekannten bisher decodierten Signals berücksichtigt werden. Erfindungsgemäß wird zunächst ein
Quantisierungswert des codierten Datensignals beispielsweise mittels
eines Bitstrom-Demultiplexers ermittelt. Anschließend wird
ein Ersatzwert z. B. unter Verwendung eines bereits in der Vergangenheit
durch den Decodierer decodierten Datensignals erzeugt. Hierauf wird
festgestellt, ob zwischen dem Quantisierungswert des codierten Datensignals
und dem erzeugten Ersatzwert eine vorbestimmte Beziehung besteht.
Falls diese vorbestimmte Beziehung festgestellt wird, wird das decodierte
Datensignal unter Verwendung der Ersatzwerts ermittelt. Falls festgestellt
wird, daß die vorbestimmte
Beziehung nicht besteht, so wird der Ersatzwert verworfen, und der
ursprüngliche
Quantisierungswert des codierten Datensignals wird zum Ermitteln
des decodierten Datensignals verwendet.
-
Vorzugsweise
wird festgestellt, ob der erzeugte Ersatzwert in demselben Quantisierungsintervall
liegt, in dem der betrachtete Quantisierungswert liegt. Die vorbestimmte
Beziehung besteht bei diesem bevorzugten Ausführungsbeispiel somit darin, daß festgestellt
wird, ob der Ersatzwert und der Quantisierungswert im selben Quantisierungsintervall
liegen. Eine verschärftere
Verarbeitungsvorschrift besteht darin, daß nicht nur der aktuell betrachtete
Quantisierungswert und der aktuell betrachtete Ersatzwert sondern
auch entsprechende Quantisierungs- und Ersatzwerte aus der Vergangenheit
im selben Quantisierungsintervall gelegen haben. Wird beispielsweise
festgestellt, daß der
Quantisierungswert für
die Spektrallinie, die für
die Frequenz 1 kHz steht, und der erzeugte Ersatzwert, der für 1 kHz steht,
nicht nur im aktuell verarbeiteten Block im selben Quantisierungsintervall
liegen, sondern auch in den letzten z. B. drei vorausgehenden Blöcken im selben
Quantisierungsintervall lagen, so kann davon ausgegangen werden,
daß der
Frequenzbereich des Audiosignals um 1 kHz herum tonal ist, was wiederum
bedeutet, daß der
Ersatzwert sehr wahrscheinlich näher
an dem ursprünglichen
Audio-Spektralwert für 1
kHz liegt als das arithmetische Mittel zwischen oberer und unterer
Grenze des Quantisierungsintervalls, in dem der Quantisierungswert
liegt.
-
Bevorzugterweise
wird der Ersatzwert unter Verwendung eines bereits in der Vergangenheit
decodierten Datensignals erzeugt. Hierzu wird vorzugsweise ein Prädiktorverfahren
eingesetzt, wobei insbesondere der LMSL-Prädiktor- (LMSL = Least Mean Square
Leaky) Prädiktor
bevorzugt wird, welcher einen aktuellen Wert unter Verwendung der „Tendenz" aus der Vergangenheit
vorhersagt. Alternative Verfahren zum Erzeugen eines Ersatzwerts
unter Verwendung des bereits in der Vergangenheit decodierten Datensignals
könnte
ein einseitiges Interpolationsverfahren sein, welches ebenfalls
beispielsweise unter Verwendung der bereits in der Vergangenheit ermittelten
Quantisierungswerte und/oder Ersatzwerte den aktuellen Ersatzwert
unter Verwendung einer linearen, kubischen oder wie auch immer gearteten Interpolation
berechnet.
-
Alternativ
kann auch die Form des Spektrums aus dem vorhergegangenen Block
bzw. aus einer Mehrzahl von vorhergegangenen Blöcken des Audiosignals verwendet
werden, um einen Ersatzwert zu erzeugen. Waren beispielsweise in
der Vergangenheit vier nebeneinander liegende oder vier in einem
bestimmten Frequenzabstand beabstandete Spektrallinien immer gleich,
so kann ein Ersatzwert auch dahingehend erzeugt werden, daß im aktuell betrachteten
Zeitblock ebenfalls angenommen wird, daß diese vier Spektralwerte
die gleichen Charakteristika haben wie in dem vorausgehenden bzw.
in den mehreren vorausgehenden zeitlichen Blöcken.
-
Alternativ
kann auch das aktuelle gerade betrachtete codierte Datensignal verwendet
werden, um den Ersatzwert zu erzeugen. Wenn beispielsweise zwei
Spektralwerte, die einen Spektralwert in der Mitte umgeben, gleich
sind, so könnte
auch als Ersatzwert für
den mittleren Spektralwert ein Wert angenommen werden, welcher zu
den beiden benachbarten Werten gleich ist.
-
Allgemein
gesprochen wird der Ersatzwert somit unter Verwendung des aktuellen
codierten oder decodierten Datensignals oder unter Verwendung eines
bereits in der Vergangenheit decodierten Datensignals erzeugt. Das
Erzeugen des Ersatzwerts kann jedoch auch wesentlich spezifischer
durchgeführt werden.
Wird z. B. aufgrund des Spektrums des vorausgehenden Datensignals
oder aufgrund einer externen Kenntnis über das Signal eine bestimmte
Charakteristik des codierten Datensignals bekannt gemacht, d. h.
daß das
codierte Datensignal z. B. ein Violoncello-Solo ist, so könnte eine
Einrichtung zum Erzeugen eines Ersatzwerts angepaßt sein,
um unter Berücksichtigung
der Klangfarbe eines Violoncellos, also der für ein Violoncello charakteristischen
Folge von Oberwellen, Ersatzwerte zu erzeugen. Eine Vielzahl weiterer
Alternativen ist denkbar.
-
Ein
Vorteil der vorliegenden Erfindung besteht somit darin, daß aufgrund
der Ausnutzung der Kenntnis des aktuellen zu decodierenden Signals und/oder
des bereits in der Vergangenheit decodierten Signals insbesondere
für relativ
stationäre
Teile des Signals, welche typischerweise mit einem hohen Quantisierungsrauschen
beaufschlagt sind, im Decodierer Vorhersagen getroffen werden können, so
daß die
Qualität
des decodierten Datensignals verbessert werden kann.
-
Ein
weiterer Vorteil der vorliegenden Erfindung besteht darin, daß diese
Verbesserung stattfindet, ohne daß die Datenrate des codierten
Bitstroms erhöht
zu werden braucht.
-
Ein
weiterer Vorteil der vorliegenden Erfindung besteht darin, daß erfindungsgemäß eine Verbesserung
der Qualität
des decodierten Signals erreicht wird, ohne daß Eingriffe in den Codierer
erforderlich sind, so daß bereits
bestehende Codierer und insbesondere bereits seit längerem beste hende
niederqualitativere Codierer weiter verwendet werden können.
-
Ein
weiterer Vorteil der vorliegenden Erfindung insbesondere bezüglich Audiosignalen
besteht darin, daß genau
dort, wo Probleme hinsichtlich des Quantisierungsrauschens entstehen,
nämlich
in tonalen Bereichen des Audiossignals, das erfindungsgemäße Konzept
zum verbesserten Decodieren die besten Ergebnisse liefert. Dagegen
werden in nicht-tonalen Bereichen des Audiosignals sehr wahrscheinlich
keine besonders günstigen
Ersatzwerte erzeugt. Dies macht jedoch nichts aus, da in diesen Bereichen
die Maskierungsfähigkeit
des Audiosignals ohnehin typischerweise groß genug sein wird, um relativ
grob zu quantisieren und somit die Datenratenanforderungen zu erfüllen.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die
beiliegenden Zeichnungen detailliert erläutert. Es zeigen:
-
1 ein
Blockschaltbild einer erfindungsgemäßen Vorrichtung zum Decodieren
eines Audiosignals;
-
2 ein
detaillierteres Blockschaltbild eines bevorzugten Ausführungsbeispiels
der vorliegenden Erfindung;
-
3 eine
detailliertere Darstellung eines weiteren bevorzugten Ausführungsbeispiels
der vorliegenden Erfindung;
-
4 ein
Blockschaltbild eines bekannten Codierers; und
-
5 ein
Blockschaltbild eines bekannten Decodierers.
-
Bei
nicht gehörangepaßten Audiocodiersystemen
hat die Verteilung der Qualität über verschiedene
Teststücke
extreme Minima und Maxima. Die schlechtesten Teststücke beschränken die
Qualität des
Audiocodierverfahrens. Bei beispielsweise ISO/MPEG-Layer 2 werden
prinzipbedingt, aufgrund der Anforderungen nach konstanter Bitrate,
tonale Teststücke
bei nicht zu hohen Bitraten mit schlechter Qualität übertragen
und begrenzen die Qualität.
Mittels einer besseren Schätzung
des Erwartungswerts innerhalb der inversen Quantisierung können tonale Stücke besser
decodiert werden. Durch die erfindungsgemäß verbesserte Decodierung der
tonalen Teststücke
kann die Qualität
dieses Audiocodierverfahrens bezüglich
der Worst-Case-Betrachtung verbessert werden.
-
1 zeigt
ein Blockschaltbild einer erfindungsgemäßen Vorrichtung zum Decodieren
eines codierten Datensignals. Das codierte Datensignal gelangt über einen
Eingang 10 des erfindungsgemäßen Decodierers in eine Einrichtung 12 zum
Liefern eines Quantisierungswerts. Die Einrichtung 12 kann beispielsweise
einen Bitstrom-Demultiplexer, wie er in 5 gezeigt
ist, umfassen. Alternativ kann die Einrichtung zum Liefern eines
Quantisierungswerts, die in 1 mit dem
Bezugszeichen 12 bezeichnet ist, einen Entropie-Decodierer umfassen,
wenn, wie es bezugnehmend auf 4 erklärt worden
ist, im Codierer eine Entropie-Codierung stattgefunden hat. Je nach
Anwendungsfall ist die Einrichtung 12 zum Liefern eines
Quantisierungswerts so ausgestaltet, daß sie aus dem codierten Datensignal
einen Quantisierungswert extrahiert. Je nach Ausführungsform ist
der durch die Einrichtung 12 gelieferte Wert bereits das
arithmetische Mittel eines Quantisierungsintervalls, welches, wie
es bezugnehmend auf 5 erklärt worden ist, durch den Block
inverse Quantisierung 520 erzeugt wird. Alternativ kann
der Quantisierungswert jedoch auch in der Angabe des Quantisierungsintervalls
bestehen, aus dem dann unter Verwendung der Seiteninformationen,
welche in dem codierten Datenstrom am Eingang 10 des Decodierers von 1 enthalten
sind, Informationen über
die obere und untere Grenze des betrachteten Quantisierungsintervalls
ableitbar sind.
-
Die
erfindungsgemäße Decodierervorrichtung
umfaßt
ferner eine Einrichtung zum Erzeugen eines Ersatzwerts, welche in 1 mit
dem Bezugszeichen 14 bezeichnet ist. Wie es aus 1 ersichtlich
ist, kann die Einrichtung zum Erzeugen eines Ersatzwerts diesen
Ersatzwert unter Verwendung eines aktuellen codierten Datensignals
(Zweig 16a) oder unter Verwendung eines in der Vergangenheit
decodierten Datensignals, welches vom Ausgang des Decodierers abgezweigt
wird (Zweig 16b), dann in einem Speicher 16c zwischengespeichert
wird und von dort je nach Bedarf über einen Zweig 16d der
Einrichtung 14 zum Erzeugen des Ersatzwerts zugeführt wird,
erzeugen. Alternativ kann die Einrichtung 14 auch, wie
es ausgeführt
worden ist, allgemeine Informationen über das Datensignal erhalten,
wie es durch einen Zweig 16e in 1 veranschaulicht
ist, und darauf aufbauend den Ersatzwert erzeugen.
-
Allgemein
erzeugt die Einrichtung 14 einen Ersatzwert und liefert
diesen über
eine Ausgangsleitung 18 zu einer Einrichtung 20 zum
Feststellen, ob zwischen dem Quantisierungswert des codierten Datensignals
und dem erzeugten Ersatzwert eine vorbestimmte Beziehung besteht.
-
Der
Ersatzwert wird allgemein gesagt unter Verwendung der beim Decodierer
zur Verfügung
stehenden Informationen über
das Datensignal erzeugt. Die Informationen über das Datensignal umfassen
je nach Bedarf Informationen über
das aktuell am Decodierer anliegende codierte Datensignal, Informationen über das
in der Vergangenheit vom Decodierer decodierte Datensignal, Informationen über das
aktuell decodierte Datensignal, oder aber allgemeine extern beim
Decodierer bekannte Informationen über das Datensignal (Zweig 16e),
wobei solche Informationen beispielsweise das allgemeine Wesen des
gerade zu verarbeitenden Datensignals angeben, beispielsweise ob
hier ein bestimmtes Instrument dominant ist, wobei dann unter Verwendung
eines Modells für
dieses Instrument ebenfalls Ersatzwerte erzeugt werden können.
-
Es
wird bevorzugt, daß die
Einrichtung 20 zum Feststellen feststellt, ob der erzeugte
Ersatzwert im selben Quantisierungsintervall liegt wie der Quantisierungswert
aus dem codierten Datensignal. Damit wird sichergestellt, daß zumindest
kein zu großer Fehler
eingeführt
wird. Wenn nämlich
der Ersatzwert außerhalb
des Quantisierungsintervalls liegt, so wird der Ersatzwert nicht
verwendet, um das decodierte Datensignal zu ermitteln, sondern dann
wird der von der Einrichtung 12 gelieferte Quantisierungswert
verwendet. Wenn jedoch festgestellt wird, daß der Ersatzwert in dem Quantisierungsintervall
liegt, in dem der Quantisierungswert liegt, so ist bereits gemäß einem
bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung ein Kriterium erfüllt, damit der Ersatzwert den
Quantisierungswert tatsächlich
ersetzt.
-
Für einfache
Ausführungsformen
dürfte
dieses Kriterium bereits genügen.
Es wird jedoch bevorzugt, daß der
Ersatzwert 18 den Quantisierungswert nur dann ersetzt,
wenn der Ersatzwert in einem vorausgehenden bereits in der Vergangenheit
liegenden Block von zu decodierenden Spektralwerten ebenfalls im
selben Quantisierungsintervall wie der in diesem Block enthaltene
Quantisierungswert lag. In diesem Fall wird sichergestellt, daß keine „Zufallstreffer„ des Ersatzwerts
verwendet werden, sondern daß zumindest
bereits in zwei aufeinanderfolgenden Blöcken von zu verarbeitenden
Audio-Spektralwerten der Ersatzwert im selben Quantisierungsintervall
wie der Quantisierungswert lag. Je nach Detektionsschärfe kann
die Anzahl der Blöcke,
in denen Ersatzwert und Quantisierungswert im selben Quantisierungsintervall
zu liegen haben, erhöht
werden. Dies führt
dazu, daß durch
das Ersetzen des Quantisierungswerts durch den Ersatzwert höchstens
sehr kleine Fehler eingeführt
werden, führt
jedoch andererseits auch dazu, wenn die Kriterien so hoch geschraubt
werden, daß ein
Quantisierungswert kaum mehr durch einen Ersatzwert ersetzt wird,
wodurch auch das bekannte Decodierverfahren kaum mehr einer Verbesserung
unterzogen wird. Je nach Anwendungsfall wird ein Kompromiß zwischen
diesen beiden Extrema zu finden sein.
-
Eine
Einrichtung 22 zum Ermitteln des decodierten Signals ist
der Einrichtung 20 nachgeschaltet. Die Einrichtung 22 zum
Ermitteln des decodierten Signals verwendet den Ersatzwert, wenn
die vorbestimmte Beziehung zwischen dem Ersatzwert und dem Quantisierungswert
festgestellt worden ist, oder verwendet den Quantisierungswert,
wenn festgestellt worden ist, daß der Ersatzwert die vorbestimmte
Beziehung nicht erfüllt
hat. Die Einrichtung 22 zum Ermitteln des decodierten Signals
umfaßt
beispielsweise eine Synthese-Filterbank,
wie sie in 5 dargestellt ist.
-
2 zeigt
ein bevorzugtes Ausführungsbeispiel
der vorliegenden Erfindung bei dem nicht nur eine einzige Einrichtung
zum Erzeugen eines Ersatzwerts vorhanden ist, sondern eine Mehrzahl
von Einrichtungen 14a, 14b, welche als Modell
1 und Modell 2 bezeichnet sind. Als Modelle werden erfindungsgemäß adaptive
Signalgeneratoren, wie Prädiktoren, einseitige
Interpolatoren, Sinus- oder Transienten-Generatoren verwendet. Mittels der verschiedenen
Modelle 14a, 14b werden aus den im Decodierer zur
Verfügung
stehenden Informationen über
das Datensignal Ersatzwerte erzeugt, wobei in 2 lediglich
die aktuellen Spektrallinien des decodierten Datensignals, also
der Zweig 16b bzw. 16d von 1 gezeichnet
sind. Am Ausgang der Modelle 14a, 14b werden für einen
Quantisierungswert zwei verschiedene Ersatzwerte erzeugt, wobei
dann in einem jeweiligen Block „Fehlerbestimmung" 20a, 20b bestimmt
wird, ob die vorbestimmte Beziehung zwischen dem Erwartungswert
und dem Spektralwert vorhanden ist. Die Blöcke Fehlerbestimmung 20a, 20b von 2 entsprechen
somit der Einrichtung 20 zum Feststellen von 1. In einem
Block 22',
der in 2 mit „Entscheidung" bezeichnet ist,
und der der Einrichtung zum Ermitteln des decodierten Signals entspricht,
wird dann entschieden, welcher der Erwartungswerte besser ist, bzw.
ob überhaupt
ein Erwartungswert besser ist als die quanti sierte Spektrallinie
aus dem decodierten Signal. Abhängig
von dem Ergebnis des Blocks 22' wird der in 2 gezeigte Schalter 24 bedient,
welcher bezugnehmend auf 1 ebenfalls Teil der -Einrichtung 22 zum
Ermitteln des decodierten Signals ist.
-
2 zeigt
somit ein Ausführungsbeispiel der
vorliegenden Erfindung, bei dem verschiedene Modelle verwendet werden.
Mittels dieser verschiedenen Modelle werden somit aus den im Decodierer zur
Verfügung
stehenden Informationen über
das Datensignal Schätzwerte
(Ersatzwerte) für
das Original, d. h. für
einen Quantisierungswert erzeugt. Der Fehler des Schätzwerts
zur Spektrallinie wird ausgewertet. Entsprechend einer Gewichtung
der ermittelten Fehler in dem Entscheidungsblock 22' wird dann entschieden,
welcher der Werte als neue Spektrallinie ausgegeben wird, bzw. ob überhaupt
ein Ersatzwert verwendet wird, oder ob, was im Falle eines nicht-tonalen
Audiosignals der Fall sein wird, der ursprüngliche Quantisierungswert
weiterverarbeitet wird.
-
3 zeigt
eine detailliertere Darstellung eines erfindungsgemäßen Decodierers,
bei dem die Einrichtung 14 zum Erzeugen eines Ersatzwerts als Schätzer bzw.
Prädiktor
ausgeführt
ist, welcher unter Verwendung entweder der aktuellen Spektrallinien oder
der vorausgehenden Spektrallinien arbeitet.
-
Es
sei darauf hingewiesen, daß auch
zukünftige
Spektrallinien des Audiosignals als Informationen über das
Audiosignal verwendet werden können. In
diesem Fall wird der Decodierer bereits im Voraus decodieren, um
Spektrallinien zu erhalten, die zeitlich nach den geraden in den
Zeitbereich rücktransformierten
Spektrallinien bzw. Erastzwerten liegen.
-
Es
existieren verschiedene Möglichkeiten, um
festzustellen, ob die vorbestimmte Beziehung zwischen dem Ersatzwert
und dem aktuellen Quantisierungswert erfüllt ist. So kann auf grund des
Quantisierungswerts, der von der Einrichtung 12 von 1 geliefert
wird, ermittelt werden, in welchem Quantisierungsintervall der Quantisierungswert
liegt. In diesem Fall muß,
um festzustellen, ob der Ersatzwert in dem gleichen Quantisierungsintervall
liegt, derselbe mit der oberen und der unteren Grenze des Quantisierungsintervalls
verglichen werden, um eine JA/NEIN-Entscheidung zu liefern. Alternativ
wird, wie es in 3 gezeigt ist, unter Verwendung
der Quantisierungsparameter, die aus dem codierten Datenstrom extrahiert
werden, der von dem Prädiktor 14 erzeugte
Ersatzwert selbst quantisiert, wozu in dem Decodierer ein eigener
Quantisierer 26 vorgesehen ist. Damit gestaltet sich der
Vergleich zwischen dem Ersatzwert und dem Spektralwert, welcher
in dem Quantisierungsintervall-Interpolator 28 vorgenommen
wird, sehr einfach. Ist nämlich
die quantisierte Spektrallinie am Ausgang der Einrichtung 12 gleich dem
quantisierten Ersatzwert, wird festgestellt, daß die vorbestimmte Beziehung
besteht, ist jedoch der quantisierte Ersatzwert ungleich der quantisierten Spektrallinie,
so bedeutet dies, daß der
Ersatzwert nicht im gleichen Quantisierungsintervall wie die quantisierte
Spektrallinie liegt, so daß die
vorbestimmte Beziehung nicht erfüllt
ist.
-
Es
sei darauf hingewiesen, daß das
in den 1 bis 3 beschriebene Verfahren entweder selektiv
auf bestimmte Quantisierungswerte oder auf alle Quantisierungswerte
durchgeführt
werden kann. Erfahrungsgemäß sind jedoch
Spektralwerte eher im unteren Bereich des Spektrums tonal, während der obere
Bereich des Spektrums überwiegend
nicht-tonal ist. Daher wird bei einem bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung eine erfindungsgemäße Decodierer-Nachverarbeitung
bzw. Decodierer-Entzerrung lediglich für Spektralwerte in der unteren
Hälfte
des Spektrums oder sogar nur im unteren Drittel des gesamten Audiospektrums
vorgenommen.
-
Das
erfindungsgemäße Verfahren
kann somit auf jeden einzelnen Quantisierungswert angewendet werden,
was für
MPEG-Layer 2 jeder
quantisierte Polyphasenwert aller beteiligten Teilbänder ist. Es
wird jedoch, wie es ausgeführt
worden ist, bevorzugt, daß das
Verfahren teilbandweise durchgeführt wird.
Im Prinzip ist jedoch auch jede andere Anwendung, beispielsweise
auf jede zweite, dritte oder vierte Spektrallinie, möglich.
-
Die
bisherige Spektrallinie und optional weiter zurückliegende Spektrallinien sind
das Eingangssignal für
einen Prädiktor.
Der Prädiktor
reduziert das Signal um den Rauschanteil, so daß der Prädiktor die schätzbaren
Komponenten des Signals ausgibt. Aus dem Bitstrom können die
Quantisierungsparameter des Codierers wiedergewonnen werden. Die
Schätzwerte
werden dann wie im Codierer quantisiert. Nun werden die quantisierten
Schätzwerte
mit den im Bitstrom übertragenen
jeweiligen quantisierten Werten verglichen. Sind die quantisierten
Schätzwerte
zum Schätzzeitpunkt
bzw. bei schärferer
Detektion in der Umgebung des Schätzzeitpunkts mit den zeitentsprechenden
im Bitstrom übertragenen
Quantisierungswerten identisch, dann wird der Schätzwert als neue
Spektrallinie ausgegeben, ansonsten wird die bisherige Spektrallinie
verwendet. Dies wird durch den Quantisierungsintervall-Interpolator 28 erreicht. Mögliche eingefügte Verzögerungen
werden kompensiert.
-
Als
Schätzer 14 wird
z. B. ein LMSL-Prädiktor
bevorzugt, dessen Eingangswerte aus der zeitlichen Umgebung und
insbesondere aus der Vergangenheit hinsichtlich des betrachteten
Schätzzeitpunkts
stammen.