Warning: fopen(111data/log202008111856.log): failed to open stream: No space left on device in /home/pde321/public_html/header.php on line 107

Warning: flock() expects parameter 1 to be resource, boolean given in /home/pde321/public_html/header.php on line 108

Warning: fclose() expects parameter 1 to be resource, boolean given in /home/pde321/public_html/header.php on line 113
AUDIOCODIERUNG - Dokument DE602004002390T2
 
PatentDe  


Dokumentenidentifikation DE602004002390T2 06.09.2007
EP-Veröffentlichungsnummer 0001595247
Titel AUDIOCODIERUNG
Anmelder Koninklijke Philips Electronics N.V., Eindhoven, NL
Erfinder BREEBAART, J., Dirk, NL-5656 AA Eindhoven, NL;
OOMEN, W., Arnoldus, Nl-5656 AA Eindhoven, NL
Vertreter Volmer, G., Dipl.-Ing., Pat.-Anw., 52066 Aachen
DE-Aktenzeichen 602004002390
Vertragsstaaten AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HU, IE, IT, LI, LU, MC, NL, PT, RO, SE, SI, SK, TR
Sprache des Dokument EN
EP-Anmeldetag 09.02.2004
EP-Aktenzeichen 047093117
WO-Anmeldetag 09.02.2004
PCT-Aktenzeichen PCT/IB2004/050085
WO-Veröffentlichungsnummer 2004072956
WO-Veröffentlichungsdatum 26.08.2004
EP-Offenlegungsdatum 16.11.2005
EP date of grant 13.09.2006
Veröffentlichungstag im Patentblatt 06.09.2007
IPC-Hauptklasse G10L 19/00(2006.01)A, F, I, 20051017, B, H, EP
IPC-Nebenklasse H04S 5/00(2006.01)A, L, I, 20051017, B, H, EP   

Beschreibung[de]

Die vorliegende Erfindung bezieht sich auf Audiocodierung.

Parametrische Beschreibungen von Audiosignalen sind in den letzten Jahren interessant geworden, insbesondere im Bereich von Audiocodierung. Es hat sich herausgestellt, dass Übertragung von (quantisierten) Parametern, die Audiosignale beschreiben, nur eine geringe Übertragungskapazität erfordern um ein perzeptuell gleiches Signal am Empfänger-Ende zu resynthetisieren. In herkömmlichen auf Wellenform basierten Audiocodierungsschemen, wie MPEG-LII, mp3 und AAC (MPEG-2 Advanced Audio Coding), werden Stereo-Signale dadurch codiert, dass zwei Mono-Audiosignale zu einem einzigen Bitstrom codiert werden. Dies codiert jeden Kanal eindeutig, aber auf Kosten davon, dass zweimal soviel Daten erforderlich sind wie zum Codieren eines einzigen Kanals erforderlich sind.

In vielen Fällen ist der von den zwei Kanälen getragene Content vorwiegend mono. Deswegen kann durch Benutzung von Interkanalkorrelation und Irrelevanz mit Techniken, wie Mitte/Seite Stereocodierung und Intensitätscodierung an Bitrate gespart werden. Codierungsverfahren, auf die sich die vorliegende Erfindung bezieht, befassen sich mit der völligen Codierung eines einzigen Kanals, und mit der Codierung einer parametrischen Beschreibung davon, wie der andere Kanal von dem völlig codierten Kanal hergeleitet werden kann. Deswegen ist in dem Decoder üblicherweise ein einziges Audiosignal verfügbar, das zum Erhalten zweier verschiedener Ausgangskanäle modifiziert werden soll. Insbesondere können Parameter, die zum Beschreiben des zweiten Kanals verwendet werden, Interkanalzeitdifferenzen (ITDen), Interkanalphasendifferenzen (IPDen) und Interkanalpegeldifferenzen (ILDen) umfassen.

EP-A-1107232 beschreibt ein Verfahren zum Codieren eines Stereosignals, wobei das codierte Signal Information aufweist, hergeleitet von einem Linkskanal- oder Rechtskanaleingangssignal und parametrische Information, die es ermöglicht, dass das andere Eingangssignal wiederhergestellt wird.

WO-A-03/07656 beschreibt ein Verfahren zum Codieren eines Stereosignals, wobei ein Monosignal und Stereoparameter zum Darstellen de Stereosignals verwendet werden.

In den parametrischen Darstellung, wie diese in dem oben genannten Bezugsmaterial beschrieben worden sind, bezeichnen die ITDen die Differenz in der Phase oder in der Zeit zwischen den Eingangskanälen. Deswegen kann der Decoder den nicht codierten Kanal dadurch erzeugen, dass der Inhalt des codierten Kanals genommen wird und dass die durch die ITDen gegebene Phasendifferenz geschaffen wird. Dieser Prozess hat einen bestimmten Freiheitsgrad in sich. So kann beispielsweise nur ein einziger Ausgangskanal (sagen wir, der Kanal, der nicht codiert ist) mit der vorgeschriebenen Phasendifferenz modifiziert werden.

Auf alternative Weise könnte der codierte Kanal mit Minus der vorgeschriebenen Phasendifferenz modifiziert werden. Als drittes Beispiel könnte man die halbe vorgeschriebene Phasendifferenz dem einen Kanal zuführen und Minus die halbe vorgeschriebene Phasendifferenz dem anderen Kanal zuführen. Da nur die Phasendifferenz vorgeschrieben ist, liegt der Versatz (oder die Verteilung) in der Phasenverschiebung der beiden Kanäle nicht fest. Obschon dies für die räumliche Qualität des codierten Tons kein Problem ist, kann dies zu hörbaren Artefakten führen. Diese Artefakte treten auf, weil die gesamte Phasenverschiebung beliebig ist. Es kann sein, dass die Phasenmodifikation eines Kanals oder beider Kanäle zu jedem Codierungszeitframe nicht mit der Phasenmodifikation des vorhergehenden Frames kompatibel ist. Die Anmelderin hat gefunden, dass es sehr schwer ist, die genaue Gesamtphasenverschiebung in dem Decoder einwandfrei vorherzusagen und sie hat ein Verfahren zum Begrenzen von Phasenmodifikationen entsprechend den Phasenmodifikationen des vorhergehenden Frames beschrieben. Dies ist eine Lösung für das Problem, die gut funktioniert, dadurch wird aber nicht die Ursache des Problems weggenommen.

