-
Die
vorliegende Erfindung bezieht sich auf Audiocodierer und insbesondere
auf Audiocodierer, die Transformtionsbasiert sind, d.h., bei denen
zu Beginn der Codierer-Pipeline
eine Umsetzung einer zeitlichen Darstellung in eine spektrale Darstellung erfolgt.
-
Ein
bekannter Transformations-basierter Audiocodierer ist in 3 gezeigt. Der in 3 gezeigte Codierer ist
im internationalen Standard ISO/IEC 14496-3: 2001 (E), Subpart 4,
Seite 4, dargestellt und in der Technik auch als AAC-Codierer bekannt.
-
Nachfolgend
wird der bekannte Codierer dargestellt. An einem Eingang 1000 wird
ein zu codierendes Audiosignal eingespeist. Dieses wird zunächst einer
Skalierungsstufe 1002 zugeführt, in der eine sogenannte
AAC-Verstärkungssteuerung
durchgeführt
wird, um den Pegel des Audiosignals festzulegen. Seiteninformationen
aus der Skalierung werden einem Bitstromformatierer 1004 zugeführt, wie es
durch den Pfeil zwischen dem Block 1002 und dem Block 1004 dargestellt
ist. Das skalierte Audiosignal wird hierauf einer MDCT-Filterbank 1006 zugeführt. Beim
AAC-Codierer implementiert die Filterbank eine modifizierte diskrete
Cosinustransformation mit 50 % überlappenden
Fenstern, wobei die Fensterlänge
durch einen Block 1008 bestimmt wird.
-
Allgemein
gesagt ist der Block 1008 dazu vorhanden, dass transiente
Signale mit kürzeren Fenstern
gefenstert werden, und dass eher stationäre Signale mit längeren Fenstern
gefenstert werden. Dies dient dazu, dass aufgrund der kürzeren Fenster für transiente
Signale eine höhere
Zeitauflösung
(auf Kosten der Frequenzauflösung)
erreicht wird, wäh rend
für eher
stationäre
Signale eine höhere
Frequenzauflösung
(auf Kosten der Zeitauflösung)
durch längere
Fenster erreicht wird, wobei tendenziell längere Fenster bevorzugt werden,
da sie einen größeren Codiergewinn
versprechen. Am Ausgang der Filterbank 1006 liegen zeitlich
betrachtet aufeinanderfolgende Blöcke von Spektralwerten vor,
die je nach Ausführungsform
der Filterbank MDCT-Koeffizienten, Fourier-Koeffizienten oder auch Subbandsignale sein
können,
wobei jedes Subbandsignal eine bestimmte begrenzte Bandbreite hat,
die durch den entsprechenden Subbandkanal in der Filterbank 1006 festgelegt
wird, und wobei jedes Subbandsignal eine bestimmte Anzahl von Subband-Abtastwerten
aufweist.
-
Nachfolgend
wird beispielhaft der Fall dargestellt, bei dem die Filterbank zeitlich
betrachtet aufeinanderfolgende Blöcke von MDCT-Spektralkoeffizienten
ausgibt, die allgemein gesagt, aufeinanderfolgende Kurzzeitspektren
des zu codierenden Audiosignals am Eingang 1000 darstellen.
Ein Block von MDCT-Spektralwerten wird dann in einen TNS-Verarbeitungsblock 1010 eingespeist,
in dem eine zeitliche Rauschformung stattfindet (TNS = temporary
noise shaping). Die TNS-Technik wird dazu verwendet, um die zeitliche
Form des Quantisierungsrauschens innerhalb jedes Fensters der Transformation
zu formen. Dies wird dadurch erreicht, dass ein Filterprozess auf
Teile der Spektraldaten jedes Kanals angewendet wird. Die Codierung
wird auf einer Fensterbasis durchgeführt. Insbesondere werden die
folgenden Schritte ausgeführt,
um das TNS-Tool auf ein Fenster spektraler Daten, also auf einen
Block von Spektralwerten anzuwenden.
-
Zunächst wird
ein Frequenzbereich für
das TNS-Tool ausgewählt.
Eine geeignete Auswahl besteht darin, einen Frequenzbereich von
1,5 kHz bis zum höchsten
möglichen
Skalenfaktorband mit einem Filter abzudecken. Es sei darauf hingewiesen, dass
dieser Frequenzbereich von der Abtastrate abhängt, wie es im AAC-Standard
(ISO/IEC 14496-3: 2001 (E)) spezifiziert ist.
-
Anschließend wird
eine LPC-Berechnung (LPC = linear predictive coding = lineare prädiktive Codierung)
ausgeführt,
und zwar mit den spektralen MDCT-Koeffizienten, die in dem ausgewählten Zielfrequenzbereich
liegen. Für
eine erhöhte
Stabilität werden
Koeffizienten, die Frequenzen unter 2,5 kHz entsprechen, aus diesem
Prozess ausgeschlossen. Übliche
LPC-Prozeduren, wie sie aus der Sprachverarbeitung bekannt sind,
können
für die
LPC-Berechnung verwendet werden, beispielsweise der bekannte Levinson-Durbin-Algorithmus.
Die Berechnung wird für
die maximal zulässige
Ordnung des Rauschformungsfilters ausgeführt.
-
Als
Ergebnis der LPC-Berechnung wird der erwartete Prädiktionsgewinn
PG erhalten. Ferner werden die Reflexionskoeffizienten oder Parcor-Koeffizienten
erhalten.
-
Wenn
der Prädiktionsgewinn
eine bestimmte Schwelle nicht überschreitet,
wird das TNS-Tool nicht angewendet. In diesem Fall wird eine Steuerinformation
in den Bitstrom geschrieben, damit ein Decodierer weiß, dass
keine TNS-Verarbeitung
ausgeführt worden
ist.
-
Wenn
der Prädiktionsgewinn
jedoch eine Schwelle überschreitet,
wird die TNS-Verarbeitung angewendet.
-
In
einem nächsten
Schritt werden die Reflexionskoeffizienten quantisiert. Die Ordnung
des verwendeten Rauschformungsfilters wird durch Entfernen aller
Reflexionskoeffizienten mit einem Absolutwert kleiner als eine Schwelle
von dem „Schwanz" des Reflexionskoeffizienten-Arrays
bestimmt. Die Anzahl der verbleibenden Reflexionskoeffizienten liegt
in der Größenordnung
des Rauschformungsfilters. Eine geeignete Schwelle liegt bei 0,1.
-
Die
verbleibenden Reflexionskoeffizienten werden typischerweise in lineare
Prädiktionskoeffizienten
umgewandelt, wobei diese Technik auch als "Step-Up"-Prozedur bekannt ist.
-
Die
berechneten LPC-Koeffizienten werden dann als Codierer-Rauschformungsfilterkoeffizienten,
also als Prädiktionsfilterkoeffizienten
verwendet. Dieses FIR-Filter wird über den spezifizierten Zielfrequenzbereich
geführt.
Bei der Decodierung wird ein autoregressives Filter verwendet, während bei
der Codierung ein sogenanntes Moving-Average-Filter verwendet wird.
Schließlich
werden noch die Seiteninformationen für das TNS-Tool dem Bitstromformatierer
zugeführt,
wie es durch den Pfeil dargestellt ist, der zwischen dem Block TNS-Verarbeitung 1010 und dem
Bitstromformatierer 1004 in 3 gezeigt
ist.
-
Hierauf
werden mehrere in 3 nicht
gezeigte optionale Tools durchlaufen, wie beispielsweise ein Langzeitprädiktions-Tool,
ein Intensity/Kopplungs-Tool, ein Prädiktions-Tool, ein Rauschsubstitutions-Tool,
bis schließlich
zu einem Mitte/Seite-Codierer 1012 gelangt wird. Der Mitte/Seite-Codierer 1012 ist
dann aktiv, wenn das zu codierende Audiosignal ein Multikanalsignal
ist, also ein Stereosignal mit einem linken Kanal und einem rechten
Kanal. Bisher, also in der Verarbeitungsrichtung vor dem Block 1012 in 3 wurden der linke und der
rechte Stereokanal getrennt voneinander verarbeitet, also skaliert,
durch die Filterbank transformiert, der TNS-Verarbeitung unterzogen
oder nicht etc.
-
Im
Mitte/Seite-Codierer wird dann zunächst überprüft, ob eine Mitte/Seite-Codierung
sinnvoll ist, also überhaupt
einen Codiergewinn bringt. Eine Mitte/Seite-Codierung wird dann
einen Codiergewinn bringen, wenn der linke und der rechte Kanal
eher ähnlich
sind, da dann der Mitte-Kanal, also die Summe aus dem linken und
dem rechten Kanal nahezu gleich dem linken oder dem rechten Kanal
ist, abgesehen von der Skalierung durch den Faktor 1/2, während der
Seite-Kanal nur
sehr kleine Werte hat, da er gleich der Differenz zwischen dem linken
und dem rechten Kanal ist. Damit ist zu sehen, dass dann, wenn der
linke und der rechte Kanal annähernd gleich
sind, die Differenz annähernd
Null ist bzw. nur ganz kleine Werte umfasst, die – so ist
die Hoffnung – in
einem nachfolgenden Quantisierer 1014 zu Null quantisiert
werden und somit sehr effizient übertragen
werden können,
da dem Quantisierer 1014 ein Entropie-Codierer 1016 nachgeschaltet
ist.
-
Dem
Quantisierer 1014 wird von einem psycho-akustischen Modell 1020 eine
erlaubte Störung pro
Skalenfaktorband zugeführt.
Der Quantisierer arbeitet iterativ, d. h. es wird zunächst eine äußere Iterationsschleife
aufgerufen, die dann eine innere Iterationsschleife aufruft. Allgemein
gesagt wird zunächst,
ausgehend von Quantisiererschrittweiten-Startwerten, eine Quantisierung
eines Blocks von Werten am Eingang des Quantisierers 1014 vorgenommen.
Insbesondere quantisiert die innere Schleife die MDCT-Koeffizienten,
wobei eine bestimmte Anzahl von Bits verbraucht wird. Die äußere Schleife berechnet
die Verzerrung und modifizierte Energie der Koeffizienten unter
Verwendung des Skalenfaktors, um wieder eine innere Schleife aufzurufen.
Dieser Prozess wird iteriert, bis ein bestimmter Bedingungssatz
erfüllt
ist. Für
jede Iteration in der äußeren Iterationsschleife
wird dabei das Signal rekonstruiert, um die durch die Quantisierung
eingeführte
Störung zu
berechnen und mit der von dem psycho-akustischen Modell 1020 gelieferten
erlaubten Störung
zu vergleichen. Ferner werden die Skalenfaktoren von Iteration zu
Iteration um eine Stufe vergrößert, und zwar
für jede
Iteration der äußeren Iterationsschleife.
-
Dann,
wenn eine Situation erreicht ist, bei der die durch die Quantisierung
eingeführte
Quantisierungsstörung
unterhalb der durch das psycho-akustische Modell bestimmten erlaubten
Störung
ist, und wenn gleichzeitig Bitanforderungen erfüllt sind, nämlich, dass eine Maximalbitrate
nicht überschritten
wird, wird die Iteration, also das Analyse-Durch-Synthese-Verfahren beendet, und es werden
die erhaltenen Skalenfaktoren codiert, wie es in dem Block 1014 ausgeführt ist
und in codierter Form dem Bitstromformatierer 1004 zu geführt, wie
es durch den Pfeil gekennzeichnet ist, der zwischen dem Block 1014 und
dem Block 1004 gezeichnet ist. Die quantisierten Werte
werden dann dem Entropie-Codierer 1016 zugeführt, der
typischerweise unter Verwendung mehrerer Huffman-Code-Tabellen für verschiedene
Skalenfaktorbänder
eine Entropie-Codierung durchführt,
um die quantisierten Werte in ein binäres Format zu übertragen.
Wie es bekannt ist, wird bei der Entropie-Codierung in Form der
Huffman-Codierung auf Code-Tabellen zurückgegriffen, die aufgrund einer
erwarteten Signalstatistik erstellt werden, und bei denen häufig auftretende
Werte kürzere
Code-Wörter
bekommen als seltener auftretende Werte. Die entropie-codierten Werte werden
dann ebenfalls als eigentliche Hauptinformationen dem Bitstromformatierer 1004 zugeführt, der
dann gemäß einer
bestimmten Bitstromsyntax ausgangsseitig das codierte Audiosignal
ausgibt.
-
Wie
es bereits ausgeführt
worden ist, wird im TNS-Verarbeitungsblock 1010 zur
zeitlichen Formung des Quantisierungsgeräusches innerhalb eines Codierframes
eine Prädiktionsfilterung
verwendet.
-
Insbesondere
erfolgt die zeitliche Formung des Quantisierungsrauschens zur Filterung
der Spektralkoeffizienten über
der Frequenz im Codierer vor der Quantisierung und anschließenden inversen Filterung
im Decodierer. Die TNS-Verarbeitung
bewirkt, dass die Hüllkurve
des Quantisierungsrauschens zeitlich unter die Hüllkurve des Signals geschoben
wird, um Vorecho-Artefakte zu vermeiden. Die Anwendung des TNS ergibt
sich aus einer Schätzung
des Prädiktionsgewinns
der Filterung, wie es vorstehend ausgeführt worden. Die Filterkoeffizienten
für jeden
Codierframe werden über
ein Korrelationsmaß bestimmt.
Die Berechnung der Filterkoeffizienten erfolgt separat für jeden
Kanal. Sie werden ebenfalls separat im codierten Bitstrom übertragen.
-
Nachteilig
an der Aktivierung/Deaktivierung des TNS-Konzepts ist die Tatsache, dass für jeden Stereokanal,
wenn einmal eine TNS-Verarbeitung aufgrund des guten erwarteten
Codiergewinns aktiviert worden ist, die TNS-Filterung für jeden
Kanal getrennt stattfindet. So ist dies bei relativ unterschiedlichen
Kanälen
noch unproblematisch. Sind jedoch der linke und der rechte Kanal
relativ ähnlich, haben
also der linke und der rechte Kanal in einem Extrembeispiel genau
dieselbe Nutzinformation, wie beispielsweise ein Sprecher, und unterscheiden
sich lediglich im Hinblick auf das in den Kanälen unweigerlich enthaltene
Rauschen, so wird beim Stand der Technik dennoch für jeden
Kanal ein eigenes TNS-Filter berechnet und verwendet. Nachdem das TNS-Filter
direkt vom linken bzw. rechten Kanal abhängt, und insbesondere auf die
Spektraldaten des linken und des rechten Kanals relativ empfindlich
reagiert, wird auch im Falle eines Signals, bei dem der linke und
der rechte Kanal sehr ähnlich
sind, also im Falle eines sogenannten „Quasi-Mono-Signals", für jeden
Kanal eine TNS-Verarbeitung mit einem eigenen Prädiktionsfilter durchgeführt. Dies
führt dazu, dass
aufgrund der unterschiedlichen Filterkoeffizienten auch eine unterschiedliche
zeitliche Rauschformung in den beiden Stereokanälen stattfindet.
-
Nachteilig
an diesem Effekt ist, dass er zu hörbaren Artefakten führen kann,
da z. B. das ursprüngliche
mono-artige Klangbild durch diese zeitlichen Differenzen einen unerwünschten
Stereocharakter bekommt.
-
Das
bekannte Prozedere hat jedoch einen weiten möglicherweise noch schwerwiegenderen Nachteil.
Durch die TNS-Verarbeitung
werden die TNS-Ausgangswerte, also die spektralen Restwerte einer
Mitte/Seite-Codierung im Mitte/Seite-Codierer 1002 von 3 unterzogen. Während vor
der TNS-Verarbeitung
die beiden Kanäle
noch relativ gleich waren, kann dies nach der TNS-Verarbeitung nicht
mehr gesagt werden. Durch den beschriebenen Stereo-Effekt, der durch
die getrennte TNS-Verarbeitung eingeführt worden ist, werden die
spektralen Restwerte der beiden Kanäle unähnlicher gemacht, als sie eigentlich
sein würden.
Dies führt
zu einem unmittelbaren Abfall an Codiergewinn aufgrund der Mitte/Seite-Codierung,
was insbesondere für
Anwendungen, bei denen eine niedrige Bitrate erforderlich ist, besonders
nachteilhaft ist.
-
Zusammenfassend
ist die bekannte TNS-Aktivierung somit für Stereosignale, die in beiden
Kanäle ähnliche
aber nicht exakt identische Signalinformationen benutzen, wie beispielsweise
mono-ähnliche Sprachsignale,
problematisch. Sofern bei der TNS-Detektion für beide Kanäle unterschiedliche Filterkoeffizienten
ermittelt werden, führt
das zu einer zeitlich unterschiedlichen Formung des Quantisierungsgeräusches in
den Kanälen.
Dies kann zu hörbaren
Artefakten führen,
da z. B. das ursprüngliche mono-artige
Klangbild durch diese zeitlichen Differenzen einen unerwünschten
Stereocharakter bekommt. Weiterhin wird, wie es ausgeführt worden
ist, das TNS-modifizierte Spektrum in einem nachfolgenden Schritt
einer Mitte/Seite-Codierung unterzogen. Unterschiedliche Filter
in beiden Kanälen
verringern zusätzlich
die Ähnlichkeit
der Spektralkoeffizienten und damit den Mitte/Seite-Gewinn.
-
Die
DE 198 29 284 C2 offenbart
ein Verfahren und eine Vorrichtung zum Verarbeiten eines zeitlichen
Stereosignals und ein Verfahren und eine Vorrichtung zum Decodieren
eines unter Verwendung einer Prädiktion über der
Frequenz codierten Audiobitstroms. Beim skalierbaren Bitstrom von
Stereosignalen können
die beiden Stereokanäle
L und R und der Mono- bzw.
Mitte-Kanal M einer eigenen Prädiktion über der
Frequenz, d.h. einer TNS-Verarbeitung, unterzogen werden. Hierbei
kann für
jeden Kanal eine eigene vollständige
Prädiktion
durchgeführt
werden. Alternativ kann auch für
alle drei Kanäle
ein Satz von Prädiktionskoeffizienten
verwendet werden. Wieder alternativ können zwei vollständige Prädiktionen durchgeführt werden,
z. B. mit einem Stereokanal L oder R und dem Monokanal M. Bei der
Behandlung der Signale L bzw. R und M oder L und R vor jeder Kombination
muss dann lediglich die M-Prädiktion rückgängig gemacht
werden und das daraus erhaltene Signal mit den L- oder R-Prädiktionskoeffizienten gefiltert
werden.
-
Das
Dokument ISO/IEC JPC1/SC29/WG11N2153, April 1998, Kapitel B.2.4 und
Kapitel 7 sowie Kapitel 12-14 bezieht sich auf die Prädiktion,
die Prädiktorsteuerung
und die Technik des Temporal Noise Shaping (TNS). Ferner werden verschiedene
Maßnahmen
des gemeinsamen Codierens (Joint Coding), die Bitreservoirsteuerung,
die Quantisierung von MDCT-Koeffizienten
so wie die Technik des Noiseless Coding beschreiben.
-
Die
Aufgabe der vorliegenden Erfindung besteht darin, ein Konzept zum
Verarbeiten eines Multikanalsignals zu schaffen, das geringere Artefakte und
dennoch eine gute Komprimierung der Informationen ermöglicht.
-
Diese
Aufgabe wird durch eine Vorrichtung zum Verarbeiten eines Multikanalsignals
nach Patentanspruch 1, ein Verfahren zum Verarbeiten eines Multikanalsignals
nach Patentanspruch 11 oder ein Computerprogramm nach Patentanspruch
12 gelöst.
-
Der
vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass dann,
wenn der linke und der rechte Kanal ähnlich sind, also ein Ähnlichkeitsmaß überschreiten,
für beide
Kanäle
die gleiche TNS-Filterung anzuwenden ist. Damit wird sichergestellt, dass
durch die TNS-Verarbeitung keine Pseu do-Stereo-Artefakte in das
Multikanalsignal eingeführt
werden, da durch Verwendung desselben Prädiktionsfilters für beide
Kanäle
erreicht wird, dass auch die zeitliche Formung des Quantisierungsrauschens
für beide
Kanäle
identisch stattfindet, also dass keine Pseudo-Stereoartefakte zu
hören sind.
-
Darüber hinaus
wird sichergestellt, dass die Signale nicht unähnlicher werden als sie eigentlich sein
müssten.
Die Ähnlichkeit
der Signale nach der TNS-Filterung, also die Ähnlichkeit der spektralen Restwerte
entspricht dabei der Ähnlichkeit
der Eingangssignale in die Filter und nicht, wie im Stand der Technik,
der Ähnlichkeit
der Eingangssignale, die noch durch unterschiedliche Filter reduziert
wird.
-
Damit
wird eine nachfolgende Mitte/Seite-Codierung keine Bitratenverluste
haben, da die Signale nicht unähnlicher
gemacht worden sind, als sie eigentlich sind.
-
Natürlich wird
durch Verwenden des selben Prädiktionsfilters
für beide
Signale ein kleiner Verlust an Prädiktionsgewinn auftreten. Dieser
Verlust wird jedoch nicht so groß sein, da die Synchronisierung der
TNS-Filterung für
beide Kanäle
ohnehin nur dann eingesetzt wird, wenn die beiden Kanäle ähnlich zueinander
sind. Dieser kleine Verlust an Prädiktionsgewinn wird jedoch,
wie sich herausgestellt hat, ohne weiteres durch den Mitte/Seite-Gewinn
ausgeglichen, da durch die TNS-Verarbeitung keine zusätzliche
Unähnlichkeit
zwischen linkem und rechtem Kanal eingeführt wird, welche zu einer Reduktion
des Mitte/Seite-Codiergewinns führen
würde.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
die beiliegenden Zeichnungen detailliert erläutert. Es zeigen:
-
1 ein
Blockschaltbild einer erfindungsgemäßen Vorrichtung zum Verarbeiten
eines Multikanalsignals;
-
2 eine
bevorzugte Ausführungsform
der Einrichtung zum Ermitteln einer Ähnlichkeit und der Einrichtung
zum Durchführen
der Prädiktionsfilterung;
und
-
3 ein
Blockschaltbild eines bekannten Audiocodierers gemäß dem AAC-Standard.
-
1 zeigt
eine Vorrichtung zum Verarbeiten eines Multikanalsignals, wobei
das Multikanalsignal durch je einen Block von Spektralwerten für wenigstens
zwei Kanäle
dargestellt ist, wie es durch L und R gezeigt ist. Die Blöcke von
Spektralwerten werden durch z. B. MDCT-Filterung mittels einer MDCT-Filterbank 10 aus
Zeitbereichs-Abtastwerten l(t) bzw. r(t) für jeden Kanal ermittelt.
-
Die
Blöcke
von Spektralwerten für
jeden Kanal werden dann bei einem bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung einer Einrichtung 12 zum Ermitteln
einer Ähnlichkeit
zwischen den beiden Kanälen
zugeführt.
Alternativ kann die Einrichtung zum Ermitteln der Ähnlichkeit
zwischen den beiden Kanälen
auch, wie es in 1 gezeigt ist, unter Verwendung
von Zeitbereichs-Abtastwerten l(t) oder r(t) für jeden Kanal durchgeführt werden.
Es wird jedoch bevorzugt, die aus der Filterbank 10 erhaltenen
Blöcke
von Spektralwerten zur Ähnlichkeitsbestimmung
zu verwenden, da diese gleichermaßen durch mögliche Effekte der Filterung
in der Filterbank 10 beeinflusst sind.
-
Die
Einrichtung 12 zum Ermitteln der Ähnlichkeit zwischen dem ersten
und dem zweiten Kanal ist wirksam, um basierend auf einem Ähnlichkeitsmaß oder alternativ
einem Unähnlichkeitsmaß ein Steuersignal
an einer Steuerleitung 14 zu erzeugen, das wenigstens zwei
Zustände
hat, von denen einer zum Ausdruck bringt, dass die Blöcke von
Spektralwerten der beiden Kanäle ähnlich sind,
oder das in seinem anderen Zustand aussagt, dass die Blöcke von
Spektralwerten für
jeden Kanal unähnlich
sind. Die Entscheidung darüber,
ob Ähnlichkeit
oder Unähnlichkeit
vorherrscht, kann unter Verwendung eines vorzugsweise numerischen Ähnlichkeitsmaßes getroffen
werden.
-
So
existieren verschiedene Möglichkeiten zur
Bestimmung der Ähnlichkeit
zwischen den zwei Blöcken
von Spektralwerten für
jeden Kanal, von denen eine Möglichkeit
eine Kreuzkorrelationsberechnung ist, die einen Wert ergibt, der
dann mit einer vorbestimmten Ähnlichkeitsschwelle
verglichen werden kann. Alternative Ähnlichkeitsmessverfahren sind
bekannt, wobei eine bevorzugte Form nachfolgend beschrieben wird.
-
Sowohl
der Block von Spektralwerten für
den linken Kanal als auch der Block von Spektralwerten für den rechten
Kanal wird einer Einrichtung 16 zum Durchführen einer
Prädiktionsfilterung
zugeführt.
Insbesondere wird eine Prädiktionsfilterung über der Frequenz
durchgeführt,
wobei die Einrichtung zum Durchführen
ausgebildet ist, um zum Durchführen der
Prädiktion über der
Frequenz ein gemeinsames Prädiktionsfilter 16a für den Block
von Spektralwerten des ersten Kanals und für den Block von Spektralwerten
des zweiten Kanals zu verwenden, wenn die Ähnlichkeit größer als
eine Schwellenähnlichkeit ist.
Wird der Einrichtung 16 zum Durchführen der Prädiktionsfilterung dagegen von
der Einrichtung 12 zum Ermitteln einer Ähnlichkeit mitgeteilt, dass
die beiden Blöcke
von Spektralwerten für
jeden Kanal unähnlich
sind, also eine Ähnlichkeit
haben, die kleiner als eine Schwellenähnlichkeit ist, so wird die
Einrichtung 16 zum Durchführen der Prädiktionsfilterung unterschiedliche
Filter 16b auf den linken und den rechten Kanal anwenden.
-
Die
Ausgangssignale der Einrichtung 16 sind somit spektrale
Restwerte des linken Kanals an einem Ausgang 18a als auch spektrale
Restwerte des rechten Kanals an einem Ausgang 18b, wobei,
je nach Ähnlichkeit
des linken und des rechten Kanals die spektralen Restwerte der beiden
Kanäle
unter Verwendung des selben Prädiktionsfilters
(Fall 16a) oder unter Verwendung unterschiedlicher Prädiktionsfilter
(Fall 16b) erzeugt worden sind.
-
Je
nach tatsächlicher
Codiererimplementierung können
die spektralen Restwerte des linken und des rechten Kanals entweder
direkt oder nach mehreren Verarbeitungen, wie sie z. B. im AAC-Standard vorgesehen
sind, einem Mitte/Seite-Stereocodierer zugeführt werden,
welcher an einem Ausgang 21a das Mitte-Signal als Hälfte der
Summe von linkem und rechtem Kanal ausgibt, während das Seite-Signal als
Hälfte
der Differenz von linkem und rechtem Kanal ausgegeben wird.
-
Wie
es ausgeführt
worden ist, ist das Seite-Signal nunmehr, aufgrund der Synchronisierung der
TNS-Verarbeitung der beiden Kanäle,
kleiner als in dem Fall, bei dem für ähnliche Kanäle unterschiedliche TNS-Filter
verwendet werden, was somit, aufgrund der Tatsache, dass das Seite-Signal
kleiner ist, einen höheren
Codiergewinn in Aussicht stellt.
-
Nachfolgend
wird Bezug nehmend auf 2 ein bevorzugtes Ausführungsbeispiel
der vorliegenden Erfindung dargestellt, bei dem in der Einrichtung 12 zum
Ermitteln einer Ähnlichkeit
bereits die erste Stufe der TNS-Berechnung durchgeführt wird,
nämlich
die Berechnung der Parcor- bzw. Reflexionskoeffizienten und des
Prädiktionsgewinns
für sowohl
den linken Kanal als auch den rechten Kanal, wie es durch die Blöcke 12a, 12b dargestellt
ist.
-
Diese
TNS-Verarbeitung liefert somit sowohl die Filterkoeffizienten für das letztendlich
zu verwendende Prädiktionsfilter
als auch den Prädiktionsgewinn,
wobei dieser Prädiktionsgewinn
auch dazu benötigt
wird, um zu entscheiden, ob überhaupt
eine TNS-Verarbeitung durchgeführt
werden soll oder nicht.
-
Der
Prädiktionsgewinn
für den
ersten, linken Kanal, der in 2 mit PG1
bezeichnet ist, wird ebenso wie der Prädiktionsgewinn für den rechten Kanal,
der in 2 mit PG2 bezeichnet ist, in eine Ähnlichkeitsmaßbestimmungseinrichtung
eingespeist, die in 2 mit 12c bezeichnet
ist. Diese Ähnlichkeitsbestimmungseinrichtung
ist wirksam, um den absoluten Betrag der Differenz zwischen den beiden
Prädiktionsgewinnen
zu berechnen und zu schauen, ob dieser unter einer vorbestimmten
Abweichungsschwelle S ist. Liegt der absolute Betrag der Differenz
der Prädiktionsgewinne
unterhalb der Schwelle S, so wird davon ausgegangen, dass die beiden
Signale ähnlich
sind, und die Frage im Block 12c wird mit Ja beantwortet.
Wird dagegen festgestellt, dass die Differenz größer als die Ähnlichkeitsschwelle
S ist, so wird die Frage mit Nein beantwortet. Im Falle der Beantwortung
dieser Frage mit Ja wird in der Einrichtung 16 ein gemeinsames
Filter für beide
Kanäle
L und R verwendet, während
im Falle der Beantwortung der Frage im Block 12c mit Nein getrennte
Filter verwendet werden, also eine TNS-Verarbeitung, wie im Stand der Technik
durchgeführt
werden kann.
-
Hierzu
wird der Einrichtung 16 ein Satz von Filterkoeffizienten
FKL für
den linken Kanal und ein Satz von Filterkoeffizienten FKR für den rechten
Kanal von den Einrichtungen 12a bzw. 12b zugeführt.
-
Bei
einem bevorzugten Ausführungsbeispiel der
vorliegenden Erfindung wird zur Filterung mittels eines gemeinsamen
Filters eine besondere Auswahl in einem Block 16c getroffen.
Im Block 16c wird entschieden, welcher Kanal die größere Energie
hat. Wird festgestellt, dass der linke Kanal die größere Energie
hat, so werden die von der Einrichtung 12a für den linken
Kanal berechneten Filterkoeffizienten FKL für die gemeinsame Filterung
verwendet. Wird dagegen im Block 16c festgestellt, dass
der rechte Kanal die größere Energie
hat, so wird zur gemeinsamen Filterung der Satz von Filterkoeffizienten
FKR, der für
den rechten Kanal in der Einrichtung 12b berechnet worden
ist, verwendet.
-
Wie
es aus 2 hervorgeht, kann zur Energiebestimmung sowohl
das Zeitsignal als auch das Spektralsignal verwendet werden. Aufgrund
der Tatsache, dass im Spektralsignal bereits möglicherweise stattgefundene
Transformations-Artefakte
enthalten sind, wird es bevorzugt, zur „Energieentscheidung" im Block 16c die
Spektralsignale des linken und rechten Kanals zu verwenden.
-
In
einem bevorzugten Ausführungsbeispiel der
vorliegenden Erfindung wird eine TNS-Synchronisierung, also die
Verwendung der selben Filterkoeffizienten für beide Kanäle eingesetzt, wenn sich die Prädiktionsgewinne
für den
linken und rechten Kanal um weniger als drei Prozent unterscheiden.
Unterscheiden sich beide Kanäle
um mehr als drei Prozent, wird die Frage im Block 12c von 2 mit „Nein" beantwortet.
-
Wie
es bereits ausgeführt
worden ist, werden – im
Sinne einer einfachen und wenig rechenintensiven Detektion der Ähnlichkeit – die Prädiktionsgewinne
der beiden Kanäle
bei der Filterung verglichen. Unterschreitet eine Differenz der
Prädiktionsgewinne eine
bestimmte Schwelle, werden beide Kanäle mit der gleichen TNS-Filterung
beaufschlagt, um die beschriebenen Probleme zu vermeiden.
-
Alternativ
kann auch ein Vergleich der Reflexionskoeffizienten der beiden separat
berechneten TNS-Filter erfolgen.
-
Wieder
alternativ kann die Ähnlichkeitsbestimmung
auch unter Verwendung anderer Details des Signals erreicht werden,
so dass dann, wenn eine Ähnlichkeit
bestimmt worden ist, nur der TNS-Filterkoeffizientensatz für den Kanal
berechnet werden muss, der für
die Prädiktionsfilterung
beider Stereokanäle
eingesetzt werden wird. Dies hat zum Vorteil, dass, wenn 2 betrachtet
wird, und wenn die Signale ähnlich
sind, nur entweder der Block 12a oder der Block 12b aktiv
sein wird.
-
Darüber hinaus
kann das erfindungsgemäße Konzept
ferner dahin gehend eingesetzt werden, um die Bitrate des codierten
Signals weiter zu reduzieren. Während
bei der Verwendung zweier unterschiedlicher Reflexionskoeffizienten
unterschiedliche TNS-Seiteninformationen für beide Kanäle übertragen werden, müssen bei
der Filterung der beiden Kanäle
mit dem selben Prädiktionsfilter
nur einmal TNS-Informationen
für beide
Kanäle übertragen
werden. Daher kann durch das erfindungsgemäße Konzept auch eine Reduktion
der Bitrate dahin gehend erreicht werden, dass ein Satz von TNS-Seiteninformationen „eingespart" wird, wenn linker
und rechter Kanal ähnlich
sind.
-
Das
erfindungsgemäße Konzept
ist nicht grundsätzlich
auf Stereo-Signale beschränkt,
sondern könnte
in einer Mehrkanalumgebung zwischen verschiedenen Kanalpaaren oder
auch Gruppen von mehr als 2 Kanälen
angewandt werden.
-
Zur Ähnlichkeitsbestimmung
kann, wie es ausgeführt
worden ist, eine Bestimmung des Kreuzkorrelationsmaßes k zwischen
linkem und rechtem Kanal oder eine Bestimmung des TNS-Prädiktionsgewinns
und der TNS-Filterkoeffizienten für jeden Kanal separat erfolgen.
-
Die
Synchronisationsentscheidung erfolgt, falls k eine Schwelle überschreitet
(z.B. 0.6) und MS-Stereo-Coding aktiviert ist. Das MS-Kriterium kann
auch weggelassen werden.
-
Bei
der Synchronisation erfolgt eine Bestimmung des Referenzkanals,
dessen TNS-Filter für
den anderen Kanal übernommen
werden soll. Z. B. wird der Kanal mit der größeren Energie als Referenzkanal
verwendet. Insbesondere erfolgt dann ein Kopieren der TNS-Filterkoeffizienten
vom Referenzkanal auf den anderen Kanal.
-
Schließlich erfolgt
eine Anwendung der synchronisierten oder nicht-synchronisierten
TNS-Filter auf das Spektrum.
-
Alternativ
erfolgt eine Bestimmung des TNS-Prädiktionsgewinns
und der TNS-Filterkoeffizienten für jeden Kanal separat. Dann
erfolgt eine Entscheidung. Falls sich der Prädiktionsgewinn beider Kanäle um nicht
mehr als ein gewisses Maß unterscheidet,
z. B. 3% erfolgt, erfolgt die Synchronisation. Hier kann der Referenzkanal
auch willkürlich
gewählt werden,
wenn man von einer Ähnlichkeit
der Kanäle ausgehen
kann. Auch hier gibt es ein Kopieren der TNS-Filterkoeffizienten
vom Referenzkanal auf den anderen Kanal, woraufhin eine Anwendung
der synchronisierten oder nicht-synchronisierten TNS-Filter auf
das Spektrum stattfindet.
-
Alternative
Möglichkeiten
sind folgende: Ob TNS in einem Kanal grundsätzlich aktiviert wird, hängt vom
Prädiktionsgewinn
in diesem Kanal ab. Überschreitet
dieser eine gewisse Schwelle, wird TNS für diesen Kanal aktiviert. Alternativ
wird auch eine TNS-Synchronisation für 2 Kanäle gemacht, wenn nur in einem
der beiden Kanäle
TNS aktiviert war. Bedingung ist dann, dass z.B. der Prädiktionsgewinn ähnlich ist,
also ein Kanal knapp über
der Aktivierungsgrenze, und ein Kanal knapp unter der Aktivierungsgrenze
liegt. Aus diesem Vergleich wird dann die Aktivierung von TNS für beide
Kanäle
mit gleichen Koeffizienten abgeleitet, oder unter Umständen auch
die Deaktivierung für
beide Kanäle.
-
Abhängig von
der Gegebenheit, kann das erfindungsgemäße Verfahren zum Verarbeiten
eines Mehrkanalsignals in Hardware oder in Software implementiert
werden. Die Implementierung kann auf einem digitalen Speichermedium,
insbesondere einer Diskette oder CD mit elektronisch auslesbaren
Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem
zusammenwirken können, dass
das Verfahren ausgeführt
wird. Allgemein besteht die Erfindung somit auch in einem Computer-Programm-Produkt
mit einem auf einem maschinenlesbaren Träger gespeicherten Programmcode zur
Durchführung
des erfindungsgemäßen Verfahrens,
wenn das Computer-Programm-Produkt auf einem Rechner abläuft. In
anderen Worten ausgedrückt,
kann die Erfindung somit als ein Computer-Programm mit einem Programmcode
zur Durchführung
des Verfahrens realisiert werden, wenn das Computer-Programm auf einem
Computer abläuft.