-
Die Erfindung betrifft eine Audiosignal-Verarbeitungsschaltung
zum Komprimieren eines digitalen Eingangssignals zum Zwecke der
Reduzierung der für
die Darstellung eines analogen Informationssignals erforderlichen
Bitzahl.
-
Es ist existieren verschiedene Verfahren
zur digitalen Kodierung von Audio- oder Sprachsignalen, die Bitraten
verwenden, die beträchtlich
niedriger sind als die für
die Pulscodemodulation (PCM) erforderlichen Bitdaten. Bei der Subband-Kodierung (SBC)
teilt eine Filterbank das Frequenzband des Audiosignals in mehrere
Subbänder.
Bei der sogenannten Subbandkodierung werden aus dem Signal vor der
Kodierung keine Rahmen entlang der Zeitachse gebildet. Bei der sogenannten
Transformationskodierung wird ein Rahmen mit digitalen Signalen,
die das Audiosignal auf der Zeitachse darstellen, durch eine orthogonale
Transformation in einen Block von Spektralkoeffizienten umgesetzt,
die das Audiosignal auf der Frequenzachse repräsentieren.
-
Bei einer Kombination von Subbandkodierung
und Transformationskodierung werden die das Audiosignal repräsentierden
digitalen Signale durch Subbandkodierung in mehrere Frequenzbereiche
unterteilt, und auf jeden dieser Frequenzbereiche unabhängig einer
Transformationskodierung unterzogen.
-
Bekannte Filter zur Unterteilung
eines Frequenzspektrums in mehrere Frequenzbereiche beinhalten ein
Quadratur-Spiegelfilter (QMF) wie es beispielsweise in R. E. Crochiere
"Digital Coding of Speech in Subbands", 55 BELL SYST. TECH. J.,
Nor. 9 (1976) beschrieben ist. Das Verfahren, bei dem ein Frequenzspektrum
in Frequenzbereiche gleicher Breite unterteilt wird, ist in Joseph
H. Rothweiler, "Polyphase Quadrature Filters: A New Subband Coding Technique",
ICASSP 83, Boston, beschrieben.
-
Bei bekannten Verfahren zur orthogonalen Transformation
wird das digitale Audio-Eingangssignal in Rahmen bestimmter Dauer
aufgeteilt, und die resultierenden Rahmen werden durch eine schnelle Fourier-Transformation
(FFT), eine diskrete Cosinustransformation (DCT) oder eine modifizierte
DCT (MDCT) verarbeitet, um die Signale aus der Zeitachse in die
Frequenzachse umzusetzen. Eine Diskussion der MDCT findet sich beispielsweise
in J. P. Prin cen und A. B. Bradley, "Subband/Transform Coding Using
Filter Bank Based an Time Domain Aliasing Cancellation", ICASSP
1987.
-
Bei einem Verfahren zur Quantisierung
der aus einer orthogonalen Transformation resultierenden Spektralkoeffizienten
ist es bekannt, Subbänder zu
verwenden, die die psychoakustischen Eigenschaften des menschlichen
Gehörs
ausnutzen. Hierbei können
Spektralkoeffizienten, die ein Audiosignal auf der Frequenzachse
repräsentieren,
in mehrere kritische Frequenzbänder
unterteilt werden. Die Breite der kritischen Bänder nimmt mit wachsender Frequenz
zu. Normalerweise werden etwa 25 kritische Bänder verwendet, um das Tonfrequenzspektrum von
0 Hz bis 20 kHz abzudecken. Bei einem solchen Quantisierungssystem
werden den verschiedenen kritischen Bändern Bits adaptiv zugeteilt.
Wenn beispielsweise den aus einer modifizierten diskreten Cosinustransformation
(MDCT) resultierenden Spektralkaeffizientendaten Bits adaptiv zugeteilt
werden, werden die durch die MDCT erzeugten Spektralkoeffizientendaten
innerhalb jedes kritischen Bandes unter Verwendung einer adaptiv
zugeteilten Bitzahl quantisiert.
-
Zu den bekannten Verfahren der adaptiven Bitzuteilung
gehört
das in IEEE TRANS. ON ACOUSTICS "Speech and Signal Processing",
Band ASSP-25, Nr. 4 (August 1977) beschriebene Verfahren, bei dem
die Bitzuteilung in jedem kritischen Band auf der Basis der Signalamplitude
erfolgt. Dieses Verfahren erzeugt ein flaches Quantisierungsgeräuschspektrum
und minimiert die Geräuschenergie.
Der von dem Hörer
wahrgenommene Geräuschpegel
ist jedoch nicht optimal, weil das Verfahren den psychoakustischen
Maskierungseffekt nicht effektiv ausnutzt.
-
Bei dem in M. A. Krassner, "The Critical
Band Encoder: Digital Encoding of the Perceptual Requirements of
the Auditory System", ICASSP 1980 beschriebenen Sitzuteilungsverfahren
wird der psychoakustische Maskierungseffekt dazu benutzt, eine feste
Bitzuteilung zu bestimmen, die in jedem kritischen Band für das geforderte
Signal/Geräusch-Verhältnis sorgt.
Falls das Signal-/Geräuschverhältnis eines solchen
Systems jedoch unter Verwendung eines streng tonalen Signals, z.
B. einer 1-kHz-Sinuswelle, gemessen wird, erhält man wegen der festen Bitzuteilung
an die kritischen Bänder
keine optimalen Ergebnisse.
-
Das Blockfloating ist ein Normierungsprozeß, der auf
einen Datenblock mit mehreren Wörtern angewendet
wird, z. B. auf einen Block von mehreren Spektralkoeffizienten.
Blockfloating wird durchgeführt,
indem man jedes Wort in dem Block mit einem für den Block gemeinsamen Wert
multipliziert, um die Quantisierungseffizienz zu verbessern. Bei
einem typischen Blockfloating-Verfahren wird der maximale Absolutwert
der Wörter
in dem Datenblock gesucht und dann als ein allen Wörtern des
Datenblocks gemeinsamer Blockfloatingkoeffizient verwendet. Die Verwendung
des in dem Band vorhandenen maximalen Absolut werts als Blockfloatingkoeffizient
verhindert einen Datenüberlauf,
weil der Absolutwert keines anderen Wortes in dem Datenblock größer sein kann
als der maximale Absolutwert. Eine vereinfachte Form des Blockfloatings
bestimmt den Blockfloatingkoeffizienten durch Verwendung eines Verschiebungsbetrags,
der ein Blockfloating in 6-dB-Schritten vorsieht.
-
In Systemen, in denen ein Eingangsaudiosignal
nach einem mit Blockfloating arbeitenden Signalverarbeitungsverfahren
komprimiert wird, muß man
mit einer als Vorecho bekannten Erscheinung rechnen. Vorechos führen zu
einer spürbaren
Beeinträchtigung
der Klangqualität,
wenn das komprimierte Digitalsignal anschließend expandiert, dekodiert und
wiedergegeben wird.
-
Vorechos treten dann in Erscheinung,
wenn in dem zu kodierenden Audioeingangssignal ein Transient vorhanden
ist, d. h., wenn die Amplitude des Eingangssignals rasch ansteigt.
Vorechos treten auf, wenn der Transient in dem Audioeingangssignal teilweise
innerhalb des Zeitrahmens auftritt, der dem Blockfloating unterworfen
wird, insbesondere, wenn der Transient gegen das Ende des Rahmens
hin auftritt. Das Kodiersystem setzt einen Quantisierungsgeräuschpegel,
der während
jedes Rahmens entsprechend dem maximalen Signalpegel in diesem Rahmen
konstant bleibt. Dieser Quantisierungsgeräuschpegel eignet sich jedoch
nicht für
denjenigen Teil des Rahmens, der vor dem Transienten liegt, wenn
der Signalpegel nicht hoch genug ist, um den Quantisierungsgeräuschpegel
zu verdecken. Infolgedessen ist das Quantisierungsgeräusch vor
dem Auftreten des Transienten hörbar.
-
In dem letzten Teil des Rahmens nach
dem Transienten ist das Vorecho wegen der als "Maskierung" bezeichneten
psychoakustischen Eigenschaft des menschlichen Gehörs nicht
hörbar.
Maskierung ist ein psychoakustisches Phänomen, bei dem ein Signal durch
andere Signale, die gleichzeitig mit dem oder geringfügig früher oder
später
als das Signal auftreten, unhörbar
gemacht oder "maskiert" wird. Maskierungseffekte werden klassifiziert
in Zeitachsen-Maskierungseffekte, d. h. Maskierung durch früher oder
später
als das maskierte Signal auftretende Signale, und konkurrierende
Maskierungseffekte, d. h. Maskierung durch gleichzeitig auftretende
Signale mit einer von der Frequenz des maskierten Signals abweichenden
Frequenz. Zeitliche Rückwärtsmaskierung,
d. h. Maskieren durch ein hochpegeliges Schallgeräusch, das
vor dem Hochpegel-Klang auftritt, hat eine erheblich kürzere Dauer
als zeitliche Vorwärtsmaskierung,
d. h. Maskierung durch ein Hochpegel-Schallgeräusch, das auftritt, nachdem der
Hochpegel-Klang beendet ist.
-
Durch Maskieren kann ein Geräusch durch ein
Signal in dessen Zeit- oder Frequenzmaskierbereich unhörbar gemacht
werden. Dies bedeutet, daß ein
digitales Kodiersystem, das Quantisierungsgeräusch erzeugt, Geräuschpegel
haben darf, die groß sind
im Vergleich zu dem Geräuschpegel,
der bei Abwesenheit eines Signals zulässig ist, vorausgesetzt, daß das Quantisierungsgeräusch innerhalb
des Maskierbereichs des Signals liegt. Da relativ hohe Quantisierungsgeräuschpegel
zulässig
sind, wenn sie durch das Signal maskiert werden, kann die Bitzahl, die
zur Darstellung des Signals oder von Teilen des Signals benötigt werden,
erheblich reduziert werden.
-
Ein kritisches Band ist ein Maß für den Bereich
der Frequenzen, die durch ein Signal maskiert werden können. Ein
kritisches Band ist das Geräuschband,
das durch ein reines Signal maskiert werden kann, welches die gleiche
Intensität
hat wie das Geräusch
und dessen Frequenz in der Mitte des kritischen Bandes liegt. Die
Breite aufeinanderfolgender kritischer Bänder wächst mit wachsender Frequenz
des reinen Signals. Der Audiofrequenzbereich von 0 Hz bis 20 kHz
wird normalerweise z. B. in 25 kritische Bänder unterteilt.
-
7 zeigt
eine digitale Darstellung eines Audiosignals, das einen Transienten
enthält,
in dem der Pegel des Audiosignals rasch ansteigt. Das digitale Signal
wird in Rahmen unterteilt, die eine vorbestimmte Anzahl von Abtastproben
enthalten, d. h. in die Rahmen T1 bis T4, und werden dann dem Blockfloating
unterworfen. Falls das digitale Signal im Anschluß an die
Kompression durch Blockfloating expandiert, dekodiert und reproduziert
wird, ist der Geräuschpegel
in dem vor dem Transienten liegenden Teil des Rahmens T2 zu hoch,
um durch den Signalpegel in diesem Teil des Rahmens T2 maskiert
werden zu können,
so daß ein
Vorecho hörbar
wird.
-
9 zeigt
eine schematische Anordnung einer herkömmlichen Audiosignal-Verarbeitungseinrichtung
zum Komprimieren des digitalen Signals, das ein Audiosignal repräsentiert.
Die Signalverarbeitungseinrichtung verarbeitet ein digitales Eingangssignal
mit Hilfe eines Verfahrens, bei dem das digitale Eingangssignal
zeitlich in Blöcke
mit einer vorbestimmten Anzahl von Abtastproben unterteilt wird,
jeder Rahmen mit Abtastproben im Zeitbereich orthogonal in einen
Block von Spektralkoeffizienten im Frequenzbereich transformiert
wird, jeder Block von Spektralkoeffizienten dem Blockfloating unterworfen
und durch adaptive Bitzuteilung quantisiert wird und die quantisierten
Signale zusammen mit Parametern übertragen
werden, die für
das Blockfloating und die adaptive Bitzuteilung relevant sind. Als nächstes sei
in Verbindung mit der Anordnung von 9 das
Verfahren beschrieben, bei dem Vorechos verursacht werden.
-
In 9 werden
die Rahmen des digitalen Audioeingangssignals TS im Zeitbereich
dem Eingang 101 zugeführt.
Jeder Rahmen des digitalen Eingangssignals TS wird durch die orthogonale
Transformationsschaltung 111 in mehrere Spektralkoeffizienten
SP transformiert. Die Spektralkoeffizienten SP werden zu der Spektralkoeffizienten-Quantisierungsschaltung 115 übertragen.
-
Die Spektralkoeffizienten-Quantisierungsschaltung 115 normiert
die Spektralkoeffizienten SP durch Blockfloating und quantisiert
dann die normierten Spektralkoeffizienten SP mit einer adaptiv zugeteilten
Bitzahl.
-
Die einzelnen Blöcke von Spektralkoeffizienten
SP, die sich durch die Transformierung eines Rahmens des Eingangssignals
ergeben, werden außerdem
der Blockfloatingkoeffizienten-Berechnungsschaltung 113 zugeführt, die
für jeden
Block wenigstens einen Blockfloatingkoeffizienten SF berechnet und
diese Blockfloatingkoeffizienten SF der Spektralkoeffizienten-Quantisierungsschaltung 115 zuführt. Letztere
wendet dann auf jeden Block Blockfloating an, wobei sie die von
der Blockfloatingkoeffizienten-Berechnungsschaltung 116 empfangenen
Blockfloatingkoeffizienten SF benutzt. Die Spektralkoeffizienten
können
in Bänder
unterteilt werden, und für
jedes Band kann ein Blockfloatingkoeffizient berechnet werden, und
auf die Spektralkoeffizienten in jedem Band kann einem Blockfloating
angewendet werden.
-
Die Spektralkoeffizienten SP werden
außerdem
der Bitzuteilungs-Berechnungsschaltung 114 zugeführt, die
eine Wortlänge
WL liefert, die die Bitzahl angibt, die in der Spektraikoeffizienten-Quantisierungsschaltung 115 zur
Quantisierung der Spektralkoeffizienten benutzt werden sollen. Die
für die Quantisierung
benutzte Bitzahl bestimmt den Quantisierungsgeräuschpegel: Durch Vergrößerung der
Bitzahl wird der Quantisierungsgeräuschpegel herabgesetzt. Die
Anzahl der Quantisierungsbits wird in Abhängigkeit von einem zulässigen Geräuschpegel festgelegt,
der aus dem Energiepegel in jedem Block von Spektralkoeffizienten
SP berechnet wird, wobei die Maskierung berücksichtigt wird.
-
Die quantisierten Spektralkoeffizienten
QSP, die durch Verarbeiten der einzelnen Blöcke von Spektralkoeffizienten
mit Blockfloating nach Maßgabe
des Blockfloatingkoeffizienten SF und durch Quantisierung der einzelnen
Blöcke
von Spektralkoeffizienten mit einer nach Maßgabe der Wortlänge WL adaptiv
zugeteilten Bitzahl erzeugt wurden, werden von der Spektralkoeffizienten-Quantisierungsschaltung 115 an
die Bitstrom-Umwandlungsschaltung 116 ausgegeben. Die Bitstrom-Umwandlungsschaltung
wandelt -die quantisierten Spektralkoeffizienten SQP, den Blockfloatingkoeffizienten
SF und die Wortlänge
WL für
jeden Datenblock in einen Bitstrom um. Das Ausgangssignal der Bitstrom-Umwandlungsschaltung
wird dem Ausgang 102 als Ausgangsbitstrom zugeführt.
-
10 zeigt
eine praktische Ausführung
der Bitzuteilungs-Berechnungsschaltung 114. Die einzelnen
Blöcke
von Spektralkoeffizienten SP werden über den Eingang 142 der
Energieberechnungsschaltung 145 zugeführt, die die Energieverteilung berechnet.
Dies kann die Festlegung der Energieverteilung unter den kritischen
Bändern
beinhalten. Das Ausgangssignal der Energieberechnungsschaltung 145,
der Energiepegel EN, wird der Schaltung 146 zur Berechnung
des zulässigen
Geräuschpegels
zugeführt,
die den zulässigen
Geräuschpegel
AN für
jeden Block in Abhängigkeit
von der von der Energieberechnungsschaltung 145 gefundenen
Energieverteilung berechnet und dabei die Maskierung berücksichtigt.
-
Das Ausgangssignal der Schaltung 146 zur Berechnung
des zulässigen
Geräuschpegels,
d. h. der zulässige
Geräuschpegel
AN, wird der Wortlängen-Berechnungsschaltung 147 zugeführt, die
außerdem über den
Eingang 143 den Blockfloatingkoeffizienten SF aus der Blockfloatingkoeffizienten-Berechnungsschaltung 113 aufnimmt.
Die Wortfängen-Berechnungsschaltung 147 bestimmt
aus dem Wert des Blockfloatingkoeffizienten für den jeweiligen Block die
Wortlänge
WL, die die Anzahl der zugeteilten Bits angibt.
-
1 1
zeigt die Einheiten, auf die Blockfloating angewendet wird. Jede
Einheit ist durch ein Rechteck dargestellt. Das Blockfloating wird
auf jede Einheit angewendet, die durch Unterteilung entlang der
Frequenzachse und der Zeitachse erzeugt wird. Die Unterteilung entlang
der Zeitachse repräsentiert die
Unterteilung des Eingangssignals in Rahmen. Die Unterteilung entlang
der Frequenzachse repräsentiert
eine Unterteilung der Spektralkoeffizienten, die sich aus der orthogonalen
Transformation eines Rahmens des Eingangssignals ergeben, in ein
oder mehrere Bänder,
vorzugsweise in 25 kritische Bänder. Somit
stellt jedes Rechteck in 11 einen
Block dar, der aus einem Band der durch Transformieren eines Rahmens
des Eingangssignals gewonnen Spektralkoeffizienten besteht.
-
Die Bitzuteilung-Berechnungsschaltung 114 führt z.B.
für jeden
der vier in 11 dargestellten aufeinanderfolgenden
Rahmen des Eingangssignals (Rahmen T1 bis T4) eine Reihe von Verarbeitungsoperationen
aus, um die Bitzahl zu bestimmen, die zur Quantisierung der Spektralkoeffizienten
in jedem der Blöcke
B1 bis B4 zuzuteilen ist, wobei jeder der Blöcke B1 bis B4 einen Block in
einem Band der Spektralkoeffizienten bildet, der sich aus der Transformation
der jeweiligen Rahmen T1 bis T4 des Eingangssignals ergibt.
-
12 zeigt,
wie die Bitzuteilungs-Berechnungsschaltung 114 in den Blöcken B1
bis B4 in den vier aufeinanderfolgenden jeweiligen Rahmen T1 bis T4
des in 7 dargestellten
Audiosignals adaptiv Bits zuteilt. Die Bitzuteilungs-Berechnungsschaltung 114 ermittelt
die Energiepegel EN1 bis EN4 in den jeweiligen Blöcken B1
bis B4. Aus den zugehörigen Energiepegeln
berechnet sie die zulässigen
Geräuschpegel
AN1 bis AN4 in Abhängigkeit
von den Energiepegeln EN1 bis EN4. Sie berechnet ferner die Wortlänge WL und
den Wert des Blockfloatingkoeffizienten SF für jeden der Blöcke B1 bis
B4 aus den zugehörigen
zulässigen
Geräuschpegeln
AN 1 bis AN4.
-
Es sei nun auf 7 und 12 Bezug
genommen. Da der Signalpegel in dem letzten Teil des Rahmens T2
beträchtlich
größer ist
als in dem vorhergehenden Teil, werden der Energiepe gel EN2 des Blocks
B2 und der in Abhängigkeit
von diesem Energiepegel EN2 berechnete zulässige Geräuschpegel, d. h. der durch
den Energiepegel EN2 maskierte Quantisierungsgeräuschpegel, in Abhängigkeit
von dem Energiepegel in dem letzten Teil des Rahmens bestimmt. Als
Ergebnis wird die für
die Quantisierung der Spektralkoeffizienten SP in dem Block B2 zugeteilte
Bitzahl, d. h. die durch die Wortlänge WL2 angegebene Bitzahl,
so festgelegt, daß der
Quantisierungsgeräuschpegel
in dem Block B2 unterhalb des zulässigen Geräuschpegels AN2 liegt, der in
Abhängigkeit
von dem hohen Energiepegel EN2 in dem letzten Teil des Rahmens festlegt
wird.
-
In dem vorhergehenden Teil des Rahmens T2
ist der Signalpegel, wie in 7 dargestellt,
niedrig, so daß der
zulässige
Geräuschpegel
AN21 in diesem früheren
Teil des Rahmens T2, wie in 13 dargestellt,
einen relativ niedrigen Wert haben sollte. Andererseits ist der
Signalpegel in dem letzten Teil des Rahmens T2 beträchtlich
größer als
in dem in 7 dargestellten
früheren
Teil, so daß der
zulässige
Geräuschpegel
AN22 des Blocks 22, der dem letzten Teil des Rahmens T2
entspricht, einen erheblich höheren
Wert hat, wie dies in 13 dargestellt ist. 13 zeigt auch die Energiepegel
EN21 und EN22 in den Blöcken
B21 für
das in 7 dargestellte
Eingangssignal, die dem früheren
Teil und dem letzten Teil des Rahmens T2 entsprechen.
-
Falls die für die Quantisierung des Blocks
B2 zugeteilte Bitzahl so festgelegt wird, wie dies in 12 dargestellt ist, wird
der Quantisierungsgeräuschpegel
wegen der Unterschiede im Energiepegel und dem zulässigen Geräuschpegel
zwischen den beiden Teilen des Rahmens T2, wie in 13 dargestellt, auf einen Pegel gesetzt,
der den zulässigen
Geräuschpegel
AN21 überschreitet.
Dieser Pegel des Quantisierungsgeräuschs ist als Vorecho in dem
früheren
Teil des in 13 dargestellten
Rahmens T2 (in dem Block 1321) hörbar.
-
Um die Möglichkeit des Auftretens von Vorechos
zu verringern, ist es bekannt, die Dauer eines Rahmens so kurz wie
möglich
zu wählen.
Dadurch wird die Zeit verringert, in der ein Vorecho auftreten kann,
wodurch das Vorecho unter Ausnutzung der Rückwärtsmaskierung unhörbar gemacht
wird. Bei der Rückwärtsmaskierung
wird ein Schall oder ein Geräusch
mit niedrigem Pegel durch einen später auftretenden lauten Schall
maskiert. Zeitliche Rückwärtsmaskierung
ist nur über
eine relativ kurze Zeitspanne wirksam. Falls der Schall oder das
Geräusch mit
niedrigem Pegel mehr als etwa eine Millisekunde vor dem lauten Schall
auftritt, maskiert der Schall mit hohem Pegel das Geräusch oder
den Schall mit niedrigem Pegel nicht, und das Geräusch mit
niedrigem Pegel wird von dem Hörer
wahrgenommen. Zeitliche Rückwärtsmaskierung
steht im Gegensatz zur zeitlichen Vorwärtsmaskierung, bei der ein
Schall mit hohem Pegel einen Schall oder ein Geräusch mit niedrigem Pegel maskiert,
die auftreten, nachdem der Schall mit hohem Pegel geendet hat. Zeitliche
Vorwärts maskierung
ist über
einen beträchtlich
längeren Zeitraum
wirksam als zeitliche Rückwärtsmaskierung.
-
Die Verringerung der Zeitdauer eines
Rahmens, d. h. die Verringerung der Anzahl von Abtastproben in einem
Rahmen, zur Ausnutzung einer zeitlichen Rückwärtsmaskierung ist unerwünscht, weil die
Verkürzung
der Rahmendauer die Effizienz des Datenkomprimierers herabsetzt.
Die Dauer eines Rahmens läßt sich
nicht genügend
stark verkürzen, um
eine zuverlässige
Rückwärtsmaskierung
zu erreichen, da sie zu einer unannehmbaren Kompressionseffizienz
führt.
-
Es ist auch bekannt, die Dauer eines
Rahmens so zu variieren, daß die
Dauer nur in denjenigen Rahmen verkürzt wird, in denen der Signalpegel rasch
ansteigt. Da das Blockfloating auf den Block von Spektralkoeffizienten
angewendet wird, die dadurch gewonnen werden, daß ein Rahmen des digitalen
Signals aus dem Zeitbereich in den Frequenzbereich transformiert
wird, ist es wegen der bei der Durchführung der Transformation angewendeten Fensterform
nicht möglich,
die Rahmendauer über einen
allzu breiten Bereich zu variieren. Darüber hinaus bedingt die Verringerung
der Rahmenlänge
eine Verringerung der Auflösung
im Frequenzbereich. Somit können
Vorechos durch zeitliche Verkürzung
der Rahmendauer nicht über
eine bestimmte Grenze hinaus reduziert werden.
-
Zur Verringerung der Quantisierungsverzerrung
ist es auch bekannt, Rahmen zu detektieren, in denen ein rascher
Anstieg des Signalpegels stattfindet, und einem solchen Rahmen redundante
Bits zuzuteilen. Es hat sich jedoch herausgestellt, daß es bei
einem solchen Verfahren schwierig ist, genau zu entscheiden, wie
viele redundänte
Bits zugeteilt werden sollen.
-
Ein Verfahren zum Reduzieren der
Verzögerung
des Kodierers, das alle Merkmale des Oberbegriffs von Anspruch 1
aufweist, ist in EP-A-0 059 294 offenbart.
-
Es ist ein Ziel der Erfindung, ein
Audiosignal-Verarbeitungsverfahren zum Komprimieren eines digitalen
Audiosignals anzugeben, das eine Beeinträchtigung der Tonqualität durch
Vorechos verhindert.
-
Erreicht wird dieses Ziel durch eine
Signalverarbeitungsvorrichtung, ein Signalverarbeitungsverfahren
und ein Medium nach den anliegenden unabhängigen Ansprüchen. Vorteilhafte
Weiterbildungen der Erfindung sind in den entsprechenden Unteransprüchen definiert.
-
Die Bitzuteilung an den wenigstens
einen Block in dem laufenden Rahmen wird bei der Audiosignal-Verarbeitungseinrichtung
und den entsprechenden Verfahren gemäß vorliegender Erfindung in Abhängigkeit
von der Signalenergie oder dem zulässigen Geräuschpegel des wenigstens einen
Blocks in einem früheren
oder dem laufenden Rahmen unmittelbar vorausgehenden Rahmen festgelegt.
Zu diesem Zweck erfolgt die Bitzuteilung an den wenigstens einen
Block in einem laufenden Rahmen, der einen Transienten enthält, in Abhängigkeit
von der niedrigeren Signalenergie oder dem zulässigen Geräuschpegel des wenigstens einen
Blocks in dem dem laufenden Rahmen vorausgehenden früheren Rahmen.
Infolgedessen werden dem wenigstens einen Block in dem laufenden
Rahmen mehr Bits zugeteilt, wodurch die Ouantisierungsverzerrung
herabgesetzt wird.
-
Da außerdem die Gesamtzahl der für die Quantisierung
des wenigstens einen Blocks zugeteilten Sits über eine Zeitspanne von mehreren
Rahmen konstant gehalten wird, kann ein Bitüberschuß oder -defizit vermieden werden.
-
Wenn die Gesamtzahl der für die Quantisierung
des wenigstens einen Blocks zugeteilten Bits über eine Zeitspanne von mehreren
Rahmen konstant gehalten wird, findet das Blockfloating an einem Rahmen
mit variabler Zeitdauer statt. Die insgesamt zugeteilte Bitzahl
wird konstant gehalten, falls ein kürzerer Rahmen ausgewählt wird,
so daß eine
Signalbeeinträchtigung
vermieden werden kann, die andernfalls durch eine konstante Bitrate
verursacht würde.
-
1 zeigt,
in welcher Art und Weise bei der Vorrichtung und nach dem Verfahren
gemäß vorliegender
Erfindung Quantisierungsbits adaptiv zugeteilt werden,
-
2 zeigt
die Wellenform eines stetigen Signals,
-
3 zeigt,
in welcher Art und Weise bei der Vorrichtung und nach dem Verfahren
gemäß vorliegender
Erfindung Quantisierungsbits stetigen Signalen adaptiv zugeteilt
werden,
-
4 zeigt
das Blockschaltbild eines Ausführungsbeispiels
der Vorrichtung gemäß der Erfindung
zur Durchführung
des erfindungsgemäßen Verfahrens,
-
5 zeigt
das Blockschaltbild eines Ausführungsbeispiels
einer Rahmenlängen-Entscheidungsschaltung,
die in der Anordnung von 4 verwendet
wird,
-
6 zeigt
das Blockschaltbild eines Ausführungsbeispiels
einer Bitzuteilungs-Berechnungsschaltung, die in der Anordnung von 4 verwendet wird,
-
7 zeigt
die Wellenform eines Transienten,
-
8 zeigt
eine Wellenform zur Erläuterung eines
Vorechos,
-
9 zeigt
das Blockschaltbild einer herkömmlichen
Anordnung zur Datenkomprimierung,
-
10 zeigt
das Blockschaltbild eines Ausführungsbeispiels
der Bitzuteilungs-Berechnungsschaltung, die in der Anordnung von 9 verwendet wird,
-
11 zeigt
ein Diagramm zur Erläuterung der
Einheiten, auf die das Blockfloating angewendet wird,
-
12 zeigt
ein Diagramm zur Erläuterung der
adaptiven Zuteilung von Quantisierungsbits bei dem herkömmlichen
Verfahren,
-
13 zeigt
ein Diagramm zur Erläuterung des
bei dem herkömmlichen
Signalverarbeitungsverfahren auftretenden Problems.
-
Anhand der Zeichnungen seien im folgenden bevorzugte
Ausführungsbeispiele
der Erfindung näher
erläutert.
-
Zunächst sei auf 1 Bezug genommen. Die vorliegende Erfindung
besteht aus einem Signalverarbeitungsverfahren, bei dem ein digitales
Audioeingangssignal TS zeitlich in Blöcke unterteilt wird, z. B.
in Blöcke
B1 bis B4, wobei jeder Block einem Rahmen, z. B. dem Rahmen T1 bis
T4 des Eingangssignals entspricht. Die Daten werden in jedem Block
einem Blockfloating unterzogen. Sie werden mit einer adaptiv zugeteilten
Bitzahl quantisiert. Die resultierenden quantisierten Daten für jeden
Block sind zusammen mit den für
das Blockfloating des betreffenden Blocks relevanten Parametern,
d. h. dem Blockfloatingkoeffizienten SF1 und der Wortlänge wI für den Block,
in dem komprimierten Ausgangssignal enthalten. Bei dem Kodierverfahren
gemäß der Erfindung
werden die Quantisierungsbits einem Block in dem laufenden Rahmen
in Abhängigkeit
von dem Signalenergiepegel EN oder dem zulässigen Geräuschpegel AN in dem Block in
wenigstens einem dem laufenden Block vorausgehenden früheren Rahmen
oder dem unmittelbar vorausgehenden Rahmen zugeteilt.
-
Falls bei dem Signalverarbeitungsverfahren gemäß der Erfindung
der laufende Rahmen der Rahmen T2 ist, wird die Bitzahl, die zur
Quantisierung des Blocks B2 in dem Rahmen T2 zugeteilt wird, (d. h.
die durch die (nicht dargestellte) Wortlänge wI0 und wI1 gekennzeichnete
Bitzahl) in Abhängigkeit von
den (nicht dargestellten) Energiepegeln ENO oder EN1 oder den zulässigen Geräuschpegeln
ANO oder AN1 in den Blöcken
BO oder B1 in den Rahmen TO oder T1 festlegt sind, die dem Rahmen
T2 vorausgehen. Falls der laufende Rahmen der Rahmen T2 ist, wird
bei dem Datenkompressionsverfahren gemäß vorliegender Erfindung vorzugsweise
die Anzahl der für
die Quantisierung der Daten in dem Block B2 in dem Rahmen T1 zugeteilten
Bits (d. h. die durch die Wortlänge
wI1 angegebene Bitzahl) in Abhängigkeit
von dem Energiepegel EN1 oder dem zulässigen Geräuschpegel AN1 in dem Block
B1 in dem Rahmen T1 festgelegt, der dem Rahmen T2 unmittelbar vorausgeht.
-
Gemäß 1 wird bei einem zweiten Audiosignal-Verarbeitungsverfahren
gemäß der Erfindung ein
Rahmen (z. B. der Rahmen T2 in 1)
detektiert, der ein Transientensignal enthält, in dem der Signalpegel
rasch ansteigt. Die Bitzuteilung, (d. h. die durch die (nicht dargestellte)
Wortlänge
wI0 und wI1 gekennzeichnete Bitzahl) für die Daten in dem Block B2
in dem Rahmen T2 wird in Abhängigkeit
von den Signalenergien ENO oder EN1 oder den zulässigen Geräuschpegeln ANO oder AN1 oder
AN1 in wenigstens einem der Blöcke
BO oder B1 in den Rahmen TO oder T1, die dem Rahmen T2 vorausgehen
oder in dem Block B1 in dem Rahmen T1, der dem Rahmen T2 unmittelbar
vorausgeht, festgesetzt.
-
Bei dem Datenkompressionsverfahren
und der Vorrichtung gemäß der vorliegenden
Erfindung sind es nicht die zulässigen
Geräuschpegel
AN1 bis AN4 der Blöcke
B1 bis B4 sondern der zulässige
Geräuschpegel
AN des unmittelbar vorausgehenden Blocks, die, wie in 1 gezeigt, zur Festlegung
der Wortlängen
wI1 wI4 der Blöcke
B1 bis B4 verwendet werden, wie dies in 12 dargestellt ist. In dem Block B1 wird
die Wortlänge
wIi beispielsweise in Abhängigkeit
von dem zulässigen
Geräuschpegel
ANO in dem unmittelbar vorausgehenden Block 80 festgelegt.
Entsprechend werden in den Blöcken
B2, B3 und B4 die Wortlängen
wI2, wI3 bzw. wI4 unter Verwendung des zulässigen Geräuschpegels AN1 des Blocks B1,
des zulässigen
Geräuschpegels
AN2 des Blocks B2 bzw. des zulässigen
Geräuschpegels
AN3 des Blocks B3 festgelegt.
-
Da die Wortlänge wI2 in dem Block B2 von 1, in dem der Signalpegel
rasch ansteigt, wie beschrieben, unter Verwendung des Wert des niedrigen zulässigen Geräuschpegels
AN1 des Blocks B1 festgelegt wird, wird zur Ouantisierung der Daten
in dem Block B2 eine Bitzahl zugeteilt, die groß genug ist, um zu verhindern,
daß in
dem früheren
Teil des Rahmens T2 ein Vorecho hörbar wird.
-
Falls bei dem Beispiel von 1 der Energiepegel EN1 in
dem Block B1, der dem Block B1 unmittelbar vorausgeht, vergrößert wird,
vergrößert sich auch
der zulässige
Geräuschpegel
in dem Block B1, so daß die
Anzahl der Bits, die zur Quantisierung der Daten in dem Block B2
zugeteilt wird, verringert wird. Diese Verringerung der Bitzahl
verursacht jedoch kein hörbares
Vorecho, weil das Quantisierungsgeräusch in dem Block B2 wegen
der Vorwärtsmaskierung
durch den größer gewordenen
Signalpegel in dem Rahmen T2 unhörbar
ist. Das später
auftretende Quantisierungsgeräusch
wird durch den früher
auftretenden Schall maskiert.
-
Obwohl bei der vorliegenden Erfindung
den Blöcken
B3 und B4, die nach dem Block B2 auftreten, weniger Bits zugeteilt
werden als bei dem oben beschriebenen herkömmlichen Verfahren, wird der
daraus resultierende höhere
Quantisierungsgeräuschpegel
in den Blöcken
B2 und B4 wegen der Vorwärtsmaskierung
durch den höheren
Signalpegel in dem vorausgehenden Rahmen T2 von dem Hörer nicht wahrgenommen.
-
Aus dem obigen läßt sich ersehen, daß das Audiosignal-Verarbeitungsverfahren
gemäß der Erfindung
für die
Verarbeitung von transienten Signalen, d. h. von Signalen, in denen
der Pegel rasch ansteigt, effektiv ist. Das Audiosignal-Verarbeitungsverfahren
gemäß der Erfindung
ist jedoch auch bei der Verarbeitung von stetigen Signalen effektiv.
-
Für
die Verarbeitung eines stetigen Audiosignals SP, wie es beispielsweise
in 2 dargestellt ist,
sind die Energiepegel EN1 bis EN4, die zulässigen Geräuschpegel ANO bis AN3, die
Blockfloatingkoeffizienten SF1 bis SF4 und die Wortlängen wI1
bis wI4 für
die Blöcke
B1 bis B4 in 3 dargestellt. 3 zeigt außerdem zum
Vergleich die Wortlängen WL1
bis WL4, die in Abhängigkeit
von den Blockfloatingkoeffizienten SF1 bis SF4 und den zulässigen Geräuschpegeln
AN1 bis AN4 der Blöcke 81 bis
B4 festlegt werden.
-
Man erkennt aus 3, daß für das in 2 dargestellte stetige Eingangssignal
die zulässigen Geräuschpegel
AN1 bis AN4 der Blöcke
B1 bis B4 im wesentlichen dieselben Werte haben wie die zulässigen Geräuschpegel
ANO bis AN3 in den unmittelbar vorausgehenden Blöcken BO bis B3. Deshalb sind die
Ergebnisse, die man erhält,
wenn die Wortlängen WL1
bis WL4 für
die Blöcke
B1 bis B4 berechnet werden, praktisch dieselben wie die Wortlängen wI1
bis wI4, die unter Verwendung des zulässigen Geräuschpegels in den unmittelbar
vorausgehenden Blöcken
BO bis B3 berechnet werden. Das bedeutet, daß das Audiosignal-Verarbeitungsverfahren
gemäß der Erfindung
direkt auf stetige Signale angewendet werden kann. Da alle Arten
von Eingangsaudiosignalen in derselben Weise verarbeitet werden
können, läßt sich
die Anordnung eines Systems zur Durchführung des Audiosignal-Verarbeitungsverfahrens
vereinfachen.
-
Falls es jedoch erwünscht ist,
die Wortlängen für die Blöcke B1 bis
B4 für
stetige Signale festzulegen, werden vorzugsweise die zulässigen Geräuschpegel
AN 1 bis AN4 für
die Blöcke
B1 bis B4 verwendet, weil man dadurch eine bessere Tonqualität erhält. Es ist
auch möglich
und mitunter vorzuziehen, zu diesem Zweck einen Frequenzbereich
zu erfassen, der einen rasch ansteigenden Signalpegel aufweist,
und die Signalverarbeitung gemäß der Erfindung
nur auf diesen Frequenzbereich anzuwenden.
-
Das Eingangssignal kann von Zeit
zu Zeit getestet werden, um festzustellen, ob es ein Transientensignal
oder ein stetiges Signal ist. Wenn festgestellt wird, daß das Eingangssignal
ein stetiges Signal ist, kann ein Rahmen gewählt werden; der eine längere Dauer
hat als normal (d. h. ein Rahmen, der die Dauer von mehreren normalen
Rahmen hat). Um höchste
Tonqualität
zu erreichen, wird in diesem Fall vorzugsweise die Wortlänge in Abhängigkeit
von dem zulässigen
Geräuschpegel
für die
Dauer des größeren Rahmens
festgelegt.
-
Obwohl die Wortlänge wI für den Block in dem laufenden
Rahmen vorzugsweise unter Verwendung des zulässigen Geräuschpegels für den Block in
dem unmittelbar vorausgehenden Rahmen berechnet wird, kann sie auch
unter Verwendung eines zwischen dem zulässigen Geräuschpegel für den Block in dem unmittelbar
vorausgehenden Rahmen und dem zuläs sigen Geräuschpegel für den Block in dem laufenden
Rahmen, d. h. dem Block, für
den die Wortlänge
gerade berechnet wird, interpolierten Wert berechnet werden.
-
Alternativ kann die Wortlänge für den Block in
dem laufenden Rahmen auch in Abhängigkeit
von einem zulässigen
Geräuschpegel
festlegt werden, der aus einem Energiewert des Blocks in dem laufenden
Rahmen bestimmt wird, der aus den Daten in dem Block in dem vorausgehenden
Rahmen berechnet wurde. Als weitere Alternative kann die Wortlänge des
Blocks in dem laufenden Rahmen auch in Abhängigkeit von einem zulässigen Geräuschpegel festlegt
werden, der aus Energiewerten für
den Block in dem laufenden Rahmen bestimmt wird, der durch Interpolation
des Energiepegels des Blocks in dem laufenden Rahmen und des Energiepegels
des Blocks in dem vorausgehenden Rahmen bestimmt wurde.
-
Das Verfahren gemäß vorliegender Erfindung kann
sowohl in Systemen mit fester Bitrate als auch in Systemen mit variabler
Bitrate angewendet werden. Falls das Verfahren auf ein System mit
fester Bitrate angewendet wird, werden vorzugsweise mehrere zeitlich
aufeinanderfolgende Blöcke
in einer Gruppe angeordnet und die Bitrate für diese Gruppe von Blöcken eingestellt,
da einem Block, in dem der Signalpegel rasch ansteigt, eine größere Bitzahl
zugeteilt werden kann.
-
Die vorliegende Erfindung stellt
also, wie oben beschrieben, ein Audiosignal-Verarbeitungsverfahren
zur Verfügung,
bei dem die Bitzuteilung an einen oder mehrere Blöcke in dem
laufenden Rahmen in Abhängigkeit
von dem Energiepegel EN oder dem zulässigen Geräuschpegel AN in den entsprechenden
Blöcken
in den vorausgehenden früheren Rahmen
oder dem dem laufenden Rahmen unmittelbar vorausgehenden Rahmen
festgelegt wird. Die Bitzuteilung an wenigstens einen Block in einem Rahmen,
der einen Transienten enthält,
in dem der Signalpegel rasch anwächst,
z. B. dem Block B2 in dem Rahmen T2, wird in Abhängigkeit von den Energiepegeln
ENO oder EN1 oder EN1 oder den zulässigen Geräuschpegeln ANO oder AN 1 oder
AN 1 in den Blöcken
BO oder B1 in dem früheren
vorausgehenden Rahmen TO oder in dem dem Rahmen T2 unmittelbar vorausgehenden
Rahmen T1 festgelegt. Die vorliegende Erfindung sieht weiterhin
vor, daß die Gesamtzahl
der Quantisierungsbits, die Blöcken
zugeteilt werden, die während
einer der Dauer mehrerer Rahmen des Audioeingangssignals entsprechenden
Zeitperiode auftreten, konstant gemacht wird, oder daß die Gesamtzahl
von Quantisierungsbits, die während
einer mehreren Rahmen des Eingangssignals entsprechenden Zeitperiode
zugeteilt werden, durch Änderung
der Länge
des Rahmens konstant gemacht wird, auf den das Blockfloating angewendet wird.
-
4 zeigt
ein praktisches Ausführungsbeispiel
der Vorrichtung zur Durchführung
des Verfahrens gemäß der Erfindung
zum Komprimieren von Audiodaten. Hier wird die Dauer eines Rahmens
in Abhängigkeit
davon gewählt,
ob das Eingangssignal einen Transienten enthält oder ein stetiges Signal
ist. Die in 4 dargestellte
Anordnung transformiert einen Rahmen mit mehreren Abtastproben eines
digitalen Audioeingangssignals TS im Zeitbereich in mehrere Spektralkoeffizienten
SP im Frequenzbereich.
-
Das digitale Audioeingangssignal
TS, das zeitlich in Rahmen unterteilt wird, die jeweils aus einer
vorbestimmten Anzahl von Abtastproben bestehen, wird dem Eingang 1 zugeführt. Das
Eingangssignal TS wird von der Transformationsschaltung 11 in mehrere
Spektralkoeffizienten SP transformiert. Die Rahmenlängen-Entscheidungsschaltung
nimmt ebenfalls das Eingangssignal TS auf und legt eine variable
Rahmenlänge
fest, d. h. die Anzahl von Abtastproben des Eingangssignals in jedem
Rahmen. Dies bestimmt auch die zeitliche Aufteilung zwischen den
Blöcken
B1 bis B4. Die variable Rahmenlänge wird
vorzugsweise dadurch erzielt, daß ein Basisrahmen durch 1, 2, 4 usw.
geteilt wird. Die Rahmenlänge BL
wird von der Rahmenlängen-Entscheidungsschaltung 12 der
Transformationsschaltung 11, der Blockfloatingkoeffizienten-Berechnungsschaltung 13,
der Bitzuteilungs-Berechnungsschaltung 14, der Spektralkoeffizienten-Quantisierungsschaltung 15 und
der Bitstrom-Umwandlungsschaltung 16 zugeführt.
-
Die Transformationsschaltung 11 transformiert
das im Zeitbereich liegende Eingangssignal TS in Spektralkoeffizienten
SP des Frequenzbereichs. Die Transformation wird an Rahmen des Eingangssignals
ausgeführt,
deren Länge
durch die Rahmenlänge
BL bestimmt wird.
-
Die Spektralkoeffizienten SP werden
von der Transformationsschaltung 11 der Spektralkoeffizienten-Quantisierungsschaltung 15 zur
Quantisierung zugeführt.
Die Spektralkoeffizienten-Quantisierungsschaltung 15 normiert
die Spektralkoeffizienten SP durch Blockfloating und quantisiert
die normierte Spektralkoeffizienten SP mit einer adaptiv zugeteilten Bitzahl.
-
Jeder Block von Spektralkoeffizienten
SP, der durch die Transformierung eines Rahmens des Eingangssignals
gebildet wird, wird außerdem
der Blockfloating-Berechnungsschaltung 13 zugeführt, die
wenigstens einen Blockfloatingkoeffizienten SF für den Block von Spektralkoeffizienten
berechnet und die Blockfloatingkoeffizienten der Spektralkoeffizienten-Quantisierungsschaltung 15 zuführt. Die Spektralkoeffizienten
können
in mehrere Bänder,
vorzugsweise in kritische Bänder,
unterteilt sein, und das Blockfloating wird für jedes Band durchgeführt. Die Blockfloatingkoeffizienten-Berechnungsschaltung 13 empfängt außerdem die
Rahmenlängendaten
BL aus der Rahmenlängen
Entscheidungsschaltung 12, so daß sie den Blockfloatingkoeffizienten
für die
durch die Rahmenlängen-Entscheidungsschaltung
festgelegte Rahmenlänge
bestimmen kann. Die Spektralkoeffizienten-Quantisierungsschaltung 15 nimmt
weiterhin Rahmenlängendaten
aus der Rahmenlängen-Entscheidungsschaltung 12 auf,
so daß sie
das Blockfloating korrekt ausführen
kann.
-
Die Spektralkoeffizienten SP werden
auch der Bitzuteilungs-Berechnungsschaltung 14 zugeführt, die
eine Wortlänge
WL erzeugt, die die Bitzahl kennzeichnet, die in der Spektralkoeffizienten-Quantisierungsschaltung 15 zur
Quantisierung der Spektralkoeffizienten benutzt werden. Die Bitzahl
wird in Abhängigkeit
von dem zulässigen
Geräuschpegel berechnet,
der durch den Energiepegel in dem Block von Spektralkoeffizienten
SP bestimmt wird, wobei die Maskierung berücksichtigt wird. Die Bitzuteilungs-Berechnungsschaltung 14 nimmt
ebenfalls die Rahmenlängendaten
BL auf, die sie für
die Festlegung der Bitzahl benötigt,
die für
die Quantisierung der Spektralkoeffizienten zugeteilt werden müssen.
-
Die quantisierten Spektralkoeffizienten
QSP, die dadurch erzeugt werden, daß jeder Block von Spektralkoeffizienten
nach Maßgabe
des Blockfloatingkoeffizienten SF einem Blockfloating unterworfen und
mit der in Abhängigkeit
von der Wortlänge
wI zugeteilten Bitzahl quantisiert wird, werden von der Spektralkoeffizienten-Quantisierungsschaltung 15 an die
Bitstrom-Umwandlungsschaltung 16 geliefert.
-
Die Bitstrom-Umwandlungsschaltung 16 wandelt
die quantisierten Spektralkoeffizienten QSP, den Blockfloatingkoeffizienten
SF und die Wortlänge wI
für den
Block in einen Bitstrom um. Das Ausgangssignal der Bitstrom-Umwandlungsschaltung steht
an dem Ausgang 2 als Ausgangsbitstrom zur Verfügung.
-
Das resultierende komprimierte digitale
Ausgangssignal kann dann übertragen
oder auf einem geeigneten Aufzeichnungsmedium zur späteren Reproduktion
und Dekodierung aufgezeichnet werden. Beispiele für geeignete
Aufzeichnungsmedien sind magneto-optische Platten, optische Platten,
Magnetbänder
und Halbleiterspeicher.
-
5 zeigt
ein praktisches Ausführungsbeispiel
der Rahmenlängen-Entscheidungsschaltung 12.
Das digitale Audioeingangssignal TS wird über den Eingang 1 der
Spitzenwert-Berechnungsschaltung 21 zugeführt, die
für jeden
Rahmen T1 bis T4 den betreffenden Spitzenwert PK1 bis PK4 ermittelt. Das
Ausgangssignal der Spitzenwert-Berechnungsschaltung 21 wird
der Spitzenwert-Komparatorschaltung 42 zugeführt. Diese
entscheidet nach Maßgabe des
Ausgangssignals der Spitzenwert-Berechnungsschaltung 21,
ob das Eingangssignal TS ein stetiges Signal oder ein Transientensignal
ist.
-
Falls festgestellt wird, daß das Eingangssignal
ein stetiges Signal ist, liefert die Spitzenwert-Komparatorschaltung 22 ein
Rahmenlängenwort
BL, die eine große
Rahmenlänge,
d. h. einen Rahmen mit langer Dauer, kennzeichnet. Die Rahmenlänge BL gibt
vorzugsweise an, daß der
Grundrahmen nicht unterteilt werden soll.
-
Falls hingegen festgestellt wird,
daß das
Eingangssignal ein Transientensignal ist, liefert die Spitzenwert-Komparatorschaltung 22 ein
Rahmenlängenwort
BL, das eine kurze Rahmenlänge,
d. h. einen Rahmen mit kurzer Dauer, kennzeichnet. Die Rahmenlänge BL zeigt
dann vorzugsweise an, daß der
Grundrahmen durch zwei, vier oder mehr geteilt werden soll.
-
Die Rahmenlänge BL wird dem Ausgang 23 zugeführt.
-
6 zeigt
ein praktisches Ausführungsbeispiel
der Bitzuteilungsschaltung 14. Die Spektralkoeffizienten
SP werden dem Eingang 41 zugeführt. Die Rahmenlänge BL wird über den
Eingang 42 der Energieberechnungsschaltung 45 zugeführt. Die Blockfloatingkoeffizienten
SF werden über
den Eingang 43 der Wortfängen-Berechnungsschaltung 47 zugeführt.
-
Die Energieberechnungsschaltung 45 ermittelt
die Energieverteilung der Spektralkoeffizienten SP, die sich aus
der Transformation eines Rahmens des Eingangssignals mit der durch
die Rahmenlänge BL
gekennzeichneten Rahmenlänge
ergeben. Das Ausgangssignal der Energieberechnungsschaltung 45 wird
der Schaltung 46 zur Berechnung des zulässigen Geräuschpegels zugeführt.
-
Da die Rahmenlänge BL auch der Schaltung 46 zur
Berechnung des zulässigen
Geräuschpegels zugeführt wird,
ermittelt diese den unter Berücksichtigung
der Maskierung zulässigen
Geräuschpegel AN
für die
Spektralkoeffizienten SP, die sich aus der Transformation mit einem
Rahmen des Eingangssignals ergeben, der die durch die Rahmenlänge BL gekennzeichnete
Rahmenlänge
besitzt. Der Geräuschpegel
wird in Abhängigkeit
von der Energieverteilung berechnet, die von der Energieberechnungsschaltung 45 ermittelt
wurde.
-
Der zulässige Geräuschpegel AN, der durch die
Schaltung 46 zur Berechnung des zulässigen Geräuschpegels bestimmt wird, wird
in der Speicherschaltung 48 zur Speicherung des zulässigen Geräuschpegels
gespeichert. Der zulässige
Geräuschpegel
wird für
einen Rahmen gespeichert, so daß er, wie
oben beschrieben, als zulässiger
Geräuschpegel für den vorausgehenden
Block verwendet werden kann, wenn die Wortlänge bestimmt wird.
-
Die Schaltung 14 zur Berechnung
des zulässigen
Geräuschpegels
liefert ihr Ausgangssignal für den
Block in dem laufenden Rahmen, d. h. den zulässigen Geräuschpegel AN für den betrachteten
Block, und den zulässigen
Geräuschpegel
AN des Blocks in dem dem laufenden Rahmen vorausgehenden Rahmen
an die Wortlängen-Berechnungsschaltung 47. Der
Wortlängen-Berechnungsschaltung 47 werden außerdem über den
Eingang 43 die Blockfloatingkoeffizienten SF aus der Blockfloatingkoeffizienten-Berechnungsschaltung 13 sowie
die Rahmenlänge
BL zugeführt.
Die Wortlängen-Berechnungsschaltung 47 ermittelt
aus dem zulässigen
Geräuschpegel
AN und aus dem Blockfloatingkoeffizienten SF für einen Block mit der durch
die Rahmenlängendaten
BL angegebenen Zeitdauer die Wortlänge wI, die die adaptiv zugeteilte
Bitzahl angibt.
-
Obwohl in den obigen Ausführungsbeispielen
der Erfindung ein System zur Kodierung spektraler Koeffizienten
im Frequenzbereich beschrieben wurden, die sich aus der Transformation
eines digitalen Audioeingangssignals im Zeitbereich ergeben, läßt sich
die vorliegende Erfindung auch auf ein System anwenden, bei dem
Blockfloating auf ein Signal im Zeitbereich angewendet wird, z.
B. ein Subband-Kodiersystem, bei dem das Signal im Zeitbereich nach
der Frequenzteilung in Subbänder
kodiert wird.
-
Bei dem vorangehend beschriebenen
Verfahren gemäß der Erfindung
zur Verarbeitung von digitalen Audiosignalen wird eine adaptive
Bitzuteilung an einen oder mehrere Blöcke in dem laufenden Rahmen
in Abhängigkeit
von den Signalenergien oder von einem zulässigen Geräuschpegel in dem Block in wenigstens
einem vorausgehenden früheren
Rahmen oder dem laufenden Rahmen unmittelbar vorausgehenden Rahmen
vorgenommen. Alternativ wird ein Rahmen detektiert, der ein Transientensignal enthält, und
die adaptive Bitzuteilung an einen oder mehrere Blöcke in dem
laufenden Rahmen erfolgt in Abhängigkeit
von den Signalenergien oder dem zulässigen Geräuschpegel in dem Block in wenigstens einem
vorausgehenden früheren
Rahmen oder in dem dem laufenden Rahmen unmittelbar vorausgehenden
Rahmen, so daß die
Wahrnehmbarkeit von Vorechos reduziert und die Tonqualität verbessert werden.
-
Auch bei dem Verfahren gemäß der Erfindung
zum Komprimieren von Audiodaten erfolgt eine adaptive Bitzuteilung
an einen oder mehrere Blöcke in
dem taufenden Rahmen in Abhängigkeit
von den Signalenergien oder einem zulässigen Geräuschpegel in den Blöcken in
wenigstens einem vorausgehenden früheren Rahmen oder dem dem laufenden Rahmen
unmittelbar vorausgehenden Rahmen, oder es erfolgt eine adaptive
Bitzuteilung an einen oder mehrere Blöcke eines einen Transienten
enthaltenden Rahmens in Abhängigkeit
von den Signalenergien oder einem zulässigen Geräuschpegel in den Blöcken in
wenigstens einem früheren
vorausgehenden oder in dem dem laufenden Rahmen unmittelbar vorausgehenden
Rahmen.
-
Da die Gesamtbitzahl, die für die Quantisierung
des wenigstens einen Blocks über
eine mehrere Rahmen umfassende Zeitperiode zugeteilt wird, konstant
gehalten wird, wird ein Bitüberschuß oder -Defizit
vermieden.
-
Da die Gesamtbitzahl, die für die Quantisierung
des wenigstens einen Blocks über
eine mehrere Rahmen umfassende Zeitperiode zugeteilt wird, konstant
gehalten wird, wird das Blockfloating an einem Rahmen mit variabler
Zeitdauer durchgeführt.
Die Gesamtzahl der zugeteilten Bits wird konstant gehalten, wenn
ein kürzerer
Rahmen gewählt
wird, so daß eine
Signalbeeinträchtigung,
wie sie in anderen Fällen
durch eine konstante Bitrate verursacht wird, vermieden werden kann.