Wie oben beschrieben, hat es sich herausgestellt, dass es sehr schwer ist, zu ermitteln, wie die vorgeschriebene Phase- oder Zeitverschiebung auf Decoderpegel über die zwei Ausgangskanäle verteilt werden soll. Es wird nun vorausgesetzt, dass in dem Decoder der Monosignalanteil aus einer einfachen Sinuskurve besteht. Weiterhin nimmt der ITD Parameter für diese Sinuskurve linear über die Zeit zu (d.h. über Analysenframes). In diesem Beispiel werden wir und auf die IPD konzentrieren, dabei berücksichtigend dass die IPD gerade eine linear Transformation der ITD ist. Die IPD wird nur durch das Intervall [-&pgr; : &pgr;] definiert. 1 zeigt die IPD als eine Funktion der Zeit.

Obschon dies auf den ersten Blick ein sehr theoretisches Beispiel scheinen mag, tritt ein derartiges IPD Verhalten bei Audioaufzeichnungen oft auf (beispielsweise wenn die Frequenz der Töne in dem linken und rechten Kanal um einige Hz voneinander abweichen). Die Basisaufgabe des Decoders ist, zwei Ausgangssignale aus einem einzigen Eingangssignal zu erzeugen. Diese Ausgangssignale müssen dem IPD Parameter entsprechen. Dies kann durch Kopierung des einzigen Eingangssignals zu den zwei Ausgangssignalen und durch einzelne Modifikation der Phasen der Ausgangssignale erfolgen. Wenn nun eine symmetrische Verteilung der IPD über die Kanäle vorausgesetzt wird, bedeutet dies, dass der linke Ausgangskanal um +IPD/2 modifiziert wird, während der rechte Ausgangskanal um –IPD/2 in der Phase gedreht wird. Diese Annäherung führt aber zu deutlich hörbaren Artefakten, verursacht durch einen Phasensprung, der zu dem Zeitpunkt t auftritt. Dies kann anhand der 2 verstanden werden, wobei die Phasenänderung dargestellt ist, die an dem linken und rechten Kanal zu einem bestimmten Zeitpunkt t–, unmittelbar vor dem Auftritt des Phasensprungs, und zu dem Zeitpunkt t+, unmittelbar nach dem Phasensprung angegeben ist. Die Phasenänderungen in Bezug auf das Mono-Eingangssignal sind als komplexe Vektoren dargestellt (d.h. der Winkel zwischen dem Ausgangs- und dem Eingangssignal zeigt die Phasenänderung jedes Ausgangskanals).

Es ist ersichtlich, dass es zwischen den Ausgangssignalen eine große Phaseninkonsequenz gibt, und zwar gerade vor und nach dem Phasensprung zu dem Zeitpunkt t: der Vektor jedes Ausgangskanals wird um nahezu &pgr; rad gedreht. Wenn die nachfolgenden Frames der Ausgangssignale durch Überlappung/Hinzufügung kombiniert werden, gleichen sich die überlappenden Teile der Ausgangssignale gerade vor und nach dem Phasensprung aus. Dies führt zu klickartigen Artefakten in dem Ausgangssignal. Diese Artefakte entstehen, weil der IPD Parameter zyklisch ist mit einer Periode von 2&pgr;, aber wenn die IPD über Kanäle verteilt wird, wird die Phasenänderung jedes einzelnen Signals zyklisch mit einer Periode kleiner als 2&pgr; (wenn die IPD symmetrisch verteilt wird, wird die Phasenänderung zyklisch mit einer Periode &pgr;). Die wirkliche Periode der Phasenänderung in je Kanal ist auf diese Art und Weise von dem Verteilungsverfahren der IPD über Kanäle abhängig, ist aber kleiner als 2&pgr;, was zu Überlappung/Hinzufügungsproblemen in dem Decoder führt.

Obschon das oben stehende Beispiel ein relativ einfacher Fall ist, haben wir gefunden, dass es für komplexe Signale (mit mehr Frequenzanteilen innerhalb desselben Phasenmodifikationsfrequenzbandes, und mit komplexerem Verhalten des IPD Parameters über die Zeit) schwer ist, die richtige Verteilung über die Ausgangskanäle zu finden.

Bei dem Codierer ist Information verfügbar, die spezifiziert, wie die IPD über Kanäle verteilt werden soll. Deswegen ist es u. a. eine Aufgabe der vorliegenden Erfindung, diese Information in dem codierten Signal aufzubewahren, ohne dass die Größe des codierten Signals wesentlich zunimmt.

Dazu schafft die vorliegende Erfindung einen Codierer und relatierte Items, wie in den Hauptansprüchen der vorliegenden Patentanmeldung erwähnt.

Die Interkanaldifferenz (ITD), oder die Interphasendifferenz (IPD) wird auf Basis der relativen Zeitverschiebung zwischen den zwei Eingangskanälen geschätzt. Andererseits wird die gesamte Zeitverschiebung (OTD), oder die gesamte Phasenverschiebung (OPD) durch die am besten passende Verzögerung (oder Phase) zwischen dem völlig codierten Mono-Ausgangssignal und einem der Eingangssignale bestimmt. Deswegen ist es bequem, die OTD (OPD) auf dem Codierungspegel zu analysieren und diesen Wert dem Parameterbitstrom zuzufügen.

Ein Vorteil einer derartigen Zeitdifferenzcodierung ist, dass die OTP (OPD) in nur sehr wenig Bits codiert zu werden bracht, da das Hörsystem relativ unempfindlich ist für gesamte Phasenänderungen (obschon das binaurale Hörsystem sehr empfindlich ist für ITD-Änderungen).

Für das oben genannte Problem sollte die OPD das in 3 dargestellte Verhalten haben.

In dem Fall beschreibt die OPD im Grunde die Phasenänderung des linken Kanals in der Zeit, während die Phasenänderung des rechten Kanals durch OPD(t)–IPD(t) gegeben wird. Da die beiden Parameter (OPD und IPD) zyklisch sind mit einer Periode von 2&pgr;, werden die resultierenden Phasenänderungen der unabhängigen Ausgangskanäle auch zyklisch mit einer Periode von 2&pgr;. Auf diese Weise zeigen die resultierenden Phasenänderungen der beiden Ausgangskanäle in der Zeit keine Phasenunterbrechungen, die in dem Eingangssignal nicht vorhanden waren.

