-
Die
Erfindung betrifft das Kodieren eines Audiosignals.
-
Nach
dem Stand der Technik wurden viele Sprach- und Musikkodierverfahren
beschrieben. Unter den bekannten Verfahren zum Audiokodieren gibt
es transformationsbasierte Audiokodiersysteme, welche eine adaptive
Bitzuteilung einsetzen. Bei derartigen adaptiven Bitzuteilungssystemen
variiert die Bandbreite, welche kodiert werden kann, bei gegebenem
verfügbaren
Bitbudget gemäß dem Spektralaufbau
der verschiedenen Segmente in dem Audiosignal für alle gegebenen Audiodatenblöcke. Mit
Audiodatenblock ist ein bestimmter aufeinanderfolgender Audioblock
gemeint, wie beispielsweise ein Audioblock von 24 ms. Da es nicht
möglich
ist, einen einzigen Wert für
die kodierte Bandbreite zu finden, welcher für alle Audiodatenblöcke in Bezug auf
die Audioqualität
bei einer gegebenen Bitrate optimal ist, tritt von Datenblock zu
Datenblock ein Umschalten der Bandbreite auf. Bedauerlicherweise
kann ein Umschalten der kodierten Bandbreite oft störende Artefakte
einführen.
-
Bei
manchen aktuellen Schemata wird die volle Audiobandbreite (hier
mit 22,04 kHz entsprechend einer Abtastrate von 44,1 kHz angenommen)
bei hohen Bitraten kodiert und rekonstruiert. Wenn jedoch bei geringeren
Bitraten ein Versuch unternommen wird, die volle Bandbreite zu kodieren,
wird die Verzerrung dann gesteigert. An einem gewissen Punkt wird
es ratsam, die Audiobandbreite um einen bestimmten Betrag zu reduzieren
und Bits neu zuzuordnen, um diese reduzierte Bandbreite auf eine
genauere Weise zu kodieren und dadurch, wenngleich über einen
begrenzten Frequenzbereich hinweg, die Artefakte zu reduzieren.
Bei MPEG-1-Layer-3-Kodierern (MP3-Kodierern) wird beispielsweise
die Bandbreite halbiert (auf ungefähr 11 kHz), wenn die gewünschte Bitrate
auf 32 kB/s gesenkt wird. Auch AAC weist eine Einrichtung zum Vermindern der
Bandbreite auf, wenn Bitraten zunehmend reduziert werden. Dies wird
unter Verwendung von geschichteten Kodieransätzen erzielt, wodurch die Schichten,
welche die höheren
Frequenzen darstellen, zuerst fallengelassen werden. Ein Reduzieren
der Signalbandbreite ist deshalb eine gewöhnlich bei Wellenformkodieren eingesetzte
Lösung.
-
WO
97/31 367 (AT&T
Corp.) offenbart einen Sprachkodierer unter Verwendung von LPC (linearer
prädiktiver
Kodierung) und einem zusätzlichen
Tonhöhenextraktor,
um Sprache zu kodieren. Ein Rest wird nachfolgend mit einem Transformationskodierer
kodiert. Es kann passieren, dass beim Kodieren des Rests so wenige
Bits verfügbar
sind, dass bestimmte Transformationskoeffizienten überhaupt
keine Bits bekommen, d.h. auf Null gesetzt werden. Wenn ein Kodieren
des Rests auftritt, wird für
diese Restinformationen eine Rauschfüllung ausgeführt, doch
die fraglichen Bänder
werden ohne unabhängig
dekodierbare Informationen bereitgestellt, um andere Schemata als
das für
den Hauptteil verwendete spezifische LPC-Kodierschema zu aktivieren. Weiterhin
wird dieser Rauschfüllungsalgorithmus
nicht auf einer systematischen Basis hinsichtlich der Pegel des
Eingangssignals selbst ausgeführt,
sondern wird mit dem Rest ausgeführt – was zu
wechselnden Ergebnissen führt.
-
Es
ist ein Ziel der Ausführungsformen
der vorliegenden Erfindung, das Problem der Artefakt-Einführung zu
reduzieren, welches von dem Bandbreitenumschaltproblem verursacht
wird, ohne die Kodierbandbreite auf einen sicheren konservativen
Wert zu begrenzen, welcher benötigt
wird, um Umschaltartefakte zu vermeiden.
-
Gemäß einem
ersten Gesichtspunkt der Erfindung wird ein Kodierverfahren eines
Audiosignals bereitgestellt, wobei das Verfahren Folgendes umfasst:
Aufteilen des Signals in eine Vielzahl von Frequenzbändern; Vergleichen
der Amplituden des Signals in den verschiedenen frequenzgeteilten
Bändern
mit jeweiligen Schwellenwerten; und Kodieren des Signals der aufgeteilten
Frequenzbänder
auf einer Prioritätsgrundlage, derartig
dass Frequenzbänder,
bei welchen die Amplitude des Signals in dem bestimmten Frequenzband
ihren jeweiligen Schwellenwert um einen größten Betrag übersteigt,
gemäß eines
gegebenen Kodierschemas kodiert werden, wohingegen anderen Frequenzbändern selektiv
ein Rauschfüllparameter
zugeteilt wird.
-
Das
Verfahren des ersten Gesichtspunkts weist dadurch bestimmte Vorteile
auf, dass eine Rauschfüllung
weniger signifikanter Bänder
auf eine Weise ausgeführt
werden kann, welche relativ unabhängig von dem Kodierschema ist,
welches für
die signifikanten Bänder
verwendet wird. Mit anderen Worten kann das Rauschfüllungsprinzip
auf die meisten Kodierverfahren angewendet werden.
-
Das
Verfahren ist insbesondere bei Kodierschemata effizient, welche
mit einem festen Bitbudget pro Zeitdatenblock arbeiten. Bei derartigen
Fällen
wird das Bitbudget auf eine prioritätsbasierte Weise zugeteilt, wobei
einige Bits derartig reserviert sind, dass, wenn zu wenige Bits
verbleiben, um ein Signal mit voller Audiobandbreite vollständig zu
kodieren, die verbleibenden Bits eingesetzt werden, um Rauschfüllparameter
für diese
unkodierten und wahrnehmungsmäßig weniger
relevanten Bänder
bereitzustellen.
-
Vorzugsweise
ist der Schwellenwert für
ein gegebenes Frequenzband etwas höher als die Amplitude, oberhalb
welcher für
das fragliche Band gemäß einem
psychoakustischen Modell dem menschlichen Ohr ein Rauschen wahrnehmbar
ist.
-
Manche
Schemata können
auch ins Auge gefasst werden, bei welchen das Bitbudget variabel
sein muss, bei welchen jedoch nur diejenigen Frequenzbänder kodiert
werden, welche Amplituden aufweisen, welche die Schwelle um mehr
als einen vorbestimmten Betrag übersteigen.
-
Weil
jedes psychoakustische Modell nur eine Repräsentation der Hörfähigkeiten
eines durchschnittlichen Hörers
ist, können
Schemata hoher Qualität
ins Auge gefasst werden, bei welchen manche Bänder sogar dann vollständig kodiert
werden können,
wenn sie einen Pegel der Signalamplitude unterhalb der Schwelle aufweisen.
Genauso können
effizientere Schemata implementiert werden, bei welchen ein Qualitätsverlust
akzeptabel ist – in
dem Fall kann ein Kodieren mancher Bänder, welche Signalamplituden
leicht oberhalb ihres jeweiligen Schwellenpegels aufweisen, akzeptabel
sein. Während
der oben stehend genannte, vorbestimmte Betrag vorzugsweise null
ist, kann er leicht positiv oder leicht negativ sein.
-
Vorzugsweise
wird jedem Frequenzband, für
welches die Amplitude des Signals des gegebenen Frequenzbands ihre
jeweilige Schwelle nicht um den vorbestimmten Betrag übersteigt,
ein einzelner Rauschfüllparameter
zugeteilt.
-
Vorzugsweise
umfasst der Rauschfüllparameter
eine Repräsentation
der Größenordnung
des Rauschens, welches in das jeweilige Frequenzband eingefügt wird.
Die Bereitstellung einer derartigen Repräsentation der Größenordnung
in unmittelbarer Verbindung mit dem Frequenzband gestattet, dass
eine hocheffiziente Rauschfüllungsoperation
ausgeführt
wird – es
ist hier immer der Fall, dass die Repräsentation der Größenordnung
an einem leicht wiederauffindbaren Ort kodiert wird, d.h. an dem
Punkt, an welchem die Signalinformationen für dieses Band gewöhnlich gefunden
werden.
-
Vorzugsweise
umfasst die Repräsentation
der Größenordnung
einen RMS-Wert,
welcher die durchschnittliche Amplitude des empfangenen Audiosignals über das
jeweilige Frequenzband hinweg repräsentiert.
-
Vorzugsweise
wird der Rauschfüllparameter
für Frequenzbänder, welchen
ein Rauschfüllparameter zugeteilt
ist, in einer Position in dem Ausgangssignal kodiert und bereitgestellt,
in welcher auf andere Weise kodierte Signalinformationen vorliegen
würden.
-
Vorzugsweise
wird eine Kennung bereitgestellt, welche jedem Band zugeordnet ist,
um anzugeben, ob ein Rauschfüllparameter
oder kodierte Signalinformationen vorliegen.
-
Vorzugsweise
ist die Kennung ein Parameter, welcher gewöhnlich verwendet wird, um eine
Anzahl der Quantisierungsebenen in den kodierten Signalinformationen
zu bezeichnen.
-
Falls
die Kennung eine Anzahl der Quantisierungsebenen von null bezeichnet,
kann diese dann so interpretiert werden, dass sie für das jeweilige
Band statt kodierten Signalinformationen einen Rauschfüllparameter
umfasst.
-
Gemäß einem
zweiten Gesichtspunkt der Erfindung wird ein Verfahren zum Dekodieren
eines Signals bereitgestellt, bei welchem das Signal gemäß des Verfahrens
des ersten Gesichtspunkts kodiert wird, wobei das Dekodierverfahren
Folgendes umfasst: Empfangen eines kodierten Audiosignals; Bestimmen
für ein
gegebenes Frequenzband des kodierten Signals, ob ein empfangenes
Signal kodierte Signalinformationen umfasst, welche die Amplitude
eines übertragenen
Signals innerhalb des gegebenen Frequenzbands betreffen, oder ob
es einen Rauschfüllparameter
umfasst; falls das empfangene Signal kodierte Signalinformationen
umfasst, Dekodieren der Informationen, um einen Ausgangsaudiosignalabschnitt
für dieses
Frequenzband herzustellen; und falls das empfangene Signal einen
Rauschfüllparameter
umfasst, Synthetisieren eines Ausgangsaudiosignalabschnitts für dieses
Frequenzband durch Ausgeben eines Rauschsignals über den Frequenzbereich dieses
Frequenzbands hinweg mit einer Amplitude, welche durch den Rauschfüllparameter
bezeichnet wird.
-
Gemäß einem
dritten Gesichtspunkt wird eine Audiokodiervorrichtung bereitgestellt,
welche zum Kodieren eines Eingangssignals angeordnet ist und ein
Aufteilungsmittel zum Aufteilen des Signals auf eine Vielzahl von
Frequenzbändern
umfasst; ein Vergleichsmittel zum Vergleichen von Amplituden des
Signals in den verschiedenen frequenzgeteilten Bändern mit jeweiligen Schwellenwerten
umfasst; und einen Kodierer zum Kodieren des Signals der aufgeteilten
Frequenzbänder
auf einer Prioritätsgrundlage
umfasst, derartig dass Frequenzbänder,
bei welchen die Amplitude des Signals in dem bestimmten Frequenzband
ihre jeweilige Schwelle um einen größten Betrag übersteigt,
gemäß einem
gegebenen Kodierschema kodiert werden, wobei die Vorrichtung dadurch
gekennzeichnet ist, dass anderen Frequenzbändern selektiv ein Rauschfüllparameter zugeteilt
ist.
-
Gemäß einem
vierten Gesichtspunkt der Erfindung wird eine Audiodekodiervorrichtung
zum Dekodieren eines kodierten Audiosignals bereitgestellt, wobei
die Dekodiervorrichtung Folgendes umfasst: ein Empfangsmittel zum
Empfangen eines kodierten Audiosignals; ein Ausführungsmittel, welches für ein gegebenes Frequenzband
des kodierten Signals angeordnet ist, um zu bestimmen, ob ein empfangenes
Signal kodierte Signalinformationen umfasst, welche die Amplitude
eines übertragenen
Signals innerhalb des gegebenen Frequenzbands betreffen, oder ob
sie einen Rauschfüllparameter
umfassen; falls das empfangene Signal kodierte Signalinformationen
umfasst, ein erstes Dekodiermittel zum Dekodieren der Informationen,
um einen Ausgangsaudiosignalabschnitt für dieses Frequenzband herzustellen;
und falls das empfangene Signal einen Rauschfüllparameter umfasst, ein zweites
Dekodiermittel zum Synthetisieren eines Ausgangsaudiosignalabschnitts
für dieses
Frequenzband durch Ausgeben eines Rauschsignals über den Frequenzbereich dieses
Frequenzbands hinweg mit einer Amplitude, welche durch einen Rauschfüllparameter
bezeichnet wird.
-
Gemäß einem
fünften
Gesichtspunkt der Erfindung wird ein kodiertes Audiosignal bereitgestellt,
wobei das Signal in eine Anzahl von Frequenzbändern aufgeteilt ist, wobei
eine erste Vielzahl der Frequenzbänder, welche kodierte Signalinformationen
umfassen, gemäß einem
gegebenen Kodierschema kodiert werden und eine zweite Vielzahl der
Frequenzbänder
einen Rauschfüllparameter
umfassen.
-
Gemäß einem
sechsten Gesichtspunkt der Erfindung wird ein Speichermedium bereitgestellt,
auf welchem ein kodiertes Audiosignal gemäß dem fünften Gesichtspunkts gespeichert
ist.
-
Für ein besseres
Verständnis
der Erfindung und um zu zeigen, wie Ausführungsformen derselben realisiert
werden können,
wird nun beispielhaft auf die beiliegenden schematischen Zeichnungen
verwiesen, bei welchen:
-
1 eine
stilisierte Ansicht des Frequenzaufbaus eines typischen Audiosegments
illustriert und weiterhin eine Maskierschwelle zeigt;
-
2 das
gleiche Signal wie 1 zeigt, wobei wahrnehmungsmäßig weniger
wichtige Frequenzbänder
schattiert gezeigt sind;
-
3 ein
Blockdiagramm ist, welches ein Audiokodierverfahren gemäß einer
Ausführungsform
der vorliegenden Erfindung illustriert;
-
4 ein
Blockdiagramm ist, welches ein Audiodekodierverfahren gemäß einer
Ausführungsform
der Erfindung illustriert; und
-
5 ein
schematisches Blockdiagramm der Vorrichtung ist, welche einen Audiokodierer
und -Dekodierer umfasst.
-
Unter
Bezugnahme auf 1 wird eine stilisierte Ansicht
des Aufbaus eines typischen Audiosegments gezeigt, wobei eine Amplitude
a als Funktion einer Frequenz f gegeben ist. Jeder Balken in dieser
Figur stellt ein Frequenzband (oder einen Frequenzkorb) eines Gesamtsignals
dar. Typischerweise teilen Transformationskodierer zum Kodieren
von Audiosignalen ein empfangenes Audiosignal gemäß derartiger
Frequenzbänder
auf.
-
Die
unterbrochene gekrümmte
Linie stellt eine Maskierschwelle dar. Diese Maskierschwelle stellt
den Pegel des Quantisierungsrauschens dar, welches in das Audiosignal
eingeführt
werden kann, ohne dass ein Hörer
das Rauschen bemerkt, und durch psychoakustisches Modellieren bestimmt
werden kann.
-
Jedes
herkömmliche
Kodierschema weist bestimmte Begrenzungen auf. Beispielsweise kann
ein erstes Kodierschema das gesamte Signal nehmen, welches jedes
Frequenzband umfasst, und jedem Band eine veränderliche Anzahl von Bits zuteilen,
um so das Signal vollständig
zu kodieren, wobei dem Frequenzband, welches das Signal mit der
höchsten
Amplitude aufweist, die meisten Bits zugeteilt werden und den Signalen mit
der niedrigsten Amplitude die wenigsten Bits zugeteilt werden. Ein
anderes Schema kann ein insgesamt festes Bitbudget zum Kodieren
aufweisen und kann Bits erst denjenigen Frequenzbändern zuteilen,
welche gemäß dem psychoakustischen
Modell wahrnehmungsmäßig am signifikantesten
sind.
-
Das
frühere
Kodierschema weist dadurch Nachteile auf, dass das Bitbudget variabel
ist, und für
Signalperioden, in welchen es einen deutlichen Betrag Signalinformationen
zu befördern
gibt, können
Bitratenprobleme auftreten, wobei die Gesamtinformationen, welche
für jeden
Zeitdatenblock übertragen
werden müssen, empfindlich
für eine
sehr breite Schwankung sind. Falls eine Bandbreitenbegrenzung auf
einem derartigen Schema eingeführt
wird und falls die Zuteilung der verschiedenen Bits, welche den
Frequenzbändern
zuteilbar sind, in dieser Hinsicht auf einer Grundlage der niedrigsten
zur höchsten
Frequenz durchgeführt
wird, kann es nötig
werden, eine Bandbreitenbegrenzung einzuführen, und diese wird durch
die unterbrochene vertikale Linie in 1 dargestellt.
Weil hier nicht alle Bänder
für eine
gewünschte
Bitrate mit ausreichender Genauigkeit kodiert wer den können, werden
die Signale höherer
Frequenz verworfen. Deshalb werden alle Bänder über dieser Bandbreitenbegrenzung
trotz der Tatsache überhaupt
nicht kodiert, dass mindestens eines von ihnen (in der Figur mit
A markiert) deutlich oberhalb der Maskierschwelle liegt.
-
Falls
bei bestimmten vorhergehenden Schemata die Auswahl getroffen wurde,
Band A der 1 zu kodieren, müsste dann
die Kodierbandbreite vorübergehend
auf einen höheren
Wert umgeschaltet werden. Dies ist jedoch nicht annehmbar, und es
würde mit
der Bandbreite in Konflikt geraten, welche bei den vorangehenden
Datenblöcken
verwendet wurde, und zunehmende Umschaltartefakte zulassen.
-
Bei
dem zweiten der beiden genannten Kodierschemata kann ein Kodieren
der leichter hörbaren
Bänder
auf einer Prioritätsgrundlage
in manchen Fällen
dazu führen,
dass einem oder mehreren der weniger signifikanten Bänder (diejenigen,
welche in 2 schattiert gezeigt sind) keine
Bits zugeteilt bekommen. Keine bestimmten Frequenzbändern zugeteilte
Bits bedeuten jedoch, dass bestimmte Teile des Spektrums überhaupt
keine Energie enthalten, und derartige Leerräume in dem Frequenzspektrum
können
ein Signal herstellen, welches von dem Hörer als rau wahrgenommen wird,
und es lässt
auch zunehmende Bandbreitenumschaltartefakte zu, weil die höchsten Bänder, welche
Energie erhalten, von Datenblock zu Datenblock variieren können.
-
Gemäß den Verfahren
der vorliegenden Erfindung werden bei dem vorgeschlagenen Kodierschema Bits
auf einer Prioritätsgrundlage
denjenigen Frequenzbändern
zugeteilt, welche Signale aufweisen, welche für den Hörer am wahrnehmbarsten sind
(d.h. denjenigen, welche die Maskierschwelle um einen gegebenen Betrag übersteigen).
Für diejenigen
Frequenzbänder,
welche Signale mit einer Amplitude näher an der Maskierschwelle
aufweisen und für
welche es bei einem Bitbudget-basierten Schema keine ausreichenden
verbleibenden Bits gibt, um vollständig zu kodieren, werden den
fraglichen Bändern
ein oder mehrere Rauschfüllparameter
zugeteilt. Bei der Alternative, bei welcher ein Schema verwendet
wird, bei welchem es ein variables Bitbudget gibt, kann eine Auswahl
getroffen werden, um nur diejenigen Bänder vollständig zu kodieren, welche die
Maskierschwelle um mehr als einen vorbestimmten Betrag übersteigen,
und denjenigen, welche die Schwelle nicht um den vorbestimmten Betrag übersteigen,
wird selektiv ein Rauschfüllparameter
zugeteilt. Diesem vorbestimmten Betrag kann gestattet werden, auf
einer Basis von Datenblock zu Datenblock, falls erforderlich, zu
variieren, um eine bestimmte durchschnittliche Bitrate zu erhalten,
welche dem Kodierer auferlegt wurde.
-
Man
betrachte das Frequenzband der 2, welches
mit dem Bezugszeichen B bezeichnet ist. Hier ist anzumerken, dass
dieses Frequenzband ein Signal umfasst, welches im Durchschnitt
unter dem Maskierpegel liegt. Die Amplitude dieses Signals ist jedoch
relativ hoch und mit der des Frequenzbands C der 2 vergleichbar.
Der Unterschied zwischen den Bändern
B und C ist jedoch, dass in dem Frequenzbereich des Bands C das
menschliche Ohr empfindlicher ist und dass dieses Signal deshalb
von größerer Signifikanz
ist. Um bei einem Schema mit einem festen Bitbudget eine effiziente
Zuteilung von Bits bereitzustellen, können nützliche Einsparungen durch
Kodieren derjenigen Bänder
auf einer Prioritätsgrundlage
erhalten werden, welche ihre jeweiligen Schwellenpegel um einen
größeren Betrag übersteigen,
und, wenn die verbleibenden zuteilbaren Bits zu wenige werden, um
verbleibende, weniger relevante Bänder vollständig zu kodieren, werden Bänder, wie
beispielsweise Band B, unter Verwendung eines Rauschfüllparameters
repräsentiert,
welcher einer Wiedergabeebene angibt, dass Rauschen bis zu einer
gegebenen Amplitude über
das fragliche Frequenzband hinweg eingeführt werden muss.
-
Bei
variablen Bitbudgetschemata kann vielleicht eine Entscheidung getroffen
werden, dass für
jedes Frequenzband, welches seinen Maskierpegel um einen vorbestimmten
Betrag übersteigt,
ein vollständiges
Kodieren auftritt, wohingegen anderen Rauschfüllparameter zugeteilt werden.
-
Es
ist hier wichtig anzumerken, dass, falls der Signalpegel tatsächlich unter
der Maskierschwelle liegt, ein Einführen von Rauschen keinen wirklichen
Nutzen, aber auch keinen Schaden, aufweist, einfach weil er sowieso
nicht hörbar
ist. Es sind insbesondere die Frequenzkörbe, welche gerade oberhalb
der Maskierschwelle liegen, welche es für die Qualitätsverbesserung
lohnenswert machen, Rauschen einzuführen. Die Lehren der Erfindung
umfassen jedoch sowohl Verfahren, welche alle nicht kodierten Bänder durch
Rauschfüllparameter
repräsentieren,
als auch diejenigen, welche diese nicht kodierten Bänder leer
lassen, welche wahrnehmungsmäßig irrelevante
Signalamplituden aufweisen.
-
Mit
der oben stehend gegebenen Erörterung
wird nun ein Verfahren zum Kodieren eines Audiosignals mit der Hilfe
der 3 ausführlicher
beschrieben.
-
In 3 tragen
die folgenden Schritte die folgenden Beschriftungen:
- S1
= BEGINN;
- S2 = Eingangssignal in N Frequenzbänder aufteilen
- S3 = C = 1 SETZEN;
- S4 = Amplitude des C-ten Frequenzbands mit einem C-ten Bandschwellenpegel
vergleichen;
- S5 = ist Bandamplitude > Schwellenamplitude?;
- Sb = falls JA, Band C unter Verwendung des gegebenen Kodierschemas
kodieren;
- S7 = falls NEIN, Rauschfüllparameter
einführen;
- S8 = C → C
+ 1;
- S9 = „C
= N?";
- S10 = ENDE
-
Unter
Bezugnahme auf 3, für welche für diese Zwecke angenommen wird,
dass sie ein variables Bitbudgetschema repräsentiert, empfängt ein
Kodiermodul ein Eingangssignal und teilt dieses Eingangssignal im
Schritt S2 in N Frequenzbänder
auf. Dann wird ein iterativer Prozess ausgeführt, bei welchem für jedes
Frequenzband die Amplitude dieses Frequenzbands mit einem jeweiligen
Schwellenpegel verglichen wird. Der Schwellenpegel ist typischerweise
für jedes
Frequenzband unterschiedlich und entspricht einer Schwelle, welche
von einem psychoakustischen Modell gegeben wird und kann in Abhängigkeit
von der erforderlichen Kodiereffizienz einen bestimmten Versatz
umfassen.
-
Auf
den oben stehenden Vergleichsschritt S4 nachfolgend wird in Abhängigkeit
davon, ob im Schritt S5 herausgefunden wurde, dass die Amplitude
des gegebenen Frequenzbands größer als
die Schwellenamplitude ist oder nicht, eine von zwei Operationen
ausgeführt.
In einem ersten Fall S6, bei welchem die Signalamplitude für ein bestimmtes
Band größer als
die Schwellenamplitude ist, werden Informationen dieses Frequenzbands
unter Verwendung eines gegebenen Kodierschemas kodiert. Falls andererseits,
Schritt S7, die Bandamplitude nicht größer als die Schwellenamplitude
ist, werden dann Rauschfüllparameter
in das kodierte Signal eingefügt.
-
Es
ist anerkannt, dass jedes Frequenzband einen gegebenen Frequenzbereich
aufweist und dass der idealisierte Schwellenwert über den
Bereich variiert. Für
Kodierzwecke ist die eingestellte und für den Vergleich verwendete
Schwellenamplitude in der Praxis ein einzelner Durchschnittswert,
welcher für
das bestimmte Band berechnet und beispielsweise in einem Nachschlagspeicher
gespeichert ist.
-
Auf
die jeweiligen Kodier- oder Einfügungsoperationen
nachfolgend wird ein Zählerwert
im Schritt S8 inkrementiert, und im Schritt S9 wird geprüft, ob alle
Frequenzbänder
kodiert wurden oder nicht. Falls der Zählerwert angibt, dass es mehr
Frequenzbänder
gibt, welche kodiert werden sollen, fährt das Verfahren dann derartig
fort, dass die Amplitude des Signals in dem nächsten Frequenzband mit der
Amplitude des Schwellenpegels für
dieses nächste
Frequenzband verglichen wird usw.. Falls andererseits nun alle Frequenzbänder kodiert
wurden, kommt das Verfahren dann zu einem Ende S10, oder genauer
gesagt wird das Verfahren für
diesen bestimmten Zeitdatenblock beendet, und es kann eine Kodieroperation
für einen
nächsten
Zeitdatenblock von Informationen ausgeführt werden.
-
Bei
einem System, bei welchem es ein festes Bitbudget pro Zeitdatenblock
gibt, werden Frequenzbänder
auf einer Prioritätsgrundlage
kodiert. Mit anderen Worten, es werden diejenigen Bänder vollständig kodiert, welche
Signalamplituden aufweisen, welche die Schwelle um die größten Beträge übersteigen,
wohingegen denjenigen, welche näher
an der Schwelle liegen, in Abhängigkeit
von der Anzahl Bits, welche in dem Bitbudget verbleiben, selektiv
Rauschfüllparameter
zugeteilt werden können.
-
Es
ist wichtig beim Betrachten des Kodierverfahrens zu realisieren,
dass das bestimmte Kodierschema zum Kodieren der gegebenen Frequenzbänder eines
aus einer beliebigen Anzahl von Kodierverfahren sein kann und nicht
auf irgendein bestimmtes Kompressionssystem beschränkt ist.
Das System, welches zum Kodieren eingesetzt wird, kann jedoch typischerweise
eine Art prädiktiver
Kodierer sein, wie beispielsweise ein adaptives prädiktives
Kodieren (APC) oder irgendeine Form eines linearen prädiktiven
Kodierens (LPC).
-
Nun
wird eine mögliche
Implementierung der Rauschfüllparameter
beschrieben, welche für
das weniger signifikante oder wahrnehmungsmäßig irrelevantere Frequenzbandkodieren
verwendet werden kann.
-
Für einen
gegebenen einfachen Transformationskodierer ist eine Eigenschaft
dieses Kodierers, dass Bits zuerst Bändern zugeteilt werden, welche
wahrnehmungsmäßig am wichtigsten
sind. Folglich kann, wie zuvor erläutert, ein derartiger einfacher
Transformationskodierprozess dazu führen, dass bestimmte Frequenzbänder keine
ihnen zugeteilten Bits aufweisen. Zum Implementieren einer Rauschfüllung in
Bezug auf einen derartigen Transformationskodierer kann eine kleine
Anzahl Bits aus dem gesamten Bitratenbudget zum Kodieren der Rauschfüllparameter
für die
sonst leeren Bänder
verwendet werden. Tatsächlich
ist nur ein Parameter erforderlich, um Rauschen in jedem sonst leeren
Band zu beschreiben. Der wichtige fragliche Parameter ist der RMS-Wert
der Amplitude des Rauschsignals, welches in dieses Band eingeführt werden
soll.
-
Die
leeren Bänder
werden in der Spektraldomäne
mit weißem
Rauschen gefüllt,
welches aus einer gleichmäßigen Verteilung
mit einem RMS-Wert A entnommen wurde.
-
Der
RMS-Wert A wird unter Verwendung von Gleichung (1) erhalten:
-
In
Gleichung 1 ist Xn der Abtastwert des n-ten
betrachteten Frequenzbands (oder -korbs). Die RMS-Werte werden in
einem Raster von einem Dezibel quantisiert und unter Verwendung
einer Huffman-Kodierung kodiert.
-
Mit
anderen Worten werden auf der Kodiererseite die ursprünglichen
Eingangsabtastwerte Xn, welche dem Band
entsprechen, in welches Rauschen eingeführt werden soll, in Gleichung
1 eingesetzt und der Wert A berechnet. Dieser Wert wird in dB-Beträge umgewandelt
und in einem 1-dB-Raster quantisiert. Dieser quantisierte Parameter
wird in den Bitstrom kodiert und von dem Empfänger dekodiert. Dann erzeugt
ein Zufallsgenerator derartig zufällige Abtastwerte mit einer
gleichmäßigen Wahrscheinlichkeitsdichtefunktion,
dass der erwartete RMS-Wert dieser zufälligen Abtastwerte (in dB)
dem dekodierten Wert von A entspricht. Mit anderen Worten wird auf
der Empfängerseite
weißes
Rauschen mit dem entsprechenden Pegel erzeugt, welcher durch den
Parameter A definiert ist.
-
Bei
der oben stehenden Implementierung ist anzumerken, dass ein Verwenden
eines Teils des Bitstroms zum Übertragen
der Huffman-kodierten RMS-Werte auf Kosten derjenigen Bits geht,
welche zum Kodieren von Abtastwerten verbleibender Bänder verfügbar sind.
Eine Überprüfung zeigt
jedoch, dass beim Vergleich dieses Szenarios, bei welchem Bits weggenommen
werden, um leere Bänder
zu füllen,
das wahrgenommene Ergebnis hinsichtlich der Situation verbessert
ist, bei welcher Bänder
leer gelassen werden. Unter der Voraussetzung jedoch, dass dieses
Schema unvermeidlich bedeutet, dass bestimmte Bänder mit geringerer Genauigkeit
kodiert werden, liegt es auch innerhalb des Schutzumfangs dieser
Erfindung, ein System zu implementieren, bei welchem die Qualität des wellenformkodierten
Teils nicht durch Bereitstellen zusätzlicher Bits zum Kodieren
der Rauschfüllparameter
beeinträchtigt
wird.
-
Die
Rauschparameter werden an dem Ort kodiert, bei welchem gewöhnlich die
Signalinformationen zu finden sind. Es ist jedoch irgendeine Signalisierung
für den
Dekodierer nötig,
um anzuzeigen, dass als nächstes
in dem Bitstrom ein Rauschparameter an der Stelle von Signalinformationen
auftauchen wird. Bei unserem Ansatz kann dies über eine Kennung vorgenommen
werden, welche die Anzahl der Quantisierungsebenen, z.B. die Anzahl
der Ebenen kodiert, welche zum Speichern jedes Korbs der Signalinformationen
verwendet werden. Wenn die Anzahl der Quantisierungsebenen größer als
0 ist, impliziert dies, dass Signalinformationen folgen werden,
und wenn die Quantisierungsebene null ist, impliziert dies, dass
keine Signalinformationen folgen werden. Bei herkömmlichen
Schemata ohne Rauschfüllung
würde auf
eine Zahl 0 der Quantisierungsebenenkennung gefolgt einfach ein
leeres Band auftreten. Bei diesem Schema bezeichnet eine Zahl null der
Quantisierungsebenen, dass ein Rauschfüllparameter folgen wird (welcher
seinerseits für
wahrnehmungsmäßig nicht
signifikante Signalamplituden null sein kann).
-
Jetzt
unter Bezugnahme auf 4 wird ein Verfahren beschrieben,
durch welches ein Dekodiermodul ein Signal dekodieren kann, welches
gemäß dem Verfahren
der 3 kodiert wurde.
-
Unter
Bezugnahme auf 4 betreffen die Namen S1 bis
S9 die folgenden Bezeichnungen:
- S1 = BEGINN;
- S2 = kodiertes Signal mit N Frequenzbändern empfangen;
- S3 = C = 1 setzen;
- S4 = umfasst das C-te kodierte Band Rauschfüllparameter?
- S5 = falls nein, Signal des C-ten kodierten Bands gemäß dem Dekodierschema
dekodieren;
- S6 = falls ja, Signal des C-ten Bands durch Einführen eines
Rauschsignals in das C-te Band mit einer gegebenen Amplitude synthetisieren;
- S7 = C wird C + 1;
- S8 = C = N?;
- S9 = ENDE
-
In
einem Schritt S2 der 4 wird das kodierte Signal mit
N Frequenzbändern
empfangen. Ein Zählerwert
wird in S3 auf einen Anfangswert Wert von 1 gesetzt, und für das erste
Band der N Frequenzbänder wird
dann in S4 bestimmt, ob dieses Band einen Rauschfüllparameter
umfasst oder nicht.
-
Falls
das erste kodierte Frequenzband einen Rauschfüllparameter umfasst, wird dann
dieser Parameter in S6 dekodiert, und ein Ausgangssignal, welches
das erste Band betrifft, wird durch Bereitstellen eines Rauschsignals
mit einer durch den Rauschfüllparameter
gegebenen Amplitude synthetisiert.
-
Falls
das Signal des ersten kodierten Bands andererseits keinen Rauschfüllparameter
umfasst, wird das kodierte Signal dann in S5 gemäß seinem bestimmten Dekodierschema
dekodiert.
-
In
einem Schritt S7 wird der Zählerwert
inkrementiert, und das nächste
kodierte Band wird dekodiert. Wenn der Zählerwert in S8 einmal angibt,
dass alle kodierten Frequenzbänder
des bestimmten fraglichen Zeitdatenblocks dekodiert wurden, endet
dann die Dekodiersubroutine in S9. Genauer gesagt, wenn alle Signale eines
bestimmten Zeitdatenblocks dekodiert wurden, beginnt das Dekodierverfahren
dann das Arbeiten an einem Dekodieren der Frequenzbänder des
empfangenen kodierten Signals für
den nächsten
Zeitdatenblock.
-
Aus
oben stehender Beschreibung ist es anerkannt, dass ein Verfahren
zum effizienten Kodieren von Audiosignalen und zum Dekodieren von
Audiosignalen bereitgestellt wird, bei welchen wahrnehmungsmäßig weniger
relevantes Material nicht vollständig
kodiert wird, sondern stattdessen durch einen oder mehrere Rauschfüllparameter
repräsentiert
wird. Derartige Rauschfüllparameter
werden auf der Dekodierseite des Algorithmus dekodiert, um die wahrnehmungsmäßig irrelevanten
Signalabschnitte mittels Bereitstellen eines Rauschsignals mit einer
gegebenen Amplitude zu synthetisieren.
-
Unter
Bezugnahme auf 5 wird eine Vorrichtung 10 in
einem schematischen Format gezeigt, welche einen Audiokodierer 20 und
einen Audiodekodierer 30 umfasst.
-
Der
Audiokodierer 20 arbeitet gemäß dem hier zuvor beschriebenen
Audiokodierverfahren, um so einen eingehenden Audiostrom gemäß einem
gegebenen Kodierformat zu kodieren, und wobei das Verfahren der
vorliegenden Erfindung eingesetzt wird, um Rauschfüllparameter
bereitzustellen, um selektiv diese wahrnehmungsmäßig weniger relevanten Signalbänder zu
ersetzen.
-
Der
Audiokodierer 20 umfasst ein Aufteilungsmittel 21,
ein Vergleichsmittel 22 und einen Kodierer 23.
-
Das
Aufteilungsmittel 21 teilt ein Signal in eine Vielzahl
von Frequenzbändern
auf. Das Vergleichsmittel 22 vergleicht Amplituden des
Signals in den verschiedenen frequenzgeteilten Bändern mit jeweiligen Schwellenwerten.
Das Kodiermittel 23 kodiert das Signal der aufgeteilten
Frequenzbänder
derartig auf einer Prioritätsgrundlage,
dass Frequenzbänder,
bei welchen die Amplitude des Signals in einem bestimmten Frequenzband
ihre jeweilige Schwelle um einen größten Betrag übersteigt,
gemäß einem
gegebenen Kodierschema kodiert werden, wobei anderen Frequenzbändern selektiv
ein Rauschfüllparameter
zugeteilt wird.
-
Der
Audiodekodierer 30 funktioniert so, um kodierte Daten an
seinem Eingang zu empfangen und um dekodierte Daten an seinem Ausgang
bereitzustellen. Der Dekodierer 30 umfasst einen Rauschgenerator 40, welcher
verwendet werden kann, um die angegebenen Bänder, wie gewünscht, mit
dem gegebenen Signalamplitudenpegel mit auf das Frequenzband begrenztem
Rauschen zu füllen.
-
Der
Audiodekodierer 30 umfasst weiterhin ein Empfangsmittel 31,
ein Ausführungsmittel 32,
ein erstes Dekodiermittel 33 und ein zweites Dekodiermittel 34.
-
Das
Empfangsmittel 31 empfängt
ein kodiertes Audiosignal. Das Ausführungsmittel 32 bestimmt
für jedes
gegebene Frequenzband des kodierten Signals, ob dieses Band kodierte
Signalinformationen umfasst, welche die Amplitude eines übertragenen
Signals innerhalb des gegebenen Frequenzbands betreffen, oder ob es
einen Rauschfüllparameter
umfasst. Falls das Ausführungsmittel 32 bestimmt,
dass das empfangene Signal kodierte Signalinformationen umfasst,
ist dann das erste Dekodiermittel 33 eingerichtet, derartige
Informationen zu dekodieren, um einen Abschnitt des Ausgangsaudiosignals
für die
jeweiligen Frequenzbänder
herzustellen. Falls andererseits das Ausführungsmittel 32 bestimmt,
dass das gegebene Frequenzband einen Rauschfüllparameter umfasst, synthetisiert
dann das zweite Dekodiermittel 34 einen Ausgangssignalabschnitt für dieses
Frequenzband, indem mit der Hilfe des Rauschgenerators 40 ein
Rauschsignal über
den Frequenzbereich dieses Frequenzbands mit einer Amplitude ausgegeben
wird, welche, wie zuvor diskutiert, von dem Rauschfüllparameter
angegeben wird.
-
5 zeigt
auch ein Speichermedium 50, auf welchem ein Signal, welches
gemäß dem Audiokodierer kodiert
ist, gespeichert ist, und aus welchem der Audiodekodierer 30 wieder
ein Audiosignal herstellen kann.
-
Wie
aus dem oben Stehenden offenkundig ist, zielen die Ausführungsformen
der Erfindung auf ein Überwinden
der störenden
Wirkungen der Bandbreitenumschaltung, ohne die Kodierbandbreite
auf einen sicheren, konservativen Wert begrenzen zu müssen, welcher
garantiert, dass jede Frequenz bei gegebener Anzahl verfügbarer Bits
auf mindestens einer gewissen Genauigkeitsebene kodiert werden kann.
Mit anderen Worten gestatten Ausführungsformen dieser Erfindung
eine effektive Steigerung der Audiobandbreite, ohne die störenden Bandbreitenumschaltungsartefakte
einzuführen,
welche man andernfalls bei einer Verwendung eines sehr begrenzten
Bitbudgets antreffen würde.
-
Es
ist Durchschnittsfachleuten offenkundig, dass dort, wo Hardware-Elemente erwähnt werden,
diese, wo machbar, durch Software-Elemente ersetzt werden können. Umgekehrt
können
dort, wo Software-Elemente erwähnt
werden, diese, wo machbar, durch Hardware-Äquivalente ersetzt werden.
-
Wie
wohlverstanden ist, kann das Verfahren der vorliegenden Erfindung
mit vielen unterschiedlichen Typen allgemeiner Audiokodierschemata
verwendet werden, und es ist extrem Bit-effizient.
-
Es
sollte angemerkt werden, dass oben stehend beschriebene Ausführungsformen
die Erfindung illustrieren, statt sie einzuschränken, und dass Durchschnittsfachleute
in der Lage sind, viele alternative Ausführungsformen zu entwerfen,
ohne den Schutzumfang der angefügten
Ansprüche
zu verlassen. Bei den Ansprüchen
darf keins der in Klammern gesetzten Bezugszeichen als den Anspruch
einschränkend
angesehen werden. Das Wort „umfassen" schließt die Gegenwart
anderer als der in einem Anspruch aufgeführten Elemente oder Schritte
nicht aus. Die Erfindung kann mittels Hardware, welche einige eindeutige
Elemente umfasst, und mittels eines geeignet programmierten Computers
implementiert werden. Bei einem Geräteanspruch, welcher einige
Mittel aufzählt,
können
einige dieser Mittel durch einen und den gleichen Hardware-Gegenstand
verkörpert
werden. Die bloße
Tatsache, dass bestimmte Maßnahmen
in voneinander verschiedenen abhängigen
Ansprüchen
genannt werden, zeigt nicht an, dass eine Kombination dieser Maßnahmen
nicht vorteilhaft verwendet werden kann.
-
Legende der
Zeichnungen
-
3, 4:
-
-
5:
-
-
- Audio:
- Audiosignal
- Code:
- Kode