-
Querverweis
auf verwandte Anmeldung
-
Der
Gegenstand dieser Patentanmeldung ist verwandt mit dem Gegenstand
der US-Patentanmeldung von J. Herre mit dem Titel „Perceptual
Noise Shaping in the Time Domain via LPC Prediction in the Frequency
Domain", Aktenzeichen
08/585086, eingereicht am 16. Januar 1996 und auf den Zessionar der
vorliegenden Erfindung übertragen;
die genannte US-Patentanmeldung entspricht EP-A-0 785 631, veröffentlicht am 23.07.1997. „Perceptual
Noise Shaping in the Time Domain via LPC Prediction in the Frequency
Domain" wird hiermit
durch Literaturhinweis in die vorliegende Patentanmeldung eingefügt.
-
Gebiet der
Erfindung
-
Die
vorliegende Erfindung betrifft das Gebiet des Audiosignalkodierens,
im Speziellen ein verbessertes Verfahren sowie eine verbesserte
Vorrichtung zum Kombinationsstereokodieren von Mehrkanal-Audiosignalen.
-
Allgemeiner
Stand der Technik
-
Über die
letzten Jahre sind sogenannte „wahrnehmungsorientierte
Audiokodierer" entwickelt worden,
welche die Übertragung
und Speicherung von hochwertigen Audiosignalen bei Bitraten von
weniger als einem Zwölftel
der üblicherweise
auf einem herkömmlichen
Compact-Disc-Medium
(CD) benutzten Bitrate ermöglichen.
Solche Kodierer nutzen die aufgrund der Irrelevanz des menschlichen
Gehörs
in einem Audiosignal enthaltene Irrelevanz aus, indem sie das Signal
nur mit der zum Erhalt eines bei der Wahrnehmung ununterscheidbaren
rekonstruierten (d. h. dekodierten) Signals notwendigen Genauigkeit kodieren.
Unter verschiedenen Standardisierungsorganisationen sind Standards
festgelegt worden, beispielsweise die Audiostandards MPEG1 und MPEG2 der
Moving Picture Experts Group der International Standardization Organization
(ISO/MPEG). Wahrnehmungsorientierte Audiokodierer sind zum Beispiel
in den folgenden US-Patentschriften detailliert beschrieben: 5,285,498,
erteilt an James D. Johnston am 8. Februar 1994 und 5, 341, 457,
erteilt an Joseph L. Hall II und James D. Johnston am 23. August 1994;
beide sind an den Zessionar der vorliegenden Erfindung übertragen.
-
Generell
kann der Aufbau eines wahrnehmungsorientierten Audiokodierers für monophone Audiosignale
wie folgt beschrieben werden:
- • Die Eingangssignalwerte
werden in eine unterabgetastete Spektraldarstellung umgewandelt, wobei
verschiedene Arten von Filterbänken
und Transformationen zum Einsatz kommen, so z. B. die bekannte modifizierte
diskrete Kosinustransformation (MDCT), Polyphasenfilterbänke oder hybride
Strukturen.
- • Unter
Verwendung eines Wahrnehmungsmodells werden eine oder mehrere zeitabhängige Maskierungsschwellen
abgeschätzt.
Diese Schwellen geben den maximalen Kodierungsfehler an, der unter
Erhalt einer bei der Wahrnehmung unbeeinträchtigten Signalqualität in das
Audiosignal eingeführt
werden kann. Insbesondere können
diese Maskierungsschwellen für
jedes Teilband einzeln festgelegt werden. D. h., die einzelnen Frequenzbänder des
Kodierers, bestehend aus einer Gruppierung eines oder mehrerer Spektralkoeffizienten,
werden vorteilhafterweise jeweils gemeinsam auf Basis einer entsprechend festgelegten
Maskierungsschwelle kodiert.
- • Die
Spektralwerte werden quantisiert und auf Basis der Frequenzbänder des
Kodierers in der zu den Maskierungsschwellen-Schätzwerten korrespondierenden
Genauigkeit kodiert. Auf diese Weise kann das Quantisierungsrauschen
von dem jeweiligen übertra genen
Signal versteckt (d. h. maskiert) werden und ist daher nach dem
Dekodieren nicht wahrnehmbar.
- • Schließlich werden
alle relevanten Informationen (z. B. die kodierten Spektralwerte
und zusätzliche
Seiteninformationen) in einen Bitstrom gepackt und an den Dekodierer übertragen.
-
Die
Verarbeitung im Kodierer ist im Dekodierer entsprechend umgekehrt:
- • Der
Bitstrom wird dekodiert, analysiert und in kodierte Spektraldaten
und Seiteninformationen zerlegt.
- • Die
quantisierten Spektralwerte werden (auf Basis der im Kodierer verwendeten
Frequenzbänder)
invers quantisiert.
- • Die
Spektralwerte werden unter Verwendung einer Synthesefilterbank in
eine Zeitbereichsdarstellung rücküberführt.
-
Mit
einem solchen generischen Aufbau des Kodierers kann man die aufgrund
der Irrelevanz des menschlichen Gehörs in einem Audiosignal enthaltene
Irrelevanz effizient ausnutzen. Insbesondere kann das Spektrum des
Quantisierungsrauschens entsprechend der Gestalt der Rauschmaskierungsschwelle
des Signals geformt werden. Auf diese Weise kann das aus dem Kodiervorgang
resultierende Rauschen unter dem kodierten Signal „versteckt" werden, und so kann
bei hohen Kompressionsraten eine bei der Wahrnehmung transparente
Qualität
erzielt werden.
-
Wahrnehmungsorientierte
Kodierverfahren für
monophone Audiosignale sind erfolgreich auf das Kodieren von stereophonen
Zweikanal- und Mehrkanalsignalen erweitert worden. Insbesondere
sind sogenannte „Kombinations stereo"-Kodierverfahren
eingeführt
worden, die eine kombinierte Signalverarbeitung der Eingangssignale
ausführen,
anstatt separate (d. h. unabhängige)
Kodiervorgänge
für die
einzelnen Eingangssignale auszuführen.
(Es ist zu beachten, dass sich hier, wie auch im allgemeinen Gebrauch,
und wie es dem Durchschnittsfachmann geläufig ist, die Begriffe „Stereo" und „stereophon" auf die Verwendung
von zwei oder mehr einzelnen Audiokanälen beziehen.)
-
Der
Einsatz von Kombinationsstereokodierverfahren bringt mindestens
zwei Vorteile mit sich. Erstens ermöglicht der Einsatz von Kombinationsstereokodierverfahren
die Berücksichtigung
von binauralen psychoakustischen Effekten. Zweitens kann die für das Kodieren
von stereophonen Signalen benötigte
Bitrate erheblich unter die für
ein separates, unabhängiges
Kodieren der einzelnen Kanäle
benötigte Bitrate
abgesenkt werden.
-
Generell
kann der Aufbau eines wahrnehmungsorientierten, stereophonen Mehrkanal-Audiokodierers
wie folgt beschrieben werden:
- • Die Signalwerte
der Eingangssignale werden in eine unterabgetastete Spektraldarstellung
umgewandelt, wobei verschiedene Arten von Filterbänken und
Transformationen zum Einsatz kommen, so z. B. die modifizierte diskrete
Kosinustransformation (MDCT), Polyphasenfilterbänke oder hybride Strukturen.
- • Unter
Verwendung eines Wahrnehmungsmodells wird die zeitabhängige Maskierungsschwelle des
Signals für
die einzelnen Kanäle
abgeschätzt. Daraus
ergibt sich der maximale Kodierungsfehler, der unter Erhalt einer
bei der Wahrnehmung unbeeinträchtigten
Signalqualität
in das Audiosignal eingeführt
werden kann.
- • Beim
Kombinationsstereokodieren werden Anteile der Spektralkoeffizientendaten
gemeinsam verarbeitet, um eine effizientere Darstellung des Stereosignals
zu erzielen. Abhängig
von dem eingesetzten Stereokodierverfahren können auch Anpassungen an den
Maskierungsschwellen vorgenommen werden.
- • Die
Spektralwerte werden quantisiert und in der zu den Maskierungsschwellen-Schätzwerten
korrespondierenden Genauigkeit kodiert. Auf diese Weise wird das
Quantisierungsrauschen durch das jeweilige übertragene Signal versteckt
(d. h. maskiert) und ist daher nach dem Dekodieren nicht wahrnehmbar.
- • Schließlich werden
alle relevanten Informationen (d. h. die kodierten Spektralwerte
und zusätzliche
Seiteninformationen) in einen Bitstrom gepackt und an den Dekodierer übertragen.
-
Die
Verarbeitung im Kodierer ist im Dekodierer entsprechend umgekehrt:
- • Der
Bitstrom wird dekodiert, analysiert und in kodierte Spektraldaten
und Seiteninformationen zerlegt.
- • Die
quantisierten Spektralwerte werden invers quantisiert.
- • Mit
den Spektralwerten wird der Dekodiervorgang für die Kombinationsstereoverarbeitung ausgeführt, wodurch
man für
die einzelnen Kanäle
jeweils ein separates Signal erhält.
- • Die
Spektralwerte für
die einzelnen Kanäle
werden jeweils unter Verwendung entsprechender Synthesefilterbänke in die
Zeitbereichsdarstellung rück überführt.
-
Die
zwei derzeit meistverbreitetsten Kombinationsstereokodierverfahren
sind als „Mitte-Seite-Stereokodieren" (M/S) bzw. „Intensitätsstereokodieren" bekannt. Aufbau
und Betrieb eines Kodierers auf Basis des M/S-Stereokodierens sind
z. B. in US-Patentschrift Nr. 5,285,498 beschrieben (siehe oben).
Unter Verwendung dieses Verfahrens können binaurale Maskierungseffekte
vorteilhaft berücksichtigt
werden, und zusätzlich
kann ein gewisses Maß an
signalabhängigem
Gewinn erzielt werden.
-
Ein
größeres Biteinsparungspotential
bietet jedoch das Intensitätsstereoverfahren.
Insbesondere nutzt dieses Verfahren die Einschränkungen des menschlichen Gehörs bei hohen
Frequenzen (z. B. bei Frequenzen oberhalb 4 kHz) aus, indem nur
ein Spektralkoeffizientensatz für
alle kombinationskodierten Kanalsignale übertragen wird, wodurch erhebliche
Einsparungen bei der Datenrate erzielt werden. Kodierer auf Basis
des Intensitätsstereoprinzips sind
in zahlreichen Quellen beschrieben, darunter die europäische Patentanmeldung
0 497 413 Al von R. Veidhuis et al., eingereicht am 24. Januar 1992
und publiziert am 5. August 1992, sowie (mit anderer Terminologie)
die internationale PCT-Patentanmeldung WO 92/12607 von M. Davis
et al., eingereicht am 8. Januar 1992 und publiziert am 23. Juli
1992.
-
Durch
Kombinationsstereoverarbeiten der Spektralkoeffizienten vor der
Quantisierung können weitere
Einsparungen bezüglich
der erforderlichen Bitrate erzielt werden. Im Falle des Intensitätsstereokodierens
rühren
einige dieser Einsparungen daher, dass das menschliche Gehör bei hohen
Frequenzen (z. B. bei Frequenzen oberhalb 4 kHz) bekanntermaßen unempfindlich
gegen Phaseninformationen ist. Aufgrund der Eigenschaften der menschlichen
Haarzellen werden bei der Wahrnehmung Signalhüllkurven anstelle der Wellenform
des Signals selbst ausgewertet. Daher genügt es, anstatt der gesamten Wellenform
nur die Hüllkurve
dieser Signalanteile zu kodieren. Dies kann beispielsweise bewerkstelligt werden,
indem für
alle in Frage kommende Kanäle ein
gemeinsamer Spektralkoeffizientensatz (nachfolgend als das „Trägersignal" bezeichnet) übertragen wird,
anstatt separate Koeffizientensätze
für jeden Kanal
zu übertragen.
Im Dekodierer wird das Trägersignal
dann für
jeden Kanal unabhängig
skaliert, um die gemittelte Hüllkurve
(bzw. Signalenergie) für
den jeweiligen Kodierblock anzupassen.
-
Beim
Intensitätsstereokodieren/-dekodieren werden
typischerweise auf Basis der Frequenzbänder des Kodierers die folgenden
Verarbeitungsschritte ausgeführt:
- • Aus
den Spektralkoeffizienten aller in Frage kommender Kanäle wird
ein „Träger"-Signal erzeugt,
das dazu geeignet ist, die einzelnen Kanalsignale darzustellen.
Hierzu werden üblicherweise
Linearkombinationen der Teilsignale gebildet.
- • Aus
den ursprünglichen
Signalen werden Skalierungsinformationen extrahiert, die die Hüllkurve bzw.
den Energiegehalt des betreffenden Frequenzbands des Kodierers beschreiben.
- • Sowohl
das Trägersignal
als auch die Skalierungsinformationen werden an den Dekodierer übertragen.
- • Im
Dekodierer werden die Spektralkoeffizienten des Trägersignals
rekonstruiert. Daraufhin werden die Spektralkoeffizienten für die einzelnen Kanäle berechnet,
indem das Trägersignal
unter Verwendung der jeweiligen Skalierungsinformationen für die einzelnen
Kanäle
skaliert wird.
-
Dieser
Ansatz bewirkt, dass anstelle separater Spektralkoeffizientensätze für jedes
Kanalsignal nur ein Spektralkoeffizientensatz (nämlich die Koeffizienten des
Trägersignals)
sowie eine kleine Menge an Seiteninformationen (nämlich die
Skalierungsinformationen) übertragen
werden müssen.
Im Falle von Zweikanal-Stereo
führt dies
bei den intensitätskodierten
Frequenzbereichen zu einer Einsparung von fast 50% der Datenrate.
-
Ungeachtet
der Vorteile dieses Ansatzes führt übermäßige oder
unkontrollierte Anwendung des Intensitätsstereokodierverfahrens zu
einer Verschlechterung des wahrgenommenen Stereobildes, weil die
detaillierte zeitliche Struktur der Signale für Zeitintervalle, die kleiner
als die Granularität
der Kodieranordnung (z. B. 20 ms je Block) sind, nicht erhalten
ist. Insbesondere sind infolge der Verwendung eines einzigen Trägers alle
aus diesem Träger
rekonstruierten Ausgangssignale notwendigerweise skalierte Versionen
voneinander. Anders ausgedrückt: über die
Dauer des kodierten Blocks (z. B. 10 bis 20 ms) hinweg haben sie
die gleiche Hüllkurvenfeinstruktur. Für stationäre Signale
oder für
Signale mit in den intensitätsstereokodierten
Kanälen ähnlichen
Hüllkurvenfeinstrukturen
stellt dies kein erhebliches Problem dar.
-
Bei
transienten Signalen mit unähnlichen Hüllkurven
in verschiedenen Kanälen
jedoch kann die ursprüngliche
Verteilung der Hüllkurveneinsätze über die
kodierten Kanäle
nicht zurückgewonnen werden.
Beispielsweise unterscheiden sich in einer stereophonen Aufnahme
eines applaudierenden Publikums die einzelnen Hüllkurven im rechten bzw. linken
Kanal aufgrund der unterschiedlichen Klatschereignisse, die in den
jeweiligen Kanälen
zu verschiedenen Zeitpunkten stattfinden. Ähnliche Effekte treten bei
Aufnahmen auf, die mit stereophonen Mikrophonen erzeugt wurden,
so dass die räumliche
Position einer Schallquelle letztendlich in Form von Zeitdifferenzen
bzw. Verzögerungen
zwischen den jewei ligen Kanalsignalen kodiert ist. Infolgedessen
verringert sich die Qualität
des Stereobildes eines intensitätsstereokodierten/-dekodierten
Signals in diesen Fällen
wesentlich. Der räumliche
Eindruck tendiert dazu, sich zu verschmälern, und das wahrgenommene
Stereobild tendiert dazu, in die Mittenposition zu kollabieren.
Bei kritischen Signalen kann die erreichte Qualität nicht
mehr als brauchbar betrachtet werden.
-
Um
Verschlechterungen im Stereobild eines intensitätskodierten/-dekodierten Signals
zu vermeiden, sind einige Strategien vorgeschlagen worden. Da das
Intensitätsstereokodieren
das Risiko einer Beeinträchtigung
des Stereobildes trägt,
ist vorgeschlagen worden, dieses Verfahren nur dann zu benutzen,
wenn dem Kodierer die Bits ausgehen, um schwerwiegende Quantisierungsverzerrungen
zu vermeiden, die vom Hörer
als noch störender
wahrgenommen würden.
-
Auch
könnte
ein Algorithmus eingesetzt werden, der Unähnlichkeiten in den zeitlichen
Feinstrukturen der Kanäle
erkennt. Wenn eine Nichtübereinstimmung
der Hüllkurven
erkannt wird, wird in dem betreffenden Block keine Intensitätsstereokodierung angewendet.
Ein solcher Ansatz wird z. B. beschrieben in J. Herre et al., „Intensity
Stereo Coding",
96th Audio Engineering Society Convention,
Amsterdam, Februar 1994. Ein offensichtlicher Nachteil der bislang
vorgeschlagenen Lösungen
ist jedoch, dass das Biteinsparpotential nicht mehr voll ausgenutzt
werden kann, da bei solchen Signalen das Intensitätsstereokodieren
deaktiviert wird.
-
Kurzdarstellung
der Erfindung
-
Gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung werden die Nachteile der Verfahren nach
Stand der Technik mit Hilfe eines Verfahrens und einer Vorrichtung überwunden,
die Mehrkanal-Audiosignale mittels Intensitätsstereokodierverfahren kombinationsstereo kodieren.
Im Speziellen werden Prädiktionsfilterverfahren
auf die Spektralkoeffizientendaten angewendet, wodurch die zeitliche Feinstruktur
des Ausgangssignals der einzelnen Kanäle erhalten wird, dabei aber
der Vorteil der durch Intensitätsstereokodieren
ermöglichten
hohen Bitrateneinsparungen erhalten bleibt. In einem Ausführungsbeispiel
der vorliegenden Erfindung wird ein Verfahren zur Verbesserung des
wahrgenommenen Stereobildes von intensitätsstereokodierten/-dekodierten
Signalen geschaffen, indem in einem Kodierer für stereophone Zweikanalsignale
die folgenden Verarbeitungsschritte zur Anwendung kommen:
- • Das
Eingangssignal der einzelnen Kanäle
wird durch eine hochauflösende
Filterbank bzw. Transformation in Spektralkoeffizienten zerlegt.
- • Unter
Verwendung eines Wahrnehmungsmodells werden für die einzelnen Kanäle eine
oder mehrere zeitabhängige
Maskierungsschwellen des Signals abgeschätzt. Dies ergibt vorteilhafterweise
den maximalen Kodierungsfehler, der unter Erhalt einer bei der Wahrnehmung
unbeeinträchtigten
Signalqualität
in das Audiosignal eingeführt werden
kann.
- • Für jeden
Kanal wird ein Filter, der lineare Prädiktion in der Frequenz ausführt, an
den Ausgängen
der Filterbank angewendet, so dass für die folgenden Schritte das
Restfehlersignal anstelle des tatsächlichen Ausgangssignals der
Filterbank benutzt wird.
- • Intensitätsstereokodierverfahren
werden angewendet, um beide Restfehlersignale in ein Trägersignal
zu kodieren.
- • Die
Spektralwerte des Trägersignals
werden quantisiert und in der zu dem bzw. zu den Maskierungsschwellen-Schätzwert(en)
korrespondierenden Genau igkeit kodiert.
- • Alle
relevanten Informationen (d. h. die kodierten Spektralwerte, Intensitätsskalierungsdaten
und Prädiktionsfilterdaten)
werden in einen Bitstrom gepackt und an den Dekodierer übertragen.
-
Entsprechend
führt ein
Dekodierer gemäß einem
weiteren Ausführungsbeispiel
der vorliegenden Erfindung für
kombinationsstereokodierte Signale, der dem obenstehend beschriebenen
Beispielkodierer entspricht, die folgenden Verarbeitungsschritte aus:
- • Der
Bitstrom wird dekodiert, analysiert und in die kodierten Spektraldaten
und Seiteninformationen zerlegt.
- • Die
quantisierten Spektralwerte des Trägersignals werden invers quantisiert.
- • Die
Spektralwerte des Trägersignals
werden intensitätsstereodekodiert,
wodurch (Restfehler-)Signale für
die einzelnen Kanäle
erzeugt werden.
- • Für die einzelnen
Kanäle
werden in der Frequenz arbeitende inverse Prädiktionsfilter auf das ursprüngliche
Signal angewendet, die den Prädiktionsfiltern
entsprechen, die von dem Kodierer, der benutzt wurde, um das ursprüngliche
Signal zu kodieren, angewendet wurden.
- • Die
von den inversen Prädiktionsfiltern
erzeugten Spektralwerte werden unter Verwendung von Synthesefilterbänken in
die Zeitbereichsdarstellung rücküberführt.
-
Kurze Beschreibung
der Zeichnungen
-
Es
zeigen:
-
1 einen
Kodierer für
stereophone Zweikanalsignale nach Stand der Technik, bei dem herkömmliche
Intensitätsstereokodierverfahren
zum Einsatz kommen.
-
2 einen
Kodierer für
stereophone Zweikanalsignale gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung.
-
3 eine
Beispielimplementierung der Prädiktionsfilter
des Beispielkodierers aus 2.
-
4 einen
Dekodierer für
Kombinationsstereosignale nach Stand der Technik, der dem Kodierer
nach Stand der Technik aus 1 entspricht, in
dem herkömmliche
Intensitätsstereokodierverfahren
zum Einsatz kommen.
-
5 einen
Dekodierer für
kombinationsstereokodierte Signale gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung, der dem Beispielkodierer aus 2 entspricht.
-
6 eine
Beispielimplementierung der inversen Prädiktionsfilter des Beispielkodierers
aus 5.
-
7 ein
Flussdiagramm eines Verfahrens zum Kodieren von stereophonen Zweikanalsignalen gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung.
-
8 ein
Flussdiagramm eines Verfahrens zum Dekodieren von kombinationsstereokodierten Signalen
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung, das dem in 7 gezeigten Beispielkodierverfahren
entspricht.
-
Detaillierte
Beschreibung
-
Überblick
-
Die
Aufnahme eines Prädiktionsfiltervorgangs
in Kodierer und Dekodierer gemäß bestimmten
Ausführungsbeispielen
der vorliegenden Erfindung verbessert vorteilhafterweise die Qualität des intensitätsstereokodierten/-dekodierten
Signals, indem die Einschränkung
der Anordnungen nach Stand der Technik, dass in allen intensitätsstereodekodierten
Kanalsignalen identische Hüllkurvenfeinstrukturen
erzeugt werden, überwunden
wird. Insbesondere überwindet
das Beispielkodierverfahren die Nachteile der bisherigen Verfahren,
indem die Filterbank durch die Prädiktionsfilterstufe effektiv
derart erweitert wird, dass die über
die Frequenz hinweg gemeinsamen Hüllkurveninformationen in Form
von Filterkoeffizienten extrahiert und größtenteils aus dem Restfehlersignal
entfernt werden.
-
Insbesondere
wird für
jedes Eingangskanalsignal auf den entsprechenden Spektralkoeffizientendaten
eine lineare Prädiktion
durchgeführt,
wobei die lineare Prädiktion über die
Frequenz ausgeführt wird.
Da die Prädiktionskodierung
auf Spektralbereichsdaten angewendet wird, sind bei den im Falle klassischer
Prädiktionen
bekannten gültigen
Beziehungen der Zeit- und der Frequenzbereich zu vertauschen. Beispielsweise
hat das Prädiktionsfehlersignal
idealerweise eine „flache" (quadrierte) Hüllkurve, im
Gegensatz zu einem „flachen" Leistungsspektrum (ein
sogenannter „Prewhitening"-Filtereffekt). Die zeitlichen Feinstrukturinformationen
für die
einzelnen Kanalsignale sind in den jeweiligen Prädiktionsfilterkoeffizienten
enthalten. Es kann daher davon ausgegangen werden, dass das für das Intensitätsstereokodieren
benutzte Trägersignal
ebenso eine flache Hüllkurve
aufweist, da es durch Bilden von Linearkombinationen aus den (gefilterten)
Kanalsignalen erzeugt wird.
-
In
einem entsprechenden Dekodierer gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung werden die einzelnen Kanalsignale gemäß der übertragenen
Skalierungsinformationen reskaliert, und auf die Spektralkoeffizienten
wird der inverse Filtervorgang angewendet. Auf diese Weise wird
der inverse „Prewhitening"-Vorgang mit den Hüllkurven der einzelnen dekodierten
Kanalsignale ausgeführt,
wodurch effektiv die Hüllkurveninformation
in die Spektralkoeffizienten wieder eingeführt wird. Da dies individuell
für jeden
einzelnen Kanal geschieht, ist das erweiterte Kodier-/Dekodiersystem
dazu in der Lage, die verschiedenen individuellen Hüllkurvenfeinstrukturen
der einzelnen Kanalsignale zu reproduzieren. Es ist zu beachten,
dass in der Praxis der Einsatz einer Kombination aus Filterbank
und linearer Prädiktion
in der Frequenz äquivalent
ist zum Einsatz einer auf die Hüllkurve
des Eingangssignals abgestimmten adaptiven Filterbank. Da der Vorgang
der Hüllkurvenformung
eines Signals entweder für
das gesamte Spektrum des Signals oder nur für einen Teil davon ausgeführt werden
kann, kann diese Hüllkurvensteuerung
im Zeitbereich vorteilhafterweise in jeder beliebigen notwendigen
frequenzabhängigen
Weise angewendet werden.
-
Außerdem kann
der Bitstrom, welcher zum Beispiel von dem oben beschriebenen und
nachstehend anhand 2, 3 und 7 näher erläuterten
Beispielkodierer erzeugt wird, gemäß einer weiteren Ausführungsform
der vorliegenden Erfindung vorteilhafterweise auf einem Speichermedium,
wie z. B. einer Compact Disc oder einem Digitaltonband, oder in
einem Halbleiterspeicher gespeichert werden. Ein solches Speichermedium
kann dann wieder eingelesen werden, um den Bitstrom für ein späteres Dekodieren
beispielsweise durch den oben beschriebenen (und nachstehend anhand 5, 6 und 8 näher erläuterten)
Beispieldekodierer bereitzustellen. Auf diese Art kann eine erhebliche
Menge an Audiodaten (z. B. Musik) komp rimiert und ohne Verluste
bei der (wahrgenommenen) Qualität
des rekonstruierten Signals auf das gegebene Speichermedium geschrieben
werden.
-
Ein Kodierer
nach Stand der Technik
-
1 zeigt
einen wahrnehmungsorientierten Kodierer für stereophone Zweikanalsignale
nach Stand der Technik, bei dem herkömmliche Intensitätsstereokodierverfahren
zum Einsatz kommen. Der Kodierer aus 1 arbeitet
wie folgt:
- • Die
linken und rechten Eingangssignale, xl(k) und xr(k), werden durch
die Analysefilterbank-/Transformationsmodule 12l bzw. 12r jeweils
einzeln in Spektralkoeffizienten zerlegt, wobei sich für jeden
Analyseblock b ein entsprechender Satz aus „n" Spektralkomponenten yl(b, 0 ... n – 1) bzw.
yr(b, 0 ... n – 1)
ergibt, wobei „n" die Anzahl der Spektralkoeffizienten
pro Analyseblock (d. h. die Blockgröße) ist. Jeder Spektralkomponente
yl(b, i) bzw. yr(b, i) ist eine Analysefrequenz in Übereinstimmung
mit der speziellen eingesetzten Filterbank zugeordnet.
- • Die
Wahrnehmungsmodelle 11l bzw. 11r schätzen für jeden
Kanal die Genauigkeit der Kodierung ab, die für bei der Wahrnehmung transparente
Qualität
des kodierten/dekodierten Signals benötigt wird. Die Schätzungsdaten
können
zum Beispiel auf dem in den einzelnen Bändern des Kodierers erforderlichen
minimalen Signal-Rauschabstand (SNR) beruhen und werden an das Quantisierungs-/Kodiermodul
weitergeleitet.
- • Die
Spektralwerte für
sowohl den linken als auch den rechten Kanal, yl(b, 0 ... n – 1) und
yr(b, 0 ... n – 1),
werden dem Intensitätsstereo-Kodiermodul 13 zur
Verfügung
gestellt, welches das herkömmliche
In tensitätsstereokodieren
durchführt.
Für Spektralanteile,
die vom Intensitätsstereokodieren
ausgenommen werden sollen, können
die entsprechenden Werte yl(b, 0 ... n – 1) und yr(b, 0 ... n – 1) direkt
an die Quantisierungs- und Kodierstufe weitergeleitet werden. Für Spektralanteile,
bei denen intensitätsstereokodiert
werden soll (d. h. vorzugsweise für die hochfrequenten Anteile)
wird der Intensitätsstereokodiervorgang
wie folgt ausgeführt:
Von jedem der Signale yl() und yr() werden Skalierungsinformationen
(d. h. Spitzenamplitude oder Gesamtenergie) für die einzelnen Frequenzbänder des
Kodierers extrahiert und durch Kombinieren der entsprechenden yl()-
und yr()-Werte ein einzelnes Trägersignal
yi() erzeugt. Für
die intensitätsstereokodierten
Spektralanteile werden somit der Quantisierungs- und Kodierstufe
nur ein Wertesatz yi() für
beide Kanäle
sowie Skalierungs-Seiteninformationen
für jeden
Kanal zur Verfügung
gestellt. Alternativ können
auch kombinierte Skalierungsinformationen zusammen mit Richtungsinformationen
(und dem einzelnen Trägersignal)
verwendet werden.
- • Die
Spektralkomponenten am Ausgang der Intensitätskodierstufe, die aus separaten
Werten yl() und yr() sowie aus gemeinsamen Werten yi() bestehen,
werden von dem Quantisierungs- und Kodiermodul 14 quantisiert
und auf Übertragungssymbole
abgebildet. Dieses Modul berücksichtigt die
erforderliche Genauigkeit der Kodierung, wie sie von den Wahrnehmungsmodellen 11l und 11r bestimmt
wird.
- • Die
von dem Quantisierungs- und Kodiermodul 14 erzeugten Übertragungssymbolwerte
werden zusammen mit weiteren Seiteninformationen an den Bitstrom-Kodierer/-Multiplexer 15 weitergeleitet
und werden dadurch in dem kodierten Bitstrom übertragen. Für Frequenzbänder des
Kodierers, die Intensitätsstereokodierung
einsetzen, werden dem Bitstrom-Kodierer/-Multiplexer 15 außerdem die
von dem Intensitätsstereokodiermodul 13 gelieferten
Skalierungsinformationen zur Verfügung gestellt.
-
Ein Beispielkodierer
-
2 zeigt
einen Kodierer für
stereophone Zweikanalsignale gemäß einem
Ausführungsbeispiel der
vorliegenden Erfindung. Die Funktionsweise des Beispielkodierers
aus 2 entspricht derjenigen des Kodierers nach Stand
der Technik aus 1, mit der Ausnahme, dass für jeden
Kanal zwischen der entsprechenden Analysefilterbank und dem entsprechenden
Intensitätsstereokodiermodul
jeweils eine Prädiktionsfilterstufe
eingeschoben ist. D. h., dass die Prädiktionsfilter 16l und 16r auf
die Ausgänge
der Analysefilterbänke 12l bzw. 12r angewendet
werden. Dadurch werden die Spektralwerte yl(b, 0 ... n – 1) und
yr(b, 0 ... n – 1)
durch die Ausgangswerte yl'(b,
0 ... n – 1)
bzw. yr'(b, 0 ...
n – 1)
des Prädiktionsfiltervorgangs
ersetzt, bevor sie dem Intensitätsstereokodiermodul 13 zur
Verfügung
gestellt werden.
-
3 zeigt
eine Beispielimplementierung der Prädiktionsfilter des Beispielkodierers
aus 2. Insbesondere wird in der Prädiktionsfilterstufe eine lineare
Prädiktion über die
Frequenz ausgeführt
(im Gegensatz beispielsweise zum Prädiktionskodieren über die
Zeit, wie es von Teilband-ADPCM-Kodierern eingesetzt wird).
-
Zu
diesem Zwecke dient der „Drehschalter" 43, der
die Spektralwerte y(b, 0 ... n – 1)
vor der Verarbeitung in eine serielle Anordnung bringt; und die resultierenden
Ausgangswerte y'(b,
0... n – 1)
werden anschließend
durch den „Drehschalter" 46 in paralleler
Anordnung zur Verfügung
gestellt. (Es ist zu beachten, dass die Verwendung von „Drehschaltern" als Mechanismus
zur Umwandlung zwischen seriellen und parallelen Anordnungen hier
ausschließ lich der
Einfachheit und des besseren Verständnisses halber geschieht.
Dem Durchschnittsfachmann wird klar sein, dass kein solches physikalisches
Schaltgerät
bereitgestellt werden muss. Vielmehr können Umwandlungen zwischen
serieller und paralleler Anordnung auf mehrere verschiedene herkömmliche,
dem Fachmann bekannte Weisen ausgeführt werden, unter anderem auch
allein durch Software.) Obwohl das hier gezeigte Ausführungsbeispiel
die Spektralwerte in der Reihenfolge steigender Frequenzen abarbeitet,
können
alternative Ausführungsformen
die Spektralwerte beispielsweise in der Reihenfolge fallender Frequenzen
abarbeiten. Andere Abarbeitungsreihenfolgen sind ebenso möglich, wie
dem Durchschnittsfachmann klar sein wird.
-
Insbesondere
werden, wie man in der Figur sehen kann, die resultierenden Ausgangswerte
y'(b, 0 ... n – 1) aus
den Eingangswerten y(b, 0 ... n – 1) berechnet, indem (mit
Hilfe von Subtrahierer 48) die vorhergesagten Werte (vorhergesagt
durch Prädiktor 47)
von den Eingangswerten abgezogen werden, so dass nur das Prädiktionsfehlersignal
weitergeleitet wird. Es ist zu beachten, dass die in der Figur mit „Hüllkurven-Prewhitening-Filter 44" bezeichnete Kombination
aus Prädiktor 47 und
Subtrahierer 48 die zeitliche Gestalt des entsprechenden
Zeitsignals glättet.
-
Der
von den Prädiktionsfiltern 16l und 16r von 2 ausgeführte Vorgang
kann entweder für das
gesamte Spektrum (d. h. für
alle Spektralkoeffizienten) oder aber nur für einen Spektralanteil (d.
h. für eine
Teilmenge der Spektralkoeffizienten) ausgeführt werden. Darüber hinaus
können
für unterschiedliche Anteile
des Signalspektrums unterschiedliche Prädiktorfilter (wie z. B. die
in 3 gezeigten unterschiedlichen Prädiktoren 47)
benutzt werden. Auf diese Weise kann das obenstehend beschriebene Verfahren
zur Hüllkurvensteuerung
im Zeitbereich auf jede benötigte
frequenzabhängige
Art und Weise angewendet werden.
-
Um
das korrekte Dekodieren des Signals zu ermöglichen, enthält der Bitstrom
vorteilhafterweise bestimmte zusätzliche
Seiteninformationen. Ein Feld dieser Informationen könnte beispielsweise
die Benutzung der Prädiktionsfilterung
anzeigen sowie, falls zutreffend, die Anzahl unterschiedlicher Prädiktionsfilter.
Falls Prädiktionsfilterung
benutzt wird, können im
Bitstrom für
jeden Prädiktionsfilter
zusätzliche
Felder übertragen
werden, die den Zielfrequenzbereich des jeweiligen Filters und seine
Filterkoeffizienten angeben. Dementsprechend stellen, wie in 2 durch
die mit „L-Filter-Daten" bzw. „R-Filter-Daten" beschrifteten gestrichelten
Linien angezeigt, die Prädiktionsfilter 16l und 16r dem
Bitstrom-Kodierer/-Multiplexer 17 die notwendigen Informationen
zur Aufnahme in den übertragenen
Bitstrom zur Verfügung.
-
7 zeigt
ein Flussdiagramm eines Verfahrens zum Kodieren von stereophonen
Zweikanalsignalen gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung. Das in diesem Flussdiagramm gezeigte
Ausführungsbeispiel
implementiert bestimmte relevante Abschnitte des Beispielkodierers
aus 2. Insbesondere zeigt das Flussdiagramm den eingangsseitigen
Abschnitt des Kodierers für
einen einzelnen der Kanäle
inklusive des Hüllkurven-Prewhitening-Vorgangs
unter Verwendung eines einzelnen Prädiktionsfilters. Dieser Prewhitening-Vorgang wird nach
der Berechnung der Spektralwerte durch die Analysefilterbank ausgeführt, wie
in Schritt 61 der Figur gezeigt.
-
Insbesondere
werden nach dem Analysefilterbanklauf die Ordnung des Prädiktionsfilters
und der Zielfrequenzbereich festgelegt (Schritt 62). Zur Erläuterung
können
diese Parameter z. B. auf eine Filterordnung von 15 sowie auf einen
Zielfrequenzbereich, der den gesamten mit Intensitätsstereokodierung
zu kodierenden Frequenzbereich (z. B. von 4 kHz bis 20 kHz) umfasst,
gesetzt werden. Auf diese Weise ist die Anordnung vorteilhafterweise
zur Bereitstellung eines Satzes individueller zeitlicher Feinstrukturdaten
je Audiokanal eingerichtet. In Schritt 63 ist der Prädiktionsfilter
dadurch bestimmt, dass der mit dem Zielfrequenzbereich übereinstimmende Spektralkoeffizientenbereich
sowie ein herkömmliches
Verfahren zum Prädiktionskodieren,
wie es beispielsweise im Zusammenhang mit Differenzpulscodemodulations-Kodierern
(DPCM-Kodierern) bekannt ist, verwendet werden. Zum Beispiel kann
die Autokorrelationsfunktion der Koeffizienten berechnet und in
einem herkömmlichen,
dem Fachmann bekannten Levinson-Durbin-Rekursionsalgorithmus benutzt werden.
Infolgedessen sind die Prädiktionsfilterkoeffizienten,
die entsprechenden Reflexionskoeffizienten („PARCOR"-Koeffizienten) und der erwartete Prädiktionsgewinn
bekannt.
-
Wenn
der zu erwartende Prädiktionsgewinn eine
bestimmte, durch Entscheidung 64 festgelegte Schwelle (z.
B. 2 dB) übersteigt,
wird der aus den Schritten 65 bis 67 bestehende
Prädiktionsfiltervorgang
benutzt. In diesem Falle werden die Prädiktionsfilterkoeffizienten,
wie für
die Übertragung
an den Dekodierer als Teil der Seiteninformationen erforderlich,
quantisiert (in Schritt 65). Daraufhin wird in Schritt 66 der
Prädiktionsfilter
auf den mit dem Zielfrequenzbereich übereinstimmenden Spektralkoeffizientenbereich
angewendet, wobei die quantisierten Filterkoeffizienten benutzt
werden. Für
die weitere Verarbeitung werden die Spektralkoeffizienten daher durch
die Ausgangsdaten des Filtervorgangs ersetzt. Schließlich wird
in Schritt 67 ein Feld des zur Übertragung bestimmten Bitstroms
so gesetzt, dass die Verwendung von Prädiktionsfilterung angezeigt
wird („Prädiktionsflag" an). Außerdem werden
der Zielfrequenzbereich, die Ordnung des Prädiktionsfilters und Informationen,
die die Filterkoeffizienten beschreiben, in den Bitstrom aufgenommen.
-
Wenn
andererseits der erwartete Prädiktionsgewinn
die von Entscheidung 64 festgelegte Entscheidungsschwelle
nicht übersteigt,
setzt Schritt 68 ein Feld in dem Bitstrom so, dass angezeigt
wird, dass keine Prädiktionsfilterung
zum Einsatz kam („Prädiktionsflag" aus). Nach Abschluss
der obenstehend beschriebenen Verarbeitung schließlich werden herkömmliche
Schritte ausgeführt,
wie sie auch in Kodierern nach Stand der Technik (wie z. B. dem
Kodierer aus 1) ausgeführt werden, d. h.: der Intensitätsstereokodiervorgang
wird auf die Spektralkoeffizienten (bei denen es sich jetzt um Restfehlerdaten handeln
kann) angewendet, die Ergebnisse des Intensitätsstereokodiervorgangs werden
quantisiert und kodiert, und der konkret zu übertragende Bitstrom (mit den
entsprechenden multiplexierten Seiteninformationen) wird zur Übertragung
kodiert. Es ist jedoch zu beachten, dass der Bitstromkodierer/-multiplexer 17 des
Beispielkodierers aus 2 den herkömmlichen Bitstromkodierer/-multiplexer 15 des
Kodierers nach Stand der Technik aus 1 ersetzt,
so dass die von den Prädiktionsfiltern 16l und 16r bereitgestellten
zusätzlichen
Seiteninformationen (d. h. die „L-Filter-Daten" und die „R-Filter-Daten") vorteilhafterweise
in den sich ergebenden Bitstrom kodiert und mit ihm übertragen
werden können.
-
Ein Dekodierer
nach Stand der Technik
-
4 zeigt
einen Dekodierer für
Kombinationsstereosignale nach Stand der Technik, der dem Kodierer
nach Stand der Technik aus 1 entspricht,
in dem herkömmliche
Intensitätsstereokodierverfahren
zum Einsatz kommen. Insbesondere führt der Dekodierer aus 4 die
folgenden Schritte aus:
- • Der eingehende Bitstrom wird
von dem Bitstrom-Dekodierer/Demultiplexer 21 analysiert
und zerlegt, und die Übertragungssymbole
für die Spektralkoeffizienten
werden zusammen mit den quantisierungsbezogenen Seiteninformationen an
das Modul 22 zum Dekodieren und zum inversen Quantisieren
weitergeleitet.
- • Im
Modul 22 zum Dekodieren und zum inversen Quantisieren werden
die quantisierten Spektralwerte yql(), yqr() und yqi() rekonstruiert.
Diese Signale entsprechen jeweils dem unabhängig kodierten Signalanteil
des linken Kanals, dem unabhängig
kodierten Signalanteil des rechten Kanals bzw. dem Intensitätsstereo-Trägersignal.
- • Aus
den rekonstruierten Spektralwerten des Trägersignals und der übertragenen
Skalierungsinformationen werden unter Verwendung eines herkömmlichen
Intensitätsstereodekodiervorgangs, der
von Intensitätsstereodekodiermodul 23 ausgeführt wird,
die fehlenden Anteile der yql()- und yqr()-Spektren der linken bzw.
rechten Kanalsignale berechnet. Am Ausgang dieses Moduls sind zwei
vollständige
(und unabhängige)
spektrale Kanalsignale yql() und yqr() verfügbar, die dem linken bzw. rechten
Kanal entsprechen.
- • Schließlich werden
die einzelnen linken bzw. rechten spektralen Kanalsignale yql()
und yqr() von den Synthesefilterbänken 24l bzw. 24r in
eine Zeitbereichsdarstellung rücküberführt, wobei
sich die endgültigen
Ausgangssignale xl'(k)
und xr'(k) ergeben.
-
Ein Beispieldekodierer
-
5 zeigt
einen Dekodierer für
kombinationsstereokodierte Signale gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung, der dem Beispielkodierer aus 2 entspricht.
Die Funktionsweise des Beispieldekodierers aus 5 entspricht derjenigen
des Kodierers nach Stand der Technik aus 4, mit der
Ausnahme, dass für
jeden Kanal zwischen dem entsprechenden Intensitätsstereokodiermodul und der
entsprechenden Synthesefilterbank jeweils eine inverse Prädiktionsfilterstufe
eingeschoben ist. D. h. die inversen Prädiktionsfilter 26l bzw. 26r sind
vor den Synthesefilterbänken 24l bzw. 24r eingefügt. Folglich
werden die von dem Intensitätsstereodekodiermodul 23 erzeugten
Spektralwerte yql() und yqr() durch die Ausgangswerte yql'() bzw. yqr'() des entsprechenden
inversen Prädiktionsfiltervorgangs
ersetzt, bevor sie den entsprechenden Synthesefilterbänken (Synthesefilterbänke 24l und 24r)
zur Verfügung
gestellt werden.
-
6 zeigt
eine Beispielimplementierung der inversen Prädiktionsfilter des Beispieldekodierers aus 5.
-
Insbesondere
wird in den inversen Prädiktionsfiltern
eine lineare Filteroperation über
die Frequenz ausgeführt
(im Unterschied zum Prädiktionskodieren über die
Zeit, wie es in Teilband-ADPCM-Kodierern stattfindet). Analog zu
der Prädiktionsfilterimplementierung
aus 3 wird der „Drehschalter" 33 aus 6 verwendet,
um die Spektralwerte yq(b, 0 ... n – 1) vor der Verarbeitung in
eine serielle Anordnung zu bringen, und der „Drehschalter" 36 aus der
Figur wird verwendet, um anschließend die resultierenden Ausgangswerte
yq'(b, 0 ... n – 1) in
eine parallele Anordnung zu bringen. (Erneut ist zu beachten, dass
die Verwendung von „Drehschaltern" als Mechanismus
zur Umwandlung zwischen seriellen und parallelen Anordnungen hier
ausschließlich
der Einfachheit und des besseren Verständnisses halber geschieht.
Dem Durchschnittsfachmann wird klar sein, dass kein solches physikalisches
Schaltgerät bereitgestellt
werden muss. Vielmehr können
Umwandlungen zwischen serieller und paralleler Anordnung auf mehrere
verschiedene herkömmliche,
dem Fachmann bekannte Weisen ausgeführt werden, unter anderem auch
allein durch Software.) Wiederum ist, wie im Falle des obenstehend
beschriebenen Beispielkodierers, die Verarbeitung in der Reihenfolge steigender
oder fallender Frequenzen genauso möglich, wie andere, dem Fachmann
offenkundigen Verarbeitungsreihenfolgen.
-
Im
Speziellen werden, wie aus der Figur ersichtlich, die Ausgangswerte
yq'(b, 0 ... n – 1) aus
den Eingangswerten yq(b, 0 ... n – 1) berechnet, indem die Umkehrung
des in dem entsprechenden Kodierer eingesetzten Hüllkurven-Prewhitening-Filters
angewendet wird. Insbesondere werden die Ausgangswerte aus den Eingangswerten
berechnet, indem unter Verwendung des Addierers 38 die
vorhergesagten Werte (vorhergesagt durch Prädiktor 37) wie gezeigt
auf die Eingangswerte addiert werden. Es ist zu beachten, dass die
in der Figur mit „Hüllkurven-Prewhitening-Filter" 34 bezeichnete
Kombination aus Prädiktor 37 und
Addierer 38 die zeitliche Gestalt des ursprünglichen
Zeitsignals wieder einführt.
-
Wie
zuvor bei der Behandlung des Beispielkodierers aus 2 und 3 erläutert, kann
der obenstehend beschriebene Filtervorgang entweder für das gesamte
Spektrum (d. h. für
alle Spektralkoeffizienten) oder aber nur für einen Spektralanteil (d. h.
für eine
Teilmenge der Spektralkoeffizienten) ausgeführt werden. Darüber hinaus
können
für unterschiedliche
Anteile des Signalspektrums unterschiedliche Prädiktorfilter (z. B. die in 6 gezeigten
unterschiedlichen Prädiktoren 37)
benutzt werden. In einem solchen Falle dekodiert der Beispieldekodierer
aus 5 vorteilhafterweise die zusätzlichen (in der Figur mit „L-Filter-Daten" bzw. „R-Filter-Daten" beschrifteten) Seiteninformationen,
die von dem Kodierer übertragen
worden waren, aus dem Bitstrom und stellt diese Daten den inversen Prädiktionsfiltern 26l und 26r zur
Verfügung
(damit das Signal korrekt dekodiert werden kann). Auf diese Weise
kann das Prädiktionsdekodieren
in jedem gegebenen Zielfrequenzbereich mit einem entsprechenden
Prädiktionsfilter
durchgeführt
werden.
-
8 zeigt
ein Flussdiagramm eines Verfahrens zum De kodieren von kombinationsstereokodierten
Signalen gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung, das dem in 7 gezeigten Beispielkodierverfahren
entspricht. Das in diesem Flussdiagramm gezeigte Ausführungsbeispiel
implementiert bestimmte relevante Abschnitte des Beispieldekodierers
aus 5. Im Speziellen zeigt das Flussdiagramm den ausgangsseitigen
Abschnitt des Kodierers für
einen einzelnen der Kanäle
inklusive des Hüllkurven-Prewhitening-Vorgangs
unter Verwendung eines einzelnen (inversen) Prädiktionsfilters. Die von dem
Dekodierer vor den in dem Flussdiagramm aus 8 gezeigten
Schritten ausgeführte
Verarbeitung umfasst herkömmliche
Schritte, wie sie in Dekodierern nach Stand der Technik (z. B. dem Dekodierer
aus 4) ausgeführt
werden, d. h.: Der Bitstrom wird dekodiert/demultiplexiert, die
resultierenden Daten werden dekodiert und invers quantisiert, und
der Intensitätsstereodekodiervorgang
wird ausgeführt.
Es ist jedoch zu beachten, dass der Bitstromdekodierer/-demultiplexer 25 des
Beispieldekodierers aus 5 den herkömmlichen Bitstromdekodierer/-demultiplexer 21 des
Dekodierers nach Stand der Technik aus 4 ersetzt,
so dass die von dem Kodierer bereitgestellten zusätzlichen
Seiteninformationen (d. h. die „L-Filter-Daten" und die „R-Filter-Daten") vorteilhafterweise
dekodiert und den inversen Prädiktionsfiltern 26l und 26r zur
Verfügung
gestellt werden können.
-
Nach
Abschluss des Intensitätsstereodekodierens
werden (von Entscheidung 72) die Daten aus dem Bitstrom überprüft, die
die Verwendung von Prädiktionsfilterung
signalisieren. Wenn die Daten anzeigen, dass im Kodierer Prädiktionsfilterung
zum Einsatz kam (d. h. das „Prädiktionsflag" ist an), dann wird der
aus den Schritten 73 und 74 bestehende erweiterte
Dekodiervorgang ausgeführt.
Insbesondere werden der Zielfrequenzbereich der Prädiktionsfilterung,
die Ordnung des Prewhitening-(Prädiktions)-Filters
und Informationen, die die Koeffizienten des Filters beschreiben,
aus den (zuvor dekodierten) Seiteninformationen zurückgewonnen
(Schritt 73). Dann wird der inverse (Dekodier-)Prädiktionsfilter
(d. h. der Hüllkurvenformungsfilter)
auf den dem Zielfrequenzbereich entsprechenden Spektralkoeffizientenbereich
angewendet (Schritt 74). In beiden Fällen (d. h. unabhängig davon,
ob Prädiktionsfilterung
zum Einsatz kam oder nicht), wird die Verarbeitung im Dekodierer
abgeschlossen, indem (für
jeden Kanal) die Synthesefilterbank mit den Spektralkoeffizienten
(gegebenenfalls nach deren Verarbeitung durch den Hüllkurvenformungsfilter)
ausgeführt
wird, wie in Schritt 75 gezeigt.
-
Schlussfolgerung
-
Durch
Verwendung des obenstehend beschriebenen Verfahrens in Übereinstimmung
mit den Ausführungsbeispielen
der vorliegenden Erfindung (d. h. Prädiktionsfilterung im Kodierer
und inverse Filterung im Dekodierer) kann für bestimmte herkömmliche
Blocktransformationen, zu denen die diskrete Fouriertransformation
(DFT) oder die diskrete Kosinustransformation (DCT) zählen, welche
beide dem Durchschnittsfachmann bekannt sind, ein eindeutiger Hüllkurvenformungseffekt
erzielt werden. Wenn beispielsweise ein wahrnehmungsorientierter
Kodierer gemäß der vorliegenden
Erfindung eine Filterbank mit kritischer Unterabtastung und überlappenden Fenstern – z. B.
eine herkömmliche
modifizierte diskrete Kosinustransformation (MDCT) oder eine andere
herkömmliche,
auf „Time
Domain Aliasing Cancellation" (TDAC)
beruhende Filterbank – benutzt,
ist der resultierende Hüllkurvenformungseffekt
den in der Filterbank inhärenten
Aliasing-Effekten im Zeitbereich ausgesetzt. Zum Beispiel findet
im Falle einer MDCT ein Rückspiegelungs-Vorgang
(d. h. ein Aliasing-Vorgang) pro Fensterhälfte statt, und die Hüllkurvenfeinstruktur
erscheint innerhalb der linken und der rechten Fensterhälfte nach
dem Dekodieren jeweils gespiegelt (d. h. von Aliasing betroffen).
Da die letztendlichen Ausgangsdaten der Filterbank durch Anwenden
eines Synthesefensters auf die Ausgangsdaten der einzelnen inversen
Transformationen und durch Ausführen
einer überlappenden
Addition dieser Datensegmente entstehen, werden die von Aliasing
betroffenen unerwünschten
Komponenten in Abhängigkeit
des verwendeten Synthesefensters abgeschwächt. Es ist daher von Vorteil,
ein Filterbankfenster auszuwählen,
das nur eine geringe Überlappung
zwischen aufeinanderfolgenden Blöcken
zeigt, so dass der zeitliche Aliasing-Effekt minimal ist. Eine geeignete
Strategie im Kodierer kann beispielsweise für kritische Signale adaptiv
ein Fenster mit einem geringen Überlappungsgrad
auswählen und
dadurch für
eine verbesserte Frequenztrennschärfe sorgen. Die Details der
Implementierung einer solchen Strategie sind dem Fachmann bekannt.
-
Obwohl
etliche spezifische Ausführungsformen
dieser Entfindung gezeigt und beschrieben wurden, versteht es sich,
dass diese Ausführungsformen nichts
weiter als Beispiele für
die vielen möglichen spezifischen
Anordnungen sind, die unter Anwendung der Prinzipien der Erfindung
ausgearbeitet werden können.
Obwohl die gezeigten und beschriebenen Ausführungsbeispiele auf das Kodieren
und Dekodieren von nur zwei Kanäle
umfassenden stereophonen Audiosignalen beschränkt gewesen sind, werden dem
Fachmann auf Grundlage der hier getätigten Offenbarungen alternative
Ausführungsformen als
naheliegend erscheinen, die zum Beispiel zum Kodieren und Dekodieren
von stereophonen Audiosignalen benutzt werden können, die mehr als zwei Kanäle aufweisen.
Außerdem
können
vom Durchschnittsfachmann in Übereinstimmung
mit diesen Prinzipien zahlreiche und verschiedenartige andere Anordnungen
ausgearbeitet werden, ohne dass vom Umfang der Erfindung abgewichen
würde.