Es sei bemerkt, dass in diesem Beispiel die OPD die Phasenänderung des linken Kanals beschreibt, während der rechte Kanal daraufhin von dem linken Kanal hergeleitet wird, und zwar unter Anwendung der IPD. Andere lineare Kombinationen dieser Parameter können im Grunde zur Übertragung angewandt werden. Ein unbedeutendes Beispiel wäre, die Phasenänderung des rechten Ausgangskanals mit der OPD zu beschreiben und davon unter Anwendung von OPD und IPD die Phasenänderung des linken Kanals herzuleiten. Der entscheidende Punkt der vorliegenden Erfindung ist, ein Paar in der Zeit variierender Synthesefilter zu beschreiben, wobei die Phasendifferenz zwischen den Ausgangskanälen mit nur einem (aufwendigen) Parameter und mit einem Offset der Phasenänderungen mit einem anderen (viel günstigeren) Parameter beschrieben wird.

Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und werden im Folgenden näher beschrieben. Es zeigen:

1 den Effekt der IPD, die in der Zeit linear zunimmt, und bereits beschrieben wurde,

2 die Phasenänderung der Ausgangskanäle L und R gegenüber dem Eingangskanal unmittelbar vor (t–, linkes Bild) und unmittelbar nach (t+, rechtes Bild) dem Phasensprung in dem IPD Parameter, wie bereits beschrieben,

3 den OPD Parameter für den Fall einer linear zunehmenden IPD, wie bereits beschrieben,

4 ein Hardware-Blockschaltbild eines Codierers, die vorliegende Erfindung verkörpernd,

5 ein Hardware-Blockschaltbild eines Decoders, die vorliegende Erfindung verkörpernd,

6 Übergangsstellen, die in betreffende Subframes eines Monosignals codiert sind und die entsprechenden Frames einer Mehrkanalschicht.

Übersicht der Erfindung

Eine einen räumlichen Parameter erzeugende Stufe in einer Ausführungsform der vorliegenden Erfindung nimmt drei Signale als Eingangssignal. Die ersten zwei Signale dieser drei Stück, durch L und R bezeichnet, entsprechen dem linken bzw. rechten Kanal eines Stereopaares. Jeder der Kanäle wird in viele Zeitfrequenzkacheln aufgeteilt, und zwar unter Verwendung einer Filterbank oder einer Frequenztransformation, wie dies in diesem technischen Bereich üblich ist. Ein weiteres Eingangssignal zu dem Codierer ist ein Monosignal S, das die Summe der anderen Signale L, R ist. Dieses Signal S ist eine Monokombination der anderen Signale L und R und hat die gleiche Zeitfrequenztrennung wie die anderen Eingangssignale. Das Ausgangssignal des Codierers ist ein Bitstrom mit dem Mono-Audiosignal S zusammen mit räumlichen Parametern, die durch einen Decoder bei Decodieren des Bitstroms verwendet werden.

Danach berechnet der Codierer die Interkanalzeitdifferenz (ITD) durch Ermittlung der Zeitverzögerung zwischen dem L und dem R Eingangskanal. Die Zeitverzögerung entspricht dem Maximum in der Kreuzkorrelationsfunktion zwischen entsprechenden Zeit/Frequenzkacheln der Eingangssignale L(t, f) und R(t, f), so dass: ITD = arg(max(&rgr;(L, R))), wobei &rgr;(L, R) die Kreuzkorrelationsfunktion zwischen den Eingangssignalen L(t, f) und R(t, f) bezeichnet.

Die gesamte Zeitverschiebung (OTD) kann auf zwei verschiedene Weisen definiert werden: als eine Zeitdifferenz zwischen dem Summensignal S und dem linken Eingangssignal L, oder als eine Zeitdifferenz zwischen dem Summensignal S und dem rechten Eingangssignal R. Es ist bequem, die OTD in Bezug auf das stärkere (d.h. mit höherer Energie) Eingangssignal zu messen, was Folgendes ergibt:

wenn |L| > |R|, OTD = arg(max(&rgr;(L, S))); sonst OTD = arg(max(&rgr;(R, S))); Ende.

Die OTD Werte können daraufhin quantisiert und dem Bitstrom hinzugefügt werden. Es hat sich herausgestellt, dass ein Quantisierungsfehler in der Größenordnung von &pgr;/8 rad akzeptabel ist. Dies ist ein relativ großer Quantisierungsfehler im vergleich zu dem Fehler, der für die ITD Werte akzeptabel ist. Folglich enthält der räumliche Parameterbitstrom eine ILD, eine ITD, eine OTD und einen Korrelationswert für einige oder für alle Frequenzbänder. Es sei bemerkt, dass nur für diejenigen Frequenzbänder, bei denen ein ITD Wert übertragen wird, eine OTD notwendig ist.

Der Decoder bestimmt die notwendige Phasenmodifikation der Ausgangskanäle auf Basis der ITD, der OTD und der ILD, was zu der Zeitverschiebung für den linken Kanal (TSL) und für den rechten Kanal (TSR):

Wenn ILD > 0 (was bedeutet |L| > |R|), TSL = OTD; TSR = OTD – ITD; Sonst TSL = OTL + ITL; TSR = OTD; Ende.

Einzelheiten der Implementierung der Ausführungsform

Es dürfte einleuchten, dass ein kompletter Audiocodierer typischerweise als Eingang zwei analoge in der Zeit variierende Audiofrequenzsignale nimmt, diese Signale digitalisiert, ein Mono-Summensignal erzeugt und danach einen Ausgangsbitstrom erzeugt, der das codierte Monosignal und die räumlichen Parameter umfasst. (Auf alternative Weise kann das Eingangssignal von zwei bereits digitalisierten Signalen hergeleitet werden). Dem Fachmann dürfte es einleuchten, dass Vieles des Nachstehenden unter Anwendung bekannter Techniken einfach implementiert werden kann.

Analysenmethoden

