-
TECHNISCHES
GEBIET
-
Die vorliegende Endung bezieht sich
insgesamt auf perzeptuelles Kodieren digitaler Tonsignale, für das Analysefilter
zum Kodieren und Synthesefilter zum Dekodieren verwendet werden.
Insbesondere bezieht sich die vorliegende Erfindung auf das Quantisieren
von Teilbandsignalen in perzeptuellen Kodierern, bei dem die durch
die Synthesefilter verursachte Streuung des Quantisierungsrauschens
berücksichtigt
wird.
-
EINSCHLÄGIGER STAND
DER TECHNIK
-
Es besteht fortlaufend Interesse
am Kodieren digitaler Tonsignale in einer Form, die geringe Erfordernisse
hinsichtlich der Informationskapazität von Übertragungskanälen und
Speicherträgern
hat und trotzdem die kodierten Tonsignale mit einem hohen Grad an
subjektiver Qualität übermitteln
kann. Mit perzeptuellen Kodiersystemen versucht man, diese widersprüchlichen
Ziele durch Anwendung eines Verfahrens zu erreichen, mit dem die
Tonsignale auf eine Weise kodiert und quantisiert werden, bei der
größere spektrale
Komponenten innerhalb des Tonsignals herangezogen werden, um das
resultierende Quantisierungsrauschen zu überdecken oder unhörbar zu
machen. Insgesamt ist es von Vorteil, die Gestalt und Amplitude
des Quantisierungsrauschspektrums so zu steuern, daß es gerade
unterhalb der psychoakustischen Maskierschwelle des zu kodierenden
Signals liegt.
-
Ein perzeptuelles Kodierverfahren
kann mit einem sogenannten Teilbandkodierer durchgeführt werden,
der an das Tonsignal eine Analysefilterbank anlegt, um Teilbandsignale
zu erhalten, deren Bandbreiten mit den kritischen Bändern des
menschlichen Gehörsystems
in Einklang stehen, der die Maskierschwelle des Tonsignals durch
Anwenden eines perzeptuellen Modells auf die Teilbandsignale oder
irgendeinen anderen Faktor des spektralen Gehalts des Tonsignals
schätzt,
der eine Quantisierungsauflösung
zum Quantisieren jedes Teilbandsignals festlegt, die gerade klein
genug ist, damit das resultierende Quantisierungsrauschen gerade
unterhalb der geschätzten
Maskierschwelle des Tonsignals liegt, und der ein kodiertes Signal
durch Zusammenfügen
der quantisierten Teilbandsignale zu einer zum Übertragen oder Speichern geeigneten
Form erzeugt. Ein komplementäres
perzeptuelles Dekodierverfahren kann von einem Teilbanddekodierer
durchgeführt werden,
der die quantisierten Teilbandsignale aus dem kodierten Signal extrahiert,
entquantisierte Darstellungen der quantisierten Teilbandsignale
erhält
und an die entquantisierten Darstellungen eine Synthesefilterbank anlegt,
um ein Tonsignal zu erzeugen, welches Idealerweise vom ursprünglichen
Tonsignal perzeptuell nicht unterscheidbar ist.
-
Die häufig zum Bestimmen der Quantisierungsauflösung benutzten
perzeptuellen Modelle gehen im allgemeinen davon aus, daß das in
die quantisierten Teilbandsignale eingeführte Quantisierungsrauschen
im wesentlichen das gleiche ist wie das Rauschen, das sich im Ausgabesignal
einstellt, welches durch Anlegen einer Synthesefilterbank an die
quantisierten Teilbandsignale erhalten wird. Diese Vermutung stimmt
insgesamt nicht, weil die Synthesefilter das Spektrum des Quantisierungsrauschens
modifizieren oder streuen. Infolgedessen führt ein Quantisieren, welches
streng nach den durch Anwenden dieser perzeptuellen Modelle erhaltenen
Quantisierungsauflösungen
vorgenommen wird, meistens zu einem hörbaren Rauschen in dem von
den Synthesefiltern erhaltenen Ausgabesignal.
-
Diese Erscheinung der Ausbreitung
oder Streuung des Rauschens trifft auf eine Vielfalt verwirklichter Analyse-
und Synthesefilter zu. Zu diesen Verwirklichungen gehören Polyphasenfilter,
Allpaßfilter,
Quadraturspiegelfilter, verschiedene Blocktransformationen von der
Zeitdomäne
zur Frequenzdomäne,
einschließlich
einer großen
Vielfalt an Fourier-Reihentransformationen, kosinusmodulierten Filterbanktransformationen
und Wavelet-Transformationen. Aus Gründen der Zweckmäßigkeit
werden für
die Anwendung bei der vorliegenden Erfindung geeignete Signalanalyse-
und Signalsynthesetechniken die Ausdrücke der Anwendung von Analysefiltern
bzw. Synthesefiltern gebraucht. Bei den Ausführungsformen der Transformation
weisen die Teilbandsignale je eine Gruppe eines oder mehrerer Transformationskoeffizienten
der Frequenzdomäne
auf.
-
Die vorstehend erwähnte Eigenschaft
der Streuung von Synthesefilterrauschen hängt mit der Tatsache zusammen,
daß die
in diesen Kodiersystemen verwendeten komplementären Analyse- und Synthesefilter keine
Idealfilter mit einer flachen, gleichförmigen Verstärkung im
Durchlaßbereich,
Null-Verstärkung
in den Sperrbereichen und unbegrenzt steilen Übergängen zwischen den Sperrbereichen
und den Durchlaßbereichen
haben. Folglich liefern die Analysefilter nur ein verzerrtes Maß des spektralen
Inhalts eines eingegebenen Tonsignals. Einige Filter, beispielsweise
der Quadraturspiegelfilter (QMF) und die time-domain aliasing cancellation
(TDAC) Transformation erzeugen außerdem signifikante Alias-Artefakte,
die das spektrale Maß des
Eingabesignals noch weiter verzerren. Im Prinzip kann man diese
Artefakte und Abweichungen von perfekten Filtern außer Acht
lassen, weil komplementäre
Paare von Analyse- und Synthesefiltern benutzt werden können, in
denen die Synthesefilter die Verzerrungen der Analysefilter umkehren
und das ursprüngliche
Eingabesignal perfekt wieder herstellen können.
-
Obwohl also eine perfekte Wiederherstellung
im Prinzip möglich
ist, wird sie von praktischen Kodiersystemen nicht erreicht, da
es für
eine perfekte Wiederherstellung nötig ist, daß die Synthesefilter eine präzise Darstellung
der von den Analysefiltern erzeugten Teilbandsignale erhalten. Statt
dessen erhalten die Synthesefilter eine Darstellung mit signifikanten
Fehlern, die durch die vorstehend beschriebenen Prozesse der Quantisierung
eingeführt
werden. Es werden also durch die Teilbandsignalquantisierung Fehler
eingeführt,
die sich als Rauschen in dem von den Synthesefiltern wiederhergestellten
Signal manifestieren. Wie im US Patent 5 623 577, welches durch
diesen Hinweis hier vollständig
eingeschlossen wird, offenbart, werden die Quantisierungsfehler
in einem Teilbandsignal von den Synthesefiltern in einen Frequenzbereich
gestreut, der breiter sein kann als das Frequenzteilband des quantisierten
Teilbandsignals selbst.
-
Perzeptuelle Kodierverfahren wie
die vorstehend beschriebenen quantisieren leider die Teilbandsignale
nicht in optimaler Weise, weil die Quantisierverfahren das in den
Synthesefiltern geschehende Ausbreiten des Rauschens nicht ordnungsgemäß berücksichtigen.
Im US Patent 5 301 255 offenbarte Kodiertechniken enthalten eine
gewisse Berücksichtigung
für die
Alias-Effekte, die durch Dezimieren der Ausgabe eines Analysefilters
erzeugt werden; aber diese Techniken sehen nichts vor, um der Rauschausbreitung
in den Synthesefiltern gerecht zu werden. Folglich werden bei diesen
Prozessen die Quantisierungsauflösungen überschätzt, die
das Quantisierungsrauschen unhörbar
machen. Dieser Mangel kann in gewissem Grad entweder dadurch ausgeglichen
werden, daß man
das Niveau der geschätzten
Maskierschwelle weiter herabdrückt
als es ein genaues perzeptuelles Modell anzeigen würde, oder
daß man
die Quantisierungsauflösung
gleichmäßig weiter
herabsetzt, als es ein genaues perzeptuelles Modell als ausreichend
anzeigen würde,
um das Quantisierungsrauschen unhörbar zu machen. Weder die eine
noch die andere Form des Ausgleichs ist optimal, da die Ursache
für diesen
Mangel nicht ordnungsgemäß in Betracht
gezogen wird.
-
Das US Patent 5 623 577 offenbart
verschiedene Techniken zum Ausgleich für die Streuwirkung der Synthesefilter
auf das Rauschen. Die theoretische Basis für die offenbarten Techniken
geht davon aus, daß das
Ausmaß der
Ausbreitung des Rauschens dadurch bestimmt werden kann, daß man das
Quantisierungsrauschspektrum mit dem Synthesefilterfrequenzgang
faltet. In offenbarten Ausführungsbeispielen
der Techniken wird bestimmt, ob ein Ausgleich für das Ausbreiten des Synthesefilterrauschens
erforderlich ist, indem man Neigungen der Frequenzdomäne einer
geschätzten
Maskierschwelle mit empirisch bestimmten Schwellenwerten vergleicht.
Leider sind diese Techniken nicht optimal, denn die Genauigkeit
der Bestimmung, ob eine Kompensation erforderlich ist, ist weniger
als optimal, die zum Erhalten der empirischen Schwellenwerte erforderlichen
Schritte sind teuer und zeitraubend, und die offenbarten Techniken
berücksichtigen
nicht die Auswertung von Überlapp-Summierprozessen,
die in einigen Synthesefiltern, beispielsweise QMF und TDAC-Transformationen
eingeschlossen sind. Außerdem
bieten die offenbarten Techniken keine Möglichkeit für ein bestimmtes Ausführungsbeispiel,
einen eleganten Kompromiß zwischen
der Genauigkeit des Ausgleichs und den Rechnerressourcen zu erhalten,
die für
die Durchführung
des Ausführungsbeispiels
nötig sind.
-
EP-A-0 722 225 offenbart ein Tonkodierverfahren,
welches ein Signal der Zeitdomäne
in ein kurzfristiges Spektrum umwandelt, das kodiert und zum anschließenden Dekodieren übertragen
wird. Im Zeitpunkt des Dekodierens wird das kurzfristige Spektrum
wieder in die Zeitdomäne
zurückverwandelt.
Die Umwandlung zurück
in die Zeitdomäne
kann hörbares
Rauschen erzeugen, auch wenn das vom Kodierverfahren selbst erzeugte
Rauschen nicht über
ein Maskierspektrum auf der Grundlage eines psychoakustischen Modells
hinausgeht. Dieses Rauschen wird vermieden durch Modifizieren des
psychoakustischen Modells und folglich des Kodierverfahrens, um
die Auswirkungen der Umwandlung vom kurzfristigen Spektrum zurück in die
Zeitdomäne
zu berück sichtigen.
Da die Rauschausbreitungswirkungen der Rückverwandlung in die Zeitdomäne in Bezug
auf einen einzigen Signalblock, modifiziert durch eine Analysefensterfunktion,
berücksichtigt
werden, ist auch das von diesem Verfahren gebotene Kodieren weniger
als optimal.
-
OFFENBARUNG
DER ERFINDUNG
-
Es ist eine Aufgabe der vorliegenden
Erfindung, die Leistung perzeptueller Kodiersysteme und Verfahren,
die Analyse- und Synthesefilter benutzen, dadurch zu verbessern,
daß ein
Quantisierungsverfahren geboten wird, welches die Ausbreitung des
Rauschens in Synthesefiltern exakt ausgleicht.
-
Vorteilhafte Ausführungsbeispiele der vorliegenden
Erfindung können
die Notwendigkeit zum Ausgleich der Ausbreitung des Rauschens auf
eine Weise bestimmen, die exakter ist als andere bekannte Verfahren,
und sie können
einen eleganten Kompromiß zwischen
der Genauigkeit des Ausgleichs und dem Maß der zum Erzielen des Ausgleichs
nötigen
Rechnerressourcen bieten.
-
Gemäß einem Aspekt der vorliegenden
Erfindung bestimmt ein Verfahren oder eine Vorrichtung Quantisierungsauflösungen für Teilbandsignale,
die von Analysefiltern erhalten werden, welche an ein Eingabesignal
angelegt werden, durch Erzeugen eines gewünschten Rauschspektrums in
Abhängigkeit
vom Eingabesignal und Anwenden eines Synthesefilter-Rauschausbreitungsmodells,
um geschätzte
Rauschpegel in Teilbändern
eines von Synthesefiltern erhaltenen Ausgabesignals zu erhalten.
Das Synthesefilter-Rauschausbreitungsmodell stellt Rauschausbreitungsmerkmale
der Synthesefilter und einen Überlapp-Summierprozeß dar, und
die Quantisierungsauflösungen
werden so festgelegt, daß das
gewünschte
Rauschspektrum größer ist
als die geschätzten
Rauschpegel. Das Verfahren kann als Anweisungsprogramm auf einem
Träger
verkörpert sein,
der von einer Vorrichtung lesbar ist, um von der Vorrichtung ausgeführt zu werden.
-
Gemäß einem weiteren Aspekt der
vorliegenden Erfindung übermittelt
ein Träger
kodierte Information, die Signalinformation aufweist, welche quantisierte
Komponenten von Teilbandsignalen darstellt, die durch Anlegen von
Analysefiltern an ein Eingabesignal erzeugt werden, sowie Steuerinformation,
welche Quantisierungsauflösungen
der quantisierten Teilbandsignalkomponenten darstellt. Die Quantisierungsauflösungen werden
wie vorstehend zusammengefaßt
festgelegt.
-
Gemäß noch einem weiteren Aspekt
der vorliegenden Erfindung empfängt
eine Vorrichtung ein die oben zusammengefaßte kodierte Information übermittelndes
Signal und dekodiert es. Zu dem Empfänger gehört ein mit dem die kodierte
Information übermittelnden
Signal gekoppelter Eingang; eine oder mehr mit dem Eingang gekoppelte
Verarbeitungsschaltungen, welche die Signalinformation und die Steuerinformation
aus der kodierten Information extrahieren und daraus die quantisierten
Teilbandsignalkomponenten und die Quantisierungsauflösungen der
quantisierten Teilbandsignalkomponenten extrahieren, die quantisierten
Teilbandsignalkomponenten entsprechend den Quantisierungsauflösungen entquantisieren,
um entquantisierte Teilbandsignale zu erhalten, und an die entquantisierten
Teilbandsignale Synthesefilter anlegen und einen Überlapp-Summierprozeß an Informationsblöcke anlegen,
die von den Synthesefiltern erhalten werden, um ein Ausgabesignal
zu erzeugen. Das Quantisierungsrauschen in den Teilbandsignalen
wird von den Synthesefiltern und dem Überlapp-Summierprozeß gestreut
und bringt dadurch in Teilbändern
des Ausgabesignals Rauschpegel hervor, die geringer sind als das
gewünschte
Rauschspektrum; und ein mit der einen oder den mehreren Verarbeitungsschaltungen
gekoppelter Ausgang übermittelt
das Ausgabesignal.
-
Die verschiedenen Merkmale der vorliegenden
Erfindung und ihre bevorzugten Ausführungsbeispiele sind anhand
der nachfolgenden Erörterung
und den beigefügten
Zeichnungen besser verständlich,
in denen gleiche Bezugszeichen gleiche Elemente in den verschiedenen
Figuren kennzeichnen. Der Inhalt der folgenden Erörterung
und Zeichnungen dient lediglich als Beispiel und sollte nicht als
den Umfang der vorliegenden Erfindung einschränkend aufgefaßt werden.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1A und 1B sind Blockschaltbilder
von Teilbandkodierern.
-
2A und 2B sind Blockschaltbilder
von Teilbanddekodierern.
-
3 ist
eine schematische Darstellung des Frequenzganges für einen
hypothetischen Filter.
-
4A ist
eine schematische Darstellung einer perzeptuelten Maskierschwelle
für eine
hochfrequente spektrale Komponente im Vergleich zum Frequenzgang
gemäß 3.
-
4B ist
eine schematische Darstellung einer perzeptuellen Maskierschwelle
für eine
mittel- bis niederfrequente spektrale Komponente im Vergleich zum
Frequenzgang gemäß 3.
-
5 ist
ein Blockschaltbild von Komponenten, die einigen Aspekten der vorliegenden
Erfindung zugrundeliegende Konzepte veranschaulichen.
-
6 ist
eine schematische Darstellung überlappender
Blöcke
von Abtastwerten der Zeitdomäne,
die durch eine Blockrücktransformation
wiedergewonnen und durch eine Synthesefensterfunktion gewichtet
wurden.
-
7 ist
eine geometrische Darstellung eines Optimierungsproblems, mit dem
eine optimale Quantisierungsauflösung
gesucht wird.
-
8 ist
eine graphische Darstellung eines geglätteten Leistungsspektrums,
eines gewünschten Rauschspektrums
und eines Quantisierungsrauschspektrums für ein hypothetisches Tonsignal.
-
9 ist
ein Ablaufdiagramm, welches Schritte in einem reiterativen Prozeß zum Festlegen
von Quantisierungsauflösungen
veranschaulicht.
-
10 ist
eine graphische Darstellung von Werten der Glieder in einer mittleren
Reihe einer Ausbreitungsmatrix.
-
11 ist
ein Blockschaltbild einer Vorrichtung, die zum Durchführen verschiedener
Aspekte der vorliegenden Erfindung verwendbar ist.
-
MÖGLICHKEITEN ZUM AUSFÜHREN DER
ERFINDUNG
-
A. Überblick
-
1. Kodierer
-
1A veranschaulicht
ein Ausführungsbeispiel
eines Teilbandkodierers, der verschiedene Aspekte der vorliegenden
Erfindung beinhaltet, gemäß der ein
von einem Weg 11 empfangenes digitales Tonsignal an eine
Bank Analysefilter 12 angelegt wird, um Frequenzteilbandsignale
längs eines
Weges 13 zu erzeugen. Die Analysefilterbank kann auf die
verschiedenste Art und Weise verwirklicht werden. Bei bevorzugten
Ausführungsbeispielen
wird die Filterbank dadurch gestaltet, daß überlappte Blöcke digitaler
Tonsignale mit einer Analysefensterfunktion gewichtet oder moduliert
werden und auf die fenstergewichteten Blöcke eine bestimmte modifizierte
diskrete Kosinustransformation (MDCT Modified Discrete Cosine Transform)
angewandt wird. Diese MDCT wird als Time-Domain Aliasing Cancellation (TDAC)
Transformation bezeichnet und ist in der Veröffentlichung von Princen, Johnson
und Bradley "Subband/Transform
Coding Using Filter Bank Designs Based on Time Domain Aliasing Cancellation," Proc. Int. Conf.
Acoust. Speech and Signal Proc., Mai 1987, SS 2161–2164 offenbart.
-
In dem gezeigten Ausführungsbeispiel
analysiert ein Rechner 14 des gewünschten Rauschpegels das vom
Weg 11 empfangene digitale Tonsignal, um die psychoakustische
Maskierschwelle des Tonsignals zu schätzen und einen gewünschten
Rauschpegel in Abhängigkeit
davon zu erhalten. Bei bevorzugten Ausführungsbeispielen wird der gewünschte Rauschpegel
auf einem Pegel festgelegt, der im wesentlichen der psychoakustischen
Maskierschwelle gleicht, die durch Anwendung eines guten perzeptuellen
Modells erhalten wird, beispielsweise denjenigen, die in Schroeder,
Atal und Hall "Optimizing
Digital Speech Coders by Exploiting Masking Properties of the Human
Ear," J. Acoust.
Soc. Am., Dezember 1979, SS. 1647–1652 und im US-Patent 5 623
577 offenbart sind. Auch wenn im Prinzip zum Durchführen der
vorliegenden Erfindung keine spezielle Technik von kritischer Bedeutung
ist, wird die Leistung tatsächlicher
Verwirklichungen insgesamt verbessert, wenn man hochentwickelte
perzeptuelle Modelle heranzieht, die präzise Schätzungen der Maskierschwelle
liefern können.
-
In Abhängigkeit von dem vom Rechner 14 des
gewünschten
Rauschpegels erhaltenen Rauschpegel benutzt ein Rechner 15 der
Quantisierungsauflösung
ein Rauschausbreitungsmodell, um die Quantisierungsauflösungen zu
bestimmen, die zum Quantisieren der Teilbandsignale benutzt werden
sollen, und gibt einen Hinweis auf diese Quantisierungsauflösungen längs eines
Weges 16 weiter. Das Rauschausbreitungsmodell gibt die
Rauschausbreitungsmerkmale einer Bank von Synthesefiltern wieder
und wird benutzt, um das Rauschen in einem Ausgabesignal zu schätzen, welches
durch Anlegen der Synthesefilter an die gemäß den Quantisierungsauflösungen quantisierten
Teilbandsignale erhalten wird. Der Rechner 15 der Quantisierungsauflösung legt
die Quantisierungsauflösungen
so fest, daß in Übereinstimmung
mit dem Rauschausbreitungsmodell das von den Synthesefiltern erhaltene
Ausgabesignal ein vom Quantisieren herrührendes Niveau an Rauschen
hat, welches dem gewünschten
Rauschpegel im wesentlichen gleicht.
-
Ein Quantisierer 17 quantisiert
die vom Weg 13 erhaltenen Teilbandsignale entsprechend
der vom Weg 16 erhaltenen Information über die Quantisierungsauflösung und
erzeugt quantisierte Signale längs
eines Weges 18. Der Quantisierer 17 kann durch
eine Vielfalt an Quantisierungsfunktionen verwirklicht werden, wobei
gleichförmige
oder ungleichförmige
Stufengrößen, einschließlich linearer
Quantisierung, logarithmischer Quantisierung, Lloyd-Max Quantisierung
und Vektorquantisierung angewandt werden. Die Auflösung der
vom Quantisierer 17 bereitgestellten Quantisierung kann
durch Ändern
der Anzahl der Quantisierungsschritte, Ändern des von einer gegebenen
Anzahl an Schritten wiedergegebenen dynamischen Bereichs und/oder Ändern der
Werte, die jeder Quantisierungsschritt darstellt, gesteuert werden.
In einigen Ausführungsbeispielen
wird die Anzahl der Quantisierungsschritte dadurch variiert, daß eine Anzahl
Bits zugeteilt und ein Quantisierer mit einer entsprechenden Anzahl
von Schritten ausgewählt
wird. Auch wenn die spezielle Form der in einem bestimmten Ausführungsbeispiel
benutzten Quantisierung auf die Leistung signifikante Auswirkungen
haben kann, hat im Prinzip zum Durchführen der vorliegenden Erfindung
keine bestimmte Quantisierungsfunktion eine kritische Bedeutung.
-
Die quantisierten Signale werden
von einem Formatierer 19 zu einem kodierten Signal zusammengefügt, und
das kodierte Signal wird längs
eines Weges 20 weitergeleitet, um mittels Übertragungsträgern, zum Beispiel
als Basisband oder modulierte Kommunikationswege durch das ganze
Spektrum, einschließlich
von Ultraschall- bis Ultraviolettfrequenzen oder über Speicherträger übertragen
zu werden, einschließlich
solcher, die Informationen im wesentlichen mit Hilfe irgendwelcher
magnetischen oder optischen Aufzeichnungstechnik übermitteln,
einschließlich
Magnetband, Magnetplatte und Bildplatte.
-
In rückwärtsadaptiven Ausführungsbeispielen
wird ein Hinweis auf die Signalmerkmale, die der Rechner 14 des
gewünschten
Rauschpegels benutzt, längs
eines Weges 21 weitergegeben und zu dem kodierten Signal
zusammengefügt.
In vorwärtsadaptiven
Ausführungsbeispielen
ist weder der Weg 21 noch die längs des Weges 21 weitergeleitete
Information erforderlich, da ein Hinweis auf die zum Erzeugen der
quantisierten Signale benutzten Quantisierungsauflösungen in
das kodierte Signal eingefügt
ist. Der Formatierer 19 kann auch mit einem Entropiekodierer
oder einer sonstigen Form von verlustfreiem Kodierer arbeiten, um
die Informationskapazitätserfordernisse
des kodierten Signals zu verringern.
-
1B zeigt
ein weiteres Ausführungsbeispiel
eines Teilbandkodierers, der verschiedene Aspekte der vorliegenden
Erfindung beinhaltet und dem vorstehend beschriebenen Ausführungsbeispiel ähnelt. Einige
der zwischen diesen beiden Ausführungsbeispielen
bestehenden Unterschiede werden nachfolgend erläutert.
-
Eine Bank Anatysefilter 12 wird
an ein vom Weg 11 empfangenes digitales Tonsignal angelegt,
um Frequenzteilbandsignale längs
des Weges 13 sowie Information längs eines Weges 22 zu
erzeugen, welche die spektrale Hüllkurve
des Eingabesignals darstellt. Es können zum Beispiel Teilbandsignalkomponenten
in Form eines Blockfließpunktes
(BFP) dargestellt werden, wobei die BFP-Exponenten im wesentlichen logarithmische Skalierfaktoren
sind, die den Spitzenkomponentenwert in jedem Teilband darstellen.
Die BFP-Exponenten können
als spektrale Hüllkurveninformation
des Eingabesignals benutzt werden. Die Analysefilterbank kann auf
verschiedenste Art und Weise verwirklicht werden, wie oben schon
erörtert.
-
Der Rechner 14 des gewünschten
Rauschpegels analysiert die vom Weg 22 empfangene Information der
spektralen Hüllkurve,
um die psychoakustische Maskierschwelle des Tonsignals zu schätzen und
in Abhängigkeit
davon einen gewünschten
Rauschpegel zu erhalten. Als Reaktion auf den vom Rechner 14 des
gewünschten
Rauschpegels empfangenen gewünschten
Rauschpegel benutzt der Rechner 15 der Quantisierungsauflösung ein
Rauschausbreitungsmodell, wie oben schon erläutert, um die Quantisierungsauflösungen zur
Benutzung beim Quantisieren der Teilbandsignale festzulegen, und
gibt einen Hinweis auf diese Quantisierungsauflösungen längs des Weges 16 weiter.
-
Der Quantisierer 17 quantisiert
die vom Weg 13 empfangenen Teilbandsignale in Übereinstimmung
mit der vom Weg 16 empfangenen Information über die
Quantisierungsauflösung,
um längs
des Weges 18 quantisierte Signale zu erzeugen. Der Quantisierer 17 kann
wie oben schon erörtert
verwirklicht und gesteuert werden. Der Formatierer 19 fügt die vom
Weg 18 empfangenen quantisierten Signale und die vom Weg 22 empfangene
Information über
die spektrale Hüllkurve
zu einem kodierten Signal zusammen und leitet das kodierte Signal
längs des
Weges 20 weiter, wie oben beschrieben. Der Formatierer 19 kann
auch mit einem Entropiekodierer oder einer sonstigen Form eines
verlustlosen Kodierers arbeiten, wie oben erörtert.
-
Das in 1B gezeigte
Ausführungsbeispiel
kann in rückwärtsadaptiven
Kodiersystemen verwendet werden, weil die vom Rechner des gewünschten
Rauschpegels benötigte
Information in dem kodierten Signal durch die Information der spektralen
Hüllkurve übermittelt
wird. Es ist keine zusätzliche
Information für
einen komplementären
Dekodierer erforderlich, der Bauelemente beinhaltet, die das Gegenstück zum Rechner 14 des
gewünschten
Rauschpegels und Rechner 15 der Quantisierungsauflösung bihden.
Bei einem anderen Ausführungsbeispiel
wird vom Rechner 14 des gewünschten Rauschpegels ein Satz
anfänglicher
Quantisierungsauflösungen
bereitgestellt; und der Rechner 15 der Quantisierungsauflösung modifiziert
eine oder mehr dieser anfänglichen
Auflösungen
nach Bedarf, um einen Ausgleich für die Rauschausbreitung entsprechend dem
oben erläuterten
Synthesefilter-Rauschausbreitungsmodell durchzuführen. Ein Hinweis auf diese
Modifizierungen wird längs
eines Weges 23 weitergeleitet und vom Formatierer 19 in
das kodierte Signal eingefügt. Durch
Einschließen
dieser zusätzlichen
Information kann das kodierte Signal ohne Benutzung des Synthesefilter-Rauschausbreitungsmodells
dekodiert werden.
-
2. Dekodierer
-
2A zeigt
ein Ausführungsbeispiel
eines Teilbanddekodierers, der verschiedene Aspekte der vorliegenden
Erfindung beinhaltet und bei dem ein Deformatierer 32 quantisierte
Signale aus einem von einem Weg 31 empfangenen kodieren
Signal extrahiert und die quantisierten Signale längs eines
Weges 33 weitergibt. Der Deformatierer 32 kann
auch mit einem Entropiedekodierer oder einer sonstigen zum Erhalt
der quantisierten Signale erforderlichen Form eines verlustfreien
Dekodierers arbeiten.
-
In dem gezeigten Ausführungsbeispiel
extrahiert der Deformatierer 32 aus dem kodierten Signal
auch einen Hinweis auf die in einem Begleitkodierer vom Rechner
des gewünschten
Rauschpegels benutzten Signalmerkmale und gibt diesen Hinweis an
einen Rechner 34 des gewünschten Rauschpegels weiter,
der in Abhängigkeit
davon den gewünschten
Rauschpegel erhält.
In Abhängigkeit
von dem vom Rechner 34 des gewünschten Rauschpegels empfangenen
gewünschten
Rauschpegel benutzt ein Rechner 35 der Quantisierungsauflösung ein
Rauschausbreitungsmodell, wie oben erläutert, um die Quantisierungsauflösungen zu
bestimmen, die zum Erzeugen der quantisierten Signale benutzt wurden,
und gibt einen Hinweis auf diese Auflösungen längs eines Weges 36 weiter.
-
Die Quantisierung der vom Weg 33 empfangenen
quantisierten Signale wird von einem Entquantisierer 37 entsprechend
der vom Weg 36 empfangenen Quantisierungsauflösungsinformation
aufgehoben, und es werden entquantisierte Teilbandsignale längs eines
Weges 38 erzeugt. Der Entquantisierer 37 kann
auf verschiedene Weise verwirklicht und gesteuert werden, wie vorstehend
im Zusammenhang mit der Quantisierung erläutert. Im Prinzip ist für die Durchführung der
vorliegenden Erfindung keine bestimmte Entquantisierungsfunktion
von kritischer Bedeutung, aber sie sollte zu dem für die Erzeugung
der quantisierten Teilbandsignale herangezogenen Quantisierungsprozeß komplementär sein.
-
An diese entquantisierten Teilbandsignale
wird eine Bank Synthesefilter 39 angelegt, um längs eines Weges 40 ein
Ausgabesignal zu erzeugen. Die Synthesefilterbank kann in vielfältigster
Weise verwirklicht sein. Bei bevorzugten Ausführungsbeispielen wird die Synthesefilterbank
dadurch verwirklicht, daß an
Blöcke
von Transformationskoeffizienten eine Umkehr-MDCT angelegt wird,
die hier als die Umkehr-TDAC Transformation bezeichnet wird, die
von der Transformation mit einer Synthesefensterfunktion erhaltenen
Signalabtastwerte gewichtet und Abtastwerte in einander benachbarten
fenstergewichteten Blöcken überlappt
und summiert werden.
-
In einem hier nicht gezeigten vorwärtsadaptiven
System ist weder ein Rechner 34 des gewünschten Rauschpegels, noch
ein Rechner 35 der Quantisierungsauflösung nötig, weil der Deformatierer 32 Quantisierungsauflösungsinformation
aus dem kodierten Signal extrahieren und diese Information dem Quantisierer 37 bereitstellen
kann.
-
2B veranschaulicht
ein weiteres Ausführungsbeispiel
eines Teilbanddekodierers, der verschiedene Aspekte der vorliegenden
Erfindung beinhaltet und dem vorstehend erläuterten Ausführungs- beispiel ähnelt. Einige
der Unterschiede zwischen diesen beiden Ausführungsbeispielen werden nachfolgend
erörtert.
-
Der Deformatierer 32 extrahiert
quantisierte Signale aus einem vom Weg 31 empfangenen kodierten Signal
und gibt die quantisierten Signale längs des Weges 33 weiter,
und er extrahiert Information, die die spektrale Hüllkurve
des kodierten Signals wiedergibt und leitet diese Information längs eines
Weges 42 weiter. Der Deformatierer 32 kann auch
einen Entropiedekodierer oder eine sonstige Form eines verlustfreien
Dekodierers benutzen, wie es erforderlich sein mag, um jegliches
verlustfreie Kodieren rückgängig zu
machen, welches zum Erzeugen des kodierten Signals angewandt wurde.
-
Der Rechner 34 für den gewünschten
Rauschpegel analysiert die vom Weg 42 empfangene Information
der spektralen Hüllkurve,
und in Abhängigkeit
davon wird der gewünschte
Rauschpegel erhalten. In Abhängigkeit
von dem vom Rechner 34 des gewünschten Rauschpegels empfangenen
gewünschten
Rauschpegel benutzt der Rechner 35 der Quantisierungsauflösung ein
Rauschausbreitungsmodell, wie oben erläutert, um die zum Erzeugen
der quantisierten Signale benutzten Quantisierungsauflösungen festzustellen,
und gibt einen Hinweis auf diese Auflösungen längs des Weges 36 weiter.
-
Die vom Weg 33 empfangenen
quantisierten Signale werden vom Entquantisierer 37 entsprechend der
vom Weg 36 empfangenen Information der Quantisierungsauflösung entquantisiert,
und längs
des Weges 38 werden entquantisierte Teilbandsignale erzeugt.
Der Entquantisierer 37 kann wie vorstehend beschrieben verwirklicht
und gesteuert werden. An die entquantisierten Teilbandsignale und
die Information der spektralen Hüllkurve
wird eine Bank Synthesefilter 39 angelegt, um längs des
Weges 40 ein Ausgabesignal zu erzeugen.
-
Das in 2B gezeigte
Ausführungsbeispiel
kann in rückwärtsadaptiven
Kodiersystemen verwendet werden, da die vom Rechner des gewünschten
Rauschpegels benötigte
Information in dem kodierten Signal durch die Information der spektralen
Hüllkurve übermittelt
wird. Es ist keine zusätzliche
Information erforderlich. Bei einem weiteren, nicht gezeigten Ausführungsbeispiel
bietet der Rechner 34 des gewünschten Rauschpegels einen
Satz anfänglicher
Quantisierungsauflösungen,
und eine oder mehr Modifikationen dieser anfänglichen Auflösungen werden
vom kodierten Signal durch den Deformatierer 32 erhalten.
Diese Modifikationen können
auf die anfänglichen
Quantisierungsauflösungen
angewandt werden, um einen Ausgleich für die Streuung des Rauschens
zu erzielen.
-
B. Filtereigenschaften
-
Wie vorstehend erwähnt, lassen
sich die Grundsätze
der vorliegenden Erfindung in Ausführungsbeispiele perzeptueller
Kodiersysteme und Verfahren einarbeiten, die Analyse- und Synthesefilter
auf verschiedenerlei Weise verwirklichen. Um die Erörterung
aber zu erleichtern, werden in der nachfolgenden Beschreibung Ausführungsbeispiele
der TDAC-Transformation mehr hervorgehoben.
-
Beschreibungen leistungsfähiger Verwirklichungen
von TDAC-Transformationen finden sich in den US Patenten 5 297 236
und 5 890 106.
-
Der Quantisierungsprozeß in vielen
perzeptuellen Kodiersystemen bestimmt die zum Quantisieren eines
Teilbandsignals zu verwendende Quantisierungsauflösung anhand
der Differenz zwischen der Amplitude des Teilbandsignals und dem
Niveau einer geschätzten
psychoakustischen Maskierschwelle innerhalb des Teilbandes. Bei
diesem Prozeß wird
stillschweigend davon ausgegangen, daß das Quantisierungsrauschen für einen
Transformationskoeffizienten vom Quantisierungsrauschen für andere
benachbarte Transformationskoeffizienten unabhängig ist. Insgesamt stimmt
diese Annahme wegen der Merkmale der Streuung des Rauschens durch
die Synthesefilter nicht.
-
Der Grad der Streuung des Rauschens
wird von der spektralen Selektivität der Synthesefilter beeinflußt. Wie
oben erwähnt,
bieten die in Kodiersystemen verwendeten Analyse- und Synthesefilter
keine idealen Durchlaßbereiche.
In 3 ist der Frequenzgang
für einen
hypothetischen Synthesefilter schematisch dargestellt. Der in dieser
Figur gezeigte Frequenzgang ist eine Darstellung in der Frequenzdomäne eines
hypothetischen Ausgabesignals, das vom Synthesefilter in Abhängigkeit
von einem Eingabesignal erhalten wird, das eine einzige spektrale
Komponente auf der Frequenz f0 hat. Die Hauptkeule 23 des
Frequenzganges, die um die Frequenz f0 zentriert ist, ist der Filterdurchlaßbereich.
Die kleineren Seitenkeulen des Frequenzganges liegen in den Filtersperrbereichen.
-
Diese spektrale Selektivität läßt sich
durch Ändern
einer Anzahl von Faktoren steuern, zu denen die Länge der
Umkehrtransformation und die Gestalt der Synthesefensterfunktion
gehören.
Durch Ändern
der Gestalt der Synthesefensterfunktion läßt sich häufig die Breite des Durchlaßbereichs
gegen das in den Sperrbereichen gebotene Dämpfungsniveau abwägen. Mit
dem Verringern der Breite der Hauptkeule, um eine höhere spektrale
Selektivität
zu erzielen, wird auch die Dämpfung
in den Sperrbereichen verringert. Die spektrale Selektivität läßt sich
auch erhöhen
durch ein Vergrößern der
Länge der
Transformation; aber die Verwendung längerer Transformationen ist
nicht immer möglich.
Beim Rundfunk beispielsweise und für anderen Produktionsanwendungen,
die eine Wiedergabe des dekodierten Signals in Echtzeit erfordern,
muß eine
Transformation von kurzer Länge
angewandt werden, um Einschränkungen
der Kodierverzögerung
zu genügen.
Die Merkmale der Rauschausbreitung der Synthesefilter ist bei solchen
Kodiersystemen besonders ernst. Zusätzliche Überlegungen zu Kodiersystemen
mit geringer Verzögerung
finden sich in dem US Patent 5 222 189.
-
Die Rauschausbreitung hat normalerweise
für mittlere
bis niedrige Frequenzen eine größere Bedeutung,
weil die kritischen Bänder
des menschlichen Gehörsystems
bei niedrigeren Frequenzen schmaler sind. Jedes kritische Band entspricht
der Maskierschwelle für
eine Spektralkomponente innerhalb dieses Bandes und stellt den Frequenzbereich
dar, über
den es wahrscheinlich ist, daß eine
dominante Spektralkomponente andere kleinere Spektralkomponenten,
wie Quantisierungsrauschen überdecken
kann. Bei niedrigeren Frequenzen kann die Maskierschwelle schmaler
werden als die Frequenzselektivität des Synthesefilters. Das
bedeutet, daß es
wahrscheinlicher ist, daß der
Synthesefilter aus dem Quantisieren einer Spektralkomponente resultierendes
Rauschen außerhalb der
Maskierschwelle dieser Spektralkomponente ausbreitet.
-
4A ist
eine schematische Darstellung einer perzeptuellen Maskierschwelle 25 für eine hochfrequente
Spektralkomponente bei der Frequenz f0 im Vergleich zu dem in 3 gezeigten Frequenzgang
des Filters. Wie aus der Figur hervorgeht, ist die Maskierschwelle 25 für die hochfrequente
Spektralkomponente bei der Frequenz f0 breit genug, um den Frequenzgang
des Synthesefilters vollständig
abzudecken. Dies läßt darauf
schließen,
daß verhältnismäßig viel
des durch das Quantisieren der hochfrequenten Spektralkomponente
bei Frequenz f0 resultierenden Rauschens, welches durch den Synthesefilter
ausgebreitet wird, vermutlich von der Spektralkomponente maskiert
wird.
-
4B ist
eine schematische Darstellung einer perzeptuellen Maskierschwelle 27 für eine mittel-
bis niederfrequente Spektralkomponente bei der Frequenz f0 im Vergleich
zu dem in 3 gezeigten
Frequenzgang des Filters. Wie aus der Figur hervorgeht, wird der
Frequenzgang des Synthesefilters an der niederfrequenten Seite der
Maskierschwelle 27 für
die niederfrequente Spektralkomponente bei der Frequenz f0 nicht abgedeckt.
Dies läßt darauf
schließen,
daß es
wahrscheinlich ist, daß nur
ein verhältnismäßig kleiner
Anteil des durch das Quantisieren der niederfrequenten Spektralkomponente
bei der Frequenz f0 entstehenden Rauschens, welches vom Synthesefilter
gestreut wird, von der Spektralkomponente maskiert wird.
-
C. Analytische Konzepte
-
In einem Quantisierungsprozeß gemäß der vorliegenden
Erfindung werden die Rauschausbreitungsmerkmale des Synthesefilters
berücksichtigt,
um Quantisierungsauflösungen
festzulegen, die gerade fein genug sind, um das Quantisierungsrauschen
unhörbar
zu machen. In den nachfolgenden Absätzen wird die analytische Basis
für diesen
Prozeß beschrieben.
-
1. Einführung
-
Ein in 5 gezeigter
Analysefilter 52 stellt eine Analysefilterbank in einem
Teilbandkodierer dar, um Transformationskoeffizienten zu erzeugen,
die eine Wiedergabe des von einem Weg 51 empfangenen Tonsignals
in der Frequenzdomäne
bilden. Quantisierungsrauschen 53 stellt einen Prozeß dar, bei
dem Quantisierungsrauschen in eine vom Analysefilter 52 erhaltene
Wiedergabe in der Frequenzdomäne
injiziert wird. Synthesetransformation 54 und Überlapp-Summieren 55 stellen
gemeinsam eine Synthesefilterbank in einem Teilbanddekodierer dar.
Mit der Synthesetransformation 54 wird aus der Wiedergabe
des Tonsignals in der Frequenzdomäne eine Wiedergabe in der Zeitdomäne erhalten.
Durch den vom Überlapp-Summieren 55 durchgeführten Prozeß werden
einander benachbarte Blöcke
von Abtastwerten der Wiedergabe in der Zeitdomäne, die von der Synthesetransformation 54 erhalten
werden, zum Überlappen
gebracht und entsprechende Abtastwerte in den überlappenden Blöcken summiert.
Eine Analysefilter 56 ist ein theoretisches Konstrukt,
welches benutzt wird, um einige Grundsätze der vorliegenden Erfindung
zu erklären.
-
Die Bank der Analysefilter
52 ist
durch geeignete Analysefensterfunktionen verwirklicht, und die TDAC MDCT
wird auf eine Folge von Blöcken
von Tonsignalabtastwerten angewandt, die vom Weg
51 empfangen werden,
um Teilbandsignale in Form einer Folge von Blöcken von Transformationskoeffizienten
zu erzeugen. Dies läßt sich
wie folgt ausdrücken:
wobei
X
m(k)
= Transformationskoeffizient k im Transformationskoeffizientenblock
m;
W
A(n) = Analysefensterfunktion im
Punkt n;
x
m(n) = Signalabtastwert n
im Signalabtastwertblock m;
n
o = ein
Transformationsphasenterm, der zum Alias-Löschen erforderlich ist;
k
o = ein Term, der bei dieser bestimmten TDAC-Transformation
1/2 gleicht; und
2M = die Länge
der Transformation.
-
Quantisierungsrauschen
53 stellt
einen Prozeß dar,
der zu jedem Transformationskoeffizienten durch Quantisieren der
Transformationskoeffizienten gemäß einer
spezifizierten Quantisierungsauflösung Rauschen addiert. Das
ergibt ein quantisiertes Signal, welches eine Folge von Blöcken quantisierter
Transformationskoeffizienten enthält; dies läßt sich wie folgt ausdrücken:
wobei
guantisierter Koeffizient
k im Transformationskoeffizientenblock m und
l
m(k)
= Quantisierungsrauschen für
den Koeffizienten k im Transformationskoeffizientenblock m.
-
Die Synthesetransformation
54 wird
durch die TDAC Umkehr-MDCT und geeignete Synthesefensterfunktionen
verwirklicht und auf die Folge von Blöcken quantisierter Transformationskoeffizienten
angewandt, um eine Folge von Blöcken
von Abtastwerten in der Zeitdomäne
zu erzeugen. Dies läßt sich
wie folgt ausdrücken:
wobei
rückgewonnener Zeitdomäne-Abtastwert
n im Abtastwertblock m.
-
Mit Überlapp-Summieren
55 wird
eine Wiedergabe der vom Weg
51 empfangenen Tonsignalabtastwerte
rückgewonnen,
indem an jeden Block der Abtastwerte in der Zeitdomäne, der
von der Synthesetransformation
54 erhalten wird, eine Synthesefensterfunktion
angelegt, die gefensterten Blöcke überlappt
und entsprechende Zeitdomäne-Abtastwerte
in den überlappenden
Blöcken
summiert werden. Das Verstärkungsprofil der
Folge überlappender,
gefensterter Blöcke
ist in
6 gezeigt. Die
Kurve
41 veranschaulicht das Verstärkungsprofil einer Synthesefensterfunktion,
die zum Modulieren eines Blocks von Zeitdomäneabtastwerten benutzt wird,
der die gleiche Erstreckung hat wie die Linie
44. Ähnlich zeigen
Kurven
42 und
43 die Verstärkungsprofile von Synthesefensterfunktionen,
die zum Modulieren von Blöcken
von Zeitdomäne-Abtastwerten
benutzt werden, deren Erstreckung die gleiche ist wie die der Linie
45 bzw.
46.
Signalabtastwerte, welche eine Wiedergabe der ursprünglichen
Tonsignalabtastwerte innerhalb des durch die Linie
45 veranschaulichten
Intervalls darstellen, werden durch den Überlapp-Summierprozeß durch
Summieren der entsprechenden Zeitdomäne-Abtastwerte in den überlappenden
gefensterten Blöcken
41,
42 und
43 erhalten
werden. Dies läßt sich
wie folgt ausdrücken:
wobei
Wiedergabesignalabtastwert
n im Abtastwertblock m; und
w
s(n) =
Synthesefensterfunktion im Punkt n.
-
In den Ausführungsbeispielen mit TDAC-Transformation
sollten die Analyse- und Synthesefensterfunktionen so ausgewählt werden,
daß sie
jenen Einschränkungen
Genüge
tun, die erforderlich sind, um eine Alias-Löschung zu erzielen. Hierzu
wird auf die oben zitierte Veröffentlichung
von Princen verwiesen. Zusätzliche
Informationen zu Analyse- und Synthesefensterfunktionen sind aus
dem US Patent 5 222 189 und der am 17. Oktober 1998 eingereichten
internationalen Patentanmeldung Nummer PCT/US 98/20751 zu entnehmen.
-
Die Bank der Analysefilter
56 kann
im wesentlichen durch jede beliebige Art von Analysefilter verwirklicht
werden. Zum Zweck der Illustration wird hier die Analysefilterbank
durch eine rechteckige Analysefensterfunktion und die oben für die Analysefilter
52 erläuterte TDAC
MDCT verwirklicht. Die Bank der Analysefilter
56 wird an
die Wiedergabesignalabtastwerte angelegt, um eine hypothetische
Wiedergabe in der Frequenzdomäne
des Wiedergabesignals zu erhalten, welches längs des Weges
57 weitergeleitet
wird. Die Wiedergabe in der Frequenzdomäne wird als Basis für einen
analytischen Ausdruck der Rauschausbreitungseigenschaften der Synthesefilter
benutzt. Diese Wiedergabe läßt sich
wie folgt ausdrücken:
wobei
Transformationskoeffizient
k in der Wiedergabe in der Frequenzdomäne.
-
Wenn in dem der Synthesetransformation
54 gelieferten
Eingabesignal kein Quantisierungsrauschen vorhanden ist, können die
Blöcke
der Abtastwerte in der Zeitdomäne,
die aus der Gleichung (3) erhalten werden, einander überlappen
und summiert werden, wie in der Gleichung (4) gezeigt, um eine perfekte
Rekonstruktion der Signalabtastwerte im ursprünglichen Eingabesignal zu erhalten.
Dies läßt sich
wie folgt ausdrücken:
-
Die hypothetische Wiedergabe in der
Frequenzdomäne,
die vom Analysefilter
56 für diese perfekte Rekonstruktion
erhalten wird, läßt sich
wie folgt ausdrücken:
-
2. Erneute Benennung der
Quantisierungsaufgabe
-
Unter Heranziehung dieser beiden
hypothetischen Wiedergaben in der Frequenzdomäne, die vom Analysefilter
56 erhalten
werden, kann eine optimale Quantisierungsauflösung zum Quantisieren der vom
Analysefilter
52 erhaltenen Wiedergabe in der Frequenzdomäne ausgedrückt werden
als ein Prozeß,
der die Amplitude des vom Quantisierungsrauschen
53 injizierten
Rauschens steuert, so daß
wobei
N(k) = ein gewünschter
Rauschpegel für
den Transformationskoeffizienten k.
-
Für
das Quantisierungsrauschen werden folgende Annahmen getroffen:
- 1. Das Quantisierungsrauschen lm(k)
für die
verschiedenen Transformationskoeffizienten k sind statistisch unabhängig.
- 2. Das Quantisierungsrauschen lm(k)
für verschiedene
Koeffizientenblöcke
m sind statistisch unabhängig.
- 3. Das Quantisierungsrauschen lm(k)
in einem jeweiligen Koeffizientblock m haben einen Mittelwert, der
Null gleicht, und haben Abweichungen, die in aufeinanderfolgenden
Koeffizientenblöcken
gleich sind.
-
Die ersten beiden Annahmen treffen
zu für
die Koeffizienten, die von den allgemein in Tonkodiersystemen verwendeten
Transformationen erhalten werden. Die dritte Annahme trifft zu für Blöcke von
Transformationskoeffizienten, die ein stationäres Signal wiedergeben, und
sie ist gerechtfertigt für
quasi stationäre
Passagen von Musik, die mit bekannten perzeptuellen Kodiersystemen
und Verfahren nicht gut zu quantisieren sind. Bei stark nichtstationären Passagen,
für die
die dritte Annahme nicht gerechtfertigt ist, sind durch diese Annahme
verursachte Fehler insgesamt gutartig und können ignoriert werden.
-
3. Streumatrix
-
Ein Prozeß zum Quantisieren, der die
Ausbreitung des Synthesefilterrauschens ordnungsgemäß berücksichtigt,
kann aus einem analytischen Ausdruck des Verhältnisses zwischen dem Rausch spektrum
des vom Synthesefilter erhaltenen Ausgabesignals und dem Rauschspektrum
des dem Synthesefilter bereitgestellten, quantisierten Eingabesignals
entwickelt werden. Eine Ableitung dieses analytischen Ausdrucks
bzw. der "Streumatrix" soll nunmehr beschrieben
werden.
-
Zunächst wird der Ausdruck für
in Gleichung (3) als
Ersatz in die Gleichung (4) eingesetzt, und dann wird der resultierende
Ausdruck für
als Ersatz in die Gleichung
(5) eingestellt, um einen Ausdruck für die hypothetische Wiedergabe
in der Frequenzdomäne
des Ausgabesignals des Synthesefilters, ausgedrückt als quantisierte Transformationskoeffizienten
zu erhalten, wie folgt:
-
Ein ähnlicher Ausdruck kann für die hypothetische
Wiedergabe in der Frequenzdomäne
des Ausgabesignals des Synthesefilters, ausgedrückt als nicht quantisierte
Transformationskoeffizienten, erhalten werden, indem ein ähnlicher
Ersatz in der Gleichung (7) vorgenommen wird. Der Ausdruck ist wie
folgt:
-
Durch Subtrahieren der Gleichung
(9b) von der Gleichung (9a) kann eine hypothetische Wiedergabe in
der Frequenzdomäne
der Differenz zwischen diesen beiden Ausgabesignalen erhalten werden,
die wie folgt dargestellt werden kann:
wobei
O
m(k)
= Quantisierungsrauschen im Synthesefilter-Ausgabesignal bei der
Frequenz k und
l
m(k) =
-X
m(k)
für 0 ¾ k < 2M, wie aus Gleichung
(2) entnehmbar.
-
Der Ausdruck in der Gleichung (10)
kann benutzt werden, um den Ausdruck (8) wie folgt neu
zu schreiben.
-
-
Die Matrices A, B und C haben eine
ungerade Symmetrie. Diese Eigenschaften können benutzt werden, um zu
zeigen, daß:
so daß die Gleichung (10) wie folgt
neu geschrieben werden kann
wobei
A'(k,q) = 2A(k,q);
B'(k,q) = 2B(k,q) ;
und
C'(k,q)
= 2C(k,q).
-
Unter den drei zuvor erwähnten Annahmen,
daß die
Komponenten des Quantisierungsrauschens einen Null-Mittelwert haben,
statistisch unabhängig
und identisch verteilt sind, kann das Rauschleistungsspektrum am
Ausgang der Synthesefilter aus der Gleichung (13) wie folgt erhalten
werden:
wobei
E(z) = der erwartete
Wert von z;
N
0m(k) Rauschleistung bei
Frequenz k im Ausgang der Synthesefilter;
-
Unter der dritten, oben genannten
Annahme, daß die
Quantisierungsrauschabweichung in aufeinanderfolgenden Koeffizientenblöcken identisch
ist, kann die Gleichung (14) wie folgt vereinfacht werden:
wobei
W(k,q) = A''(k,q) + B''(k,q)
+ C''(k,q). Die W-Matrix
ist die oben erwähnte
Streumatrix.
-
4. Optimale
Quantisierungsauflösung
-
Unter Hinweis auf die Ausdrücke (
8,
11,
14 und
15)
ist zu sehen, daß eine
optimale Quantisierungsauflösung
zu einem Quantisierungsrauschspektrum {N
l,m}(q)}
für 0¾ q < M führt, so
daß
-
Für
Gleichheit mit dem gewünschten
Rauschen ist eine direkte Lösung:
-
Leider ergibt diese direkte Lösung häufig negative
Lösungen
für einen
oder mehr Transformationskoeffizienten k, und das heißt, daß die Neigung
des gewünschten
Rauschpegels N(k) so steil ist, daß negative Rauschmengen in
den Quantisierungsprozeß injiziert
werden müssen,
um die spektrale Gestalt des gewünschten
Rauschens zu erzielen. In Ausführungsbeispielen
in der Praxis ist es nicht möglich,
negative Mengen an Rauschen in den Quantisierungsprozeß zu injizieren.
Glücklicherweise
braucht für
die Gleichheit der Ausdruck (16) nicht gelöst zu werden.
Eine akzeptable Quantisierungsauflösung läßt sich verwirklichen, wenn sie
die Ungleichheit erfüllt.
-
Um eine Lösung zu erzielen, kann das
Quantisierungsrauschspektrum, ausgedrückt als gewünschtes Rauschspektrum, wie
folgt neu geschrieben werden
wobei g(k) = ein Verstärkungsfaktor.
Eine graphische Darstellung eines hypothetischen Beispiels von Rauschspektren
und Verstärkungsfaktoren
ist in
8 gezeigt, wo
eine Kurve
71 ein geglättetes
Maß spektraler
Leistung für
einen Block m von Transformationskoeffizienten X
m(k)
ist, die ein Tonsignal darstellen, Kurve
72 das gewünschte Rauschspektrum
N(k) und Kurve
73 ein Quantisierungsrauschspektrum N
l,m(k) für
die Transformationskoeffizienten im Block m ist, welches durch Multiplizieren
des gewünschten
Rauschspektrums mit Verstärkungsfaktoren
g(k) erhalten wurde. Wie aus der Figur hervorgeht, wird erwartet,
daß die
Verstärkungsfaktoren
normalerweise im Bereich von Null bis Eins liegen.
-
a) Zweidimensionales Beispiel
-
Um die Darstellung zu erleichtern,
wird ein zweidimensionales Beispiel (M=2) benutzt, um zu erklären, wie
die Verstärkungsfaktoren
angewandt werden können.
Durch Einsetzen der Gleichung (18) in den Ausdruck (
16)
kann man sehen, daß
-
Auch wenn g(0) = g(1) = 0 immer die
beiden Ungleichheiten erfüllt,
ist diese spezielle Lösung
deshalb nicht akzeptabel, weil jeder Null-Wert des Verstärkungsfaktors
impliziert, daß der
jeweilige Transformationskoeffizient mit unendlicher Präzision quantisiert
werden muß.
Bevorzugte Lösungen
ergeben Werte für
die Verstärkungsfaktoren,
die so nahe wie möglich
bei eins liegen. Wenn eine Lösung
gefunden werden kann, bei der alle Verstärkungsfaktoren einen Wert von
eins haben, ist es tatsächlich
so, daß für die Synthesefilter-Rauschausbreitung
kein Ausgleich nötig
ist.
-
Die Suche nach Verstärkungsfaktorwerten,
die eine optimale Lösung
bieten, kann man als eine linear eingegrenzte Optimierungsaufgabe
umreißen,
die darauf abgestellt ist, die Kosten des Ausgleichs auf ein Minimum
zu senken. In vielen Ausführungsbeispielen
ist es zweckmäßig, die
Ausgleichskosten als Logarithmus des Maßes zu erhöhen, um welches das Quantisierungsrauschspektrum
verringert wird. Bei einem bevorzugten Ausführungsbeispiel, welches mit
Bit-Allocation zum
Steuern der Quantisierungsauflösung
arbeitet, gleichen die Kosten einem Bit pro Transformationskoeffizient
für jede –6.02 dB,
um die das Quantisierungsrauschspektrum geändert wird. Wenn zum Beispiel
der Verstärkungsfaktor
g(1) auf 0,25 gesetzt wird, wird Nl,m(1)
des Quantisierungsrauschspektrums um –12.04 dB gegenüber N(1)
des gewünschten
Rauschspektrums geändert.
Die Kosten für
diesen Ausgleich der Streuung des Rauschens des Transformationskoeffizienten
X(1) beträgt
(–12.04
dB / –6.02
dB) = 2 Bit.
-
Für
Ausführungsbeispiele
wie die soeben beschriebenen, die eine logarithmische Kostenfunktion
haben, kann das in Gleichung (18) gezeigte, gewünschte Spektrum des Quantisierungsrauschens
zweckmäßigerweise
wie folgt dargestellt werden:
-
Die Ausgleichskosten ändern sich
umgekehrt mit dem Logarithmus jedes Verstärkungsfaktors. So sind die
Gesamtausgleichskosten in diesem zweidimensionalen Beispiel proportional
zu –log
g(0) –log
g(1). Um die Erörterung
zu erleichtern, wird hierbei von einer Proportionalitätskonstante
ausgegangen, die eins ist. Ziel der Optimierungsaufgabe ist es,
die Ausgleichskosten im Rahmen der durch die Ausdrücke (19a, 19b und 19e) auferlegten
Einschränkungen
zu minimieren.
-
Der erste Schritt im Formulieren
der Quantisierung als lineare Optimierungsaufgabe besteht darin,
jeden N(j) '' W(i,j) Term in den
Ausdrücken
(
19a und
19b) durch ein Element D(i,j) einer Matrix
D zu ersetzen. Von allen Elementen in der Matrix D ist bekannt,
daß sie
positiv sind, weil jedes Element das Produkt von zwei positiven
Mengen darstellt. Die Ergebnisse dieses Ersetzens lassen sich wie
folgt ausdrücken:
-
Die auf diese Weise ausgedrückte Optimierungsaufgabe
kann geometrisch in einem g(0), g(1) Koordinatenraum dargestellt
werden, wie 7 zeigt.
Der Bereich 60 möglicher
Lösungen
dieser Optimierungsaufgabe ist auf ein Einheitsquadrat im Quadranten
I des Koordinatenraums beschränkt,
dessen Seiten den Minimal- und Maximalwerten entsprechen, welche
für die
beiden Verstärkungsfaktoren
erlaubt sind, wie im Ausdruck (21c) gezeigt. Im dargestellten
Beispiel gibt der Bereich auf der Seite der Geraden 61,
der den Ursprung umfaßt,
denjenigen Teil des Raums wieder, der die Ungleichheit im Ausdruck
(21a) erfüllt,
und der Bereich auf der Seite der Geraden 62, der den Ursprung
umfaßt,
gibt denjenigen Teil des Raums wieder, der die Ungleichheit im Ausdruck
(21b) erfüllt.
Der Lösungsraum 66,
der durch das Überschneiden
dieser drei Bereiche wiedergegeben wird, ist der Teil des g(0),
g(1) Koordinatenraums, in dem die Lösung für die Optimierungsaufgabe gefunden
werden kann, die sämtliche
durch die Ausdrücke
(21a), (21b) und (21c) auferlegten Bedingungen erfüllt. Die
Grenze des Lösungsraums 66 ist
mit einer breiten Linie gezeigt, die bei diesem Beispiel ein unregelmäßiges Viereck
bildet, dessen Seiten mit Teilen der g(0) und g(1) Achsen, der Geraden 61 und
der Oberseite des Einheitsquadrats, welches der Bereich 60 ist,
kongruent sind.
-
Wenn der Lösungsraum die (1,1) Koordinate
einschließt,
wird die optimale Quantisierungsauflösung erhalten, wenn alle Verstärkungsfaktoren
auf eins gesetzt werden, da kein Ausgleich für Synthesefilter-Rauschausbreitung
erforderlich ist. Unter Hinweis auf 8 ist
dies äquivalent
zum Einstellen des Quantisierungsrauschspektrums 73 so,
daß es
dem gewünschten
Rauschspektrum 72 über
den gesamten Bereich der Transformationskoeffizienten von k = 0
bis k = (M-1) gleicht. Wenn die (1,1) Koordinate nicht innerhalb
des Lösungsraums
liegt, kann ein Prozeß zum
Auffinden der optimalen Quantisierungsauflösung durch das Finden eines optimalen
Satzes von Verstärkungsfaktoren
innerhalb des Lösungsraums
benutzt werden, bei dem ein oder mehr Verstärkungsfaktoren einen Wert von
weniger als eins haben. Dies ist gleichwertig mit dem Erhalten eines
Quantisierungsrauschspektrums 73, welches geringer ist
als das gewünschte
Rauschspektrum 72 für
einen oder mehr Transformationskoeffizienten.
-
Der optimale Satz Verstärkungsfaktoren
minimiert die Kosten für
den Ausgleich K, die mit folgender Gleichung berechnet werden:
-
Diese Gleichung bestimmt eine hyperbolische
Linie im g(0), g(1) Koordinatenraum und stellt einen Ort von Werten
für die
beiden Verstärkungsfaktoren
dar, die konstanten Kosten K für
den Ausgleich der Rauschausbreitung entsprechen. Eine hyperbelförmige Linie 63 stellt
beispielsweise eine Kurve für
einige Ausgleichskosten K1 dar, und eine
hyperbelförmige
Linie 64 stellt eine Kurve für andere Ausgleichskosten dar,
die höher
sind als K1. In dem Maß, in dem sich Ausgleichskosten
dem Unendlichen nähern,
nähert
sich die entsprechende Kurve der konstanten Kosten den beiden Koordinatenachsen.
-
Wie schon erwähnt, ist es Ziel der Optimierungsaufgabe,
eine Mindestkostenlösung
zu finden, welche die Ausdrücke
(21a, 21b und 21c) erfüllt. Die
optimale Lösung
kann erhalten werden, wenn man die hyperbelförmige Kurve der niedrigsten
Kosten findet, welche den Lösungsraum
schneidet. Bei dem in 7 gezeigten Beispiel
tritt die optimale Lösung
am Tangentenpunkt zwischen der hyperbelförmigen Kurve 64 und
der Grenze des Lösungsraums 66 ein.
-
b) Höhere Dimensionen
-
In der Praxis arbeiten perzeptuelle
Kodiersysteme und Verfahren mit Filtern, für die es nötig ist, daß der Quantisierungsprozeß eine Optimierungsaufgabe
löst, die
erheblich mehr Dimensionen als zwei umfaßt. Man kann sagen, daß diese
Aufgabe darin besteht, einen Satz Verstärkungsfaktoren {g(k)} innerhalb
des Lösungsraums
zu finden, der die Ungleichheiten:
innerhalb eines k-dimensionalen
Einheitswürfels
erfüllt,
der durch
bestimmt ist, so daß die Ausgleichskosten
K folgende sind:
-
Wenn zum Beispiel eine TDAC-Transformation
der Länge
256 benutzt wird, hat die Optimierungsaufgabe M=128 Dimensionen.
Bei diesem Beispiel ist der Bereich möglicher Lösungen auf einen kdimensionalen Würfel beschränkt, der
Scheitel mit Koordinaten hat, die Verstärkungsfaktoren entsprechen,
deren Werte entweder Null oder Eins sind. Der Lösungsraum für die Optimierungsaufgabe ist
derjenige Teil des k-dimensionalen Würfels, der sich zwischen den
Koordinatenachsen. und den dem Ursprung am nächsten liegenden Hyperebenen
befindet. Die optimale Mindestkostenlösung findet sich am Tangentialpunkt
zwischen einer hyperbelförmigen
Konstantkosten-Hyperoberfläche
und der Grenze des Lösungsraums.
-
Ein im wesentlichen optimaler Satz
Quantisierungsauflösungen
kann in einem reiterativen Prozeß erhalten werden, beispielsweise
dem in 9 gezeigten.
In einem Schritt 81 wird ein Satz anfänglicher Quantisierungsauflösungen erhalten,
und in einem Schritt 82 wird ein Synthesefilterausbreitungsmodell
auf die anfänglichen
Auflösungen
angewandt, um die resultierenden Rauschpegel zu berechnen. In einem
Schritt 83 werden die berechneten resultierenden Rauschpegel
mit den gewünschten
Rauschpegeln verglichen. Wenn die Ergebnisse des Vergleichs nicht
akzeptabel sind, werden in einem Schritt 84 die Quantisierungsauflösungen angemessen
modifiziert und in einem Schritt 82 das Rauschausbreitungsmodell
an die modifizierten Auflösungen
angelegt. Wenn zum Beispiel der berechnete resultierende Rauschpegel
für eine
Signalkomponente zu niedrig ist, wird die Quantisierungsauflösung für eine oder
mehr Signalkomponenten gröber
gemacht. Ist der berechnete resultierende Rauschpegel für eine Signalkomponente
zu hoch, wird die Quantisierungsauflösung für eine oder mehr Signalkomponenten
feiner gemacht. Dieser Prozeß wird
solange fortgesetzt, bis die Ergebnisse des im Schritt 83 vorgenommenen
Vergleichs akzeptabel sind. Anschließend werden in einem Schritt 85 Signalkomponenten
entsprechend den Quantisierungsauflösungen quantisiert, welche
den akzeptablen Vergleich ergeben haben.
-
Es kann im wesentlichen jeder beliebige
Satz anfänglicher
Quantisierungsauflösungen
verwendet werden; aber die Verarbeitungsleistung wird insgesamt
verbessert, wenn man anfängliche
Auflösungen
wählt, die
den optimalen Werten nahe sind. Eine zweckmäßige Wahl für die anfänglichen Auflösungen sind
diejenigen Auflösungen,
die den gewünschten
Rauschpegeln entsprechen.
-
Ein Quantisierungsprozeß kann mittels
eines Bitzuordnungsprozesses durchgeführt werden, der folgende Schritte
umfaßt:
- 1. Durch Berechnen der gewünschten Rauschleistung für jeden
Transformationskoeffizienten mittels der Gleichung (17) wird eine
unverbindliche Bitzuordnung bestimmt. Die unverbindliche Bitzuordnung
Q(k) für jeden
Transformationskoeffizienten X(k) wird vom Logarithmus der Signalleistung
und dem negativen Logarithmus des jeweils gewünschten Rauschleistungspegels
erhalten. In einem Ausführungsbeispiel
ist die Bitzuordnung beispielsweise
- 2. Wenn die unverbindliche Bitzuordnung für alle Koeffizienten positiv
ist, ist der Bitzuordnungsprozeß vollendet,
und die Transformationskoeffizienten werden entsprechend den unverbindlichen
Bitzuordnungen quantisiert, weil kein Ausgleich für die Streuung
des Rauschens durch Synthesefilter nötig ist.
- 3. Wenn die aus dem ersten Schritt erhaltene unverbindliche
Bitzuordnung für
irgendeinen Transformationskoeffizienten negativ ist, wird es erforderlich,
die Ausbreitung des Rauschens auszugleichen. Der Bitzuordnungsprozeß wird fortgesetzt,
indem der k-dimensionale Einheitswürfel gemäß dem Ausdruck (24) bestimmt
wird.
- 4. Im Hyperraum sind die Überschneidungen
derjenigen Bereiche zu finden, welche die Ungleichheiten des Ausdrucks
(23) erfüllen.
Das kann wirksamer geschehen, wenn lediglich die Hyperebenen eingeschlossen werden,
welche durch die Reihen in der Matrix D bestimmt sind, die dem Ursprung
am nächsten
liegen. Der Abstand d für
jede Hyperebene kann bestimmt werden aus
Eine Hyperebene kann
dem Ursprung in einem Teil des Hyperraums am nächsten liegen, und eine oder mehr
andere Hyperebenen können
dem Ursprung in anderen Teilen des Hyperraums am nächsten liegen.
- 5. Aus der Überschneidung
des im Schritt 3 bestimmten k-dimensionalen Würfels und der Überschneidung von
im Schritt 4 gefundenen Bereichen wird der Lösungshyperraum bestimmt.
- 6. Es werden anfängliche
Ausgleichskosten K ausgewählt.
- 7. Es wird bestimmt, ob die hyperbelförmige Hyperoberfläche der
Konstantkosten für
die Kosten K den im Schritt 5 bestimmten Lösungshyperraum schneidet.
- 8. Wenn die hyperbelförmige
Hyperoberfläche
für die
Kosten K zur Grenze des Lösungshyperraums
eine Tangente bildet, ist die Bitzuordnung abgeschlossen. Die Anzahl
zusätzlicher
Bits, die für
jeden Transformationskoeffizienten X(k) erforderlich sind, um einen
optimalen Ausgleich für
die Rauschausbreitung zu schaffen, wird vom negativen Logarithmus
des jeweiligen Verstärkungsfaktors
erhalten. Bei einem Ausführungsbeispiel
ist die Bitzuordnung für
jeden Koeffizienten beispielsweise
- 9. Wenn die hyperbelförmige
Hyperoberfläche
den Lösungshyperraum
nicht schneidet, sind Kosten auszuwählen, die höher sind als die laufenden
Kosten K und es ist mit dem Schritt 7 fortzufahren.
- 10. Wenn die hyperbelförmige
Hyperoberfläche
den Lösungshyperraum
schneidet, sind Kosten auszuwählen,
die niedriger sind als die laufenden Kosten K, und es ist mit dem
Schritt 7 fortzufahren.
-
D. Vereinfachte Prozesse
-
Um den vorstehend beschriebenen Optimierungsprozeß durchzuführen, sind
beträchtliche
Rechnerressourcen erforderlich. In manchen Anwendungsfällen sind
die Kosten für
die Bereitstellung dieser Rechnerressourcen zu groß, und deshalb
sind für
diese Anwendungsfälle
vereinfachte Prozesse wünschenswert,
die Annäherungen
an die optimale Lösung
bieten. Es sollen nun einige Ausführungsbeispiele vereinfachter
Prozesse beschrieben werden, in denen die Bitzuordnung zum Steuern der
Quantisierungsauflösung
verwendet wird. In jedem dieser Prozesse wird davon ausgegangen,
daß eine
anfängliche
Bitzuordnung für
jeden Transformationskoeffizienten unbeachtlich eines Ausgleichs
für die
Rauschausbreitung durch Synthesefilter in dem Bemühen festgelegt
wurde, ein Quantisierungsrauschspektrum zu erhalten, das dem gewünschten
Rauschspektrum im wesentlichen gleicht. Ausgehend von dieser anfänglichen
Bitzuordnung werden in jedem Prozeß diejenigen Transformationskoeffizienten
identifiziert, deren Bitzuordnungen erhöht werden sollten, um die gewünschten
Rauschpegel zu erzielen.
-
1. Erster
vereinfachter Prozeß
-
In einem ersten vereinfachten Prozeß wird eine
metrische Funktion zum Schätzen
des Gesamtrauschpegels für
jeden Transformationskoeffizienten X(k) einzeln, beginnend mit dem
Transformationskoeffizienten der niedrigsten Frequenz X(0) benutzt
und bestimmt, ob die Rauschausbreitung dazu führt, daß das Gesamtrauschen für diesen
Koeffizienten den gewünschten
Rauschpegel N(k) überschreitet.
Wenn die Schätzung
anzeigt, daß der
Gesamtrauschpegel für
den laufenden Koeffizienten X(k) den gewünschten Rauschpegel nicht überschreitet,
wird der Prozeß mit
dem Transformationskoeffizienten der nächst höheren Frequenz fortgesetzt.
-
Wenn die Schätzung zeigt, daß der Gesamtrauschpegel
für den
laufenden Koeffizienten X(k) den gewünschten Rauschpegel N(k) übersteigt,
wird derjenige Koeffizient bestimmt, der den größten Beitrag zum Rauschpegel
des Koeffizienten X(k) liefert, und der Verstärkungsfaktor g(k) für diesen
Koeffizienten wird auf einen vorgeschriebenen Wert, zum Beispiel –144 dB
gesetzt, der bei einem Ausführungsbeispiel
einen Ausgleich von 24 Bit wiedergibt. Die metrische Funktion wird
benutzt, um den Gesamtrauschpegel für den Koeffizienten X(k) zu
schätzen,
der das Resultat der variierten Bitzuordnung ist. Wenn der geschätzte Rauschpegel immer
noch den gewünschten
Rauschpegel N(k) überschreitet,
wird derjenige Koeffizient identifiziert, der den größten Beitrag
zum Rauschpegel des Koeffizienten X(k) leistet, dessen Verstärkungsfaktor
wird auf den vorgeschriebenen Wert gesetzt, und dann wird die metrische
Funktion erneut benutzt, um den neuen Rauschpegel zu schätzen. Dies
wird fortgesetzt, bis der geschätzte
Rauschpegel auf ein Niveau reduziert ist, welches dem gewünschten
Rauschpegel gleicht oder unterhalb desselben liegt.
-
In diesem Punkt besteht ein Satz
{S} Koeffizienten, deren Verstärkungsfaktoren
auf den vorgeschriebenen Wert gesetzt wurden, um den geschätzten Rauschpegel
für den
Koeffizienten X(k) zu verringern. Die Verstärkungsfaktoren für die Koeffizienten
im Satz {S} werden entsprechend einer Formel variiert, um das zu bekommen,
von dem erwartet wird, daß es
gerade genügend
Ausgleich für
die Streuung des Rauschens erbringt. Der Bitzuordnungsprozeß wird dann
mit dem Transformationskoeffizienten der nächsthöheren Frequenz fortgesetzt.
-
Ein Ausführungsbeispiel, mit dem der
erste vereinfachte Prozeß verwirklicht
wird, ist im folgenden Programmfragment gezeigt. Dieses Programmfragment
ist in einem Pseudocode ausgedrückt,
der eine Syntax verwendet, die einige Syntaxmerkmale der C, FORTRAN
und BASIC Programmiersprachen umfaßt. Dieses Programmfragment
und weitere hier beschriebene Programmfragmente sind nicht als zur
Kompilierung geeignete Quellcodesegmente gedacht, sondern werden
lediglich angegeben, um einige Aspekte möglicher Verwirklichungen zu
vermitteln.
-
-
Die Routine Compensate ist mit einer
Matrix W versehen, bei der es sich um die Streumatrix für eine Synthesefilterbank
handelt, und mit einer Matrix N, welche das gewünschte Rauschspektrum spezifiziert.
Verstärkungsfaktoren
in der Matrix g werden auf einen Wert 1 0 für die interessierenden niederfrequenten
Koeffizienten von k=0 bis hinauf zu k=MaxC initialisiert. Für die Koeffizienten
mit den höchsten
Frequenzen ist bei vielen Ausführungsbeispielen
kein Ausgleich erforderlich.
-
Eine Haupt-for-Schleife bildet den
Rest der Routine Compensate und führt den Ausgleichsprozeß für jeden
der interessierenden niederfrequenten Koeffizienten durch. Die Null
Funktion wird aufgerufen, um eine Matrix S in einen Leer- oder Nullzustand
zu initialisieren. Der Variablen metric wird eine Schätzung für den Rauschpegel
des laufenden Koeffizienten k durch Aufrufen der Funktion Sum zugeteilt,
um die Summe
zu berechnen, wobei M2 =
Länge der
Synthesefiltertransformation, und durch Subtrahieren dieser Summe vom
gewünschten
Rauschpegel N[k] für
den Koeffizienten k.
-
Die Grenzen L1 und L2 der Summierung
haben einen signifikanten Einfluß auf die Rechenkomplexität dieses
Prozesses; die Größenordnung
der Komplexität
für die
Routine Compensate ist (L1+L2)2. Der Rechenwirkungsgrad
kann durch Einstellen der Werte L1 und L2, so daß der in die Berechnung eingeschlossene
Umfang an Koeffizienten begrenzt wird, verbessert werden. Der Wert
für diese
Grenzen kann empirisch bestimmt werden. Bei einem nachfolgend beschriebenen
anderen vereinfachten Prozeß entsprechen
diese Grenzen dem Bereich von Nichtnullelementen in einer Version
mit dünn
besiedeltem Feld der Matrix W.
-
Wenn der geschätzte Rauschpegel geringer ist
als der gewünschte
Rauschpegel ist metric positiv und kein Ausgleich für eine Streuung
des Rauschens nötig.
Wenn also metric positiv ist, wird der Rest der for-Schleife übersprungen,
und die Verarbeitung wird für
den nächsten
Koeffizienten fortgesetzt.
-
Wenn metric negativ ist, wird die
Verarbeitung mit einer while-Schleife fortgesetzt, die so lange
weitergeführt
wird, bis metric positiv wird. Noch innerhalb dieser while-Schleife
wird die Funktion Max aufgerufen, um den Koeffizienten k_max zu
bestimmen, der den größten Beitrag
zum Rauschen für
den Koeffizienten k leistet. Das geschieht dadurch, daß der Index
i gefunden wird, der dem maximalen Wert für das Produkt W[k,i]*g[i]*N[i] für i von
0 bis M2-1 entspricht. Dieser Bereich für den Index i schließt alle
Transformationskoeffizienten für
das System ein. Wenn gewünscht,
kann der Verarbeitungswirkungsgrad dadurch verbessert werden, daß die Suche
nach dem maximalen Produkt auf einen engeren Koeffizientenbereich
begrenzt wird. Dieser Bereich kann empirisch bestimmt werden. Wenn
der Koeffizient gefunden wurde, der den größten Beitrag leistet, wird
dem Verstärkungsfaktor
für k_max
ein vorgeschriebener Wert max.correction zugeteilt, der irgendeinem
maximalen Ausmaß an
Ausgleich entspricht. Bei einem Ausführungsbeispiel ist dieses maximale
Ausmaß für den Ausgleich –144 dB,
was 24 Bit entspricht. Nach dem Aufruf der Funktion Union, um der
Matrix S k.max hinzuzufügen,
wird eine Schätzung
des Rauschpegels berechnet, wozu wiederum der revidierte Verstärkungsfaktor
für k.max
herangezogen wird, und wird dann der variablen metric zugeschrieben.
Die while-Schleife wird fortgesetzt, bis der Wert für metric
positiv wird.
-
Wenn ein Ausgleich auf ausreichend
viele der maximale Beiträge
leistenden Koeffizienten angewandt wurde, wird der geschätzte Rauschpegel
für den
Koeffizienten k auf einen Wert herabgesetzt, der kleiner ist als
der gewünschte
Rauschpegel N[k] oder diesem gleicht, und die Variable metric wird
positiv. Wenn das geschieht, endet die while-Schleife und die Verarbeitung
wird fortgesetzt mit dem Aufrufen der Funktion Adjust, um einen
unverbindlichen neuen Wert g.new für die Verstärkungsfaktoren der in der Matrix
S vertretenen Koeffizienten zu berechnen, die den Koeffizienten
im oben beschriebenen Satz {S} entsprechen. Diese neuen Werte sollen
das Ausgleichsniveau optimieren, so daß der geschätzte Rauschpegel im wesentlichen
dem gewünschten
Rauschpegel entspricht. Das läßt sich
erreichen mittels der folgenden Berechnung:
-
Jeder Verstärkungsfaktor für die in
der Matrix S dargestellten Koeffizienten wird auf den unverbindlichen
Wert g.new gesetzt, wenn der unverbindliche Wert geringer ist als
der laufende Wert des jeweiligen Verstärkungsfaktors.
-
Die Haupt-for-Schleife im Ausgleichsprozeß wird mit
dem nächsten
Transformationskoeftizienten fortgesetzt, bis alle interessierenden
Koeffizienten verarbeitet worden sind.
-
2. Abwandlungen
des ersten vereinfachten Prozesses
-
Der oben beschriebene erste vereinfachte
Prozeß kann
auf verschiedene Weise abgewandelt werden, um den Verarbeitungswirkungsgrad
zu verbessern. Einige der Möglichkeiten
wurden schon kurz oben erwähnt.
-
Mit einer Abänderung wird eine signifikante
Verringerung der Rechenkomplexität
durch das Erkennen der Tatsache erreicht, daß einige Elemente in einer
typischen Streumatrix W erheblich größer sind als alle anderen Elemente,
und daß eine
gute Leistung selbst dann verwirklicht werden kann, wenn viele dieser
kleineren Elemente auf Null gesetzt werden.
-
10 veranschaulicht
die Werte der Elemente in der mittleren Reihe einer hypothetischen
Streumatrix. Der dominante Wert in der Mitte entspricht dem Element
auf der Hauptdiagonale der Matrix. Elemente auf und nahe der Hauptdiagonalen
haben Werte, die beträchtlich
größer sind
als diejenigen Elemente, die von der Hauptdiagonale entfernt sind.
Diese Eigenschaft macht es möglich,
die Streumatrix ziemlich gut durch ein dünn besiedeltes Feld mit Diagonalband
darzustellen, und die Werte für
L1 und L2 im oben beschriebenen Programmfragment können reduziert
werden, so daß sie
nur Nicht-Null Elemente der Matrix abdecken. Diese Eigenschaft verringert
auch den Bereich, über
den nach Koeffizienten gesucht wird, die einen maximalen Beitrag leisten.
-
Mit einer weiteren Abwandlung wird
der Verarbeitungswirkungsgrad dadurch verbessert, daß die while-Schleife
in dem vorstehend beschriebenen Ausführungsbeispiel entfällt. Der
Wirkungsgrad wird dadurch verbessert, daß ein reiterativer Prozeß wegfällt, bei
dem der den Hauptbeitrag zum Rauschen leistende Koeffizient bestimmt
und ein unverbindlicher neuer Wert für die Verstärkungsfaktoren berechnet wird.
Ein Ausführungsbeispiel
für diese
Abwandlung ist im folgenden Programmfragment gezeigt.
-
-
Bei dieser Abwandlung ist die Routine
Compensate mit der Matrix W und der Matrix N wie vorstehend beschrieben
versehen. Verstärkungsfaktoren
in der Matrix g werden auf einen Wert von 1.0 für die interessierenden niederfrequenten
Koeffizienten von k=0 bis hinauf zu k=MaxC initialisiert. Für die Koeffizienten
mit den höchsten
Frequenzen ist bei vielen Ausführungsbeispielen
kein Ausgleich nötig.
-
Die Haupt-for-Schleife bildet den
Rest der Routine und führt
den Ausgleichsprozeß für jeden
der interessierenden niederfrequenten Koeffizienten durch. Der Variablen
metric wird ein Wert zugeordnet, der den Rauschpegel für den laufenden
Koeffizienten k schätzt,
wie vorstehend beschrieben.
-
Ist der geschätzte Rauschpegel geringer als
der gewünschte
Rauschpegel, ist metric positiv und kein Ausgleich für Rauschausbreitung
nötig.
Wenn also metric positiv ist, wird der Rest der for-Schleife übersprungen,
und die Verarbeitung wird für
den nächsten
Koeffizienten fortgesetzt.
-
Falls metric negativ ist, wird die
Bitzuordnung für
einen oder mehr Transformationskoeffizienten erhöht, um die Streuung des Rauschens
zu berücksichtigen,
indem der den größten Beitrag
zum geschätzten Rauschen
leistende Koeffizient k.max gefunden und der Transformationskoeffizient
k. max und einige benachbarte Koeffizienten einem vorherbestimmten
Grad an Korrektur unterzogen werden. Der den maximalen Beitrag leistende
Koeffizient wird durch Aufrufen der Funktion Max bestimmt, wie oben
beschrieben, und die vorherbestimmten Korrekturen werden durch Verringern
der Werte der Verstärkungsfaktoren
für die
Koeffizienten –L1
bis L2 angebracht, indem jeder Verstärkungsfaktor mit einem jeweiligen
Wert in der Matrix comp multipliziert wird. So kann zum Beispiel
der Verstärkungsfaktor
g[k_max] reduziert werden, um eine 2-Bit Zunahme in der Zuordnung
anzuzeigen, die Verstärkungsfaktoren
g[k_max–1]
und g[k_max+1] können
reduziert werden, um eine 1,5-Bit Zunahme in der Zuordnung anzuzeigen,
und die Verstärkungsfaktoren
g[k_max–2]
und g[k_max+2] können
reduziert werden, um eine 1-Bit Zunahme in der Zuordnung anzuzeigen.
Der Grad der im voraus festgelegten Korrektur kann für jede Anwendung
empirisch festgelegt werden.
-
Die Haupt-for-Schleife im Ausgleichsprozeß wird mit
dem nächsten
Transformationskoeffizienten fortgesetzt, bis alle interessierenden
Koeffizienten verarbeitet worden sind.
-
Ein weiteres Ausführungsbeispiel dieser Abwandlung
ist im folgenden Programmfragment gezeigt.
-
-
Anders als bei den oben beschriebenen
Beispielen sind die Streumatrix, die Verstärkungsfaktoren und die Rauschpegel
in Dezibel ausgedrückt,
und deshalb wird eine Funktion LogAdd benutzt, um die Summe von zwei
logarithmischen Werten zu erhalten. Der Rauschbeitrag des Koeffizienten
j zum Koeffizienten k ist durch den Ausdruck w[k][j] + n[j] wiedergegeben,
der das Produkt des gewünschten
Rauschpegels für
den Koeffizienten j mit einem jeweiligen Element der Streumatrix
wiedergibt. Jedes Element k der Matrix alloc stellt das gewünschte Quantisierungsrauschen
in Dezibel für
den Koeffizienten k dar.
-
3. Zweiter
vereinfachter Prozeß
-
Ein zweiter vereinfachter Prozeß bietet
einen Ausgleich für
Rauschausbreitung in zwei Schritten. Im ersten Schritt wird ein
Anfangsbetrag des Ausgleichs bestimmt, indem jeder jeweilige Transformationskoeffizient
X(k) einzeln, beginnend mit dem Koeffizienten der niedrigsten Frequenz
X(O) herangezogen wird, die benachbarten Koeffizienten X(j) identifiziert
werden, die individuelle Beiträge
zum geschätzten
Rauschpegel des jeweiligen Koeffizienten leisten, welche den gewünschten
Rauschpegel N(k) für
diesen Koeffizienten übersteigen,
und das anfängliche
Ausmaß des
Ausgleichs für
jene benachbarten Koeffizienten X(j) bestimmt wird, so daß deren
jeweilige individuelle Beiträge
auf den gewünschten
Rauschpegel verringert werden. Im zweiten Schritt wird der Ausgleich
reiterativ verfeinert, um den gesamten Rauschbeitrag für jeden
jeweiligen Transformationskoeffizienten auf den gewünschten
Rauschpegel zu bringen.
-
Ein Ausführungsbeispiel, mit dem dieser
zweite vereinfachte Prozeß verwirklicht
wird, ist im folgenden Programmfragment gezeigt.
-
-
Die Routine Compensate ist mit der
Matrix W und der Matrix N versehen, wie vorstehend beschrieben. Eine
Matrix compN aus Ausgleichswerten wird von der Matrix N gewünschten
Rauschens initialisiert und eine Variable compOK wird initialisiert,
so daß die
folgende while-Schleife mindestens einmal abläuft. Die while-Schleife bildet
den Rest der Compensate Routine und führt den Ausgleichsprozeß in zwei
Schritten durch. Die Schleife initialisiert zuerst die Variable,
so daß die
while-Schleife abschließt,
wenn nicht im zweiten Schritt ein übermäßiger Pegel Rauschen berechnet
wird.
-
Der Teil der Routine, der den ersten
Schritt durchführt,
initialisiert eine Matrix tempN vorläufiger Berechnungen und führt eine
for-Schleife durch, in der die Rauschbeiträge zu jedem Koeffizienten k
je einer zur Zeit geprüft
wird. Nach dem Initialisieren der Variablen k_max und max_contrib
auf den Koeffizienten j=0 wird eine verschachtelte for-Schleife
benutzt, um den geschätzten
Rauschbeitrag W[k,j]·tempN[j]
zu berechnen und zu bestimmen, ob es sich dabei um den bisher berechneten
maximalen Beitrag handelt. Ist das nicht der Fall, fährt die
verschachtelte Schleife mit dem nächsten Koeffizienten j fort.
Wenn dieser geschätzte
Rauschbeitrag der bisher berechnete größte Pegel ist, werden die Variablen
k_max und max_contrib geändert,
um auf den laufenden Koeffizienten j zu verweisen. Wenn nachdem
die verschachtelte Schleife die Beiträge für alle Koeffizienten geprüft hat, der
maximale Rauschbeitrag max_contrib einen gewünschten Rauschpegel N[kj übersteigt,
wird das jeweilige Glied der Ausgleichsmatrix compN[k] um den gleichen
Betrag geändert,
um den der maximale Beitrag den gewünschten Rauschpegel übersteigt.
Die Verarbeitung im ersten Schritt setzt sich mit dem nächsten Koeffizienten
fort, bis alle Koeffizienten verarbeitet worden sind.
-
Der Teil der Routine, der den zweiten
Schritt durchführt,
errechnet eine Schätzung
des Gesamtrauschens für
jeden Koeffizienten k und vergleicht diese Schätzung mit dem gewünschten
Rauschpegel N[k]. Wenn die Schätzung
den gewünschten
Rauschpegel übersteigt,
wird der Ausgleich compN[k] für
den jeweiligen Koeffizienten k um den gleichen Betrag verringert,
um den der gewünschte
Rauschpegel vom geschätzten Gesamtrauschen überschritten
wird. Die Variable compOK wird so gesetzt, daß der erste Schritt und der
zweite Schritt nochmals durchgeführt
wird.
-
Die Haupt-while-Schleife setzt sich
fort, bis der erste und zweite Schritt durchgeführt werden kann, ohne zu veranlassen,
daß die
Variable compOK auf "falsch" gesetzt wird.
-
Ein alternatives Ausführungsbeispiel,
mit dem der zweite vereinfachte Prozeß verwirklicht wird, ist im folgenden
Programmfragment gezeigt.
-
-
Für
die Durchführung
dieser Routine sind geringere Rechenressourcen erforderlich, weil
die for- Schleife,
die den den größten Beitrag
leistenden max contrib zum Rauschen für einen gegebenen Koeffizienten
j identifiziert, ein schmales Band benachbarter Koeffizienten zu
beiden Seiten des Koeffizienten j von j–L1 bis j+L2 prüft, wobei
der Koeffizient j selbst ausgeschlossen wird, statt das gesamte
Spektrum zu prüfen, wie
es mit dem oben beschrieben Programmfragment geschieht.
-
E. Verwirklichung
-
Die vorliegende Erfindung kann auf
vielfältigste
Weise verwirklicht werden, einschließlich mittels Software in einem
Universalrechnersystem oder einem sonstigen Gerät, das stärker spezialisierte Bauelemente enthält, beispielsweise
digitale Signalprozessorschaltungen (DSP), die mit Bauelementen ähnlich den
in einem Universalrechnersystem gekoppelt sind. 11 ist
ein Blockschaltbild einer Vorrichtung 90, die zum Verwirklichen
verschiedener Aspekte der vorliegenden Erfindung benutzt werden
kann. DSP 92 stellt die Rechenressourcen bereit. RAM 93 ist
ein Direktzugriffsspeicher RAM des Systems. ROM 94 stellt
irgendeine Form einer dauerhaften Speicherung dar, beispielsweise
einen Festwertspeicher ROM zum Speichern von Programmen, die für den Betrieb
der Vorrichtung 90 erforderlich sind, um verschiedene Aspekte
der vorliegenden Erfindung durchzuführen. I/O Control 95 stellt
eine Schnittstellenschaltungsanordnung dar, mit der Tonsignale über einen Kommunikationskanal 96 empfangen
und gesendet werden. Die I/O Control 95 kann nach Wunsch
Analog/Digital-Umsetzer und Digital/Analog-Umsetzer umfassen, um
analoge Tonsignale zu empfangen und/oder zu senden. Im gezeigten
Ausführungsbeispiel
sind alle hauptsächlichen
Systemkomponenten an einen Bus 91 angeschlossen, der allerdings
für mehr
als einen tatsächlichen
Bus stehen kann; aber zur Verwirklichung der vorliegenden Erfindung
ist eine Busarchitektur nicht erforderlich.
-
Bei Ausführungsbeispielen, die in einem
Universalrechnersystem verwirklicht sind, können zusätzliche Bauelemente zum Ankoppeln
an Geräte,
wie eine Tastatur oder Maus und einen Anzeigeschirm eingeschlossen
sein, und zum Steuern einer Speichervorrichtung mit Speicherträger, beispielsweise
in Form eines Magnetbandes oder einer Magnetplatte oder eines Bildträgers. Der
Speicherträger
kann zum Aufzeichnen von Anweisungsprogrammen für Betriebssysteme, Dienstprogrammen
und Anwendungen benutzt werden und kann Ausführungsbeispiele von Programmen
umfassen, mit denen verschiedene Aspekte der vorliegenden Erfindung
verwirklicht werden.
-
Die zum Ausführen verschiedener Aspekte
der vorliegenden Erfindung nötigen
Funktionen können von
Bauelementen durchgeführt
werden, die auf verschiedenste Weise verwirklicht sind, einschließlich diskreter
logischer Bauelemente, einer oder mehrerer ASIC und/oder programmgesteuerter
Prozessoren. Die Art und Weise, in der diese Bauelemente verwirklicht
sind, ist für
die vorliegende Erfindung nicht wichtig.
-
Verwirklichungen der vorliegenden
Erfindung in Form von Software können
mittels einer Vielfalt an maschinenlesbaren Trägern vermittelt werden, beispielsweise
als Basisband oder modulierte Kommunikationswege über das
gesamte Spektrum, einschließlich
von Ultraschall- bis zu Ultraviolettfrequenzen, oder Speichermedien,
einschließlich
solcher, die Informationen im wesentlichen mit Hilfe irgendeiner
magnetischen oder optischen Aufzeichnungstechnik übermitteln,
unter Einschluß von
Magnetbändern,
Magnetplatten und Bildplatten. Verschiedene Aspekte können auch
in verschiedenen Komponenten des Rechnersystems 90 durch
Verarbeitungsschaltungsanordnungen, beispielsweise ASIC, universale
integrierte Schaltungen, programmgesteuerte Mikroprozessoren, die
in verschiedensten Formen von Festwertspeichern (ROM) oder RAM und sonstigen
Techniken verkörpert
sind, verwirklicht werden.