-
TECHNISCHES GEBIET
-
Die
vorliegende Erfindung bezieht sich auf Audioquellencodierungssysteme,
jedoch könnten dieselben
Verfahren auch auf vielen anderen technischen Gebieten angewendet
werden.
-
HINTERGRUND DER ERFINDUNG
-
Auf
Grund der jüngsten
Entwicklung beim Audiocodieren steht nun die Fähigkeit zur Verfügung, eine
Mehrkanaldarstellung eines Audiosignals auf der Basis eines Stereo-(oder
Mono)signals und entsprechender Steuerdaten neu zu erschaffen. Diese Verfahren
unterscheiden sich beträchtlich
von einer älteren,
matrixbasierten Lösung
wie z. B. Dolby Prologic, da zusätzliche
Steuerdaten gesendet werden, um die Neuerschaffung, auch als Aufwärtsmischung bezeichnet,
der Surround-Kanäle
auf der Basis der gesendeten Mono- oder Stereokanäle zu steuern.
-
Somit
rekonstruieren die parametrischen Mehrkanal-Audiodecodierer N Kanäle auf der
Basis von M gesendeten Kanälen,
wobei N > M, und der
zusätzlichen
Steuerdaten. Die zusätzlichen
Steuerdaten stellen eine beträchtlich
niedrigere Datenrate als ein Senden aller N Kanäle dar, wodurch sie das Codieren
sehr effizient machen und gleichzeitig eine Kompatibilität sowohl
mit M-Kanalvorrichtungen als auch mit N-Kanalvorrichtungen gewährleisten.
-
Diese
parametrischen Surround-Codierungsverfahren umfassen üblicherweise
eine Parametrisierung des Surround-Signals auf der Basis von IID
(Zwischen-Kanal-Intensität-Differenz,
inter channel intensity difference) und ICC (Zwischen-Kanal-Kohärenz, inter
channel coherence). Diese Parameter, die üblicherweise als „räumliche
Parameter" bezeichnet
wer den, beschreiben Leistungsverhältnisse und eine Korrelation
zwischen Kanalpaaren bei dem Aufwärtsmischungsvorgang. Weitere
Parameter, die ebenfalls im Stand der Technik verwendet werden,
umfassen Voraussageparameter, die dazu verwendet werden, Zwischen-
oder Ausgangskanäle während der
Aufwärtsmischungsprozedur
vorauszusagen.
-
Die
räumlichen
Parameter können
auf mehrere Arten extrahiert werden. Ein vorteilhaftes Verfahren,
das im Stand der Technik bekannt ist, besteht darin, mehrere Codiermodule
zu ersinnen, die zwei ursprüngliche
Eingangssignale nehmen und ein Ausgangssignal erzeugen, das eine
Abwärtsmischung der
beiden Eingangssignale ist, und die entsprechenden räumlichen
Parameter, die erforderlich sind, um eine präzise Nachbildung der zwei ursprünglichen
Signale auf der Basis der Monoabwärtsmischung und der räumlichen
Parameter neu zu schaffen. Ein anderes häufig verwendetes Codierungsmodul
erfordert drei Eingangssignale und erzeugt zwei Ausgangssignale
und die entsprechenden räumlichen
Parameter. Diese Module können
in einem üblicherweise
als Baumstruktur bezeichneten Gebilde verbunden sein, wobei der
Ausgang eines Moduls ein Eingang in ein anderes Modul ist.
-
Die
oben erwähnten
Parameter müssen
auf effiziente Weise codiert werden, um den geringsten Bitraten-Mehraufwand
zu erhalten.
-
Die
Patentanmeldung
WO03/007656
A1 ist ein Beispiel einer Technik, die auf der Verringerung der
Senderate mancher räumlicher
Parameter und der Anwendung von Interpolations- und Glättungsschritten bei der Decodierungsstufe
basiert, um den Mangel an zeitlicher Auflösung zu kompensieren. Die Glättung kann
mit unterschiedlichen Ansprech- und Abfallzeitkonstanten angewendet
werden. Die Wahl der Zeitkonstanten kann durch den Codierer signalisiert
werden.
-
Gleichzeitig
muss eine optimale Wahl zwischen Frequenzauflösung und Zeitauflösung getroffen
werden. Die vorliegende Erfindung lehrt mehrere Arten, den Kompromiss
zwischen Zeit- und Frequenzauflösung
der räumlichen
Parameter zu optimieren und führt
neuartige Verfahren zum Signalisieren und Steuern einer Interpolation
der Parameter ein.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Eine
Aufgabe der vorliegenden Erfindung besteht darin, ein verbessertes
Konzept eines parametrischen Codierens zu liefern, das besonders
für Stereo
allgemein eines Mehrkanalcodierens oder -decodierens geeignet ist.
-
Diese
Aufgabe wird durch einen Decodierer gemäß Anspruch 1, einen Codierer
gemäß Anspruch 15,
Verfahren gemäß den Ansprüchen 22,
23, 29, 30, 31, parametrische Informationen gemäß Anspruch 24, einen maschinenlesbaren
Datenträger
gemäß Anspruch
25 oder ein Computerprogramm gemäß Anspruch
32 gelöst.
-
Die
vorliegende Erfindung bezieht sich auf das Problem, eine qualitativ
hochwertige räumliche Audiorekonstruktion
zu erzielen und gleichzeitig die gesendeten Daten auf einem Minimum
zu halten. Dies wird dadurch erzielt, dass mehrere Lösungen zum
Darstellen und Signalisieren von räumlichen Audiohinweisen und
besonders zum Verbessern der Zeitauflösung bereitgestellt werden.
-
Die
vorliegende Erfindung umfasst die folgenden Merkmale:
- – Schätzung und
Signalisierung von Interpolationskurven;
- – Schätzung von
Parametern in Bezug auf andere Parameter;
- – Implizite
Interpolationsregeln in dem Decodierer.
-
Es
kann auch eine Interpolation eines Parameters durchgeführt werden,
d. h. zu dem Aufwärtsmischungsmatrixbereich
bewegt oder „neu
berechnet" werden.
Alle Parameter werden zu einer Aufwärtsmischungsmatrix neu berechnet,
und diese Matrix kann statt der Parameter interpoliert werden. Der Effekt
ist derselbe wie ein Interpolieren vor der Berechnung der Aufwärtsmischungsmatrix
oder der Aufwärtsmischungskoeffizienten,
die an den gesendeten Basiskanal bzw. die gesendeten Basiskanäle angelegt
wird bzw. werden. Ein Interpolieren von Aufwärtsmischungskoeffizienten statt
gesendeter Parameter ist vorzuziehen, da dies effizienter bezüglich der
Implementierung ist. Psychoakustisch betrachtet stellt eine Interpolation
in beiden Bereichen keinen Unterschied dar.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die
vorliegende Erfindung wird nun anhand veranschaulichender Beispiele,
die den Schutzumfang oder die Wesensart der Erfindung nicht einschränken, anhand
der beiliegenden Zeichnungen beschrieben, bei denen:
-
1 verschiedene Interpolationsschemata veranschaulicht;
-
2 veranschaulicht, wie verschiedene Interpolationskurven
verwendet werden können;
-
3 ein
Interpolationsbeispiel gemäß der vorliegenden
Erfindung veranschaulicht;
-
4 eine Mehrkanalkonfiguration und die Parametercodierung
veranschaulicht;
-
5a ein
bevorzugtes Decodiererausführungsbeispiel
der vorliegenden Erfindung veranschaulicht;
-
5b ein
weiteres bevorzugtes Decodiererausführungsbeispiel der vorliegenden
Erfindung veranschaulicht;
-
5c ein
Beispiel von Aufwärtsmischungskoeffizienten,
die zum Erstellen einer Aufwärtsmischungsmatrix
verwendet werden können,
veranschaulicht;
-
6 bevorzugte
Ausführungsbeispiele zweier
unterschiedlicher Arten eines Erzeugens der Charakteristiksteuerung
veranschaulicht;
-
7 bevorzugte
Ausführungsbeispiele
des Signaldetektors in 6 veranschaulicht;
-
8 einen
hoch auflösenden
Kanal, niedrig auflösende
Parameter und interpolierte Parameter mittlerer Auflösung veranschaulicht;
-
9 ein
bevorzugtes Codiererseite-Ausführungsbeispiel
veranschaulicht;
-
10 ein
bevorzugtes Ausführungsbeispiel des
decodiererseitigen Interpolators veranschaulicht;
-
11a ein bevorzugtes Ausführungsbeispiel der codiererseitigen
Interpolationsinformationsberechnungseinrichtung veranschaulicht;
-
11b ein weiteres bevorzugtes Ausführungsbeispiel
und ein spezifisches Detail der codiererseitigen Interpolationsinformationsberechnungseinrichtung
der 11a veranschaulicht;
-
12 ein
bevorzugtes Ausführungsbeispiel eines
Zwischen-Parameter-Delta-Codierers veranschaulicht;
-
13 ein
bevorzugtes Ausführungsbeispiel des
decodiererseitigen Zwischen-Parameter-Delta-Decodierers veranschaulicht;
-
14 einen
Sender und einen Empfänger eines Übertragungssystems
veranschaulicht;
-
15 eine
Audioaufzeichnungsvorrichtung, die einen erfindungsgemäßen Codierer
aufweist, und eine Audiowiedergabevorrichtung, die einen Decodierer
aufweist, veranschaulicht;
-
16a eine bevorzugte Betriebsart des Ausführungsbeispiels
der 11b veranschaulicht; und
-
16b eine weitere bevorzugte Betriebsart des Ausführungsbeispiels
der 11b veranschaulicht.
-
BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSBEISPIELE
-
Die
nachstehend beschriebenen Ausführungsbeispiele
sind lediglich eine Veranschaulichung der Prinzipien der vorliegenden
Erfindung für
moderne Verfahren zur Interpolation und Parametersignalisierung.
Es versteht sich, dass Modifikationen und Variationen der hierin
beschriebenen Anordnungen und Einzelheiten anderen Fachleuten einleuchten werden.
Deshalb besteht die Absicht, lediglich durch den Schutzumfang der
nachstehenden Patentansprüche
und nicht durch die spezifischen Einzelheiten beschränkt zu sein,
die anhand einer Beschreibung und Erläuterung der Ausführungsbeispiele
hierin dargestellt werden.
-
Implizite Interpolationsregeln
bei einem Decodierer
-
Man
weiß,
dass ein Signalisieren eines adaptiven Zeit-/Frequenzgitters die Qualität und Codierungseffizienz
ver bessert. Man weiß auch,
dass das Zeitfrequenzgitter von Signalcharakteristika abhängig sein
sollte und dass üblicherweise
Transienten eine Zeitgrenze vor der Transiente auslösen. Interpolation
wird oft in einer Zeitrichtung angewendet, um zu plötzliche Änderungen
der extrahierten und decodierten Parametrisierung zu verhindern,
die andernfalls als Klangartefakte in Erscheinung treten könnten. Die
vorliegende Erfindung lehrt, dass ein Wissen darüber, wie das adaptive Zeit-/Frequenzgitter
in Abhängigkeit
von Signalcharakteristika erzeugt wird, dazu verwendet werden kann,
implizite Regeln darüber
zu erstellen, wie Interpolation angewendet werden sollte, wenn von
einem Zeitpunkt auf den nächsten
interpoliert wird. Z. B. im Fall eines stationären Signals, das keine Transienten
aufweist, könnte
eine lineare Interpolation verwendet werden, um einen sanften Übergang
von einem Satz von Parametern zum nächsten zu erzeugen. Ein weiteres
Beispiel der vorliegenden Erfindung besteht darin, dass die Interpolation
im Fall einer Transiente den vorherigen Wert bis unmittelbar vor
der Transiente beibehalten und zu diesem Zeitpunkt zu dem für die Transiente
signalisierten Wert wechseln sollte.
-
Zwei
Interpolationsbeispiele sind in 1 veranschaulicht,
wobei 1A eine Interpolation zwischen
zwei Werten 101 und 103 an einer jeweiligen Position 102 und 104 entweder
als lineare Interpolation 105 oder Transiente-Interpolation 107 zeigt. 1B zeigt,
wie eine zusätzliche
Transiente-Position 125 dazu verwendet werden kann, die
Interpolation zwischen den beiden Werten 121 und 123 in
einer Position 122 bzw. 124 zu beeinflussen. Eine
lineare Interpolation ist durch 127 veranschaulicht, und 129 veranschaulicht
eine Transiente-Interpolation, bei der der vorherige Parameterwert 121 bis
unmittelbar vor der Transiente beibehalten wird. Wenn die Transiente-Interpolation 129 in
Bezug auf die Transiente-Position 125 entworfen wird, sollte
besonders darauf geachtet werden, psychoakustisch relevante Zeitkonstanten
zu berücksichtigen.
-
Interpolationskurven
-
Für Signale
mit einer extrem komplexen Zeitstruktur wie z. B. mehrere unabhängige Applaussignale
lehrt die vorliegende Erfindung, dass ein Signalisieren einer Interpolationskurve
die komplexe Zeitbereichsstruktur verbessern kann. Das Signalisieren
einer Interpolationskurve kann z. B. eine Nachschlagtabelle mit
einer Tabelle von anwendbaren Kurven sein, bei denen die Auswahl
auf der Codiererseite auf einer Berechnung des mittleren quadratischen
Fehlers für
verschiedene Interpolationskurven beruhen kann. Die Interpolationskurve
kann auch ein Differenzsignal sein, das relativ zu einer Kurve codiert
ist, die durch eine vorab bestimmte Interpolationsregel, z. B. lineare
Interpolation, gegeben ist. Somit kann die gesamte oben erwähnte implizite Interpolation
mit einer Differenzinterpolationskurve kombiniert werden, um eine
feinere Zeitauflösung
zu erzielen. Die Interpolationscodierung kann in einem einzigen
Band, das den gesamten Frequenzbereich abdeckt, oder in einer Mehrfrequenzbandauflösung erfolgen.
Außerdem
ist es offensichtlich, dass die Frequenzauflösung der Interpolationskurve
nicht mit der Frequenzauflösung
der Parameter, die interpoliert werden sollten, zusammenfallen muss,
sondern auf dieselbe abgebildet werden kann.
-
Die
vorliegende Erfindung lehrt außerdem, dass
Vorteile darin bestehen können,
die Interpolationskurve zu normieren, um die Größe der Nachschlagtabelle zu
verringern oder den Ausschlag, innerhalb derer die Interpolationskurve
arbeiten darf, zu begrenzen.
-
Ein
Beispiel einer Interpolationskurve ist in 2A veranschaulicht,
wo eine implizite Transiente-Interpolation 209 auf der
Basis der Interpolation von den Werten 201 und 203 in
den Positionen 202 bzw. 204 beruht, und wobei
auch die Transientenposition 205 berücksichtigt wird. Die Interpolationskurve 207,
die eine feinere zeitliche Auflösung
aufweist als die implizite Transiente-Interpolation 209, kann
unterschiedlich codiert und bezüglich
der impliziten Transiente-Interpolationskurve 209 normiert
werden. Somit stellt die normierte Kurve die Differenz zwischen der
impliziten Transiente-Interpolationskurve, die an dem Decodierer
verfügbar
ist, und der an dem Codierer geschätzten Kurve einer hohen zeitlichen
Auflösung
dar. Dies ist in 2B durch 221 veranschaulicht.
Die Positionen 222 bzw. 224 sind dieselben wie 201 bzw. 203.
Die Interpolationskurve 221 kann z. B. als Nachschlagtabelle
codiert werden, oder die die Interpolationskurve bildenden Werte
können
in Bezug auf die Zeit Delta-codiert und mit z. B. Huffman-Codebüchern Redundanz-codiert
sein. Auf der Decodiererseite wird die implizite Interpolationskurve 209 mit
der Interpolationskurve 221 kombiniert, um die hohe zeitliche
Auflösung
beizubehalten. Ferner können
die Interpolationskurven 221 verwendet werden, wenn eine
höhere
zeitliche Auflösung
erforderlich ist, und weggelassen werden, wenn eine zusätzliche
zeitliche Auflösung
nicht erforderlich ist. Dies liefert die Möglichkeit, die durchschnittliche
Bitrate zu minimieren und dabei trotzdem eine hohe zeitliche Auflösung beizubehalten,
wenn dies erforderlich ist.
-
Extremfall, ein Frequenzband, Hüllkurvenverfolger mit
hoher Zeitauflösung
-
Im
vorherigen Abschnitt wurden Interpolationskurven dargestellt, die
für frequenzselektive
Parameter verwendet werden können.
Jedoch lehrt die vorliegende Erfindung auch, dass, wenn eine Entscheidung
bezüglich
einer Zeit- und Frequenzauflösung
für Signale
mit einer extrem komplexen Zeitstruktur wie z. B. mehrere unabhängige Applaussignale
getroffen wird, es ausreichend sein kann, die Parameter lediglich
eine einzige Zeithüllkurve
für alle Frequenzbänder darstellen
zu lassen. Diese Implementierung der Interpolationskurven, wie sie
durch die vorliegende Erfindung gelehrt wird, kann dann als Sonderfall
der zuvor dargelegten Interpolationskurven angesehen werden. Die
hohe zeitliche Auflösung der
Interpolationskurve befähigt
die Parameterextraktion, die komplexe zeitliche Struktur aufzulösen.
-
In 3 ist
ein alternatives Ausführungsbeispiel
der vorliegenden Erfindung in Bezug auf Interpolationskurven dargelegt.
In 3a ist eine Zeitbereichsdarstellung
des linken Kanals gezeigt 301. Die Zeitsignale werden von
Zeitpunkten t1 und t2 gezeigt. In 3b ist der rechte Kanal gezeigt 302.
Hier ist es offensichtlich, dass sich die Transienten zu unterschiedlichen
Zeitpunkten in unterschiedlichen Kanälen befinden. In 3c ist die Monoabwärtsmischung des linken und
des rechten Kanals gezeigt 303.
-
In 3d sind die Schwenkwerte (engl. pan values)
für ein
willkürliches
Frequenzband zusammen mit einer Interpolationskurve 305 gezeigt 304. Ein
positiver Wert entspricht einem Linksschwenk (engl. panning to the
left), und ein negativer Wert einem Rechtsschwenk (engl. panning
to the right). Da die Transienten innerhalb eines kurzen Zeitrahmens auftreten,
werden die Steuerwerte für
verschiedene Frequenzbänder
lediglich einmal zum Zeitpunkt t1 und einmal
zum Zeitpunkt t2 geschätzt. Diese werden für jedes
Frequenzband linear interpoliert, und für ein spezifisches Frequenzband
sind sie durch die Kurve 304 dargestellt. Aus dieser Kurve
geht hervor, dass die Aufwärtsmischung
die Transienten nicht in die richtige räumliche Position platziert.
Wenn jedoch die Interpolationskurve 305 (die eine Breitbandinterpolationskurve
für alle
Frequenzbänder
ist) angelegt wird, werden die Transienten in die richtige räumliche
Position bewegt.
-
Somit
ist ein bevorzugtes Ausführungsbeispiel
der Erfindung ein Decodierer, der eine lineare Interpolation oder
(einfache) implizit signalisierte Interpolation für eine Anzahl
von Frequenzbändern durchführt, und
die zeitlich hoch auflösende
Interpolationskurve wird für
alle Frequenzbänder
verwendet, um die Transienten neu zu verteilen. Anders aus gedrückt führt dieser
Decodierer zuerst die normale lineare oder implizit signalisierte
Interpolation durch, um interpolierte Werte gemäß einem „ersten Schritt" zu erhalten, die
anschließend
unter Verwendung der zeitlich hoch auflösenden Interpolationskurve
gewichtet (z. B. multipliziert) werden, um interpolierte Werte gemäß einem „zweiten
Schritt" zu erhalten,
bei denen die Transienten im Vergleich zu den interpolierten Werten
gemäß dem ersten
Schritt neu verteilt sind.
-
Verwendung von Symmetrien
bei einer Mehrkanal-Baumstruktur
-
Beim
Codieren von Mehrkanalklang können mehrere
räumliche
Zwei-Kanal-Parameter-Kästchen in
einer Baumstruktur angeschlossen werden, um eine Codierungskette
für Mehrkanalklang
zu bilden, wobei jedes Kästchen
auf einen Zwei-Kanal-Eingang einwirkt
und ein Monosignal und räumliche
Parameter als Ausgang liefert. Bei dieser Baumstruktur, die auf
mehrere unterschiedliche Arten konfiguriert sein kann, entstehen üblicherweise
Symmetrien. Wie z. B. in 4A für ein Vier-Kanal-Surround-Signal
mit vier Lautsprechern (vorne links (VL) 401, vorne rechts (VR) 403,
Links-Surround (LS) 405, Rechts-Surround (RS) 407,
vorzugsweise auch ein Mitte- 402 und
auch ein LFE-Lautsprecher (LEE = low frequency enhancement, Niederfrequenzverstärkung))
gezeigt ist, kann ein Baumsystem, wie es in 4B gezeigt
ist, beispielsweise VL 421, LS 423 und VR 425,
RS 427 verbinden. Wenn räumliche Parameter für diese
beiden räumlichen
Zweikanal-Codierer 429 und 431 codiert
werden, die Audiosignale 435, 433 und Parameter 439 und 437 ausgeben,
ist gemeinhin bekannt, dass Parameter in Bezug auf Zeit oder Frequenz
Delta-codiert werden können.
Ein Delta-Codieren bezüglich
der Frequenz wird üblicherweise
gelegentlich forciert, um eine Fehlerausbreitung in einem Echtzeitsystem
zu verhindern. Die vorliegende Erfindung lehrt, dass die räumlichen
Parameter aus einem Kästchen 439 in
der Baumstruktur bezüglich
Parametern von einem anderen Kästchen 437 Delta-codiert werden
können,
was eine Fehlerausbreitung verwenden kann, und wobei durch eine
Verwendung der Symmetrien in der Baumstruktur eine Datenratenverringerung
erzielt werden kann. Dies ist bei dem obigen Beispiel, das vier
Lautsprecher verwendet, vorteilhaft, falls ein Klangereignis bei
den vorderen Lautsprechern auftritt, reagieren sowohl die Parameter
für die
VL, LS als auch VR, RS ähnlich,
und somit ist es effizienter, statt dasselbe Ereignis zweimal zu codieren,
es einmal zu codieren und die Differenz zu Delta-codieren.
-
Weitere Beschreibung bevorzugter
Ausführungsbeispiele
der vorliegenden Erfindung
-
8 veranschaulicht
eine allgemeine Übersicht über verschiedene
Auflösungsinformationen. Bei 800 ist
ein hoch auflösender
Eingangskanal angegeben. Die Unterteilungen in dem Eingangskanal 800 können Zeitbereichsabtastwerte 801, 802 oder Frequenzkoeffizienten
oder Teilbandsignale sein, die von einem hoch auflösenden Kanal
abgeleitet sind, oder sogar Signalrahmen, wobei jeder Rahmen eine (dieselbe)
vorbestimmte Anzahl von Audioabtastwerten aufweist. Die niedrig
auflösenden
Parameter sind in 8 bei 805 gezeigt.
Beispielhaft sind vier Parameter P0, P1, P2, P3 angegeben.
Diese Parameter entsprechen Zeitpunkten t0,
t1, t2, t3. Bei dem Ausführungsbeispiel der 8 sind
zwischen zwei Parameterwerten nicht-regelmäßige Zeiträume gezeigt. Insbesondere ist
die Zeitdauer zwischen t2 und t1 geringer
als die Zeitdauer zwischen t1 und t0. Wenn beispielsweise angenommen wird, dass
die Zeitdauer zwischen t1 und t0 eine
Rahmendauer ist, die mit einem Rahmengitter übereinstimmt, dann signalisiert das
Vorliegen der Zeit t2, bei der eine Parameteränderung
von P1 zu P2 erfolgt,
implizit, dass um t2 herum eine Transiente
vorliegt. Somit entspricht das Ausführungsbeispiel der 8 dem
zuvor geschriebenen Ausführungsbeispiel,
bei dem eine Zeitgrenze vor der Transiente ausgelöst wird:
diese Zeitgrenze ist t2. Wenn die Darstel lung
bei 800 mit der Darstellung bei 805 verglichen
wird, wird klar, dass die Auflösung
der parametrischen Informationen geringer ist als die Auflösung des
Eingangskanals. Somit entsprechen die Posten 800 und 805 einer
Situation auf einer Codiererseite, bei der ein hoch auflösender Basiskanal
zusammen mit niedrig auflösenden
parametrischen Informationen gesendet wird.
-
Auf
der Decodiererseite müssen
die niedrig auflösenden
parametrischen Informationen bei 805 interpoliert werden,
um eine interpolierte Darstellung 810 zu erhalten. Die
interpolierte Darstellung ist als Interpolation mittlerer Auflösung gezeigt.
In Abhängigkeit
von dem Interpolationsalgorithmus kann jedoch selbstverständlich auch
eine hoch auflösende Darstellung
eines interpolierten Parameters erzeugt werden, die dieselbe Auflösung wie
die hoch auflösende
Darstellung 800 hat. Hier ist zu erwähnen, dass unterschiedliche
Auflösungen
nicht unbedingt auf Abtastwerte bezogen sein müssen. Diese Situationen können auch
Sequenzen von Rahmen von Abtastwerten sein, so dass die Posten 801 und 802 unterschiedlichen
Rahmen entsprechen. Eine derartige Situation tritt ein, wenn ziemlich
ortsfeste Signale codiert werden, bei denen Parameter, die Zwischen-Kanal-Beziehungen beschreiben,
sich sehr langsam ändernde
Charakteristika aufweisen.
-
5a und 5b veranschaulichen
einen bevorzugten Mehrkanaldecodierer. Während 5a als
Ausführungsbeispiel
interpretiert werden kann, das die Interpolation in dem Parameterbereich
vor einer Aufwärtsmischung
durchführt,
veranschaulicht 5b eine Situation, bei der eine
niedrig auflösende
Sequenz von Aufwärtsmischungsmatrizes
oder – allgemein
ausgedrückt – Sätze von
Aufwärtsmischungskoeffizienten
berechnet wird. Die Interpolation wird unter Verwendung der Aufwärtsmischungskoeffizienten
als parametrische Informationen durchgeführt. Letzteres Ausführungsbeispiel
ist im Hinblick auf die Recheneffizienz vorzuziehen, da eine Interpolation
weniger Ressourcen erfordert als ein Berechnen einer Aufwärtsmischungsmatrix
allgemein der Aufwärtsmischungsparameter.
Eine Art des Aufwärtsmischens
kann ein Berechnen einer ersten Aufwärtsmischungsmatrix zum Erzeugen
von vorab dekorrelierten Signalen und einer zweiten Mischungsmatrix
zum Mischen von Signalen umfassen, die von den dekorrelierten Signalen
und gesendeten oder vorab aufwärtsgemischten
Signalen abgeleitet sind, um schließlich die Ausgangskanäle zu erhalten.
-
Bei
dem Ausführungsbeispiel
der 5a können
die gesendeten Parameter als die „parametrischen Informationen" angesehen werden,
und die interpolierten Parameter sind die interpolierten parametrischen
Informationen, während
bei dem Ausführungsbeispiel
der 5b die interpolierte Aufwärtsmischungs- oder Mischungsmatrix
als die interpolierten parametrischen Informationen angesehen werden
kann und die niedrig auflösende
Sequenz von Aufwärtsmischungsmatrizes
als die niedrig auflösenden
parametrischen Informationen angesehen werden kann.
-
Bei
dem Ausführungsbeispiel
der 5a umfasst der Mehrkanaldecodierer einen Aufwärtsmischer 500,
der N Ausgangskanäle 502 unter
Verwendung eines oder mehrerer Eingangskanäle 504 und interpolierter
hoch auflösender,
parametrischer Informationen, die bei einer Leitung 506 bereitgestellt werden,
erzeugt. Der Mehrkanaldecodierer weist ferner einen Parameterinterpolator 508 zum
Erzeugen der interpolierten, hoch auflösenden parametrischen Informationen
auf der Basis von bei Leitung 510 bereitgestellten niedrig
auflösenden
parametrischen Informationen auf. Der Parameterinterpolator 508 ist dazu
angepasst, eine einer Mehrzahl unterschiedlicher Interpolationscharakteristika
zum Interpolieren der niedrig auflösenden parametrischen Informationen 510 ansprechend
auf ein bei einem Steuersignaleingang 512 bereitgestelltes
signalabhängiges
Interpolationscharakteristik-Steuersignal auf adaptive Weise zu
verwenden.
-
Bei
dem Ausführungsbeispiel
der 5b sind die hoch auflösenden parametrischen Informationen
die durch den Aufwärtsmischungsmatrixinterpolator 508 ausgegebene
interpolierte, hoch auflösende
Aufwärtsmischungsmatrix,
der interpolierte Parameter ist die Vorrichtung 508 und
die interpolierten, hoch auflösenden
parametrischen Informationen sind eine interpolierte Aufwärtsmischungsmatrix oder,
allgemein gesagt, ein Satz von interpolierten Aufwärtsmischungskoeffizienten,
die unter Verwendung eines bzw. einer oder zweier benachbarter niedrig
auflösender
Koeffizientensätze
oder Matrizes, die durch die Aufwärtsmischungsmatrixberechnungseinrichtung 507 ausgegeben
werden, erzeugt werden.
-
5c zeigt
ein Beispiel einer Aufwärtsmischungsmatrix,
die Aufwärtsmischungskoeffizienten α11,
... α62 aufweist. Diese Matrixkoeffizienten können unter
Verwendung niedrig auflösender
Parameter berechnet werden, und die Koeffizienten können in
dem „Aufwärtsmischungsmatrix"-Bereich interpoliert
werden. Es wird auf die Funktionen „f" verwiesen, die die Parameter α61 und α62 umfassen.
Diese Funktionen sollten verdeutlichen, dass die Parameter nicht
nur Gewichtungsparameter in einer linearen Kombination von Basiskanälen sind,
sondern beliebige Steuerkoeffizienten sein können, die selbst sogar jegliche Funktion
von Werten oder anderen Parametern umfassen können, die jegliche Regel zum
Ableiten des Ausgangskanals unter Verwendung von an dem Decodierer
verfügbaren
Informationen steuern, solange die Parameter von den niedrig auflösenden Parametern
abhängen
und auf sinnvolle Weise interpoliert werden können.
-
Man
muss betonen, dass ein Verschieben der Interpolation von dem Parameterbereich
zu dem Matrixbereich sogar ohne ein implizites oder explizites Signalisieren
von Interpolationscharakteristika vorteilhaft ist. Auch in Verbindung
mit einer einfachen Interpolation wie z. B. einer linearen Interpolation kann
die Interpolation in dem Matrixbereich, oder allgemein ausgedrückt in einem
anderen Bereich als dem Parameterbereich selbst, rechentechnisch
viel effizienter sein. Dies gilt besonders für den Fall, in dem der Satz
von erwarteten unterschiedlichen Werten eines Parameters begrenzt
ist. Eine derartige Begrenzung des Satzes von zulässigen (erwarteten) unterschiedlichen
Werten tritt z. B. dann ein, wenn der Parameter quantisiert wurde,
bevor er von dem Codierer an den Decodierer gesendet wurde. Ferner wird
angenommen, dass die Rechenkomplexität zum Berechnen von Matrixkoeffizienten
aus den Parametern rechentechnisch komplexer ist als ein Durchführen einer
Interpolation. Dann ist es vorzuziehen, die Matrixkoeffizienten
indirekt aus dem begrenzten Satz von nicht-interpolierten Parametern
zu berechnen und dann in dem Matrixbereich zu interpolieren. Diese „indirekte" Berechnung zieht
weniger Rechenmehraufwand nach sich als die direkte Kalkulation wie
z. B. eine Verwendung eines Mehrzweckprozessors.
-
Bevorzugte
Implementierungen der „indirekten" Berechnung, d. h.
der Berechnung, der einen geringeren Mehraufwand nach sich zieht
als die arithmetische Berechnung über einen Prozessor, umfasst vorzugsweise
die Speicherung einer Nachschlagtabelle, die einen Eintrag für einen
Parameterwert aufweist, dem ein oder mehrere Matrixkoeffizienten
zugeordnet sind. Alternativ dazu kann die indirekte Berechnung einen
anwendungsspezifischen Prozessor oder einen beliebigen anderen festverdrahteten
Prozessor, der für
Mehrzweckaufgaben nicht geeignet ist, verwenden. All diese Implementierungen
einer indirekten Berechnung haben gemeinsam, dass ihre Effizienz
stark auf die Anzahl unterschiedlicher möglicher Eingabewerte bezogen
ist. Diese Anzahl ist gering, wenn quantisierte Werte verwendet
werden, und diese Anzahl ist hoch, wenn interpolierte (nicht-quantisierte)
Werte verwendet werden.
-
Somit
ist es rechentechnisch effizienter, eine Interpolation durchzuführen, als
viele Matrixwerte neu zu berechnen. Vom Standpunkt der Komplexität aus betrachtet
ist es bemerkenswert, dass der zum Berechnen der Matrixelemente
verwendete Parametersatz auf Grund der Quantisierung ziemlich be grenzt
ist. Das bedeutet, dass alle Matrixwerte vorzugsweise in einer Nachschlagtabelle
gespeichert werden können
und keine Berechnung der Elemente erforderlich ist. Dies ist vorteilhaft,
da Berechnungen zum Erhalten der Matrixelemente aus den Parameterwerten
komplizierte arithmetische Funktionen wie z. B. cos(cos(...))-Konstruktionen
umfassen können. Wenn
jedoch eine Interpolation in dem Parameterbereich durchgeführt wird,
sind die Nachschlagtabellen nicht mehr effizient, da der Satz von
Parametern nicht mehr begrenzt ist. Selbstverständlich kann dieses Merkmal
auch mit einem impliziten oder expliziten Signalisieren von Interpolationscharakteristika kombiniert
sein, kann aber auch ohne verschiedene Interpolationscharakteristika
verwendet werden, z. B. wenn lediglich eine einfache lineare Interpolation oder
Tiefpassglättung
verwendet wird, was die Vorteile dessen, einen begrenzten Satz von
Werten vor einer sehr komplizierten Berechnung wie z. B. der Matrixberechnung
aufzuweisen, sofort zunichte macht. Ferner wird betont, dass die
vorliegende Erfindung auch für
andere Zwecke als die Matrixberechnung nützlich ist. Wenn eine Wahl
zwischen verschiedenen Bereichen zur Interpolation besteht und wenn
eine direkte Berechnung von Zielwerten auf der Basis von Quellenwerten
kompliziert ist und wenn die Quellenwerte einen begrenzten Satz
von zulässigen Werten
aufweisen, ist es allgemein gesagt vorzuziehen, die Zielwerte zu
interpolieren, und nicht die Quellenwerte, und eine indirekte Berechnung
der nicht-interpolierten Zielwerte unter Verwendung der nicht-interpolierten
Quellenwerte unter Verwendung eines Berechnungsverfahrens durchzuführen, dessen
Effizienz von der Anzahl von zulässigen
Werten abhängt,
d. h. das für
eine geringe Anzahl von zulässigen
Werten effizient ist und das für
eine große
Anzahl von zulässigen
Werten, die üblicherweise
nach einer Interpolation erhalten werden, nicht-effizient (möglicherweise sogar weniger
effizient als die direkte Berechnung) ist.
-
Das
Steuersignal 512 wird durch einen Steuersignallieferant 600,
der in 6 schematisch veranschaulicht ist, gelie fert.
Der Steuersignallieferant 600 ist dahin gehend wirksam,
das Interpolationscharakteristik-Steuersignal 512 in Abhängigkeit
von dem einen oder den mehreren Eingangskanälen 504 (5a, 5b),
den niedrig auflösenden
parametrischen Informationen (510) oder von an dem Decodierer
verfügbaren
Signalisierungsinformationen zu liefern.
-
Anders
ausgedrückt
kann das durch den Steuersignallieferanten gelieferte Interpolationscharakteristik-Steuersignal
ein Steuersignal sein, das auf einer Codiererseite erzeugt und von
der Codiererseite an die Decodiererseite gesendet wird, wie durch Leitung 605 in 6 veranschaulicht
ist. Dieses explizite codierergeführte Signalisieren erfordert
lediglich, dass der Steuersignallieferant einen an dem Decodierer
empfangenen Bitstrom syntaktisch analysiert (garst), um die Interpolationssteuerinformationen
herauszufinden und um die Interpolationscharakteristik-Steuerinformationen
an dem Ausgang 512 des in 6 gezeigten
Steuersignallieferanten auszugeben. Alternativ oder zusätzlich dazu
können auch
implizite Charakteristiksteuerinformationen verwendet werden. Zu
diesem Zweck kann bzw. können der
eine oder die mehreren Eingangskanäle (in 5a, 5b 504)
oder die parametrischen Informationen (in 5a, 5b 510)
verwendet werden, wie durch die Leitung 601 in 6 gezeigt
ist. Somit umfassen die gesendeten Informationen die Eingangskanäle 504 oder
die parametrischen Informationen 510 der 5a, 5b.
Das Signal auf der Leitung 600, das das an dem Decodierer
empfangene Signal ist, wird in einen spezifischen Signaldetektor 610 für gesendete
Informationen eingegeben. Das bevorzugte Ausführungsbeispiel des Signaldetektors
für gesendete
Informationen ist in 7 gezeigt. Vorzugsweise werden
implizite decodiererseitige Interpolationsinformationen abgeleitet,
wenn ein Transiente-Detektor 710 in dem einen oder den
mehreren der M Eingangskanäle
eine Transiente erfasst. Alternativ oder zusätzlich dazu können die
parametrischen Informationen 510 der 5a oder 5b unter
Verwendung eines Zeitgrenzendetektors 720 untersucht werden,
um eine irreguläre
Zeitgren ze in den parametrischen Informationen herauszufinden, was
ein sehr starker Hinweis auf eine bevorstehende Transiente ist,
so dass eine durch den Posten 508 in 5a oder 5b angewandte
Nicht-Transiente-Interpolationscharakteristik durch eine Interpolationscharakteristik
vom Transientenstil ersetzt wird, so dass an der Leitung 506 unterschiedliche
interpolierte Parameter ausgegeben werden. Dies führt zu der Situation,
dass der Aufwärtsmischer 500 aus 5a oder 5b eine
Aufwärtsmischung
durchführt,
die in den N Ausgangskanälen
keinerlei oder zumindest verringerte durch Transienten verursachte
Artefakte aufweist.
-
Somit
kann ein Decodierer, der einen verbesserten Interpolationsparameter
gemäß der vorliegenden
Erfindung aufweist, auf der Decodiererseite vollständig in
sich abgeschlossen sein. Ein derartiger Decodierer ist insofern
vorteilhaft, als keine zusätzlichen
Bits zur Interpolationssteuerung gesendet werden müssen. Ferner
ist eine derartige decodiererseitige Implementierung insofern vorteilhaft,
als keine Bitstromsyntaxabänderungen
erforderlich sind. Eine derartige vollständig decodiererseitige Interpolationssteuersignalerzeugung
zieht keinem Signalisierungsmehraufwand nach sich und ist somit
sehr biteffizient und flexibel anwendbar.
-
Alternativ
dazu können
codiererseitige Interpolationssteuerinformationen erzeugt und an
einen Decodierer gesendet werden. Ein derartiger Codierer zum Erzeugen
von parametrischen Informationen, die von einem ursprünglichen
Signal, das N Eingangskanäle
aufweist, abgeleitet sind, ist in 9 angegeben.
Insbesondere umfasst der Codierer eine Parameterberechnungseinrichtung 900 zum
Berechnen von niedrig auflösenden
parametrischen Informationen 902, die eine mehrere Beziehungen
zwischen zwei oder mehreren Eingangskanälen 904 beschreiben.
Ferner umfasst der Codierer eine Interpolationsinformationsberechnungseinrichtung 906 zum Erzeugen
von hoch auflösenden
Interpolationsinformationen 908 auf der Basis zumindest
zweier der N ursprünglichen
Kanäle 904.
Insbesondere ist die Interpolationsinformationsberechnungseinrichtung 906 dahin
gehend wirksam, die Interpolationsinformationen zu erzeugen, so
dass die Interpolationsinformationen in einem Decodierer zum Interpolieren
der niedrig auflösenden
parametrischen Informationen (5a oder 5b)
verwendbar sind, um hoch auflösende
parametrische Informationen zu erhalten. Die niedrig auflösenden parametrischen
Informationen und die Interpolationsinformationen bilden kollektiv
die durch den erfindungsgemäßen Codierer ausgegebenen
parametrischen Informationen 910. Vorzugsweise umfasst
der erfindungsgemäße Codierer
ferner einen Abwärtsmischer
zum Abwärtsmischen
der N ursprünglichen
Kanäle
zu einem oder zwei Basiskanälen,
die vorzugsweise zusammen mit den parametrischen Informationen 910 an
einen Mehrkanalde-codierer
gesendet werden, wie in 5a oder 5b veranschaulicht
ist.
-
Anschließend wird 11a zum Veranschaulichen bevorzugter Ausführungsbeispiele
zum Erzeugen von Interpolationsinformationen beschrieben. Wie in 11a bei 908 gezeigt ist, können die Interpolationsinformation
ein Nachschlagtabellenindex oder Informationen sein, die von einem
Nachschlagtabellenindex abgeleitet sind, oder sie können Differenzinformationen
oder von den Differenzinformationen abgeleitete Informationen sein,
oder sie können
Frequenzauflösungsinformationen
oder von den Frequenzauflösungsinformationen
abgeleitete Informationen sein. Insbesondere können all diese Interpolationsinformationen
miteinander kombiniert werden oder können separat sein, je nach
den Bitstromerfordernissen. Wenn eine Nachfrage nach einer sehr
geringen Bitzahl besteht, wird eventuell lediglich ein Nachschlagtabellenindex
von einem Codierer an einen Decodierer gesendet. Wenn jedoch einige
mehr Bits zulässig
sind, können
Frequenzauflösungsinformationen
gesendet werden, die veranschaulichen, welcher Index welchem Frequenzbereich
zugewiesen ist. Wenn der Bitstrom sogar noch mehr Bits zulässt, können auch
Differenzinformationen, die eine Differenz zwischen einer signalisierten Interpolationskurve
oder einer implizit gefundenen Interpolationskurve darstellen, in
den Ausgangsbitstrom hinzugefügt
werden. Jedoch ist bevorzugt, lediglich so viele Bits als Interpolationsinformationen
in den Bitstrom aufzunehmen, dass die für die niedrig auflösende parametrische
Darstellung und die Interpolationsinformationen erforderlichen Bits
einen Bitzählwert
aufweisen, der geringer ist als ein Zählwert, der zum Senden von
hoch auflösenden
parametrischen Informationen von einem Codierer an einen Decodierer
erforderlich wäre.
Normalerweise ist diese Anforderung nicht allzu schwer zu erfüllen, da
bei mehrparametrischen Codierungstechniken wie z. B. BCC oder parametrischem
Stereo die Interpolationsinformationen selektiv in den Bitstrom
aufgenommen werden können,
was bedeutet, dass beispielsweise lediglich die Zwischen-Kanal-Intensität-Differenzen oder
Zwischen-Kanal-Pegel-Differenzen
Interpolationsinformationen empfangen, während die anderen Parameter
wie z. B. Zwischen-Kanal-Kohärenz,
Zwischen-Kanal-Phase-Differenz, Zwischen-Kanal-Zeit-Differenz oder Zwischen-Kanal-Zeit-Hüllkurve
keine Interpolationsinformationen empfangen oder lediglich einen
Interpolationscharakteristikindex empfangen, während die Zwischen-Kanal-Pegel-Differenz
oder die Zwischen-Kanal-Intensität-Differenz unter
Verwendung eines Interpolationskurvenindizes und zusätzlich einer
codierten Differenz bezüglich der
explizit gesendeten oder implizit ermittelten Interpolationskurve
codiert wird.
-
Die
Interpolationsinformationsberechnungseinrichtung 906 empfängt vorzugsweise
N ursprüngliche
Kanäle
und/oder hoch auflösende
Parameter, die durch die Parameterberechnungseinrichtung 900 in 9 bestimmt
werden. Auf der Basis der hoch auflösenden Parameter und der niedrig
auflösenden parametrischen
Darstellung ist die Interpolationsinformationsberechnungseinrichtung
dahin gehend wirksam, unter Verwendung einer hoch auflösenden Interpolationskurvenberechnungseinrichtung 1100 eine
hoch auflösende
Interpolationskurve zu berechnen. Die Interpolationskurvenberechnungseinrichtung 1100 gibt
eine berechnete Interpolationskurve aus, die in eine Interpolationskurvenübereinstimmungsprüfungseinrichtung 1110 eingegeben
wird. Die Interpolationskurvenübereinstimmungsprüfungseinrichtung 1110 ist
auch mit einer Nachschlagtabellenvorrichtung 1120 verbunden.
Die Nachschlagtabellenvorrichtung 1120 umfasst mehrere
Interpolationskurveneinträge
wie z. B. eine Lineare-Interpolation-Kurve, eine Transiente-Interpolation-Kurve,
eine Glatte-Interpolation-Kurve
(z. B. eine Interpolation mit kubischen Splines), eine Komplexe-Interpolation-Kurve,
eine zusätzliche
Komplexe-Interpolation-Kurve usw. Jede der Interpolationskurven
ist über einen
Index zugänglich,
der bei dem Ausführungsbeispiel
in 11a ein Index zwischen 1 und 5 ist. Wenn die Nachschlagtabelle 1120 lediglich
vier verschiedene Interpolationskurven umfasst, ist ein Zwei-Bit-Index ausreichend.
Wenn die Nachschlagtabelle 1120 jedoch bis zu acht verschiedene
Interpolationskurven umfasst, wird ein Drei-Bit-Index benötigt. Die Übereinstimmungsprüfungseinrichtung 1110 ist
dahin gehend wirksam, die durch die Vorrichtung 1100 berechnete
tatsächliche
Interpolationskurve mit jeder der Interpolationskurven in der Nachschlagtabelle 1120 zu
vergleichen. Auf der Basis einer Ermittlung des mittleren quadratischen
Fehlers oder auf der Basis eines anderen Übereinstimmungsprüfungsalgorithmus
gibt die Übereinstimmungsprüfungseinrichtung
einen Index 1130 der am stärksten übereinstimmenden Interpolationskurve
aus. Dieser Index wird vorzugsweise an der Leitung 908 als
Interpolationsinformationen ausgegeben.
-
Bei
alternativen Ausführungsbeispielen
umfasst die Interpolationsinformationsberechnungseinrichtung 906,
wie sie in 11a gezeigt ist, ferner einen
Differenzcodierer 1140, der dahin gehend wirksam ist, eine
Differenz zwischen der durch die Vorrichtung 1100 ausgegebenen
tatsächlichen
Interpolationskurve und der am stärksten übereinstimmenden Kurve auf
der Leitung 1150 zu berechnen. Die Differenz zwischen der
am stärksten übereinstimmenden Kurve
und der tatsächlichen
Kurve wird vorzugsweise in einem Entropiecodierer 1160 entropiecodiert. Dieser
Codierer ist vorzugsweise ein Huffman-Codierer. Die Huffman-Codewörter werden
auch der Ausgangsleitung 908 als Differenzinformationen
zugeführt,
die vorzugsweise einen Teil der Interpolationsinformationen bilden.
Außerdem
umfasst die Interpolationsinformationsberechnungseinrichtung 906 eine Frequenzauflösungsberechnungseinrichtung 1170 zum
Berechnen einer Frequenzauflösung
einer Interpolationskurve. Anders ausgedrückt ermittelt die Frequenzauflösungsberechnungseinrichtung,
ob eine einzige Interpolationskurve für alle Frequenzbänder ausreichend
ist oder nicht. Bei einer Transiente-Situation, d. h. einem schwerwiegenden
Angriff bei dem Signal, wird davon ausgegangen, dass alle Frequenzkomponenten
bei dem Angriff mit mehr oder weniger identischen Amplituden existieren.
Deshalb ist eine sehr niederfrequente Auflösung für die Interpolationsinformationen
ausreichend, da die Transiente im Hinblick auf die Frequenz für alle Frequenzen dieselbe
ist.
-
In
einem allgemeineren Fall können
unterschiedliche Interpolationscharakteristika für unterschiedliche Frequenzbänder berechnet
und gemäß der Ermittlung
durch die Frequenzauflösungsberechnungseinrichtung 1170 gesendet
werden. Somit ist die Frequenzauflösungsberechnungseinrichtung 1170 dahin
gehend wirksam, ein Frequenzauflösungssteuersignal 1180 in
die Interpolationskurvenberechnungseinrichtung 1100 einzugeben,
so dass die Interpolationskurvenberechnungseinrichtung 1100 dahin
gehend wirksam ist, denselben Vorgang für unterschiedliche Frequenzbänder durchzuführen, so
dass unterschiedliche Interpolationsindizes und unterschiedliche
Differenzinformationen für
die mehreren Frequenzbänder
berechnet und an einen Decodierer gesendet werden. Dieses Ausführungsbeispiel
ist nicht darauf beschränkt,
tonale, Nicht-Transiente-Signale aufzuweisen. Es kann jedoch in
der Tat vorteilhaft sein, zumindest eine Mehrzahl (nur einige wenige,
z. B. zwischen 2 und 8) von Bändern
sogar für
Transiente-Signale aufzuweisen. Somit ist dieses Ausführungsbeispiel
nicht auf lediglich ein Band für Transienten
beschränkt.
-
Der
Codierer der 11b kann bei einem weiteren
Ausführungsbeispiel
dazu entworfen sein, den Differenzcodierer 1140 zu betreiben
(16a), eine Differenz zwischen der durch die Vorrichtung 1100 ausgegebenen
tatsächlichen
Interpolationskurve und einer (durch eine schematische Vorrichtung 1118 ausgegebenen)
standardmäßigen Interpolationskurve
zu berechnen. Diese standardmäßige Interpolationskurve
könnte
eine lineare Interpolation von einem Wert zum nächsten sein. Die Differenz zwischen
der standardmäßigen Interpolationskurve und
der tatsächlichen
Kurve wird vorzugsweise in einem Entropiecodierer 1160 entropiecodiert.
-
Wie
in 11b gezeigt ist, kann der Differenzcodierer 1140 außerdem sogar
dazu hergestellt sein (16b),
eine Differenz zwischen der durch die Vorrichtung 1100 ausgegebenen
tatsächlichen
Interpolationskurve und der (durch die schematische Vorrichtung 1120 ausgegebenen)
Interpolationskurve, die dem Decodierer implizit signalisiert wird,
mittels z. B. einer Transientenposition, zu berechnen. Dies steht
im Einklang mit 2a, bei der die Transientenposition 205 in
dem Bitstrom signalisiert wird und der Decodierer auf dieser Basis
die Interpolationskurve 209 auf der Basis der Position 201 und 203 berechnet.
Die ähnliche
Berechnung erfolgt durch den Codierer, um in der Lage zu sein, die
Differenzkurve 207 zu berechnen. Diese Differenzkurve wird vorzugsweise
in einem Entropiecodierer 1160 entropiecodiert. Der Codierer
der 11 kann ferner dahin gehend hergestellt
sein, das Differenzsignal bezüglich
des Interpolationssignals zu normieren, wie es beispielsweise daraus
errechnet wird, dass das Differenzsignal durch einen Faktor geteilt
wird, der von dem Interpolationssignal abgeleitet ist, z. B. eine Leistungsmaßzahl, einen
arithmetischen Mittelwert, einen geometrischen Mittelwert usw.
-
Die
Verwendung dieser implizit signalisierten Interpolationskurve oder
einer allgemeinen standardmäßigen Interpolationskurve
ist in 11b und in 16a und 16b gezeigt.
-
Wenn
der Decodierer üblicherweise
Transientenpositionsinformationen oder beliebige andere Informationen über die
aktuelle Rahmengebung erhält
und daraus auf der Basis einer Regel oder eines Satzes von (einfachen)
Regeln, einer Nachschlagtabelle oder Funktion über die Interpolation entscheidet.
Der Effekt eines derartigen Decodierers ist in 1 dargelegt.
Und der Effekt eines derartigen Decodierers zusammen mit der Differenzcodierung
ist in 2 dargelegt.
-
10 veranschaulicht
eine decodiererseitige Implementierung des Interpolators 508 der 5a oder 5b.
Der Interpolator 508, wie er in 10 gezeigt
ist, umfasst eine Nachschlagtabelle 1000 und einen Berechnungseinrichtungskern 1010, der
die Berechnung der hoch auflösenden
Parameter für
zeitliche Punkte zwischen zwei Zeitpunkten durchführt, für die Parameter,
die an Leitungen 1012 eingegeben wurden, gegeben waren.
Die Nachschlagtabelle 1000 empfängt das Steuersignal 512, wie
es in 5a oder 5b gezeigt
ist und wie es unter Verwendung der in 6 oder 7 gezeigten Ausführungsbeispiele
erzeugt wurde. Wenn das Ausführungsbeispiel
der 10 lediglich das Steuersignal 512 empfängt, das
einen Nachschlagtabellenindex umfasst, wird eine gewisse ausgewählte Interpolationscharakteristik 1020 in
die Berechnungseinrichtung 1010 eingegeben, so dass die
Berechnungseinrichtung interpolierte Werte für einen Parameter zwischen
der Zeit t1 und t2 berechnet.
Wenn die Berechnungseinrichtung auch Frequenzauflösungsinformationen
empfängt,
ist die Berechnungseinrichtung 1010 dahin gehend wirksam,
nicht nur einen einzelnen hoch auflösenden Parameter für alle Frequenzen
zu erzeugen, sondern sie ist auch dahin gehend wirksam, die Interpolation
von frequenzabhängigen Parametern,
die in der niedrig auflösenden
parametrischen Darstellung für
mehrere Zeitpunkte t1, t2 ... enthalten
sind, durchzuführen
und zu verbessern.
-
Alternativ
oder zusätzlich
dazu empfängt
die Berechnungseinrichtung 1010 auch (decodierte) Differenzinformationen, so
dass die Berechnungseinrichtung 1010 eine sehr stark verbesserte
Darstellung der interpolierten Parameter unter Verwendung der explizit
oder implizit ermittelten Interpolationscharakteristik 1020 und
der Differenzinformationen berechnen kann.
-
Nachfolgend
wird das erfindungsgemäße Merkmal
einer Verwendung von Symmetrien bei Mehrkanal-Baumstrukturen unter
Bezugnahme auf 12 und 13 ausführlicher
erörtert.
Hier muss darauf hingewiesen werden, dass dieses Merkmal, wie es
in Verbindung mit 4 und den 12 und 13 beschrieben
wurde, gemäß der vorliegenden Erfindung
zusammen mit den Interpolationsmerkmalen der vorliegenden Erfindung
verwendet werden kann. Jedoch kann das erfindungsgemäße Parametercodierungsmerkmal
auch ohne das Interpolationsmerkmal verwendet werden, wenn beispielsweise
ein Codierer eine hoch auflösende
parametrische Darstellung sendet oder wenn ein Decodierer eine hoch auflösende parametrische
Darstellung mittels Interpolation oder anhand eines anderen Mittels
erzeugt hat.
-
Wie
in 12 gezeigt ist, kann ein erfindungsgemäßer Codierer
der 9 in der Parameterberechnungseinrichtung 900 einen
Delta- oder einen Differenzcodierer 1200 umfassen, der
dahin gehend wirksam ist, einen ersten Parameter 1210 und
einen zweiten Parameter 1220 zu empfangen. Gemäß der vorliegenden
Erfindung sind der erste Parameter 1 und der zweite Parameter 2
vorzugsweise Parameter derselben Art von Parametern. Dies bedeutet,
dass beide Parameter Zwischen-Kanal-Intensität-Differenz-Parameter oder
Zwischen-Kanal-Pegel-Differenz-Parameter
oder Zwischen-Kanal-Zeit-Differenz-Parameter
oder Zwischen-Kanal-Phase-Differenz-Parameter oder Zwischen-Kanal-Zeit-Hüllkurve-Parameter
oder beliebige sonstige Parameter sind, die eine beliebige Beziehung
zwischen zwei Kanälen
oder einem Kanal und einem virtuellen Kanal beschreiben. Der Delta-Codierer 1200 ist
dahin gehend wirksam, eine Differenz zwischen zwei Parametern derselben
Art von Parameter zu berechnen und diese Differenz anschließend in
einen Parameterentropiecodierer 1230 weiterzuleiten, der
einen Huffman-Codierer, einen Lauflängencodierer oder einen kombinierten
Codierer umfassen kann. Der Ausgang des Entropiecodierers 1230 und
der erste oder der zweite Parameter werden in eine Ausgangsstufe 1240 eingegeben,
um ein Ausgangssignal 1250 zu erzeugen. Das Ausgangssignal
umfasst den ersten oder den zweiten Parameter optional in codierter Form,
und zusätzlich
eine Parameterdifferenz in codierter Form. Ferner kann das Ausgangssignal
auch ausgewählte
Informationen umfassen, die angeben, ob der erste Parameter oder
der zweite Parameter in einer Nicht-Differenz-Form enthalten sein
werden.
-
Ferner
kann die Vorrichtung der 12 einen
Komparator zum Vergleichen eines Differenzwertes mit dem ursprünglichen
Wert des ersten oder des zweiten Parameters, um zu bestimmen, ob
ein Senden der Differenz der Parameter zu einem Codierungsvorteil
führt,
umfassen. Wenn es sich herausstellt, dass die Differenz größer ist
als der ursprüngliche
Parameter, dann können
Auswahlinformationen signalisiert werden, und statt der Differenz
wird der Parameter selbst gesendet. Somit wird in dem Fall, in dem
die Differenzcodierung nicht zu einer verbesserten Codierungseffizienz
führt,
eine gleichzeitige Übertragung
statt einer Differenzübertragung
gewählt.
Ferner kann es nützlich
sein, zwischen Parameter 1 und Parameter 2 als dem Parameter hin- und herzuschalten,
der in absoluter Form statt in Differenzform gesendet wird. Wie
bei dem Simulcast-Ausführungsbeispiel
ermittelt der erfindungsgemäße Codierer
auf der Basis von Gründen
der Biteffizienz, ob es besser ist, den ersten Parameter oder den
zweiten Parameter in absoluter statt in Differenzform zu senden.
Ferner kann die vorliegende Erfindung mit Differenzcodierung in
Bezug auf Zeit oder Frequenz kombiniert werden, um die Codierungseffizienz
weiter zu verbessern. In diesem Zusammenhang ist zu beachten, dass
sich die Codierungseffizienz vor allem dann, wenn Huffman-Codierung
verwendet wird, automatisch erhöht,
wenn der Wertebereich der gesendeten Werte abnimmt. Dies ist darauf
zurückzuführen, dass,
wie man in der Technik weiß,
ein kurzes Codewort einem Informationswort zugewiesen wird, das
in einem Satz von Informationswörtern
häufiger vorkommt
als ein Informationswort, dem ein längeres Codewort zugeordnet
ist. Wenn der Fall der 4B betrachtet wird, kann es
oft der Fall sein, dass die Kohärenz-
und sogar die Pegeldifferenz zwischen vorne links und Links-Surround einerseits
und vorne rechts und Rechts-Surround andererseits (fast) gleich
sind, so dass die Differenzcodierung (mit oder ohne Quantisierung
unter Verwendung eines bestimmten Quantisierers) zu Nullwerten führt, die
unter Verwendung eines Lauflängencodes
sehr gut codiert werden können,
wenn für
diese Parameter ein Durchlauf von mehreren Nullen vorliegt.
-
13 veranschaulicht
eine Decodiererseite für
das codiererseitige Ausführungsbeispiel
der 12. Der Decodierer der 5a oder 5b umfasst
zusätzlich
zu den in 5a oder 5b gezeigten
Elementen den Delta-Decodierer 1300, der den gesendeten
Parameter 1310 und die Parameterdifferenz 1320 von
dem Bitstrom oder von entsprechenden Decodierern, die in 13 oder 5a oder 5b nicht
gezeigt sind, empfängt.
Ferner empfängt
der Delta-Decodierer 1300 Auswahlinformationen 1330,
so dass der Delta-Decodierer 1300 in der Lage ist, den
rekonstruierten Parameter 1340 zu berechnen, so dass der
rekonstruierte Parameter 1340 und der gesendete Parameter 1310 als
die parametrischen Informationen 510 in den Interpolator 508 der 5a oder 5b eingegeben
werden können.
Wie bereits in Verbindung mit 12 erwähnt wurde,
können
der gesendete Parameter 1310 und der rekonstruierte Parameter 1340 direkt
dem Aufwärtsmischer 500 zugeführt werden,
da das Zwischen-Parameter-Differenz-Codierung-Merkmal unabhängig von
dem durch den Interpolator 508 der 5a oder 5b veranschaulichten
Interpolationsmerkmal auf ein Mehrkanaldecodieren angewendet werden
kann.
-
Die
erfindungsgemäßen Verfahren
oder Vorrichtungen oder Computerprogramme können in mehreren Vorrichtungen
imple mentiert oder enthalten sein. 14 zeigt
ein Übertragungssystem,
das einen Sender, der einen erfindungsgemäßen Codierer umfasst, und einen
Empfänger,
der einen erfindungsgemäßen Decodierer
umfasst, aufweist. Der Übertragungskanal
kann ein drahtloser oder verdrahteter Kanal sein. Wie in 15 gezeigt
ist, kann der Codierer ferner in einer Audioaufzeichnungsvorrichtung
enthalten sein, oder der Decodierer kann in einer Audiowiedergabevorrichtung
enthalten sein. Audioaufzeichnungen von der Audioaufzeichnungsvorrichtung
können über das
Internet oder über
ein Speichermedium, das unter Verwendung von Post- oder Kurierressourcen
oder anderer Möglichkeiten
zum Verteilen von Speichermedien wie z. B. Speicherkarten, CDs oder
DVDs, an die Audiowiedergabevorrichtung verteilt werden.
-
Je
nach bestimmten Implementierungsanforderungen der erfindungsgemäßen Verfahren
können die
erfindungsgemäßen Verfahren
in Hardware oder in Software implementiert werden. Die Implementierung
kann unter Verwendung eines digitalen Speichermediums ausgeführt werden,
insbesondere unter Verwendung einer Diskette oder einer CD, auf
der elektronisch lesbare Steuersignale gespeichert sind, die mit
einem programmierbaren Computersystem derart zusammenwirken können, dass
die erfindungsgemäßen Verfahren
ausgeführt
werden. Allgemein ist die vorliegende Erfindung somit ein Computerprogrammprodukt
mit einem auf einem maschinenlesbaren Träger gespeicherten Programmcode, wobei
der Programmcode dazu konfiguriert ist, zumindest eines der erfindungsgemäßen Verfahren auszuführen, wenn
das Computerprogrammprodukt auf einem Computer läuft. Mit anderen Worten sind die
erfindungsgemäßen Verfahren
somit ein Computerprogramm, das einen Programmcode zum Ausführen der
erfindungsgemäßen Verfahren
aufweist, wenn das Computerprogramm auf einem Computer läuft.
-
Obwohl
das Vorstehende besonders unter Bezugnahme auf bestimmte Ausführungsbeispiele desselben
gezeigt und beschrieben wurde, wird Fachleuten einleuchten, dass
an der Form und an den Einzelheiten verschiedene andere Änderungen vorgenommen
werden können,
ohne von der Wesensart und dem Schutzumfang desselben abzuweichen.
Man muss verstehen, dass bei einer Anpassung an verschiedene Ausführungsbeispiele
diverse Änderungen
vorgenommen werden können,
ohne von den hierin offenbarten und durch die folgenden Patentansprüche eingeschlossenen
breiteren Konzepten abzuweichen.