Im Allgemeinen umfasst der Codierer 10 betreffende Transformationsmodule 20, die jedes eintreffende Signal (L, R) in Teilbandsignal 16 aufteilen (vorzugsweise mit einer Bandbreite, die mit der Frequenz zunimmt). In der bevorzugten Ausführungsform benutzen die Module 20 Zeitfensterung mit nachfolgender Transformation zum Durchführen von Zeit/Frequenz-Slicing, aber es könnten auch zeitkontinuierliche Methoden angewandt werden (beispielsweise Filterbanken).

Die nächsten Schritte zur Ermittlung des Summensignals 12 und zum Extrahieren der Parameter 14 werden innerhalb eines Analysenmoduls 18 durchgeführt und umfassen:

  • – das Herausfinden der Pegeldifferenz (ILD) entsprechender Teilbandsignals 16,
  • – das Herausfinden der Zeitdifferenz (ITD oder IPD) entsprechender Teilbandsignale 16, und
  • – das Beschreiben des Betrags an Ähnlichkeit oder Unähnlichkeit der Wellenformen, die durch ILDen oder ITDen nicht nachgewiesen werden können.

Analyse von ILDen

Die ILD wird durch die Pegeldifferenz der Signale zu einem bestimmten Zeitpunkt für ein bestimmtes Frequenzband ermittelt. Eine Methode zum Ermitteln der ILD ist, den rms-Wert des entsprechenden Frequenzbandes beider Eingangskanäle zu messen und das Verhältnis dieser rms-Werte (vorzugsweise in dB ausgedrückt) zu berechnen.

Analyse der ITDen

Die ITDen werden durch die Zeit- oder Phasenausrichtung ermittelt, was die beste Übereinstimmung zwischen den Wellenformen der beiden Kanäle ergibt. Eine Methode zum Erhalten der ITD ist, die Kreuzkorrelationsfunktion zwischen zwei entsprechenden Teilbandsignalen zu berechnen und nach dem Maximum zu suchen. Die Verzögerung, die diesem Maximum in der Kreuzkorrelationsfunktion entspricht, kann als ITD-Wert angewandt werden.

Eine zweite Methode ist, die analytischen Signale des linken und des rechten Teilbandes zu berechnen (d.h. die Phasen- und Umhüllendenwerte zu berechnen) und die Phasendifferenz zwischen den Kanälen als IPD-Parameter zu verwenden. In dem vorliegenden Fall wird eine komplexe Filterbank (beispielsweise ein FFT) verwendet und dadurch, dass auf einen bestimmten Behälter geachtet wird (Frequenzgebiet) kann eine Funktion in der Zeit hergeleitet werden. Dadurch, dass dies für den linken sowie rechten Kanal gemacht wird, kann die Phasendifferenz IPD (statt Kreuzkorrelation von zwei gefilterten Signalen) geschätzt werden.

Analyse der Korrelation

Die Korrelation wird dadurch erhalten, dass zunächst die ILD und die ITD gefunden wird, was die beste Übereinstimmung zwischen den entsprechenden Teilbandsignalen ergibt und dass daraufhin die Ähnlichkeit der Wellenformen nach Kompensation der ITD und/oder ILD gemessen wird. Auf diese Weise wird in diesem System die Korrelation als die Ähnlichkeit oder Unähnlichkeit entsprechender Teilbandsignale definiert, was den ILDen und/oder den ITDen nicht zugeschrieben werden kann. Ein geeignetes Maß für diesen Parameter ist die Kohärenz, die der maximale Wert der Kreuzkorrelationsfunktion über einen Satz von Verzögerungen ist. Aber andere Maße könnten auch angewandt werden, wie die relative Energie des Differenzsignals nach der ILD- und/oder ITD-Kompensation im Vergleich zu dem Summensignal der entsprechenden Teilbänder (vorzugsweise auch für ILDen und/oder ITden). Dieser Differenzparameter ist im Grunde eine lineare Information der (maximalen) Korrelation.

Parameterquantisierung

Ein wichtiges Thema in der Übertragung von Parametern ist die Genauigkeit der Parameterdarstellung (d.h. die Größe der Quantisierungsfehler), die unmittelbar mit der erforderlichen Übertragungskapazität und der Audioqualität im Zusammenhang steht. In diesem Abschnitt werden verschiedene Themen in Bezug auf die Quantisierung der räumlichen Parameter beschrieben. Die beste Idee ist, die Quantisierungsfehler auf sog. gerade noch wahrnehmbaren Differenzen (JNDen) der räumlichen Programmaufrufe zu basieren. Mit anderen Worten: der Quantisierungsfehler wird durch die Empfindlichkeit des menschlichen Hörsystems für Änderungen in den Parametern bestimmt. Da es durchaus bekannt ist, dass die Empfindlichkeit für Änderungen in den Parametern stark abhängig ist von den Werten der Parameter selber, werden die nachfolgenden Methoden zum Bestimmen der diskreten Quantisierungsschritte angewandt.

Quantisierung der ILDen

Aus psychoakustischen Forschungsarbeiten ist es bekannt, dass die Empfindlichkeit für Änderungen in der ILD von der ILD selber abhängig ist. Wenn die ILD in dB ausgedrückt wird, sind Abweichungen von etwa 1 dB von einem bezugswert von 0 dB detektierbar, während Änderungen in der Größenordnung von 3 dB erforderlich sind, wenn die Bezugspegeldifferenz 20 dB beträgt. Deswegen können Quantisierungsfehler größer sein, wenn die Signale des linken und rechten Kanals eine größere Pegeldifferenz haben. Dies kann beispielsweise dadurch angewandt werden, dass zunächst die Pegeldifferenz zwischen den Kanälen gemessen wird, wonach eine nicht lineare (kompressive) Transformation der erhaltenen Pegeldifferenz und daraufhin ein linearer Quantisierungsprozess stattfindet, oder dadurch, dass eine Nachschlagtabelle für die verfügbaren ILD Werte verwendet wird, die eine nicht lineare Verteilung haben. In der bevorzugten Ausführungsform werden ILDen (in dB) zu dem nächst liegenden Wert des nachfolgenden Satzes I quantisiert: I = [–19 –16 –13 –10 –8 –6 –4 –2 0 2 4 6 8 10 13 16 19]

Quantisierung der ITDen

Die Empfindlichkeit für Änderungen in den ITDen menschlicher Subjekte kann als konstante Phasenschwelle gekennzeichnet werden. Dies bedeutet, dass in Termen von Verzögerungszeiten die Quantisierungsschritte für die ITD mit der Frequenz abnehmen sollen. Auf alternative Weise sollen, wenn die ITD in Form von Phasendifferenzen dargestellt wird, die Quantisierungsschritte unabhängig von der Frequenz sein. Ein Verfahren um dies zu implementieren wäre, eine feste Phasendifferenz als Quantisierungsschritt zu nehmen und die entsprechende Zeitverzögerung für jedes Frequenzband zu ermitteln. Dieser ITD Wert wird dann als Quantisierungsschritt benutzt. In der bevorzugten Ausführungsform werden ITD Quantisierungsschritte durch eine konstante Phasendifferenz in jedem Teilband von 0,1 rad ermittelt. Auf diese Weise wird für jedes Teilband die Zeitdifferenz, die 0,1 rad des Teilbandmittenfrequenz entspricht, als Quantisierungsschritt verwendet.

Ein anderes Verfahren wäre, Phasendifferenzen zu übertragen, die einem frequenzunabhängigen Quantisierungsschema folgen. Es ist ebenfalls bekannt, dass über einer bestimmten Frequenz das menschliche Hörsystem nicht empfindlich ist für ITden in den fein strukturierten Wellenformen. Dieses Phänomen kann dadurch ausgenutzt werden, dass nur ITD Parameter bis zu einer bestimmten Frequenz (typischerweise 2 kHz) übertragen werden.

Ein drittes Verfahren der Bitstromreduktion ist, ITD Quantisierungsschritte zu reduzieren, die von der ILD und/oder den Korrelationsparametern desselben Teilbandes abhängig sind. Für große ILDen können die ITDen weniger genau codiert werden. Weiterhin ist es bekannt, wenn die Korrelation sehr niedrig ist, dass die menschliche Empfindlichkeit für Änderungen in der ITD reduziert wird. Folglich können größere ITD Quantisierungsfehler angewandt werden, wenn die Korrelation klein ist. Ein extremes Beispiel dieser Idee ist, überhaupt keine ITDen zu übertragen, wenn die Korrelation unterhalb einer bestimmten Schwelle liegt.

Quantisierung der Korrelation

Der Quantisierungsfehler der Korrelation ist abhängig von (1) dem Korrelationswert selber und möglicherweise (2) von der ILD. Korrelationswerte nahe bei +1 werden mit einer hohen Genauigkeit codiert (d.h. ein kleiner Quantisierungsschritt), während Korrelationswerte nahe bei 0 mit einer geringen Genauigkeit codiert werden (ein großer Quantisierungsschritt). In der bevorzugten Ausführungsform werden ein Satz nicht linear verteilter Korrelationswerte (r) zu dem nächst liegenden Wert des nachfolgenden Gebildes R quantisiert: R = [1 0,95 0,9 0,82 0,75 0,6 0,3 0] und dies kostet weitere 3 Bits je Korrelationswert.

Wenn der absolute Wert der (quantisierten) ILD des aktuellen Teilbandes 19 dB beträgt, werden werde eine ITD noch Korrelationswerte für dieses Teilband übertragen. Wenn der (quantisierte) Korrelationswert eines bestimmten Teilbandes Null beträgt, wird kein ITD Wert für dieses Teilband übertragen.

Auf diese Art und Weise erfordert jedes Frame ein Maximum von 233 Bits zum Übertragen der räumlichen Parameter. Mit einer Aktualisierungsframelänge von 1024 Abtastwerten und einer Abtastrate von 44,1 kHz beträgt die maximale Bitrate für Übertragung weniger als 10,25 kb/s [233·44100/1024 = 10,034 kb/s]. (Es sei bemerkt, dass durch Anwendung von Entropiecodierung oder Differentialcodierung diese Bitrate weiter reduziert werden kann).

Eine zweite Möglichkeit ist, Quantisierungsschritte für die Korrelation zu verwenden, die von der gemessenen ILD desselben Teilbandes abhängig sind: für große ILDs (d.h. nur ein Kanal ist in Termen von Energie dominant), die Quantisierungsfehler in der Korrelation werden größer. Ein extremes Beispiel dieses Prinzips wäre, überhaupt keine Korrelationswerte für ein bestimmtes Teilband zu übertragen, wenn der Absolutwert der ILD für dieses Teilband über einer bestimmten Schwelle liegt.

In Bezug auf 4 sind, detailliert, in den Modulen 20 das linke und das rechte eintreffende Signal in mehrere Zeitframes (2048 Abtastwerte bei einer Abtastrate von 44,1 kHz) aufgeteilt und mit einer Quadratwurzel Hanning-Fenster gefenstert. Daraufhin werden FFTen berechnet. Die negativen FFT Frequenzen werden abgelegt und die resultierenden FFTen werden in Gruppen oder Teilbänder 16 von FFT Bins aufgeteilt. Die Anzahl FFT Bins, die zu einem Teilband g kombiniert werden, ist von der Frequenz abhängig: bei höheren Frequenzen werden mehr Bins kombiniert als bei niedrigeren Frequenzen. In der vorliegenden Implementierung werden FFT Bins entsprechend etwa 1,8 ERBs gruppiert, was zu 20 Teilbändern führt, um den ganzen hörbaren Frequenzbereich darzustellen. Die resultierende Anzahl FFT Bins S[g] jedes nachfolgenden Teilbandes (startend bei der niedrigsten Frequenz) ist: S = [4 4 4 5 6 8 9 12 13 17 21 25 30 38 45 55 68 82 100 477]

Auf diese Weise enthalten die ersten drei Teilbänder 4 FFT Bins, das vierte Teilband enthält 5 FFT Bins usw. Für jedes Teilband berechnet das Analysenmodul entsprechende ILD, ITD und Korrelation (r). Die ITD und die Korrelation werden einfach dadurch berechnet, dass alle FFT Bins, die zu anderen Gruppen gehören, auf Null gesetzt werden, wobei die resultierenden (bandbegrenzten) FFTen von dem linken und dem rechten Kanal multipliziert werden, wonach eine invertierte FFT Transformation folgt. Die resultierende Kreuzkorrelationsfunktion wird für eine Spitze innerhalb einer Interkanalverzögerung zwischen –64 und +63 Abtastwerten abgetastet. Die interne Verzögerung entsprechend der Spitze wird als ITD Wert verwendet, und der Wert der Kreuzkorrelationsfunktion bei dieser Spitze wird als diese interaurale Korrelation des Teilbandes verwendet. Zum Schluss wird die ILD einfach dadurch berechnet, dass das Leistungsgewicht des linken und rechten Kanals für jedes Teilband genommen wird.

Erzeugung des Summensignals

Der Analysator 18 enthält einen Summensignalgenerator 17. Der Summensignalgenerator erzeugt ein Summensignal, das ein Mittelwert der Eingangssignale ist. (In anderen Ausführungsformen kann die zusätzliche Verarbeitung in der Erzeugung des Summensignals durchgeführt werden, einschließlich beispielsweise der Phasenkorrektur. Nötigenfalls kann das Summensignal in die Zeitdomäne umgewandelt werden, und zwar durch: (1) Einfügung komplexer Paarungen mit negativen Frequenzen, (2) invertierte FFT, (3) Fensterung und (4) Überlappung/Hinzufügung.

Wenn nun die Darstellung des Summensignals 12 in der Zeitdomäne und/oder in der Frequenzdomäne, wie oben beschrieben, gegeben wird, so kann das Signal in einer Monoschicht 40 eines Bitstroms 50 auf jede beliebige Art und Weise codiert werden. So kann beispielsweise ein mp3 Codierer verwendet werden zum Erzeugen der Monoschicht 40 des Bitstroms. Wenn ein derartiger Codierer schnelle Änderungen in einem Eingangssignal detektiert, kann er die Fensterlänge ändern, die er für diese bestimmte Zeitperiode verwendet um die Zeit- und oder die Frequenzlage zu verbessern, wenn dieser Teil des Eingangssignals codiert wird. Es wird dann ein Fensterumschaltmerker in den Bitstrom eingebettet um einem Decoder, der später das Signal synthetisiert, diesen Schalter anzukündigen.

In der bevorzugten Ausführungsform aber wird ein sinusförmiger Codierer 30 von dem in WO 01/69593-a1 beschriebenen Typ verwendet um die Monoschicht 40 zu erzeugen. Der Codierer 30 umfasst einen Übergangscodierer 11, einen sinusförmigen Codierer 13 und einen Rauschcodierer 15. Der Übergangscodierer ist in dieser Ausfürungsform ein fakultatives Element.

Wenn das Signal 12 in den Übergangscodierer 11 eintrifft, schätzt der Codierer für jedes Aktualisierungsintervall, ob es einen Übergangssignalanteil gibt und die Lage desselben (gegenüber der Abtastgenauigkeit) innerhalb des Analysenfensters. Wenn die Lage eines Übergangssignalanteils ermittelt wird, versucht der Codierer 11 den Übergangssignalanteil (oder den Hauptteil davon) zu extrahieren. Er vergleicht eine Formfunktion mit einem Signalsegment, vorzugsweise startend aus einer geschätzten Startposition, und ermittelt Content unter der Formfunktion, indem beispielsweise eine (geringe) Anzahl sinusförmiger Anteile benutz werden und diese Information befindet sich in dem Übergangscode CT.

Das Summensignal 12 abzüglich des Übergangsanteils wird dem sinusförmigen Codierer 13 zugeführt, wo es zum Ermitteln der (deterministischen) sinusförmigen Anteile analysiert wird. Kurz gesagt, codiert der sinusförmige Codierer das Eingangssignal als Spuren von sinusförmigen Anteilen, die von dem einen Framesegment zu dem nächsten gekoppelt sind. Die Spuren werden zunächst durch eine Startfrequenz, eine Startamplitude und eine Startphase für einen sinusförmigen Anfang in einem bestimmten Segment – eine Geburt – dargestellt. Danach wird die Spur in aufeinander folgenden Segmenten durch Frequenzdifferenzen, Amplitudendifferenzen und, möglicherweise Phasendifferenzen (Fortsetzungen) dargestellt, bis an das Segment, in dem die Spur endet (Tod) und diese Information befindet sich in dem sinusförmigen Code CS.

Es wird vorausgesetzt, dass das Signal abzüglich des Übergangsanteils und des sinusförmigen Anteils vorwiegend Rauschwerte aufweist und der Rauschanalysator 15 der bevorzugten Ausführungsform erzeugt einen Rauschcode CN, der für dieses Rauschen repräsentativ ist. Auf herkömmliche Art und Weise, wie beispielsweise in WO 01/89086-A1 wird ein Spektrum des Rauschsignals durch den Rauschcodierer mit kombinierten AR (autoregressiven) MA (Bewegungsmittelwert) Filterparametern (pi, qi) entsprechend einer "Equivalent Rectangular Bandwith" (ERB) Skala modelliert. In einem Decoder werden die Filterparameter einem Rauschsynthesizer zugeführt, der hauptsächlich ein Filter ist mit einem Frequenzgang, der dem Spektrum des Rauschsignals nähert. Der Synthesizer erzeugt rekonstruierte Rauschsignale durch Filterung eines Weißrauschsignals mit den ARMA Filterparametern (pi, qi) und fügt dies daraufhin den synthetisierten Übergangs- und Sinussignalen zu zum Erzeugen einer Schätzung des ursprünglichen Summensignals.

Der Multiplexer 41 erzeugt die Mono-Audioschicht 40, die in Frames 42 aufgeteilt wird, die Überlappungszeitsegmente mit einer Länge von 16 ms darstellen und die alle 8 ms aktualisiert werden, siehe 6. Jedes Frame umfasst betreffende Cndes CT, CS und CN und in einem Decoder werden die Codes für aufeinander folgende Frames in ihren Überlappungsgebieten gemischt, wenn das Monosummensignal synthetisiert wird. In der vorliegenden Ausführungsform wird vorausgesetzt, dass jedes Frame nur einen einzigen Übergangscode CT aufweisen darf und ein Beispiel eines derartigen Übergangs ist durch das Bezugszeichen 44 angegeben.

Der Analysator 18 umfasst weiterhin einen räumlichen Parameterschichtgenerator 19. Dieses Element führt die Quantisierung der räumlichen Parameter für jedes räumliche Parameterframe durch, wie oben beschrieben. Im Allgemeinen verteilt der Generator 19 jeden räumlichen Schichtkanal 14 in Frames 46, die überlappende Zeitsegmente mit einer Länge von 64 ms darstellen und die alle 32 ms aktualisiert werden, siehe 4. Jedes Frame umfasst eine ILD, eine ITD und eine OTD sowie einen Korrelationswert (r) und in dem Decoder werden die Werte für aufeinander folgende Frames in ihren Überlappungsgebieten gemischt zum Ermitteln der räumlichen Schichtparameter für jede beliebige gegebene Zeit, wenn das Signal synthetisiert wird.

In der bevorzugten Ausführungsform werden Übergangsstellen, die von dem Übergangscodierer 11 in der Monoschicht 40 (oder durch ein entsprechendes Analysatormodul in dem summierten Signal 12) detektiert sind, von dem Generator 19 verwendet um zu ermitteln, ob nicht einheitliche Zeitsegmentierung in der (den) räumlichen Parameterschicht(en) 14 erforderlich ist. Wenn der Codierer einen mp3 Codierer verwendet zum Erzeugen der Monoschicht, wird das Vorhandensein eines das Fenster schaltenden Merkers in dem Monostream von dem Generator als eine Schätzung einer Übergangsstelle benutzt.

Zum Schluss werden, wenn die Monoschicht 40 und die räumliche Darstellungsschicht 14 einmal erzeugt worden sind, diese Schichten ihrerseits durch einen Multiplexer 43 in einen Bitstrom 50 geschrieben. Dieser Audiostrom 50 wird seinerseits beispielsweise einem Datenbus, einem Antennensystem, einem Speichermedium usw. zugeführt.

In 5 umfasst ein Decoder 60 zur Verwendung in Kombination mit einem oben beschriebenen Codierer einen Demultiplexer 62, der einen eintreffenden Audiostrom 50 in die Monoschicht 40' und in diesem Fall eine einzige räumliche Darstellungsschicht 14' aufteilt. Die Monoschicht 40' wird von einem herkömmlichen Synthesizer 64 ausgelesen, und zwar entsprechend dem Codierer, der die Schicht erzeugte zum Schaffen einer Zeitdomänenschätzung des ursprünglichen summierten Signals 12'.

Räumliche Parameter 14', die von dem Demultiplexer 62 extrahiert wurden, werden danach von einem Nachbearbeitungsmodul 66 zu dem Summensignal 12 hinzugefügt, und zwar zum Erzeugen des linken und rechten Ausgangssignals. Das Nachbearbeitungsmodul der bevorzugten Ausführungsform liest auch die Information der Monoschicht 14' zum Orten der Positionen von Übergängen in diesem Signal und verarbeitet sie auf geeignet Art und Weise. Dies ist selbstverständlich nur dann der Fall, wenn derartige Übergänge in dem Signal codiert worden sind. (Auf alternative Weise könnte der Synthesizer 64 eine derartige Angabe dem Postprozessor zuführen, obschon dies aber eine gewisse Modifikation des sonst herkömmlichen Synthesizers 64 erfordern würde).

Innerhalb des Postprozessors 66 wird vorausgesetzt, dass eine Frequenzdomänendarstellung des Summensignals 12', wie in dem Analysenteil beschrieben, zur Verarbeitung verfügbar ist. Diese Darstellung kann durch Fensterung und durch FFT-Vorgänge der von dem Synthesizer 64 erzeugten Zeitdomänenwellenform erhalten werden. Danach wird das Summensignal in die linke und rechte Ausgangssignalstrecke hineinkopiert. Daraufhin wird die Korrelation zwischen dem linken und dem rechten Signal mit einem Dekorrelator 69', 69'' unter Verwendung des Parameters r modifiziert.

Danach wird in den betreffenden Stufen 70', 7'' jedes Teilband des linken Signals um den Wert TSL verzögert und das rechte Signal wird um TSR verzögert, wobei der (quantisierte) Wert von den Werten von OTD und ITD gegeben wird, extrahiert aus dem Bitstrom, entsprechend diesem Teilband. Die Werte von TSL und TSR werden entsprechend der oben gegebenen Formel berechnet. Zum Schluss werden das linke und das rechte Teilband entsprechend dem ILD für dieses Teilband in den betreffenden Stufen 71', 71'' skaliert. Die betreffenden Stufen 72', 72'' verwandeln danach die Ausgangssignale in die Zeitdomäne, indem die nachfolgenden Schritte durchgeführt werden: (1) das Einfügen komplexer Paarungen bei negativen Frequenzen, (2) invertierte FFT, (3) Fensterung, und (4) Überlappung-Hinzufügung.

Als eine Alternative zu dem oben stehenden Codierungsschema gibt es viele andere Möglichkeiten, die Phasendifferenz zu codieren. So können beispielsweise die Parameter eine ITD enthalten und einen bestimmten Verteilungsschlüssel, beispielsweise x. Danach könnte die Phasenänderung des linken Kanals als x·ITD codiert werden, während die Phasenänderung des rechten Kanals als (1 – x)·ITD codiert werden könnte. Es dürfte einleuchten, dass andere Codierungsschemen angewandt werden können zum Implementieren von Ausführungsformen der vorliegenden Erfindung, Es hat sich herausgestellt, dass die vorliegende Erfindung in spezieller Hardware, in Software, die in einem DSP ("Digital Signal Processor") oder in einem Allzweckcomputer läuft, implementiert werden kann. Die vorliegende Erfindung kann in einem fühlbaren Medium, wie einer CD-ROM oder einer DVD-ROM mit einem Computerprogramm zum Durchführen eines Codierungsverfahrens nach der vorliegenden Erfindung verkörpert werden kann. Die vorliegende Erfindung kann auch als ein Signal verkörpert sein, das über ein Datennetzwerk, wie das Internet, übertragen wird, oder als ein Signal, das von einer Senderanstalt übertragen wird. Die vorliegende Erfindung findet besondere Anwendung in dem Bereich von Internet-Herunterladung, Internetradio, "Solid State Audio" (SSA), Bandbreitenerweiterungsschemen, beispielsweise mp3 PRO, CT-aacPlus (siehe www.codingtechnologies.com) und in den meisten Audiocodierungschemen.

Text in der Zeichnung Fig. 1

  • Zeit

Fig. 2

  • Decoderausgangssignal L
  • Decoderausgangssignal R
  • Decodereingangssignal
  • Decoderausgangssignal R
  • Decoderausgangssignal L
  • Decodereingangssignal

Fig. 3

  • Zeit


Anspruch[de]
Verfahren zum Codieren eines Audiosignals, wobei das Verfahren Folgendes umfasst:

– das Erzeugen eines Mono-Signals aus wenigstens zwei Audio-Eingangskanälen;

– das Erzeugen eines codierten Signals, das das Mono-Signal und einen Satz aus Parametern aufweist um die Wiedergabe zweier Audio-Ausgangssignale zu ermöglichen, die je einem betreffenden Eingangskanal entsprechen;

dadurch gekennzeichnet, dass

– die Parameter eine Angabe einer Gesamtverschiebung umfassen, wobei dies ein Maß der Verzögerung zwischen dem codierten Mono-Ausgangssignal und einem der Eingangssignale ist.
Verfahren nach Anspruch 1, wobei zur Übertragung eine lineare Kombination der Gesamtverschiebung und einer Zwischenkanalphase oder Zeitdifferenz verwendet wird. Verfahren nach Anspruch 1, wobei die Gesamtverschiebung eine Gesamtzeitverschiebung ist. Verfahren nach Anspruch 1, wie die Gesamtverschiebung eine Gesamtphasenverschiebung ist. Verfahren nach Anspruch 1, wobei die Gesamtverschiebung durch die am besten passende Verzögerung (oder Phase) zwischen dem völlig codierten Mono-Ausgangssignal und einem der Eingangssignale bestimmt wird. Verfahren nach Anspruch 5, wobei die am besten passende Verzögerung mit dem Maximum in der Kreuzkorrelationsfunktion zwischen entsprechenden Zeit/Frequenzstapeln der Eingangssignale übereinstimmt. Verfahren nach Anspruch 1, wobei die Gesamtverschiebung in Bezug auf das Eingangssignal größerer Amplitude berechnet wird. Verfahren nach Anspruch 1, wobei die Phasendifferenz mit einem kleineren Quantisierungsfehler als die Gesamtverschiebung codiert wird. Codierer zum Codieren eines Audiosignals, der Folgendes umfasst:

– Mittel zum Erzeugen eines Mono-Signals aus wenigstens zwei Audio-Eingangssignalen;

– Mittel zum Erzeugen eines codierten Signals, das das Mono-Signal und Parameter aufweist um eine Wiedergabe zweier Audiosignale zu ermöglichen, die je einem betreffenden Eingangskanal entsprechen;

dadurch gekennzeichnet, dass

– die Parameter umfassen eine Angabe einer Gesamtverschiebung, wobei dies ein Maß der Verzögerung zwischen dem codierten Mono-Ausgangssignal und einem der Eingangssignale ist.
Gerät zum Liefern eines Audiosignals, wobei das Gerät Folgendes umfasst:

– einen Eingang zum Empfangen eines Audiosignals,

– einen Codierer nach Anspruch 9 zum Codieren des Audiosignal zum Erhalten eines codierten Audisignals, und

– einen Ausgang zum Liefern des codierten Audiosignals.
Codiertes Audiosignal, wobei das Signal Folgendes umfasst:

– ein Mono-Signal, hergeleitet von wenigstens zwei Audio-Eingangskanälen;

– ein codiertes Signal, das das Mono-Signal und Parameter umfasst um eine Wiedergabe zweier Audio-Ausgangssignale zu ermöglichen, die je einem betreffenden Eingangskanal entsprechen;

dadurch gekennzeichnet, dass

– die Parameter eine Angabe der Gesamtverschiebung umfassen, wobei dies ein Maß der Verzögerung zwischen dem codierten Mono-Ausgangssignal und einem der Eingangssignale ist.
Codiertes Audiosignal nach Anspruch 11, wobei zur Übertragung eine lineare Kombination der Gesamtverschiebung und einer Zwischenkanalphase oder Zeitdifferenz verwendet wird. Verfahren zum Decodieren eines codierten Audiosignals, das wenigstens zwei Audiokanäle darstellt, wobei das codiere Audiosignal ein codiertes Mono-Signal und räumliche Parameter umfasst, dadurch gekennzeichnet, dass das codiere Signal Parameter umfasst, die für eine Gesamtverschiebung indikativ sind, die ein Maß der Verzögerung zwischen dem codierten Mono-Ausgangssignal und einem der Audiokanäle ist, und dass das Verfahren die Erzeugung eines Stereopaares von Ausgangs-Audiosignalen umfasst, die in der Zeit und in der Phase um ein Intervall versetzt sind, spezifiziert durch die Parameter. Decoder zum decodieren eines codierten Audiosignals, das wenigstens zwei Audiokanäle darstellt, wobei das codiere Audiosignal ein codiertes Mono-Signal und räumliche Parameter umfasst, dadurch gekennzeichnet, dass das codierte Audiosignal Parameter aufweist, die für eine Gesamtverschiebung indikativ sind, die ein Maß der Verzögerung zwischen dem codierten Mono-Signal und einem der Audiokanäle ist, und dass der Decoder Mittel aufweist zum Erzeugen eines Stereopaares von Ausgangs-Audiosignalen, die in der Zeit und in der Phase um ein Intervall versetzt sind, spezifiziert durch die Parameter. Decoder nach Anspruch 14, wobei eine lineare Kombination der Gesamtverschiebung und einer Zwischenkanal-Zeit- oder Phasendifferenz zur Übertragung verwendet wird. Gerät zum Liefern eines decodierten Audiosignals, wobei das Gerät Folgendes umfasst:

– einen Eingang zum Empfangen eines codierten Audiosignals,

– einen Decoder nach Anspruch 14 zum Decodieren des codierten Audiosignals zum Erhalten eines Mehrkanal-Ausgangssignals,

– einen Ausgang zum Liefern oder Wiedergeben des Mehrkanal-Ausgangssignals.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com