-
Die
vorliegende Erfindung betrifft im Allgemeinen den Bereich der Signalverarbeitung
und im besonderen die Codierung und Kompression von Daten. Insbesondere
betrifft die Erfindung ein Verfahren und ein Gerät zur Codierung und Kompression
von digitalen Daten, die Audiosignale oder Signale darstellen, die
allgemein die Charakteristika von Tonfrequenzsignalen haben.
-
HINTERGRUND
DER ERFINDUNG
-
Audiosignale
oder NF-Signale sind allgegenwärtig.
Sie werden als Funksignale oder als Teil von Fernsehsignalen übertragen.
Andere Signale, wie beispielsweise Sprache, haben einschlägige Charakteristika
mit Audiosignalen gemeinsam, wie beispielsweise die Bedeutung von
Darstellungen des Spektralbereichs. Es ist für viele Anwendungen von Nutzen,
Daten des Audiotyps in digitaler statt in analoger Form zu speichern
und zu übertragen.
Solche codierten Daten werden auf verschiedenen Typen digitaler
Medien gespeichert, darunter Kompaktplatten (CDs), Digitalbänder, Magnetplatten,
Computerspeicher, Direktzugriffsspeicher (RAM) und Festwertspeicher
(ROM), um nur einige zu nennen.
-
Es
ist zweckmäßig, die
Menge an digitalen Daten zu minimieren, die dazu benötigt wird,
eine analoges NF-Signal angemessen zu charakterisieren. Die Minimierung
der Datenmenge führt
zu einer Minimierung der benötigten
Menge an physikalischen Speichermedien, wodurch Kosten reduziert
werden und der Bedienungskomfort jeglicher im Zusammenhang mit diesen
Daten verwendeten Hardware erhöht
wird. Die Minimierung der Datenmenge, die notwendig ist, um einen
gegebenen zeitlichen Anteil eines Audiosignal zu charakterisieren,
ermöglicht
auch eine schnellere Übertragung
einer digitalen Darstellung des Audiosignals über jeden gegebenen Kommunikationskanal.
Das führt
ebenfalls zu Kosteneinsparung, da komprimierte Daten, die den gleichen
Zeitanteil wie ein Audiosignal haben, im Gegensatz zu unkomprimierten
Daten schneller oder über einen
Kommunikationskanal mit geringerer Bandbreite versandt werden können. Beide
dieser Möglichkeiten sind
typischerweise kostengünstiger.
-
Die
Prinzipien der digitalen Audiosignalaufbereitung sind hinlänglich bekannt
und in vielen Quellen dargelegt, wie auch in Watkinson, John, The
Art of Digital Audio., Focal Press, London (1988). Ein analoges Audiosignal
x(t) ist schematisch in 1 dargestellt. Die horizontale
Achse stellt die Zeit dar. Die Amplitude des Signals zu einer Zeit
t ist auf der vertikalen Achse gezeigt. Die Skala der Zeitachse
ist in Millisekunden aufgetragen, so sind ungefähr zwei Tausendstel Sekunden
eines Audiosignals in 1 schematisch dargestellt. Ein
erster Grundschritt bei der Speicherung und Übertragung des analogen Audiosignals
besteht im Abtasten des Signals zu diskreten Signalbestandteilen,
die dann weiter verarbeitet werden.
-
Das
Abtasten des Signals x(t) ist schematisch in 2 dargestellt.
Das Signal x(t) wird in vielen diskreten Zeitmomenten ausgewertet,
z.B. mit einer Rate von 48 kHz. Beim Abtasten bedeutet dies, dass
die Amplitude des Signals x(t) achtundvierzigtausend mal pro Sekunde
festgestellt und aufgezeichnet wird. So wird das Signal x(t) in
der Zeit einer msec (1 × 10–3 sec.)
achtundvierzig mal abgetastet. Das Ergebnis ist eine zeitliche Abfolge
x(n) von Amplituden, wie in 2 dargestellt
ist, mit Lücken
zwischen den Amplituden für
die Anteile des analogen Audiosignals x(t), die nicht gemessen wurden.
Wenn die Abtastgeschwindigkeit gegenüber den zeitweisen Schwankungen
im analogen Signal hoch genug ist, dann folgen die absoluten Werte,
auch Magnituden genannt, der Abtastwerte im allgemeinen der Form
des analogen Signals. Wie 2 zeigt,
folgen die Abtastwerte dem Signal x(t) ziemlich genau.
-
Die
Skizze eines allgemeinen Verfahrens zur Verarbeitung eines digitalen
Signals ist schematisch in 4a dargestellt.
Der erste Schritt, ein Audiosignal zu gewinnen, ist bei 99 dargestellt,
der Abtastschritt ist bei 102 angegeben. Wenn das Signal
erst einmal abgetastet ist, wird es typischerweise aus der Zeitdomäne, die
in 1 und 2 dargestellte Domäne, in eine
andere Domäne
transformiert, die die Analyse ermöglicht. Ein Zeitsignal kann
typischerweise als eine Summe einer Anzahl einfacher harmonischer
Zeitfunktionen ausgedrückt
werden, wie z.B. cosωt
und sinωt,
jeweils für
die verschiedenen harmonischen Frequenzen von ω. Die Darstellung eines zeitvariablen
Signals als eine Serie harmonischer Funktionen wird allgemein in
Feynman, R., Leighton, R., und Sands, M., The Feynman Lectures on
Physics, Addison-Wesley Publishing Company, Reading, Massachusettes
(1963), Bd. I, § 50
abgehandelt.
-
Es
gibt verschiedene Transformationsmethoden (manchmal als "Teilbandmethoden" bezeichnet), die hinlänglich bekannt
sind. Baylon, David and Lim, Jae, "Transform/Subband Analysis and Synthesis
of Signals", S.
540–544,
2ssPA90, Gold Coast, Australia, Aug. 27–31 (1990). Eine solches Verfahren
des Löschens
des Zeitbereichsaliasing (Time-Domain Aliasing Cancellation Method, "TDAC"). Eine andere solche
Transformation ist als diskrete Cosinustransformation (Discrete
Cosine Transform, "DCT") bekannt. Die Transformation wird
erreicht, indem eine Transformationsfunktion auf das Originalsignal
angewendet wird. Ein Beispiel einer DCT-Transformation ist:
sonst,
steht
k darin symbolisch für
die Frequenzvariable und N für
die Anzahl von Abtastwerten im Fenster.
-
Die
Transformation erzeugt eine Reihe von Amplitudenkoeffizienten einer
anderen als einer Variablen der Zeit, typischerweise eine Variable
der Frequenz. Die Koeffizienten können sowohl real als auch komplex bestimmt
werden. (Wenn X(k) komplex bewertet wird, kann die vorliegende Erfindung
beispielsweise gesondert auf reale und imaginäre Teile von X(k) oder gesondert
auf absoluten Wert, oder Magnitude, und Phasenteile von X(k) angewendet
werden. Zu Diskussionszwecken wird jedoch angenommen, dass X(k)
real bestimmt wird.) Eine charakteristische graphische Darstellung
eines Anteils des zu X(k) transformierten Signals x(n) ist schematisch
in 3 dargestellt. Wenn die Umkehrung der Transformationsoperation
auf das transformierte Signal X(k) angewandt wird, wird das ursprüngliche
abgetastete Signal x(n) erzeugt.
-
Die
Transformation wird durchgeführt,
indem die Transformationsfunktion auf einen zeitlichen Abschnitt
des abgetasteten analogen Signals x(n) angewendet wird. Der Abschnitt
(als "Rahmen" bekannt) wird ausgewählt, indem
ein Fenster bei 104 auf x(n) gelegt wird. Dazu eignen sich
verschiedene Fenstertechniken. Die Fenster können aufeinanderfolgend angewendet
werden, häufiger
jedoch überlappen
sie sich. Das Fenster muss zur Transformationsmethode, in einem
typischen Fall zur TDAC-Methode, passen. Wie in 2 gezeigt
ist, ist ein Fenster W1(n) auf x(n) gelegt
und umfasst achtundvierzig Abtastwerte bei einer Dauer von einer msec
(1 × 10–3 sec.).
(Zu Zwecken der Darstellung wurden nur achtundvierzig Abtastwerte
gezeigt. In einer typischen Anwendung umfasst ein Fenster viel mehr
Abtastwerte als achtundvierzig). Das Fenster W2(n)
wird über
die folgende msec gelegt. Die Fenster überlappen sich normalerweise,
die nicht überlappenden
Fenster sind nur zu Zwecken der Darstellung gezeigt. Die Transformation
von Signalen von einer Domäne
in eine andere, beispielsweise von Zeit zu Frequenz, wird in vielen
Grundlagentexten diskutiert, darunter: Oppenheim, A. V., und Schafer,
R. W., Digital Signal Processing, Englewood Cliffs, N.J. Prentice
Hall (1975); Rabiner, L. R., Gold, B., Theory and Application of
Digital Signal Processing, Englewood Cliffs, N.J., Prentice Hall,
(1975).
-
Die
bei 106 in 4a angegebene Anwendung der
Transformation auf das Fenster des abgetasteten Signals x(n) ergibt
für einen
Bereich diskreter Frequenzen eine Reihe von Koeffizienten. Jeder
Koeffizient des transformierten Signalrahmens, stellt die Amplitude
einer Komponente des transformierten Signals bei der angegebenen
Frequenz dar. Die Anzahl der Frequenzkomponenten ist bei jedem Rahmen
typischerweise dieselbe. Selbstverständlich differieren die Amplituden
entsprechender Frequenzen von Segment zu Segment.
-
Wie
in 3 gezeigt ist, ist das Signal X(k) eine Vielzahl
von Amplituden bei diskreten Frequenzen. Dieses Signal wird hier
als ein "Spektrum" des Originalsignals
bezeichnet. Gemäss
bekannter Methoden besteht der nächste
Schritt im Codieren der Amplituden für jede der Frequenzen nach
einem Binärcode
und darin, die codierten Amplituden zu übertragen oder zu speichern.
-
Eine
wichtige Aufgabe beim Codieren von Signalen besteht darin, die feste
Anzahl verfügbarer
Bits der Amplitudenspezifikation der Koeffizienten zuzuteilen. Die
Anzahl der einem Koeffizienten oder einem anderen Signalbestandteil
zugeordneten Bits, wird hier als die "zugeteilte Anzahl von Bits" dieses Koeffizienten oder
Signalbestandteils bezeichnet. Dieser Schritt ist mit Bezug auf
die anderen Schritte bei 107 in 4a dargestellt.
Im allgemeinen ist für
jeden Rahmen eine feste Anzahl N an Bits verfügbar. N wird durch Überlegungen
wie die folgenden bestimmt: die Bandbreite des Kommunikationskanals, über den
die Daten übertragen werden;
oder die Kapazität
des Speichermediums; oder die Menge an notwendigen Fehlerkorrekturen.
Wie oben erwähnt
wurde, erzeugt jeder Rahmen dieselbe Anzahl C an Koeffizienten (selbst
wenn die Amplitude einiger Koeffizienten auch Null sein kann).
-
So
besteht eine einfache Methode, die N verfügbaren Bits zuzuteilen, darin,
dass sie gleichmäßig auf die
Koeffizienten C aufgeteilt werden, so dass jeder Koeffizient durch
N/C Bits spezifiziert werden kann. (Für Diskussionszwecke wird angenommen,
dass N/C eine ganze Zahl ist.) So wäre also bei der Betrachtung
des transformierten Signals X(k), wie in 3 gezeigt,
der Koeffizient 32 mit der Amplitude von ca. einhundert
in Form eines Codeworts mit derselben Anzahl an Bits (N/C) wie der
Koeffizient 34 vorhanden, der eine sehr viel kleinere Amplitude
von ca. zehn hat. Gemäss
den meisten Codiermethoden, werden mehr Bits zum Spezifizieren oder
Codieren einer Zahl in einem größeren Bereich
benötigt,
als zur Spezifizierung einer Zahl in einem kleineren Bereich notwendig
sind, vorausgesetzt, beide werden mit derselben Genauigkeit spezifiziert.
Um beispielsweise ganze Zahlen zwischen null und einhundert mit
absoluter Genauigkeit mit einem Binärcode zu codieren, werden sieben
Bits benötigt,
während
4 Bits nötig
sind, um ganze Zahlen zwischen null und zehn zu spezifizieren. Wenn
also jedem Koeffizienten im Signal sieben Bits zugeteilt werden,
wären drei
Bits bei jedem Koeffizienten, der mit nur vier Bits hätte spezifiziert
werden können,
vergeudet. Wo nur eine beschränkte
Anzahl an verfügbaren
Bits auf viele Koeffizienten aufgeteilt werden kann, ist es eher
von Bedeutung, Bits einzusparen als zu verschwenden. Die Bitvergeudung
kann reduziert werden, wenn der Wertebereich genau bekannt ist.
-
Es
gibt verschiedene bekannte Methoden, um jedem Koeffizienten eine
Anzahl von Bits zuzuordnen. Alle diese bekannten Methoden führen jedoch
entweder zu einer beträchtlichen
Vergeudung von Bits oder zu einer beträchtlichen Einbuße bei der
Genauigkeit der Quantisierung der Koeffizentenwerte. Eine solche
Methode ist in der Schrift mit dem Titel "High Quality Audio Transform Coding
at 128 Kbits/s",
Davidson, G., Fielder, L., und Antill, M., der Dolby Laboratories,
Inc., ICASSP, S. 1117–1120,
April 3–6.
Albuquerque, New Mexico (1990) beschrieben (auf die hier unter dem
Begriff "Dolby-Schrift" Bezug genommen wird).
-
Nach
diesem Verfahren werden die Transformationskoeffizienten in Bändern zusammengefasst,
wobei die Bandbreiten durch Bandgrenzenanalyse bestimmt werden.
Dies ist zum Beispiel in der EP-A-421 259 offenbart. Transformationskoeffizienten
innerhalb eines Bandes werden in eine Bandblockdarstellung mit Fließkomma (Exponent
und Mantisse) umgewandelt. Die Exponenten liefern einen Schätzwert der
logarithmisch-spektralen
Hüllkurve
des untersuchten Audiorahmens und werden als Nebeninformation an
den Decoder übertragen.
-
Die
logarithmisch-spektrale Hüllkurve
wird in der dynamischen Bitzuteilungsroutine eingesetzt, die für einen
adaptiven Koeffizientenquantisierer Schrittgrößeninformation ableitet. Jedem
Rahmen ist dieselbe Anzahl N an Bits zugeteilt. Die dynamische Bitzuteilungsroutine
verwendet nur den Exponenten der höchsten Spektralamplitude jedes
Bands zur Erhöhung
der Quantisiererauflösung
für psychoakustisch
relevante Bänder.
Die Mantisse jedes Bands wird zu einer Bitauflösung quantisiert, die von der
Summe einer groben Festbitkomponente und einer feinen, dynamisch
zugeteilten Komponente bestimmt wird. Die Festbitkomponente wird
typischerweise unabhängig
vom speziellen Rahmen festgelegt, aber jedoch abhängig von
der Signalart und dem betreffenden Rahmen. Niedrigere Frequenzbänder können zum Beispiel
aufgrund der Festbitkomponente im allgemeinen mehr Bits aufnehmen.
Die dynamisch zugeteilte Komponente basiert auf dem Spitzenexponent
des Bands. Die logarithmisch-spektralen Schätzdaten werden zur Übertragung
an den Decoder mit den Bits mit fester und adaptiver Mantisse multiplexiert.
-
So
führt diese
Methode eine Rohanalyse der größten Amplitude
eines Koeffizienten in einem Band des Signals durch und verwendet
die Grobschätzung,
um diesem Band die Anzahl an Bits zuzuweisen. Die Grobschätzung besagt
nur den Integralteil der zweiten Potenz des Koeffizienten. Ist der
Koeffizient beispielsweise sieben, legt die Grobschätzung den
Maximalwert des Koeffizienten im Band auf 22 bis
23 (vier und acht) fest, oder, falls er
fünfundzwanzig
ist, auf 24 bis 25 (sechzehn
und dreiundzwanzig). Die Grobschätzung
(die eine ungenaue Schätzung
ist) verursacht zwei Probleme: die Bitzuteilung ist ungenau; die
zugeteilten Bits werden nicht effizient verwendet, da der Wertebereich
für jeden
vorhandenen Koeffizienten nicht genau bekannt ist. Bei der obigen
Vorgehensweise wird jeder Koeffizient im Band mit demselben Genauigkeitsgrad
spezifiziert wie die anderen Koeffizienten im Band. Ferner werden
Daten hinsichtlich der Koeffizienten mit Maximalamplitude in den
Bändern
in zwei Stufen codiert: zunächst
werden die Exponenten codiert und als Nebeninformation übertragen;
dann wird die Mantisse zusammen mit den Mantissen der anderen Koeffizienten übertragen.
-
Zusätzlich zur
Bestimmung wie viele Bits jedem Koeffizienten zum Codieren seiner
Amplitude zuzuteilen sind, muss eine Codierungmethode auch den gesamten
Amplitudenbereich in eine Anzahl von Teilbereichen unterteilen,
wie in 4a bei 108 gezeigt
ist, und bei 109 jedem Teilbereich einen Code zuteilen.
Die Anzahl der Bits im Code ist gleich der Anzahl der jedem Koeffizienten
zugeteilten Bits. Diese Teilbereiche werden typischerweise als "Quantisierungspegel" bezeichnet, da die
tatsächlichen
Amplituden nach der Codierung, Übertragung
oder Speicherung und Decodierung in die verfügbaren Pegel bzw. "Rekonstruktionspegel" quantisiert werden.
Wenn beispielsweise für
jeden Koeffizienten drei Bits zur Verfügung stehen, dann können 23 oder 8 Rekonstruktionspegel identifiziert
werden.
-
5 zeigt
ein einfaches Schema zur Zuteilung eines Dreibit-Codeworts für jeweils
acht Bereiche der Amplitude zwischen 0 und 100. Das Codewort 000
wird allen Koeffizienten zugewiesen, deren transformierte Amplitude
wie in 3 gezeigt, zwischen 0 und 12,5 liegt. So werden
alle Koeffizienten zwischen 0 und 12,5 mit demselben Wert quantisiert,
charakteristischerweise mit dem Mittelwert 6,25. Das Codewort 001
wird allen Koeffizienten zwischen 12,5 und 25,0 zugewiesen, die
alle auf den Wert 18,75 quantisiert werden. Auf ähnliche Weise wird das Codewort
100 allen Koeffizienten zwischen 50,0 und 62,5 zugewiesen, die alle
auf den Wert 56,25 quantisiert werden. Statt den Koeffizienten gleich
lange Codewörter
mit gleichförmigen
Quantisierungspegeln zuzuweisen, ist es auch bekannt, zur Codierung
jedem Koeffizienten unterschiedlich lange Codewörter zuzuweisen und auf die
codierten Koeffizienten ungleichförmige Quantisierungspegel anzuwenden.
-
Es
ist auch vorteilhaft, einen Maskierungspegel festzulegen. Der Maskierungspegel
steht mit der menschlichen Wahrnehmung eines akustischen Signals
in Zusammenhang. Bei einem gegebenen akustischen Signal ist es möglich, den
Grad der Signalverzerrung ungefähr
zu berechnen (z.B. Quantisierungsrauschen), der aufgrund des Signals
nicht gehört
oder wahrgenommen wird. Das ist in verschiedenen Anwendungen von
Vorteil. Beispielsweise kann eine gewisse Signalverzerrung hingenommen
werden, die der Mensch beim Hören
nicht bemerkt. Der Maskierungspegel kann so bei der Zuteilung der
verfügbaren
Bits zu verschiedenen Koeffizienten eingesetzt werden.
-
Der
gesamte Grundprozess der Digitalisierung eines Audiosignals und
der Synthetisierung eines Audiosignals aus codierten digitalen Daten
ist schematisch in 4a dargestellt, die Grundvorrichtung
ist schematisch in 4b dargestellt. Ein Audiosignal
wie Musik, Sprache, Verkehrslärm,
etc., wird bei 99 von einem bekannten Gerät, wie z.B.
einem Mikrophon, aufgenommen. Das Audiosignal x(t) wird bei 102 wie
oben beschrieben und in 2 dargestellt, abgetastet. Das
abgetastete Signal x(n) wird mit einem Fenster versehen 104 und
transformiert 106. Nach der Transformation (die eine Teilbanddarstellung
sein kann), werden die Bits unter den Koeffizienten aufgeteilt 107 und
die Amplituden der Koeffizienten bei 108 quantisiert, indem
jeder einen Rekonstruktionspegel zugewiesen bekommt, und diese quantisierten
Punkte werden dann bei 109 mit binären Codewörtern codiert. An dieser Stelle
werden die übertragenen
Daten 112 entweder über
einen Kommunikationskanal oder zu einer Speichervorrichtung. übertragen.
-
Die
vorstehenden Schritte 102, 104, 106, 107, 108, 109 und 112 finden
in einer Hardware statt, die im allgemeinen als "Transmitter", wie bei 150 in 4b gezeigt,
beschrieben wird. Der Transmitter umfasst typischerweise einen (auch
als Encoder bezeichneten) Signalcodierer 156 und kann weitere
Elemente umfassen, die das codierte Signal zur Übertragung über einen Kanal 160 weiter
aufbereiten. Alle der oben erwähnten Schritte
finden jedoch im Allgemeinen im Codierer statt, der selbst vielfache
Komponenten enthalten kann.
-
Gegebenenfalls
können
die Daten am anderen Ende des Datenkanals 160 von einem
Receiver 164 empfangen oder von der Speichervorrichtung
abgefragt werden. Es ist hinlänglich
bekannt, dass der Receiver einen Decodierer 166 umfasst,
der den Codiervorgang des Signalcodierers 156 mit einiger
Genauigkeit umkehren kann. Der Receiver umfasst typischerweise auch
andere, nicht gezeigte Elemente zur Umkehrung der Wirkung der zusätzlichen
Transmitterelemente, die das codierte Signal zur Übertragung über den
Kanal 160 aufbereiten. Der Signaldecodierer 166 ist
mit einer Codeworttabelle ausgestattet, die die Codewörter mit
dem Rekonstruktionspegel in Zusammenhang bringt. Die Daten werden
aus binären
in quantisierte Rekonstruktionsamplitudenwerte decodiert 114.
Eine umgekehrte Transformation wird auf jede Reihe quantisierter
Amplitudenwerte angewandt 116 und ergeben ein Signal, das
einem Rahmen von x(n) ähnelt,
d.h. es befindet sich in der Zeitdomäne und besteht bei jedem umkehrtransformierten
Ergebnis aus einer diskreten Anzahl von Werten. Das Signal wird
jedoch wegen der Quantisierung in Rekonstruktionspegel und der spezifischen
verwendeten Darstellung nicht genau dasselbe wie der entsprechende
Rahmen von x(n) sein. Der Unterschied zwischen dem ursprünglichen
und dem Wert der Rekonstruktionspegel kann typischerweise nicht
wieder hergestellt werden. Ein Strom umkehrtransformierter Rahmen
wird kombiniert 118 und ein Audiosignal wieder hergestellt 120 unter
der Verwendung eines bekannten Geräts wie z.B. einem D/A-Wandler und einem
Lautsprecher.
-
Aufgaben der
Erfindung
-
Die
verschiedenen Aufgaben der Erfindung umfassen das Bereitstellen
eines Verfahrens und eines Geräts
zum Codieren und Decodieren digitaler NF-Signale: womit eine effizientere
Bitzuteilung möglich
wird, so dass im allgemeinen weniger Bits verwendet werden, um Koeffizienten
mit kleineren Magnituden zu spezifizieren, als für die Spezifizierung größerer Koeffizienten
verwendet werden; das eine Quantisierung der Amplitude der Koeffizienten
vorsieht, derart, dass Bänder
mit größeren Koeffizienten – im Unterschied
zu Bändern mit
nur kleineren Koeffizienten – in
Rekonstruktionspegel aufgeteilt werden, so dass die kleineren als
auch die größeren Koeffizienten
genauer spezifiziert werden können
als es der Fall wäre,
wenn dieselben Rekonstruktionspegel für alle Koeffizienten verwendet
würden;
das eine genaue Schätzung
der Maskierungspegel ermöglicht;
das eine, auf dem Maskierungspegel beruhende, effiziente Zuteilung
von Bits ermöglicht;
das bis in kleine Mengen digitalisierter Daten Fehler stabil aufspürt und den
Fehler im Hinblick auf diese Daten auf einen kleinen, bekannten
Bereich eingrenzt; und das die Notwendigkeit, Koeffizienten immer
wieder zu codieren minimiert und alles zusammen einen hocheffizienten
Einsatz der zur Verfügung
stehen Bits zulässt.
-
Kurze Beschreibung
der Erfindung
-
Erfindungsgemäß werden
Verfahren bereitgestellt, wie in Anspruch 1 dargelegt ist, und in
einem ersten bevorzugten Beispiel zeigt die Anmeldung ein Verfahren
zum Codieren eines ausgewählten
Aspekts eines Signals, das durch Signalelemente definiert ist, die
in mindestens einer Dimension diskret sind, wobei das Verfahren
die folgenden Schritte umfasst: das Signal in mindestens ein Band
aufzuteilen, wobei zumindest eines dieses zumindest einen Bandes
eine Mehrzahl an benachbarten Signalelementen umfasst; in mindestens
einem Band ein Signalelement zu identifizieren, das gegenüber anderen
Signalelementen in diesem Band einen absoluten Wert (Magnitude)
mit einer vorausgewählten
Größe hat,
und dieses Signalelement als "Maßstabs"-Signalelement (hier
auch "Yardstick" genannt) für dieses
Band festzulegen; und die örtliche
Lage mindestens eines Maßstabs-Signalelements
im Hinblick auf seine Position in dem entsprechenden Band zu codieren.
-
In
einem zweiten bevorzugten Beispiel zeigt die Anmeldung ein Verfahren
zum Decodieren eines Codes, der einen ausgewählten Aspekt eines Signals
darstellt, das durch Signalelemente definiert ist, die zumindest
in einer Dimension diskret sind, das durch ein, die folgenden Schritte
umfassendes Verfahren codiert wurde: das Signal in mindestens ein
Band aufzuteilen, wobei zumindest eines dieses zumindest einen Bandes eine
Mehrzahl an benachbarten Signalelementen umfasst; in mindestens
einem Band ein Signalelement zu identifizieren, das gegenüber anderen
Signalelementen in diesem Band einen absoluten Wert (Magnitude)
mit einer vorausgewählten
Größe hat,
und dieses Signalelement als "Maßstabs"-Signalelement für dieses
Band festzulegen; und die örtliche
Lage mindestens eines Maßstabs-Signalelements
im Hinblick auf seine Position in dem entsprechenden Band zu codieren;
und eine Funktion dieser codierten örtlichen Lage dieses mindestens
einen Maßstabs-Signalelements
zum Codieren des ausgewählten
Aspektes dieses Signals zu verwenden; wobei das Verfahren des Decodierens
den Schritt umfasst, den codierten Aspekt des Signals auf einer Funktion
der örtlichen
Lage des Maßstabs-Signalelements
beruhend zu übersetzen,
die genau umgekehrt zu der Funktion der örtlichen Lage ist, die verwendet
wurde, um den ausgewählten
Aspekt des Signals zu codieren.
-
In
einem dritten bevorzugten Beispiel zeigt die Anmeldung ein Gerät zum Codieren
eines ausgewählten
Aspekts eines Signals, das durch Signalelemente definiert ist, die
zumindest in einer Dimension diskret sind, wobei dieses Gerät folgendes
umfasst: Mittel zum Aufteilen des Signals in mindestens ein Band,
wobei mindestens eines dieses zumindest einen Bandes eine Mehrzahl
an benachbarten Signalelementen umfasst; in mindestens einem Band
ein Signalelement zu identifizieren, das gegenüber anderen Signalelementen
in diesem Band eine Magnitude mit einer vorausgewählten Größe hat,
und Mittel, um dieses Signalelement als "Maßstabs"-Signalelement für dieses
Band festzulegen; Mittel zum Codieren der örtlichen Lage mindestens eines
Maßstabs-Signalelements im
Hinblick auf seine Position in dem entsprechenden Band; und Mittel
zum Quantisieren der Magnitude dieses zumindest einen Maßstabs-Signalelements,
für das
die örtliche
Lage codiert wurde.
-
In
einem vierten bevorzugten Beispiel zeigt die Anmeldung Gerät zum Decodieren
eines Codes, der einen ausgewählten
Aspekt eines Signals darstellt, das durch Signalelemente definiert
ist, die zumindest in einer Dimension diskret sind, das durch ein Verfahren
codiert wurde, das folgende Schritte umfasst: das Signal in mindestens
ein Band aufzuteilen, wobei zumindest eines dieses zumindest einen
Bandes eine Mehrzahl an benachbarten Signalelementen umfasst; in
mindestens einem Band ein Signalelement zu identifizieren, das gegenüber anderen
Signalelementen in diesem Band eine Magnitude mit einer vorausgewählten Größe hat, und
dieses Signalelement als "Maßstabs"-Signalelement für dieses
Band festzulegen; und die örtliche
Lage mindestens eines Maßstabs-Signalelements im
Hinblick auf seine Position in dem entsprechenden Band zu codieren;
und eine Funktion dieser codierten örtlichen Lage dieses mindestens
einen Maßstabs-Signalelements zum
Codieren des ausgewählten
Aspektes dieses Signals zu verwenden; wobei das Decodiergerät Mittel
zum Übersetzen
des codierten Aspekts des Signals umfasst, die auf einer Funktion
der örtlichen
Lage des Maßstabs-Signalelements
beruhen, die genau umgekehrt zur Funktion der örtlichen Lage ist, die zum
Codieren des ausgewählten
Aspekts des Signals verwendet wurde.
-
In
einem fünften
bevorzugten Beispiel zeigt die Anmeldung ein Verfahren zum Codieren
eines ausgewählten
Signalelements eines Signals, das durch Signalelemente definiert
ist, die zumindest in einer Dimension diskret sind, wobei dieses
Verfahren die folgenden Schritte umfasst: das Signal in eine Mehrzahl
von Bändern
aufzuteilen, wobei zumindest ein Band eine Mehrzahl an benachbarten
Signalelementen umfasst; in jedem Band ein Signalelement zu identifizieren,
das gegenüber
anderen Signalelementen in diesem Band die größte Magnitude hat, und dieses
Signalelement als "Maßstabs"-Signalelement für dieses Band festzulegen; die
Magnitude jedes Maßstabs-Signalelements
in einen ersten Genauigkeitsgrad zu quantisieren; dem ausgewählten Signalelement
eine Signalelement-Bitzuteilung zuzuweisen, die eine Funktion der
quantisierten Magnituden dieser Maßstabs-Signalelemente ist,
wobei die Signalelement-Bitzuteilung so gewählt ist, dass das ausgewählte Signalelement,
das diese Signalelement-Bitzuteilung verwendet, in einem zweiten
Genauigkeitsgrad ist, der unter dem ersten Genauigkeitsgrad liegt.
-
In
einem sechsten bevorzugten Beispiel zeigt die Anmeldung ein Verfahren
zum Codieren eines ausgewählten
Signalelements eines Signals, das durch Signalelemente definiert
ist, die zumindest in einer Dimension diskret sind, wobei dieses
Verfahren die folgenden Schritte umfasst: das Signal in eine Mehrzahl
von Bändern
aufzuteilen, wobei zumindest ein Band eine Mehrzahl an benachbarten
Signalelementen umfasst, wobei eines der Bänder das ausgewählte Signalelement
enthält;
in jedem Band ein Signalelement zu identifizieren, das gegenüber den
anderen Signalelementen in diesem Band die größte Magnitude hat, und dieses
Signalelement als "Maßstabs"-Signalelement für dieses
Band festzulegen; die Magnitude jedes Maßstabs-Signalelements nur einmal
zu quantisieren; dem ausgewählten
Signalelement eine Signalelement-Bitzuteilung zuzuweisen, die eine
Funktion der quantisierten Magnituden der Maßstabs-Signalelemente ist.
-
In
einem siebten bevorzugten Beispiel zeigt die Anmeldung ein Verfahren
zum Decodieren eines ausgewählten
Signalelements, das durch eines der oben erwähnten bevorzugten Verfahren
codiert wurde, wobei das Verfahren zum Decodieren den Schritt umfasst,
das Codewort zu übersetzen,
das durch das Verfahren des Codierens auf der Funktion der quantisierten
Magnituden der Maßstabs-Signalelemente
beruhend erzeugt wurde, die genau umgekehrt zu der Funktion der
quantisierten Magnituden ist, die verwendet wurde, um dem ausgewählten Signalelement
Bits zuzuweisen.
-
In
einem achten bevorzugten Beispiel zeigt die Anmeldung ein Gerät zum Codieren
eines ausgewählten
Signalelements eines Signals, das durch Signalelemente definiert
ist, die zumindest in einer Dimension diskret sind, wobei dieses
Gerät folgendes
umfasst: Mittel zum Aufteilen des Signals in eine Mehrzahl von Bänder, wobei
zumindest ein Band eine Mehrzahl an benachbarten Signalelementen
umfasst, wobei eines der Bänder das
ausgewählte
Signalelement enthält;
Mittel, um in jedem Band ein Signalelement zu identifizieren, das
die größte Magnitude
aller Signalelemente in dem Band hat, und dieses Signalelement als "Maßstabs"-Signalelement für dieses
Band festzulegen; Mittel zum Quantisieren der Magnitude jedes Maßstabs-Signalelements
in einem ersten Genauigkeitsgrad; Mittel, um dem ausgewählten Signalelement
eine Signalelement-Bitzuteilung zuzuweisen, die eine Funktion der
quantisierten Magnituden des Maßstabs-Signalelements
ist, wobei die Signalelement-Bitzuteilung so gewählt ist, dass die Quantisierung
des ausgewählten
Signalelements, die die Signalelement-Bitzuteilung verwendet, in
einem zweiten Genauigkeitsgrad ist, der unter dem ersten Genauigkeitsgrad
liegt.
-
In
einem neunten bevorzugten Beispiel zeigt die Anmeldung ein Gerät zum Decodieren
eines Codewortes, das ein ausgewähltes
Signalelement eines Signals darstellt, das durch eines oben erwähntes Verfahren
codiert wurde, wobei das Gerät
Mittel zum Übersetzen
des Codewortes umfasst, die auf einer Funktion der quantisierten
Magnituden der Maßstabs-Signalelemente
beruhen, die genau umgekehrt zur Funktion der quantisierten Magnituden
ist, die dazu verwendet wurde, dem ausgewählten Signalelement Bits zuzuteilen.
-
In
einem zehnten bevorzugten Beispiel zeigt die Anmeldung ein Verfahren
zum Codieren eines ausgewählten
Signalelements eines Signals, das durch Signalelemente definiert
ist, die zumindest in einer Dimension diskret sind, wobei dieses
Verfahren die folgenden Schritte umfasst: das Signal in eine Mehrzahl
von Bändern
aufzuteilen, wobei mindestens eines der Bänder eine Mehrzahl von benachbarten
Signalelementen umfasst; in jedem Band ein Signalelement zu identifizieren,
das von allen Signalelementen die größte Magnitude in diesem Band
hat, und dieses Signalelement als "Maßstabs"-Signalelement für dieses Band festzulegen;
die Magnitude jedes Maßstabs-Signalelements
in einem ersten Genauigkeitsgrad zu quantisieren; und dem ausgewählten Signalelement
eine Signalelement-Bitzuteilung zuzuweisen, die eine Funktion der
quantisierten Magnituden des Maßstabs-Signalelements
ist, wobei die Signalelement-Bitzuteilung so gewählt ist, dass die Quantisierung
des ausgewählten
Signalelements, die die Signalelement-Bitzuteilung verwendet, in
einem zweiten Genauigkeitsgrad ist, der unter dem ersten Genauigkeitsgrad
liegt.
-
In
einem elften bevorzugten Beispiel zeigt die Anmeldung ein Verfahren
zum Codieren eines ausgewählten
Signalelements eines Signals, das durch Signalelemente definiert
ist, die zumindest in einer Dimension diskret sind, wobei dieses
Verfahren die folgenden Schritte umfasst: das Signal in eine Mehrzahl
von Bändern
aufzuteilen, wobei zumindest ein Band eine Mehrzahl an benachbarten
Signalelementen umfasst, wobei eines der Bänder das ausgewählte Signalelement
enthält;
in jedem Band ein Signalelement zu identifizieren, das von allen
Signalelementen in diesem Band die größte Magnitude hat, und dieses
Signalelement als "Maßstabs"-Signalelement für dieses
Band festzulegen; die Magnitude jedes Maßstabs-Signalelements nur einmal zu
quantisieren; dem ausgewählten
Signalelement eine Signalelement-Bitzuteilung zuzuweisen, die eine Funktion
der quantisierten Magnituden der Maßstabs-Signalelemente ist.
-
In
einem zwölften
bevorzugten Beispiel zeigt die Anmeldung ein Verfahren zum Codieren
eines ausgewählten
Signalelements eines Signals, das durch eines der oben erwähnten bevorzugten
Verfahren codiert wurde, wobei das Verfahren zum Decodieren den
Schritt umfasst, ein Codewort zu übersetzen, das durch das Verfahren
des Codieren auf einer Funktion der quantisierten Magnituden der
Maßstabs-Signalelemente
beruhend erzeugt wurde, die genau umgekehrt zu der Funktion der
quantisierten Magnituden ist, die verwendet wurde, um dem ausgewählten Signalelement
Bits zuzuweisen.
-
In
einem dreizehnten bevorzugten Beispiel zeigt die Anmeldung ein Gerät zum Codieren
eines ausgewählten
Signalelements eines Signals, das durch Signalelemente definiert
ist, die zumindest in einer Dimension diskret sind, wobei dieses
Gerät folgendes
umfasst: Mittel zum Aufteilen des Signals in eine Mehrzahl von Bänder, wobei
zumindest ein Band eine Mehrzahl an benachbarten Signalelementen
umfasst, wobei eines der Bänder
das ausgewählte
Signalelement enthält;
Mittel, um in jedem Band ein Signalelement zu identifizieren, das
die größte Magnitude
aller Signalelemente in dem Band hat, und dieses Signalelement als "Maßstabs"-Signalelement für dieses
Band festzulegen; Mittel zum Quantisieren der Magnitude jedes Maßstabs-Signalelements
in einem ersten Genauigkeitsgrad; Mittel, um dem ausgewählten Signalelement
eine Signalelement-Bitzuteilung zuzuweisen, die eine Funktion der
quantisierten Magnituden des Maßstabs-Signalelements
ist, wobei die Signalelement-Bitzuteilung so gewählt ist, dass die Quantisierung
des ausgewählten
Signalelements, die die Signalelement-Bitzuteilung verwendet, in
einem zweiten Genauigkeitsgrad ist, der unter dem ersten Genauigkeitsgrad
liegt.
-
In
einem vierzehnten bevorzugten Beispiel zeigt die Anmeldung ein Gerät zum Decodieren
eines Codewortes, das ein ausgewähltes
Signalelement eines Signals darstellt, das durch ein oben erwähntes Verfahren
codiert wurde, wobei das Gerät
Mittel zum Übersetzen
des Codewortes umfasst, die auf einer Funktion der quantisierten
Magnituden der Maßstabs-Signalelemente
beruhen, die genau umgekehrt zur Funktion der quantisierten Magnituden
ist, die dazu verwendet wurde, dem ausgewählten Signalelement Bits zuzuteilen.
-
Kurze Beschreibung der
Figuren
-
1 zeigt
schematisch ein NF-Signal
-
2 zeigt
schematisch ein NF-Signal, das abgetastet wurde.
-
3 zeigt
schematisch das Spektrum eines NF-Signals, das aus der Zeitdomäne in die
Frequenzdomäne
transformiert wurde.
-
4a zeigt
schematisch die digitale Bearbeitung eines NF-Signals nach bekannten
Verfahren.
-
4b zeigt
schematisch die Hardwareelemente eines bekannten digitalen Signalverarbeitungssystems.
-
5 zeigt
schematisch die Aufteilung von Koeffizientenamplituden in Rekonstruktionspegel
und deren Zuteilung von Codewörtern
nach aus dem Stand der Technik bekannten Verfahren.
-
6 zeigt
schematisch die Aufteilung eines Spektrums an NF-Signalen in Frequenzbänder gemäß dem Stand
der Technik.
-
7 zeigt
schematisch das Spektrum von 6 nach Durchführung einer
Skalierung, und ferner innerhalb von Bändern festgelegte Maßstabs-Koeffizienten.
-
7a zeigt
schematisch, wie die Maßstabs-Koeffizienten
zur Erstellung einer Grobschätzung
|X(k)|α verwendet
werden.
-
8 zeigt
schematisch die Aufteilung der Amplitude von Koeffizienten in verschiedenen
Bändern
auf verschiedene Rekonstruktionspegel nach dem erfindungsgemäßen Verfahren.
-
9a zeigt
schematisch eine Alternative für
die Zuweisung von Rekonstruktionspegeln zu einem Koeffizienten,
der nur einen positiven Wert haben kann.
-
9b zeigt
schematisch eine andere Alternative für die Zuweisung von Rekonstruktionspegeln
zu einem Koeffizienten, der nur einen positiven Wert haben kann.
-
10a zeigt schematisch eine Alternative für die Zuweisung
vom Rekonstruktionspegeln zu einem Koeffizienten, der entweder einen
positiven oder einen negativen Wert haben kann.
-
10b zeigt schematisch eine andere Alternative
für die
Zuweisung von Rekonstruktionspegeln zu einem Koeffizienten, der
entweder einen positiven oder einen negativen Wert haben kann.
-
11 zeigt
schematisch wie die Magnituden von Maßstabs-Koeffizienten verwendet
werden können, um
die Anzahl an Bits für
ein Band zuzuteilen.
-
12 zeigt in den Teilen 12a, 12b und 12c schematisch
die Schritte des erfindungsgemäßen Verfahrens.
-
13 zeigt in den Teilen 13a und 13b schematisch
die Komponenten des erfindungsgemäßen Geräts.
-
Genaue Beschreibung
der bevorzugten erfindungsgemäßen Ausführungsformen
-
Eine
erstes bevorzugtes Beispiel der Anmeldung zeigt ein Verfahrem zum
Zuteilen von Bits zu einzelnen Koeffizienten, um die Magnitude (d.h.
den absoluten Amplitudenwert) dieser Koeffizienten zu codieren. Gemäß dem anmeldungsgemäßen Verfahren,
wird ein Audiosignal x(t) wie in 4a bei 99 erzielt,
und mit einer zweckmäßigen Rate,
wie z.B. 48 kHz wie bei 102, abgetastet, was x(n) ergibt.
Das abgetastete Signal wird mit einem Fenster versehen und transformiert,
wie bei 104 und 106, nach einer bekannten, zweckmäßigen Technik,
wie beispielsweise TDAC oder DCT, unter Verwendung eines geeigneten
Fensters mit einer typischen Größe, z.B.
512 oder 1024 Abtastwerte. Es ist selbstverständlich, dass andere Transformations-
und Fenstertechniken ebenfalls im Rahmen der vorliegenden Erfindung
liegen. Das Ergebnis ist ein Spektrum an Koeffizientensignalelementen
in der Frequenzdomäne,
wie in 3 dargestellt ist. Im vorliegenden Gebrauch soll
der Begriff "Signalelemente" Anteile eines Signals
im allgemeinen bedeuten. Sie können
abgetastete Anteile eines untransformierten Signals sein oder Koeffizienten
eines transformierten Signals, oder ein komplettes Signal selbst.
Die Schritte des Verfahrens sind in Form eines Ablaufdiagramms in
den 12a, 12b und 12c dargestellt.
-
Ein
bedeutender Gesichtpunkt des erfindungsgemäßen Verfahrens ist dasjenige
Verfahren, bei dem die Gesamtanzahl an Bits N unter der Gesamtanzahl
an Koeffizienten C aufgeteilt werden. Gemäß dem erfindungsgemäßen Verfahren
steht die Anzahl an zugeteilten Bits in engem Zusammenhang mit der
Amplitude der Koeffizienten, die codiert werden sollen.
-
Der
erste Schritt des Verfahrens besteht in der Aufteilung des Spektrums
an Transformationskoeffizienten in X(k) in eine Anzahl B von Bändern, z.B.
B gleich sechzehn oder sechsundzwanzig. Dieser Schritt ist in 12a bei 600 angegeben. Jedes Band muss
nicht unbedingt dieselbe Anzahl an Koeffizienten haben. Es kann
nämlich
wünschenswert
sein, in einigen Bändern
mehr Frequenzkoeffizienten einzuschließen, wie beispielsweise in
höheren
Frequenzbändern,
als in anderen, niedrigeren Frequenzbändern. In solch einem Fall ist
es von Vorteil, ungefähr
der sich ergebenden Bandgrenze zu folgen. Ein Beispiel des in zwei
Bänder
aufgeteilten Spektrums X(k) (wobei X(k) reale Werte hat) ist schematisch
in 6 dargestellt. Andere typische Spektren können einen
deutlicheren Unterschied in der Anzahl an Koeffizienten pro Band
aufweisen, typischerweise mit einer relativ höheren Anzahl an Koeffizienten
in den höheren
Bändern
als in den niedrigeren Bändern.
-
Wenn
die Anzahl der Frequenzkoeffizienten in jedem Band nicht gleichmäßig ist,
dann muss das Bandbreitenmuster jeden Bandes den Decodierelementen
der anmeldungsgemäßen Vorrichtung
bekannt sein oder mitgeteilt werden. Das ungleichmäßige Muster
kann in einem Speicher eingestellt und gespeichert werden, auf den
der Decodierer Zugriff hat. Falls sich jedoch die Bandbreite der
Bänder
aufgrund lokaler Charakteristika unentwegt ändert, muss der Decodierer über diese
Schwankungen Bescheid wissen, typischerweise durch eine ausdrückliche
Nachricht, die ihm das Muster mitteilt.
-
Wie
in 6 dargestellt ist, ist das Spektrum in viele Bänder b1, b2, ... bB, aufgeteilt, angezeigt durch ein kleines
dunkles Rechteck zwischen den Bändern.
Wie oben dargelegt, ist es sinnvoll, wenn das Band aus einer Anzahl
an Koeffizienten besteht, die der zweiten Potenz entspricht. An
dieser Stelle ist es dann auch möglich,
Frequenzen zu überspringen,
die nicht von Belang sind, beispielsweise weil sie zu hoch sind,
um vom menschlichen Gehör
noch ausgemacht werden zu können.
-
Obwohl
es für
die Erfindung nicht notwendig ist, kann es zweckmäßig sein,
die Spektrumskoeffizienten in einer Domäne zu analysieren, in der die
Spektrumsmagnituden durch nicht-lineare Abbildung komprimiert sind,
wie beispielsweise jede Magnitude in eine Bruchpotenz α, wie z.B.
1/2 oder eine logarithmische Transformation zu bringen. Der menschliche
Gehörapparat
scheint eine gewisse Art der Amplitudenkompression auszuführen. Nicht-lineares
Abbilden wie Amplitudenkompression trägt auch zu einer gleichmäßigeren
Verteilung der Amplituden bei, so dass ein gleichmäßiger Quantisierer
effizienter ist. Nicht-lineares Abbilden, gefolgt von gleichmäßiger Quantisierung
ist ein Beispiel für
die hinlänglich
bekannte nicht-gleichmäßige Quantisierung.
-
Der
Schritt des nicht-linearen Abbildens ist in 12a bei 602 angegeben.
Das transformierte Spektrum ist in 7 dargestellt,
die sich durch die vertikale Skala von 6 unterscheidet.
-
In
jedem Band des exponentiell skalierten Spektrums, wird der Koeffizient
Cb1, Cb2, ... CbB mit der größten Magnitude (unter Nichtbeachtung
des Vorzeichen) als "Maßstabs-Koeffizient" festgelegt. Dieser Schritt
ist in 12a bei 608 angegeben.
Die Maßstabs-Koeffizienten
sind in 7 durch ein kleines Rechteck dargestellt,
die den Kopf des Koeffizientenmarkierers einschließen. (In
einer anderen, weiter unten besprochenen, bevorzugten Ausführungsform
kann, anstatt den Koeffizienten, der der größte Koeffizient im Band ist,
als Maßstabs-Koeffizienten
festzulegen, auch ein anderer Koeffizient als Maßstab festgelegt werden. Dieser
andere Koeffizient kann derjenige mit einer medianen oder mittleren
Amplitude im Band sein, oder mit einer hohen; aber nicht der größten Magnitude
im Band, wie beispielsweise der zweit- oder dritthöchsten.
Die Ausführungsform,
die den Koeffizienten mit der größten Magnitude
als Maßstab
festlegt, ist das vorherrschende weiter unten besprochene Beispiel
und wird als erstes erläutert.)
-
Das
erfindungsgemäße Verfahren
bringt mehrere Ausführungsformen
mit sich. Gemäß einer
jeden wird die Magnitude der Maßstabs-Koeffizienten
dazu verwendet, Bits effizient unter Koeffizienten aufzuteilen und
auch, um die Anzahl und Platzierung der Rekonstruktionspegel festzulegen.
Diese verschiedenen Ausführungsformen
werden weiter unten ausführlich
besprochen, sie sind in den 12a und 12b dargestellt. Diese Ausführungsformen umfassen insbesondere:
bei 612, das Spektrum X(k) weiter in Teilbänder zu
unterteilen; bei 614, die örtliche Lage und das Vorzeichen
des Maßstabs-Koeffizienten genau
zu quantisieren; und bei 616, 618 und 620 verschiedene
Transformationen an diesen quantisierten Koeffizienten vorzunehmen,
bevor Daten an den Decodierer übertragen
werden. Das Grundverfahren der Erfindung verwendet in seiner weitesten
Implementierung jedoch keine Teilbänder, geht also von der Teilbandentscheidung 610 zum
Quantisierungsentscheidungsschritt 614 über. In diesem Grundverfahren
wird nur die Magnitude der Maßstabs-Koeffizienten
verwendet, und so geht das Verfahren also vom Quantisierungsentscheidungsschritt 614 zum
Schritt der Magnitudentransformationsentscheidung 622 über. Die
Magnituden müssen
in diesem Stadium nicht unbedingt transformiert werden und deshalb
geht das Grundverfahren direkt zu Schritt 624 über, bei
dem die Magnitude der Maßstabs-Koeffizienten
genau in Rekonstruktionspegel quantisiert werden.
-
Die
Magnitude jedes Maßstabs-Koeffizienten
wird in repräsentativen
Fällen
sehr genau quantisiert, genauer, als dies mit der Magnitude von
Nicht-Maßstabs-Koeffizienten
geschieht. In manchen Fällen äußert sich
dieses genaue Vorgehen in einer Verwendung von (durchschnittlich)
einer größeren Zahl
an Bits zum Codieren eines Maßstabs-Koeffizienten, als
(durchschnittlich) zum Codieren eines Nicht-Maßstabs-Koeffizienten. Wie jedoch
nachstehend beschrieben wird, kann das bei einem Schritt der Nur-Maßstabs-Transformation, der bei
Schritt 622 ausgeführt
wird, nicht der Fall sein. Im allgemeinen ist die (durchschnittlich)
höhere
Genauigkeit der Maßstäbe durch
eine geringere Divergenz zwischen dem ursprünglichen Koeffizientenwert
und dem quantisierten Wert charakterisiert, im Gegensatz zur Divergenz
zwischen den selben beiden (durchschnittlichen) Werten bei einem
Nicht-Maßstabs-Koeffizienten.
-
Nach
der Quantisierung werden die Maßstabs-Koeffizienten
bei 626 (12b) in Codewörter codiert und
bei 628 an den Receiver übertragen. Das Codierschema
kann einfach sein, wie beispielsweise Anlegen der digitalen Darstellung
der Position des Rekonstruktionspegels in einer von der niedrigsten
bis zur höchsten Amplitude
geordneten Reihe von Rekonstruktionspegeln. Alternativ kann ein
komplizierteres Codierschema wie beispielsweise ein Codebuch eingesetzt
werden. Wie es beim Receiver aus dem Stand der Technik der Fall
ist, umfasst die erfindungsgemäße Vorrichtung
einen mit einem Decodierer ausgestatteten Receiver, um die von der
Codiervorrichtung ausgeführten
Codierprozesse umzukehren. Wenn eine einfache Codiertechnik verwendet
wird, kann der Receiver diese Technik einfach umkehren. Alternativ
kann ein Codebuch vorgesehen werden, das die den Maßstabs-Koeffizienten
zugeteilten Codewörter
mit den Rekonstruktionspegeln in Zusammenhang bringt. Da die Maßstabs-Koeffizienten
sehr genau quantisiert sind, wenn die Codewörter übersetzt und die Koeffizienten
rekonstruiert sind, liegen sie sehr nahe bei den ursprünglichen
Werten. (Der nächste,
in 12b gezeigte Schritt 632 wird nur durchgeführt, wenn
einer der Transformationsschritte 616, 618 oder 620 von 12a ausgeführt
wurde. Die Ausführungsformen,
bei denen diese Schritte ausgeführt
werden, werden weiter unten erörtert.)
-
Die
genau quantisierten Magnituden der Maßstabs-Koeffizienten werden
eingesetzt, um den übrigen Koeffizienten
im Band Bits zuzuteilen. Da in dieser zuerst diskutierten Ausführungsform
jeder Maßstabs-Koeffizient
derjenige mit der grössten
Magnitude in dem Band ist, dem er angehört, ist bekannt, dass alle
anderen Koeffizienten in dem Band eine Magnitude haben, die kleiner
oder gleich derjenigen des Maßstabs-Koeffizienten ist.
Ferner ist auch die Magnitude des Maßstabs-Koeffizienten sehr genau
bekannt. So ist bekannt, wie viele Koeffizienten in dem Band codiert
werden müssen,
das den größten, den
nächstgrößten, den
kleinsten, usw., Amplitudenbereich hat. Aufbauend auf diesem Wissen
können
Bits effizient unter den Bändern
aufgeteilt werden.
-
Die
Bits können
auf vielfältige
Weise zugeteilt werden. Zwei wichtige allgemeine Verfahren sind:
jedem Band Bits zuzuteilen, und dann jedem Koeffizienten in diesem
Band; oder Bits direkt jedem Koeffizienten zuzuteilen, ohne vorher
jedem Band Bits zuzuteilen. Gemäß einer
Ausführungsart
des ersten allgemeinen Verfahrens wird zunächst die Anzahl an Bits, die
jedem einzelnen Band zugeteilt werden, bei 634 festgelegt.
Eine höhere
Zahl an Koeffizienten in einem Band erfordert allgemein eine höhere Anzahl
an Bits zum Codieren aller Koeffizient dieses Bandes. Ähnlich erfordert
eine höhere
Durchschnittsmagnitude |X(k)|α der Koeffizienten in dem
Band eine höhere
Anzahl an Bits, um alle Koeffizienten dieses Bandes zu codieren.
So wird ein grobes Maß der "Größe" jeden Bandes festgelegt,
wobei "Größe" als Anzahl an Koeffizenten
und Magnitude der Koeffizienten definiert wird, und dann werden
die verfügbaren
Bits entsprechend ihrer relativen Größen auf die Bänder aufgeteilt,
wobei größere Bänder mehr
Bits und kleinere Bänder
weniger Bits erhalten.
-
Wie
beispielsweise in 7a gezeigt ist, kann für eine grobe
Schätzung
angenommen werden, dass die Magnitude jedes Koeffizienten dieselbe
ist wie der Maßstab
für dieses
Band. Das ist in 7a durch einen stark quer gestrichelten
Kasten dargestellt, dessen Magnitude gleich dem absoluten Wert der
Amplitude des Maßstabs-Koeffizienten ist.
Wie aus einem Vergleich zwischen 7 und 7a hervorgeht,
wird angenommen, dass alle Koeffizienten positiv sind, um zu einer
groben Schätzung
der Größe jeden
Bandes zu gelangen. Mit Kenntnis der Anzahl aller Koeffizienten
in jedem Band ist es dann möglich,
eine Obergrenze für
die Größe des Bandes
festzulegen. In einem unverbindlichen Sinn ähnelt diese Analyse der Bestimmung
des Energiegehalts des Bandes im Vergleich zum gesamten Energiegehalt
des Rahmens. Wenn die relativen Größen erst einmal bestimmt sind,
werden hinlänglich
bekannte Techniken angewandt, um die verfügbaren Bits auf die Bänder entsprechend
den geschätzten
Größen aufzuteilen.
Eine Technik ist in Lim, J. S., Two-Dimensional Signal and Image
Processing, Prentice Hall, Englewood Cliffs, New Jersey (1990),
S. 598 dargestellt. Erfahrungsgemäß kann es auch von Vorteil
sein, Bits unter der Annahme auf die Bänder aufzuteilen, dass die Durchschnittsmagnitude
|X(k)|α jedes
Nicht-Maßstabs-Koeffizienten
gleich einem anderen Bruchteil der Magnitude des Maßstabs ist,
wie beispielsweise ½.
Das ist in 7a durch weniger stark quer
gestrichelte Kästchen
dargestellt, die die Bänder
des Signals überbrücken. Es
ist festzuhalten, dass sich die stark quer gestrichelten Bereiche
bis zur Frequenzachse hinunter erstrecken, obwohl der untere Abschnitt
von den weniger stark quer gestrichelten Bereichen verdeckt ist.
-
Es
ist auch möglich,
die Schätzung
der Größe des Bandes
in Abhängigkeit
zu der Anzahl der Koeffizienten im Band zu setzen (auch bekannt
als Frequenzproben). Je mehr Koeffizienten beispielsweise vorhanden
sind, umso unwahrscheinlicher ist es, dass die Durchschnittsmagnitude
gleich der Magnitude des Maßstabs-Koeffizienten
ist. Auf jeden Fall aber ermöglicht
eine grobe Schätzung
der Bandgröße eine
zweckmäßige Zuteilung
von Bits zu diesem Band.
-
Innerhalb
jeden Bands werden Bits bei 636 unter den Koeffizienten
aufgeteilt. Typischerweise werden die Bits gleichmäßig zugeteilt,
es kann aber jede sinnvolle Regel angewandt werden. Es sollte festgehalten werden,
dass die Magnituden der Maßstabs-Koeffizienten bereits
quantisiert, codiert und übertragen
sind und nicht noch einmal quantisiert, codiert und übertragen
werden müssen.
Gemäß dem in
der Dolby-Schrift erörterten
Stand der Technik, werden Aspekte der eingesetzten Koeffizienten
in zwei verschiedenen Stufen codiert, um eine grobe Analyse der
größten Magnitude
eines Koeffizienten innerhalb eines Bandes zu machen; zunächst im
Hinblick auf den Exponenten und dann im Hinblick auf die Mantisse.
-
Wie
oben erwähnt
wurde, kann man auch, anstatt den Bändern zuerst Bits zuzuteilen
und dann die Bits auf die Koeffizienten jedes Bandes aufzuteilen,
den Schätzwert
von |X(k)|α verwenden,
um den Koeffizienten ohne den Zwischenschritt des Zuteilens von
Bits zu den Bändern,
direkt Bits zuzuteilen. Wieder wird die grobe Schätzung |X(k)|α verwendet,
um eine grobe Schätzung
für die
Magnitude jedes Koeffizienten zu erhalten. Wie in 7a dargestellt
ist, kann die grobe Schätzung
für die
Magnitude jedes Koeffizienten die Magnitude des Maßstabs-Koeffizienten
sein, oder eine Hälfte
dieser Magnitude, oder irgend ein anderes sinnvolles Verfahren.
(Wie unten erörtert
ist, wird eine kompliziertere, aber nützlichere Schätzung möglich, wenn
auch die Daten über
die örtliche
Lage der Maßstabs-Koeffizienten
genau aufgezeichnet und codiert werden.) Aus der Schätzung der
Magnitude jedes Koeffizienten kann eine Schätzung der Gesamtmagnitude oder
der Signalgröße wie oben
gemacht, und das Verhältnis
von Größe des Koeffizienten
und der Gesamtgröße als Basis
verwendet werden, um dem Koeffizienten eine Anzahl an Bits zuzuteilen.
Die allgemeine Technik ist bei Lim, J. S., a.a.O., S. 598 erörtert.
-
Aufgrund
der genauen Quantisierung der Maßstabs-Koeffizienten, resultiert
die vorliegende Erfindung in einer zweckmäßigeren Zuteilung von Bits
zu den Koeffizienten in jedem Band, als es das in der Dolby Schrift beschriebene
Verfahren aus dem Stand der Technik tut. Angenommen, die beiden
Bänder
b4 und b5 (8) haben
Maßstabs-Koeffizienten 742 bzw. 743 mit
Magnituden von neun bzw. fünfzehn.
Gemäß dem Verfahren aus
dem Stand der Technik wird jeder Maßstabs-Koeffizient grob quantisiert,
indem nur sein Exponent codiert wird, und diese grobe Quantisierung
wird eingesetzt, um allen Koeffizienten im Band des Maßstabs-Koeffizienten
Bits zuzuteilen. Der Maßstabs-Koeffizient 742,
der einen Wert von neun hat, würde
also, da er zwischen 23 und 24 liegt,
durch den Exponenten "3" quantisiert werden.
Da fünfzehn
die Höchstzahl
ist, die dieser Exponent haben könnte,
werden dem Band, in das der Maßstabs-Koeffizient fällt, Bits
zugeteilt, als ob der Höchstwert
jedes Koeffizienten fünfzehn
wäre.
-
Gemäß des Stands
der Technik würde
der Maßstabs-Koeffizient 743,
der einen Wert von fünfzehn
hat, auch durch den Exponenten "3" quantisiert werden,
da auch er zwischen 23 und 24 liegt.
So werden dem Band, in das der Maßstabs-Koeffizient 743 fällt, auch
Bits zugeteilt, als ob der Höchstwert
jedes Koeffizienten fünfzehn
betrüge.
Obwohl also die beiden Bänder
deutlich unterschiedliche Maßstabs-Koeffizienten
haben, werden jedem Koeffizienten im Band dieselbe Anzahl an Bits
zugeteilt. Zur Verdeutlichung kann angenommen werden, dass jeder
Koeffizient in den beiden Bändern
vier Bits zur Quantisierung zugeteilt bekommt.
-
Umgekehrt
wird gemäß dem erfindungsgemäßen Verfahren,
aufgrund dessen die Maßstabs-Koeffizienten
sehr genau quantisiert werden, der Maßstabs-Koeffizient 743,
der einen Wert von fünfzehn
hat, als fünfzehn
oder sehr nahe an fünfzehn
quantisiert, wenn nur sehr wenige Bits zur Verfügung stehen. Ferner wird der Maßstabs-Koeffizient 742,
der einen Wert von neun hat, als neun oder sehr nah an neun quantisiert.
So werden den Koeffizienten im Band b4 eine
andere Anzahl an Bits zugeteilt als den Koeffizienten in Band b5. Zur Verdeutlichung kann angenommen werden,
dass die Koeffizienten im Band b5, die einen
Maßstab
der Magnitude fünfzehn
haben, jeweils fünf
Bits zugeteilt bekommen, während
die Koeffizienten im Band b4, die einen
Maßstab
von nur neun haben, jeweils nur drei Bits zugeteilt bekommen.
-
Ein
Vergleich zwischen der Bitzuteilungsmethode der Erfindung und derjenigen
aus dem Stand der Technik zeigt, dass das erfindungsgemäße Verfahren
geeigneter ist. Für
Band b5 stehen mehr Bits zur Verfügung (fünf im Gegensatz
zu vier), so dass die Quantisierung genauer wird. Für Band b4 werden weniger Bits verwendet (drei im
Gegensatz zu vier), da der Bereich jedoch tatsächlich kleiner ist, als ihn
das Verfahren aus dem Stand der Technik bestimmen kann (neun im
Gegensatz zu fünfzehn),
ist die Bitzuteilung zweckdienlicher. Da die Erfindung darüber hinaus
die genaue Maßstabs-Quantisierung dazu
verwendet, Rekonstruktionspegel festzulegen, was das Verfahren aus
dem Stand der Technik nicht tut, ist die erreichte relative Genauigkeit
sogar noch größer, was
gleich erklärt
wird.
-
Wenn
jeder Koeffizient erst einmal seine Zuteilung an Bits bei 636 erhalten
hat, kann die sehr genaue Quantisierung der Maßstabs-Koeffizienten dazu verwendet
werden, um gegebenenfalls den gesamten Bandbereich aufzuteilen und
bei 638 Rekonstruktionspegel zuzuweisen. 8 zeigt
schematisch die Rekonstruktionspegelzuweisung. Die Maßstäbe 743 und 742 der
Bänder
b5 und b4 sind zusammen
mit Nicht-Maßstabs-Koeffizienten 748 und 746 dargestellt,
wobei erstere in das Band b4 und zweitere
in das Band b5 fallen, die beide eine Magnitude
von fünf
haben. Mit dem oben angeführten
Beispiel fortfahrend, ist die Zuweisung von Rekonstruktionspegeln
nach der vorliegenden Erfindung und dem Stand der Technik dargestellt.
Da gemäß dem Stand
der Technik die Koeffizienten in beiden Bändern dieselbe Anzahl an Bits,
nämlich
vier, für
Rekonstruktionspegel zugeteilt bekamen, hat jedes Band 24 oder sechzehn Rekonstruktionspegel. Diese
Rekonstruktionspegel sind auf beiden Seiten von 8 durch
identische Skalen 750 schematisch dargestellt. (Die Rekonstruktionspegel
sind mit einer kurzen, im Zentrum jedes Rekonstruktionspegels gezeigten
Skalenzeile dargestellt).
-
Die
Rekonstruktionspegel, die nach dem erfindungsgemäßen Verfahren zugewiesen werden
würden, unterscheiden
sich stark von denjenigen aus dem Stand der Technik und unterscheiden
sich genau genommen in beiden Bändern.
In dem Beispiel bekam Band b5 fünf Bits
pro Koeffizient zugeteilt, also sind 25 bzw.
zweiunddreißig
Rekonstruktionspegel verfügbar,
um Koeffizienten in diesem Band zu quantisieren, die einen Maßstab von
fünfzehn
haben. Diese Rekonstruktionspegel sind schematisch bei Skala 780 dargestellt.
Band b4 bekam nur drei Bits zugeteilt, also
sind 23 bzw. acht Rekonstruktionspegel verfügbar für die Quantisierung
der Koeffizienten in dem Band, die einen Maßstab von neun haben. Diese
Rekonstruktionspegel sind bei Skala 782 dargestellt.
-
Ein
Vergleich zwischen der Genauigkeit der beiden Verfahren zeigt, dass
das erfindungsgemäße Verfahren
leistungsfähiger
ist als das aus dem Stand der Technik. Die zweiunddreißig Rekonstruktionspegel,
die als Ergebnis der Fünfbitzuteilung
für die
Koeffizienten in Band b5 vorgesehen sind,
sorgen deutlich für
eine höhere
Genauigkeit als dies die sechzehn Pegel tun, die ein Ergebnis der
Vierbitzuteilung aus dem Stand der Technik sind. Ferner sind alle
der zweiunddreißig
Rekonstruktionspegel nützlich.
Die acht als Ergebnis der vorliegenden Erfindung für die Koeffizienten
in Band b4 zur Verfügung stehenden Rekonstruktionspegel,
erbringen nicht so viele Rekonstruktionspegel wie die sechzehn,
die sich aus dem Stand der Technik ergeben, alle acht Rekonstruktionspegel
werden hingegen verwendet, während
einige Rekonstruktionspegel aus dem Stand der Technik (diejenigen,
die zwischen neun und fünfzehn
liegen), möglicherweise
für dieses
Band nicht genutzt werden können,
da kein Koeffizient neun überschreitet.
Obwohl also technisch gesehen diesem Band nach dem Stand der Technik
mehr Rekonstruktionspegel zugeteilt werden, können viele davon nicht verwendet
werden und der erzielte Genauigkeitsgewinn ist gering. Die Bits,
die bei der Zuteilung auf ungenutzte Rekonstruktionspegel verbraucht
werden, könnten
in demselben Band besser eingesetzt werden, indem Rekonstruktionspegel
erneut zugeteilt werden, die in dem bekannten genauen Bereich oder
in einem anderen Band liegen (wie z.B. Band b5,
in dem der Maximalbereich relativ groß ist).
-
Das
Anlegen von Grenzen zwischen Rekonstruktionspegeln und die Zuteilung
von Rekonstruktionswerten zu diesen Rekonstruktionspegeln innerhalb
des Bereichs kann variiert werden, um spezifischen Signalcharakteristika
gerecht zu werden. Werden gleichmäßige Rekonstruktionspegel zugeteilt,
können
sie, wie bei Skala 902 in 9a gezeigt,
so angelegt werden, dass sie einen Bereich von zehn überspannen,
wobei der höchste
Rekonstruktionspegel den Maßstabswert
und jeder niedrigere Pegel einen niedrigeren Wert zugeteilt bekommt,
abzüglich
eines Betrags, der von der Pegelgröße abhängt. Bei einem solchen Schema
wird kein Rekonstruktionspegel auf Null gesetzt. Alternativ kann,
wie als Skala 904 dargestellt, der niedrigste Rekonstruktionspegel
auf Null gesetzt werden, wobei jeder höhere Pegel um einen gleichen
Betrag größer ist.
In solch einem Fall wird kein Rekonstruktionspegel auf den Maßstabs-Koeffizienten
gesetzt. Alternativ und in einer typischeren Weise wird, wie bei
Skala 906 gezeigt, weder Maßstab, noch Null genau quantisiert,
sondern wird jeweils einen halben Rekonstruktionspegel entfernt
vom nächsten
Rekonstruktionspegel liegen.
-
Wie
im Falle einer ungleichen Bitzuteilung zu Koeffizienten in einem
Band, wenn mehr als ein Rekonstruktionsschema durch den Codierer
angewandt werden kann, muss entweder ein Signal an den Decodierer übertragen
werden, zusammen mit den zu den quantisierten Koeffizienten gehörigen Daten,
die angeben, welches Rekonstruktionsschema verwendet werden soll,
oder der Decodierer muss so konstruiert sein, dass er in allen Situationen
die erforderliche Verteilung von Rekonstruktionspegeln reproduziert.
Diese Information würde analog
zu der Art und Weise übertragen
oder erzeugt werden, bei der die spezifische Information über die
Anzahl der Koeffizienten pro Band wie oben erörtert übertragen oder erzeugt würde.
-
Anstatt
die Amplitude jedes Bands gleich aufzuteilen, kann es vorteilhaft
sein, sie wie in 9b bei 638 gezeigt,
zu teilen, und die Rekonstruktionspegel zu spezifizieren, die sowohl
den Null- als auch den Maßstabs-Koeffizienten
genau umfassen und rekonstruieren, und die Verteilung der anderen
Maßstabs-Koeffizienten
mehr in Richtung auf den Endbereich des Maßstabs-Koeffizienten zu versetzen.
Alternativ könnten
sich die Rekonstruktionspegel näher
am Null-Ende des Bereichs konzentrieren, wenn die Erfahrung zeigt,
dass dies statistisch wahrscheinlicher ist. So können also die Quantisierungspegel
im allgemeinen ungleichmäßig und auf
die Charakteristika des speziellen Signaltyps zugeschnitten sein.
-
Die
vorstehenden Beispiele sind implizit davon ausgegangen, dass der
Maßstabs-Koeffizient größer Null
ist, und dass alle anderen Koeffizienten größer oder gleich Null sind.
Obwohl dies der Fall sein kann, können sich doch viele Situationen
ergeben, bei denen die eine oder beide der Annahmen nicht zutreffen.
Es gibt mehrere Methoden, um das Vorzeichen der Nicht-Maßstabs-Koeffizienten
zu spezifizieren. Die grundlegendste ist, den Amplitudenbereich
des Bandes in einen Bereich auszuweiten, der die doppelte Magnitude
der des Maßstabs-Koeffizienten
hat, und wie in 10a bei 638, Rekonstruktionspegel
zuzuteilen. Beispielsweise wird jeder Koeffizient, der in eine Zone
fällt,
die zwischen den Amplitudenwerten 2,5 und 5,0 liegt, bei 640 als
3,75 quantisiert, und wird bei 642 das Dreibitcodewort "101" zugeteilt bekommen.
Wie klar wird, ist die Präzision einer
solchen Anordnung nur halb so genau als diejenige, die möglich wäre, wenn
nur positive Koeffizienten quantisiert werden müssten. Negative Werte, wie
beispielsweise diejenigen zwischen –5,0 und –7,5 werden auch als –6,25 quantisiert
und bekommen das Codewort "001" zugeteilt.
-
Anstelle
einer gleichen Aufteilung in positive und negative Werte ist es
möglich,
die positiven oder negativen Rekonstruktionspegel wie in 10b gezeigt feiner zuzuteilen. In einem solchen
Fall wird es notwendig sein, dem positiven bzw. negativen Bereichsanteil
mehr Rekonstruktionspegel zu geben. In 10b hat der
positive Anteil vier volle Rekonstruktionspegel und einen Teil des
Rekonstruktionspegels um Null zentriert, wohingegen der negative
Anteil drei volle Rekonstruktionspegel und einen Teil des null-zentrierten
Rekonstruktionspegels hat.
-
Die
vorstehenden Beispiele zeigen, dass mit einer sehr genauen Quantisierung
der Maßstabs-Koeffizienten
eine sehr genaue Bereichsinformation für ein besonderes Band festgestellt
werden kann. Folglich können
die Rekonstruktionspegel einem speziellen Band sinnvoller zugeteilt
werden, so dass die rekonstruierten Werte näher bei den ursprünglichen
Werten liegen. Das Verfahren aus dem Stand der Technik resultiert
in relativ größeren Bereichen
für jedes
gegebene Band, und daher in einer weniger zweckmäßigen Zuteilung von Rekonstruktionspegeln.
-
Auch
die Schätzung
des Maskierungspegels wurde mit Anwendung des erfindungsgemäßen Verfahrens
gegenüber
dem Stand der Technik verbessert. Die Schätzung des Maskierungspegels
beruht auf einer Schätzung
der Magnitude der Koeffizienten |X(k)|. Wie erwähnt wurde, ist für jeden
Koeffizienten der Maskierungspegel im allgemeinen ein Maß dafür, wie viel
Rauschen, wie z.B. Quantisierungsrauschen, im Signal geduldet werden
kann, ohne dass es vom Menschen wahrgenommen wird. In den meisten
Anwendungen können
Signale mit größeren Amplituden
mehr Rauschen ertragen, ohne dass das Rauschen bemerkt wird. Zusätzliche
Faktoren, die zur Amplitude hinzukommen, tauchen auch in der Bestimmung
des Maskierungspegels auf, wie z.B. Frequenz und Amplituden der
Umgebungskoeffizienten. So resultiert eine bessere Einschätzung von
|X(k)| für
jeden gegebenen Koeffizienten natürlich in einer besseren Einschätzung eines
passenden Maskierungpegels. Der Maskierungspegel wird verwendet,
um die Zuteilung von Bits zu einem Koeffizienten feiner abzustimmen.
Wenn sich der Koeffizient in einer Situation befindet, in der er
relativ viel Quantisierungsrauschen ertragen kann, trägt die Bitzuteilung
dem Rechnung und kann die Anzahl an Bits reduzieren, die einem spezifischen
Koeffizienten (oder Band) zugeteilt würden, im Gegensatz zu der Anzahl,
die zugeteilt würde, wenn
dem Maskierungspegel nicht Rechnung getragen worden wäre.
-
Nachdem
die Koeffizienten nach dem erfindungsgemäßen Verfahren codiert wurden,
wird der Codewortstrom bei 644 an den Kommunikationskanal
oder die Speichervorrichtung wie im Stand der Technik in 4A bei 112 gezeigt, übertragen.
Nach der Übertragung
werden die codierten Wörter
in ein Audiosignal zurücktransformiert.
Wie bei 660 in 12c gezeigt,
werden die codierten Maßstabs-Koeffizienten basierend
auf der Zuteilung von Rekonstruktionspegeln an die Codewörter quantisiert.
Die Maßstabs-Koeffizienten
sind sehr genau quantisiert worden. So werden die rekonstruierten
Maßstabs-Koeffizienten
nach der Übersetzung
der Codewörter
in rekonstruierte Pegel die ursprünglichen Maßstabs-Koeffizienten sehr genau
wiedergeben.
-
Bei 662 findet
eine Entscheidung statt, ob eine umgekehrte DCT-Transformation (oder
eine andere geeignete Transformation) durchgeführt werden soll, um einer Transformation
des DCT-Typs (wie unten erörtert) entgegenzuwirken,
die gegebenenfalls bei den Schritten 616, 618 oder 620 im
Codieren erfolgt ist. Falls das der Fall ist, wird die Umkehrtransformation
bei 664 angewandt. Falls nicht, geht das erfindungsgemäße Verfahren
zu 666 über,
wo die Codewörter
für die
Nicht-Maßstabs-Koeffizienten
eines einzelnen Rahmens in Quantisierungspegel übersetzt werden. Es gibt viele
verschiedene mögliche
Schemata, die weiter unten beschrieben werden.
-
Der
Decodierer übersetzt
die Codewörter
in Quantisierungpegel, indem er die am Codierer durchgeführten Schritte
in umgekehrter Reihenfolge anwendet. Von den Maßstabs-Koeffizienten stehen
dem Codierer die Anzahl der Bänder
und die Magnituden der Maßstabs-Koeffizienten
zur Verfügung.
Die Anzahl an Nicht-Maßstabs-Koeffizienten
in jedem Band ist ebenfalls bekannt, entweder aus der Nebeninformation
oder aus voreingestellter Information. Aus Vorstehendem können die
Rekonstruktionspegel (Anzahl und örtliche Lage) vom Decodierer
festgestellt werden, indem er dieselbe Regel anwendet wie vom Codierer
zur Festlegung der Bitzuteilung und der Rekonstruktionspegel angewandt
wurde. Falls es nur eine solche Regel gibt, wendet sie der Decodierer
einfach an. Gibt es mehr als eine, wählt der Decodierer die passendste
aus, entweder basierend auf Nebeninformation oder basierend auf
den, den Maßstabs-Koeffizienten eigenen
Merkmalen. Falls die Codewörter
nach einem einfachen Ordnungsschema wie beispielsweise die binäre Darstellung
der Position der Rekonstruktionspegel vom niedrigsten bis zum höchsten arithmetischen
Wert, auf die Rekonstruktionspegel angewandt wurden, dann wird dieses
Schema zur Herstellung des Rekonstruktionspegels einfach umgekehrt.
Wird ein komplizierteres Schema angewendet, wie beispielsweise Anwendung
eines Codebuchs, muss der Decodierer dazu Zugriff haben.
-
Das
Endergebnis ist eine Reihe von quantisierten Koeffizienten für jede der
Frequenzen, die im Spektrum X(k) vorhanden waren. Diese Koeffizienten
werden nicht exakt dieselben sein wie die ursprünglichen, da einige Daten bei
der Quantisierung verloren gegangen sind. Aufgrund der effizienteren
Bitzuteilung, der besseren Bereichsaufteilung und der verbesserten
Maskierungsschätzung
sind die quantisierten Koeffizienten jedoch näher am Original als es die
umquantisierten aus dem Stand der Technik wären. (Wiederhergestellte Nicht-Maßstabs-Koeffizienten
jedoch entsprechen den ursprünglichen
Nicht-Maßstabs-Koeffizienten
typischerweise nicht so genau wie die wiederhergestellten Maßstabs-Koeffizienten
den ursprünglichen
Maßstabs-Koeffizienten.)
Nach der Umquantisierung, wird die Wirkung der Operation, den Rahmen
in die Bruchpotenz α,
wie z.B. 1/2 zu bringen, bei 668 rückgängig gemacht, indem die Werte
in die reziproke Potenz 1/α, in
diesem Falle, zwei, gebracht werden. Dann wird bei 670 die
bei Schritt 106 angewandte umgekehrte Transformation des
TDAC-Typs angewandt, um die Frequenzinformation in die Zeitdomäne zurück zu transformieren.
Das Ergebnis ist ein Segment von Daten, die beispielsweise mit einer
Geschwindigkeit von 48 kHz abgetastet wurden. Sequentielle (typischerweise überlappende)
Fenster werden bei 672 hinzugefügt und bei 674 tonfrequent
synthetisiert.
-
Die
vorstehende Erläuterung
ist davon ausgegangen, dass nur die Magnituden der Maßstabs-Koeffizienten
bei 614 genau codiert wurden, und dass weder die örtliche
Lage der Maßstabs-Koeffizienten
innerhalb des Bandes (d.h. zweiter Koeffizient vom unteren Frequenzende
des Bandes, vierter Koeffizient vom unteren Frequenzende des Bandes,
etc.) noch das Vorzeichen (oder die Phase) codiert wurde. Durch
die Codierung entweder der örtlichen
Lage oder der beiden zusätzlichen
Fakten, kann eine zusätzliche
Verbesserung in der Codierung erreicht werden. Die Codierung der örtlichen
Lage sorgt nämlich
für beträchtliche
Einsparungen. Falls dies nicht so wäre, müssten die Maßstabs-Koeffizienten zweimal
codiert werden: einmal, um die Schätzung von |X(k)|α durchzuführen, und
ein zweites Mal, um sie dem Signal als einen Koeffizienten zuzuteilen.
-
Wurde
die örtliche
Lage des Maßstabs-Koeffizienten
nicht codiert, wäre
seine Magnitude im Strom aller Koeffizienten beispielsweise beim
in 12A gezeigten Schritt 624 zu codieren.
Werden die Maßstabs-Koeffizienten
hingegen mit Magnitude und örtlicher
Lage und Vorzeichen voll codiert, dann können ihre codierten Werte einfach übertragen
werden. Ist die örtliche
Lage nicht codiert, muss das Gerät
zunächst
die Magnituden jedes Maßstabs-Koeffizienten übertragen,
z.B. bei Schritt 628 in 12b.
Dann werden jedem Band und jedem Koeffizienten innerhalb des Bandes,
einschließlich
des Maßstabs-Koeffizienten
bei Schritt 636, Bits zugeteilt. Wurden die Daten der örtlichen
Lage des Maßstabs-Koeffizienten
nicht gespeichert, ist das System für die besondere Identität des Maßstabs-Koeffizienten
unempfänglich
und teilt ihm bei 636 Bits zu, quantisiert ihn in einen
Rekonstruktionspegel bei 640, codiert ihn bei 642 und überträgt seine
Amplitude bei 644. Seine Amplitude wird also zweimal übertragen:
erstens, bei 628 und zweitens, bei 644.
-
Wird
die örtliche
Lage jedoch ursprünglich
bei 626 codiert, wenn das System die Zuteilung von Bits
an den Maßstabs-Koeffizienten
bei 636 vorbereitet, wird der Maßstabs-Koeffizient aufgrund
seiner örtlichen
Lage als solcher identifiziert und übersprungen, wodurch die Bits
eingespart werden, die zur Codierung seiner Amplitude notwendig
wären.
Die Spezifizierung der örtlichen
Lage der Maßstabs-Koeffizienten
verbessert die Effizienz typischerweise nur, wenn zur Spezifizierung
seiner örtlichen
Lage weniger Bits benötigt
werden als zur Spezifizierung seiner Amplitude. In einigen Fällen kann
es von Vorteil sein, die örtlichen
Lagen gewisser, aber nicht aller Signalelemente von Maßstabs-Koeffizienten
zu codieren. Enthält
ein Band beispielsweise eine große Anzahl an Koeffizienten,
kann es unvorteilhaft sein, die örtliche
Lage des Maßstabs-Koeffizienten in
dem Band zu codieren, wohingegen es immer noch von Vorteil sein
kann, die örtliche
Lage eines Maßstabs-Koeffizienten
in einem Band mit weniger Koeffizienten zu codieren. Durch die Beurteilung
des Vorteils, die örtliche Lage
der Maßstabs-Koeffizienten
zu spezifizieren, müssen
ferner die möglichen
zusätzlichen
Rechner- und eventuell Speicherbeanspruchungen sowohl im Codier-
als auch Decodiergerät
im Hinblick auf die verfügbare Datenkanal-Bandbreite
in Betracht gezogen werden. Es ist typischerweise kostengünstiger,
höhere
Rechner- oder Speicherbeanspruchungen in Kauf zu nehmen, als Beanspruchungen
der Bandbreite.
-
Wird
bei 614 (12a) entschieden, die örtliche
Lage des Koeffizienten genau zu quantisieren, werden einige zusätzliche
Bits zur Spezifizierung und Codierung jedes Maßstabs-Koeffizienten benötigt. Über die Anzahl
der Koeffizienten, die in jedem Band sein werden, wird entschieden,
bevor die Koeffizienten codiert werden. Diese Information ist dem
Decodierer typischerweise bekannt, obwohl es auch möglich ist,
diese Information abzuändern
und sie in die vom Codierer übertragene
Nebeninformation aufzunehmen. So kann für jedes Band die örtliche
Lage des Maßstabs-Koeffizienten genau
festgelegt werden, und es müssen
nur so viele Bits für
die Lageinformation reserviert werden, wie Koeffizienten in dem
in Frage kommenden Band vorhanden sind. Aus diesem Grunde ist es
vorteilhaft, jedem Band eine Anzahl an Koeffizienten in einer Potenz
von zwei zuzuweisen, so dass keine Bits bei der Festlegung der örtliche
Lage des Maßstabs-Koeffizienten
vergeudet werden.
-
Wie
oben erwähnt
wurde, besteht ein grundlegendes Verfahren, Bits innerhalb des Bandes
zuzuweisen darin, dass jedem Nicht-Maßstabs-Koeffizienten eine gleiche
Anzahl an Bits zugeteilt wird. In manchen Fällen kann dies aber nicht stattfinden,
beispielsweise, wenn die Anzahl der verfügbaren Bits kein ganzzahliges
Vielfaches der Anzahl von Nicht-Maßstabs-Koeffizienten ist. In
diesem Fall ist es häufig
von Vorteil, den dem Maßstabs-Koeffizienten
(örtlich
im Band) am nächsten
liegenden Koeffizienten mehr Bits zuzuteilen, da die Erfahrung gezeigt
hat, dass bei NF-Signalen benachbarte Koeffizienten in ihren Magnituden
oft näher
beieinander liegen, als entfernte Koeffizienten.
-
Es
gibt verschiedene andere Verwendungen, denen übrige Bits unterzogen werden
können.
Beispielsweise kann Koeffizienten, die links vom Maßstabs-Koeffizienten
liegen, d.h., die eine niedrigere Frequenz als der Maßstabs-Koeffizient
haben, eine höhere
Bevorzugung eingeräumt
werden. Das geschieht unter Einbezug des Maskierungsergebnisses.
Typischerweise tritt der Einfluss einer spezifischen Frequenzkomponente
auf die Maskierungsfunktion im Hinblick auf einen höheren Frequenzbereich
als den der in Frage kommenden Frequenz ein. Daher, dass Koeffizienten
einer Frequenz, die niedriger ist als die des Maßstabs-Koeffizienten, bevorzugt
werden, (die also links vom Maßstabs-Koeffizienten
in einer wie in 11 gezeigten Skala liegen), führt dies
zu einer genaueren Codierung des Koeffizienten, was einen Einfluss
auf höhere
Frequenzkomponenten hat. Unter manchen Umständen kann es sogar von Vorteil
sein, diese niedrigeren Frequenzkoeffizienten stärker zu begünstigen, als mit nur einem
einzigen Extrabit, das aus einer restlichen Anzahl an Extrabits zur
Verfügung
steht. Beispielsweise könnten
fünf Koeffizienten
auf der niedrigeren Seite des Maßstabs-Koeffizienten zusätzliche
Bits zugeteilt bekommen, aber nur zwei auf der höheren Seite.
-
Auf
diese Weise führt
eine genaue Spezifizierung der örtlichen
Lage des Maßstabs-Koeffizienten innerhalb
des Bandes zu einer noch sinnvolleren Verteilung der Bits auf die
verschiedenen Nicht-Maßstabs-Koeffizienten.
Bei einer sinnvolleren Bitverteilung pro Nicht-Maßstabs-Koeffizient
wird die Aufteilung von Bits in zweckmäßige Rekonstruktionspegel wie
oben erörtert
weiter verbessert.
-
Die
Kenntnis der örtlichen
Lage des Maßstabs-Koeffizienten
ermöglicht
auch eine bessere Grobschätzung
von |X(k)|α,
was wiederum eine bessere Einschätzung
der Maskierungsfunktion möglich
macht. Sind die örtlichen
Lagen der Maßstabs-Koeffizienten
bekannt, kann die Schätzung
von |X(k)|α wie
in 11 sein, und nicht wie es in 7a dargestellt
ist. Ohne die Lageinformation ist alles, was bestimmt werden kann,
dass die Koeffizienten im Band im Durchschnitt jeweils weniger als
ein Bruchteil der Magnitude des Maßstabs-Koeffizienten sind.
Die Kenntnis der Lagen ermöglicht
hingegen die typische genauere, in 11 gezeigte,
Schätzung,
bei der jeder Nicht-Maßstabs-Koeffizient einen
auf der Beziehung zwischen benachbarten Maßstabs-Koeffizienten beruhenden
Schätzwert
zugeteilt bekommt. Die Annahme, die solch einer Schätzung zugrunde
liegt, ist, dass sich die Magnitude von Koeffizienten nicht sehr
von einem Koeffizienten zum nächsten verändert und
von daher die Nicht-Maßstabs-Koeffizienten
im allgemeinen entlang einer Linie liegen, die benachbarte Maßstabs-Koeffizienten
miteinander verbindet. Wenn also die weiter verfeinerte Schätzung für |X(k)|α erst
einmal gemacht wurde, können
die Schätzungen
für die
einzelnen Koeffizienten dazu verwendet werden, um eine der beiden
Arten der Bitzuteilung durchzuführen:
die Bitzuteilung für
die Bänder,
gefolgt von der Bitzuteilung für
die Koeffizienten; oder die direkte Bitzuteilung für die Koeffizienten.
Ferner kann die verfeinerte Schätzung
noch dazu verwendet werden, um den Maskierungspegel noch zweckmäßiger festzulegen. So
wird die Bitzuteilung, und folglich auch die Bereichszuteilung,
durch die Codierung der örtlichen
Lage von Maßstabs-Koeffizienten
verbessert.
-
Wenn
die Lage jedes Maßstabs-Koeffizienten
spezifiziert wurde, ist es ohne Redundanz möglich, auf alle Maßstabs-Koeffizienten,
die codiert wurden, zurückzugreifen
und die Genauigkeit ihrer Codierung zu vergrößern, wenn mehr Bits zur Verfügung stehen,
als zum Zeitpunkt des Codierens des Maßstabs-Koeffizienten angenommen
wurde. Das spezielle Band kann beispielsweise aufgrund eines sehr
großen
Maßstabs-Koeffizienten
eine sehr große
Anzahl an Bits erhalten haben, braucht aber aufgrund einer im Band
vorhandenen sehr kleinen Anzahl an Signalelementen keine so große Anzahl
an Bits zum Codieren der restlichen Signalelemente. Sind die Lagen
bekannt, können
mehr Bits zugeteilt werden, um die Amplitude des Maßstabs-Koeffizienten zu
spezifizieren, nachdem der erste Zuteilungsdurchgang von Bits an
die Maßstabs-Koeffizienten
erfolgt ist. Sind die Lagen nicht bekannt, kann das nicht ohne Redundanz
effizient durchgeführt
werden. Ein Weg, um die Magnitude des Maßstabs-Koeffizienten weiter zu spezifizieren,
wäre es,
die Extrabits zur Codierung des Unterschieds zwischen der Magnitude
des zuerst codierten Maßstabs-Koeffizienten
und der ursprünglichen
Amplitude des Maßstabs-Koeffizienten
zu verwenden. Da die Decodiervorrichtung zur Bestimmung, wie Bits
zugeteilt wurden, dieselben Routinen anwendet wie vom Codierer eingesetzt
wurden, erkennt der Decodierer ordnungsgemäß und automatisch die verbesserte
Information über
die Maßstabs-Koeffizientenamplitude.
-
Zusätzliche
Codiereffizienz und -genauigkeit kann durch eine präzise Spezifizierung
und Codierung des Vorzeichens des Maßstabs-Koeffizienten erlangt
werden (das der Phase der Signalkomponenten bei dieser Frequenz
entspricht). Nur ein zusätzliches
Bit ist pro Maßstabs-Koeffizient
notwendig, um sein Vorzeichen zu codieren, wenn X(k) real bewertet
ist.
-
Die
Kenntnis des Vorzeichens des Maßstabs-Koeffizienten
verbessert die Fähigkeit
des Verfahrens, Rekonstruktionspegel innerhalb eines gegebenen Bandes
effizient zu bestimmen. Beispielsweise hat die Erfahrung gezeigt,
dass ein Band oftmals eine größere Anzahl
an Nicht-Maßstabs-Koeffizienten
beinhalten kann, die dasselbe Vorzeichen wie der Maßstabs-Koeffizient
haben. Es kann deshalb von Nutzen sein, einen oder mehrere Rekonstruktionspegel
mit demselben Vorzeichen vorzusehen.
-
Die
Kenntnis des Vorzeichens des Maßstabs-Koeffizienten
verbessert nicht unbedingt die Schätzung der Maskierung. Die Verwendbarkeit
der Vorzeicheninformation schwankt in Abhängigkeit von der eingesetzten
Transformation.
-
Eine
andere bevorzugte Ausführungsform
der Erfindung ist besonders dann zweckmäßig, wenn die Anzahl der Bänder relativ
klein ist. Diese Ausführungsform
bringt bei Schritt 612 von 12a eine
weitere Aufteilung jedes Bands im Spektrum X(k) in zwei Teilbänder mit
sich. Ein Teilband umfasst den Maßstabs-Koeffizienten, das andere
nicht. Die Teilbänder
sollten das Band vorzugsweise halbieren. Der Koeffizient mit der größten Magnitude
in dem Teilband, das den Maßstabs-Koeffizienten
nicht enthält,
wird ebenfalls bei 650 ausgewählt und bei 624 quantisiert.
Die Aufteilung der beiden Bänder
b2 und b4 in Teilbänder ist
schematisch in 7 durch eine gestrichelte vertikale
Linie durch die Zentren dieser beiden Bänder dargestellt. Bei der Umsetzung
dieser Ausführungsform,
werden der Maßstabs-
und der zusätzlich
codierte Koeffizient hier als der größere bzw. kleinere Maßstabs-Koeffizient
bezeichnet. Dieser Schritt 650 findet statt zwischen der
Auswahl des größeren Maßstabs-Koeffizienten
bei 608 und der Codierung jeglicher Maßstabs-Koeffizienten bei 626.
-
Die
Magnituden des kleineren Maßstabs-Koeffizienten
werden ebenfalls bei 624 genau quantisiert. Da sie kleinere
Maßstabs-Koeffizienten
sind, weiß man,
dass sie keine Magnitude haben, die größer als die der großen Maßstabs-Koeffizienten
ist. Diese Tatsache kann dazu verwendet werden, Bits bei ihrer Codierung
einzusparen.
-
Es
gibt verschiedene Wege, um den gesamten Rahmen in beispielsweise
sechzehn Bänder
aufzuteilen. Einer besteht darin, das Segment vom Anfang in sechzehn
Bänder
aufzuteilen. Der andere besteht darin, das gesamte Segment zu halbieren,
dann jedes Teil zu halbieren, und so weiter, wobei die von der ersten
Teilung abgeleiteten Informationen wichtiger sind, als die von der
zweiten Teilung. So erzeugt die Verwendung von Teilbändern eine
Hierarchie wichtiger Informationen. Die erste Division ist wichtiger
als die zweite, die wiederum wichtiger ist als die darauffolgende,
etc. So kann es also von Nutzen sein, Bits für die wichtigeren Divisionen
zurückzubehalten.
-
Wie
oben erwähnt
wurde, kann es vorteilhaft sein, vor der Quantisierung, Codierung
und Übertragung bei
Schritt 624, 626 bzw. 628 die Maßstabs-Koeffizienten
einer zweiten Transformation zu unterziehen. Diese zweite Transformation
könnte
sowohl auf die größeren als
auch die kleineren Maßstabs-Koeffizienten
angewendet werden, oder jeweils nur auf die größeren oder kleineren Maßstabs-Koeffizienten.
Und zwar, weil je nach der Art des Signals, ein Muster oder eine
Organisation der Maßstabs-Koeffizienten vorhanden
sein kann. Wie hinlänglich
bekannt ist, nutzen Transformationen ein Datenmuster aus, um die
Menge an Dateninformationen zu reduzieren, die zur präzisen Definition
der Daten notwendig sind. Wenn beispielsweise jeder Maßstabs-Koeffizient
einfach die doppelte Magnitude des vorhergehenden Koeffizienten
wäre, wäre es nicht
notwendig, die Magnituden aller Koeffizienten zu quantisieren, zu
codieren und zu übertragen.
Man müsste
nur die Magnitude des ersten codieren und für die erforderliche Anzahl
an Schritten eine Verdoppelungsfunktion an die erhaltenen Koeffizienten
anlegen.
-
So
wird bei Schritt 622, 652 oder 654 (je
nachdem, ob Magnitude, Lage oder Vorzeichen genau quantisiert werden
sollen) entschieden, ob die Maßstabs-Koeffizienten
gemäß eines
bekannten Verfahrens wie z.B. DCT, einer zweiten Transformation
unterzogen werden. Ist die Art der Daten dergestalt, dass eine kompaktere Codierweise
vorgesehen werden kann, wird bei den Schritten 618, 616 oder 620 eine
andere Transformation angewandt. 12a gibt
an, dass es sich um eine DCT-Transformation handelt. Es kann jedoch
jede Transformation verwendet werden, die die Aufgabe erfüllt, die
zu übertragende
Datenmenge zu reduzieren. Andere zweckmäßige Transformationsarten umfassen
die Diskrete Fourier Transformation.
-
Aufgrund
dieser potentiellen Transformation nur von Maßstabs-Koeffizienten, ist es
nicht in allen Fällen
angebracht, darauf zu schließen,
dass die höhere
Genauigkeit nach dem erfindungsgemäßen Verfahren, nach dem die
Maßstabs-Koeffizienten
codiert werden, ein Ergebnis davon ist, jedem Maßstabs-Koeffizienten (im Durchschnitt)
mehr Bits zuzusprechen als den Nicht-Maßstabs-Koeffizienten (im Durchschnitt).
Es liegt daran, dass die Anwendung einer ausschließlichen
Transformation der Maßstabs-Koeffizienten zu
einer deutlichen Reduktion der Anzahl an Bits führt, die zur Codierung aller
Maßstabs-Koeffizienten
und somit jedes einzelnen Maßstabs-Koeffizienten
(im Durchschnitt) führt.
Selbstverständlich
werden diese Biteinsparungen durch erhöhte Rechneranforderungen sowohl
beim Codieren als auch Decodieren erreicht. In manchen Anwendungen
rechtfertigen die Biteinsparungen die Rechnerbeanspruchung. In anderen
möglicherweise
nicht. Beides ist für
den Fachmann ersichtlich.
-
Werden
die Maßstabs-Koeffizienten
zweimal transformiert, müssen
sie bei 632 in die Frequenzdomäne X(k) zurücktransformiert werden, um,
wie vorstehend erläutert
wurde, die für
die Bitzuteilung bei 634, 636 und den Aufbau der
Rekonstruktionspegel bei 638 notwendigen Berechnungen zu vereinfachen.
Alternativ können
die Maßstabs-Koeffizienten, anstatt
rücktransformiert
zu werden, in einem Speicher im Codierer hinterlegt und vor Schritt 634 abgerufen
werden.
-
Während der
Decodierschritte des erfindungsgemäßen Verfahrens hängt die
genaue Art und Weise der Übersetzung
bei 666 aus übertragenen
Codewörtern
von Nicht-Maßstabs-Koeffizienten
in Quantisierungspegel davon ab, ob Teilbänder verwendet wurden, ob örtliche
Lage oder örtliche
Lage und Vorzeichen der Maßstabs-Koeffizienten auch
genau codiert wurden, und wie diese Informationen komprimiert wurden.
Wurden Nebendaten zur Übertragung
von Kontrolldaten verwendet, dann müssen diese Nebeninformationen
decodiert und in die Anwendung mit einbezogen werden. Wenn all diese
notwendigen Informationen in einem Speicher enthalten sind, auf
den der Decodierer Zugriff hat, müssen die Codewörter nur
noch gemäß festgelegter
Algorithmen übersetzt
werden.
-
Ein
festgelegter Algorithmus kann beispielsweise die Anzahl an Koeffizienten
pro Band in der ersten Hälfte
des Rahmens auf sechzehn setzen und die Anzahl an Koeffizienten
pro Band in der zweiten Hälfte
auf zweiunddreißig.
Eine weitere Regel könnte
eingerichtet werden, um Bits innerhalb eines Bandes gleichmäßig auf
Koeffizienten zu verteilen, sind Extrabits vorhanden, eines jeweils
an den ersten Koeffizienten im Band. Ist das Vorzeichen des Maßstabs-Koeffizienten
quantisiert, kann jeder Koeffizient in Rekonstruktionspegel unterteilt
werden, wobei ein zusätzlicher
Rekonstruktionspegel dasselbe Vorzeichen wie der Maßstabs-Koeffizient hat.
-
Im
Lichte der vorstehenden eingehenden Erörterung des anmeldungsgemäßen Verfahrens
wird die anmeldungsgemäße Vorrichtung
aus 13a, die den Transmitterabschnitt
der Vorrichtung zeigt und 13b,
die den Reveiveranschnitt zeigt, deutlich. Die erfindungsgemäße Vorrichtung
kann in eigens dazu ausgelegten Prozessoren oder in dahingehend
programmierten digitalen Allzweckrechnern implementiert werden.
-
Der
Transformer 802 des TDAC-Typs transformiert ein NF-Signal
x(T) in ein Spektrum wie z.B. X(k). (Ein DCT-Wandler eignet sich
ebenfalls und wird in die Erfindung mit einbezogen). Der ||α Operator
skaliert das Spektrum in eine Domäne, die für den Menschen wahrnehmbarer
ist, oder wenn eine nicht-gleichmäßige Quantisierung gewünscht wird.
Der Spektralbanddivisor 806 teilt das skalierte Spektrum
in einzelne Bänder auf.
Der Maßstabs-Koeffizienten-Bezeichner 808 kennzeichnet
die Koeffizienten in jedem Band, die die größte Magnitude haben. Die Quantisierer 810 und 812 quantisieren
die Magnitude der Maßstabs-Koeffizienten
(und eventuell das Vorzeichen), bzw., falls gewünscht, die örtliche Lage innerhalb des
Bandes. Der DCT-Wandler 816 wendet eine DCT- oder eine ähnliche
Transformation auf den quantisierten Maßstabs- Koeffizienten an, wenn feststeht, dass
zwischen den Maßstabs-Koeffizienten
eine ausreichende Struktur besteht, die den zusätzlichen Rechneraufwand rechtfertigt.
Der Codierer 818 codiert die quantisierte Maßstabs-Koeffizienten-Information,
ungeachtet, ob der DCT-Wandler mit dieser Information arbeitet,
und erzeugt eine Serie von Codewörtern,
die vom Sender 820 an einen Datenkanal übertragen werden.
-
In
einem bevorzugten Beispiel übernimmt
der bandweise Bitzuteiler 822 die Information von den Maßstabs-Koeffizienten-Quantisierern 810,
verwendet diese Information zur Erstellung einer wie in 7a gezeigten
Grobschätzung
von |X(k)|α und
setzt diese Schätzung
ein, um die begrenzte Anzahl an verfügbaren Bits auf die Bänder in
dem vom Spektralbandbezeichner 806 festgelegten Spektrum
zu verteilen. Der koeffizientenweise Bitzuteiler 824 verwendet
die Information vom Maßstabs-Koeffizienten- und
Vorzeichenquantisierers 812 und 814 zusammen mit
der Bitzuteilung innerhalb des Bandes, um die Bits der Bänder auf
die Koeffizienten in diesem Band zu verteilen. Der Nicht-Maßstabs-Koeffizienten-Quantisierer 826 verwendet
dieselbe Information, um passende Rekonstruktionspegel für jeden
Koeffizienten in dem Band festzulegen und jeden Koeffizienten zu
quantisieren. Die quantisierten Koeffizienten werden an den Codierer 818 weitergeleitet,
der jedem Nicht-Maßstabs-Koeffizienten
ein Codewort zuteilt und die Codewörter dann an den Transmitter 820 zur Übertragung
weiterleitet.
-
In
einem anderen bevorzugten Beispiel der Vorrichtung kann der bandweise
Bitzuteiler auch die Information vom Maßstabs-Koeffizienten-Quantisierer 812 übernehmen,
indem er die Grobschätzung
|X(k)|α festlegt.
Der bandweise Bitzuteiler würde,
wenn die Lageinformation verwendet wird, eine wie in 11 gezeigte Grobschätzung machen
und dann von dieser Schätzung
ausgehend den Bändern
Bits zuteilen.
-
In
einem anderen Beispiel der erfindungsgemäßen Vorrichtung übernimmt
der bandweise Bitzuteiler 822 auch Vorzeicheninformation
vom Magnitudenquantisierer 810 und Lageinformation vom
Lagequantisierer 812, um dem Band wie oben im Hinblick
auf das erfindungsgemäße Verfahren
beschrieben, Bits zuzuteilen.
-
Der
anmeldungsgemäße Receiverer-
oder Decodiererabschnitt ist schematisch in 13b dargestellt.
Der Receiver 920 empfängt
die Codewörter über den
Datenkanal. Der Maßstabs-Koeffizienten-Decodierer
decodiert die Daten des Maßstabs-Koeffizienten,
wodurch sich quantisierte Daten ergeben, die die Maßstabs-Koeffizienten
darstellen. Der DCT-Umkehrwandler 916 macht die Wirkung
jeglicher DCT-artigen Transformation rückgängig, die bei 816 angewandt
wurde, wodurch sich eine Reihe von skalierten Maßstabs-Koeffizienten ergibt,
die in ihrem absoluten Wert sehr nahe an den ursprünglichen
Maßstabs-Koeffizienten
liegen, bevor sie im Magnituden-Quantisierer 810 quantisiert
wurden. Der Nicht-Maßstabs-Koeffizienten-Decodierer 926 empfängt die
Codewörter,
die für
die Nicht-Maßstabs-Koeffizienten
stehen, und übersetzt
diese Koeffizienten in rekonstruierte Maßstabs-Koeffizienten. Wie oben
im Zusammenhang mit dem Verfahren erwähnt wurde, hängt die
Operation des Decodierers 926 von dem Mittel ab, mit dem
die Information über
die Nicht-Maßstabs-Koeffizienten
codiert wurde. Der Operator 904 erhebt die quantisierten
Koeffizienten im rekonstruierten Spektrum in die Potenz 1/α, um die
Wirkung des Operators 804 aufzuheben. Der Umkehrwandler 902 wendet eine
Umkehrtransformation auf das Spektrum an, um die Wirkung des TDAC-Wandlers 802 rückgängig zu
machen, und um das Signal aus der Frequenzdomäne in die Zeitdomäne zurück zu transformieren,
wodurch sich ein gefenstertes Zeitdomänensegment ergibt. Der Kombinator 928 kombiniert
die einzelnen abgetasteten Fenster und der Synthetizer 930 synthetisiert
ein NF-Signal.
-
Eine
andere bevorzugte Ausführungsform
lässt den
bandweisen Bitzuteiler weg und umfasst nur einen koeffizientenweisen
Bitzuteiler, der die Schätzung
von |X(k)|α übernimmt
und dazu verwendet, dem Koeffizienten Bits direkt zuzuteilen, wie
weiter oben im Hinblick auf das erfindungsgemäße Verfahren beschrieben wurde.
-
Die
vorstehende Erläuterung
des Verfahrens und der Vorrichtung sind von der Annahme ausgegangen,
dass die Maßstabs-Koeffizienten
die Koeffizienten mit dem absoluten Amplitudenhöchstwert im Band sind. Es ist
auch von Vorteil, einen anderen Koeffizienten als die Maximalmagnitude
als Referenz-Maßstabs-Koeffizienten
zu verwenden, an der die anderen gemessen werden. Obwohl beispielsweise
angenommen wird, dass beste Resultate mit der Verwendung des Koeffizienten
mit der höchsten
Amplitude erreicht werden, könnten
vorteilhafte Ergebnisse auch unter Verwendung eines Koeffizienten
erreicht werden, dessen Amplitude nahe an der größten ist, beispielsweise der
zweit- oder drittgrößten. Ein
solches Verfahren liegt im Rahmen der Erwägungen der Erfindung und soll
mit den beigefügten
Patentansprüchen
abgedeckt sein.
-
Der
Referenz- Maßstabs-Koeffizient
kann auch ein Koeffizient mit einer Magnitude sein, die von allen Magnituden
der anderen Koeffizienten im Band, dem mittleren oder medianen Koeffizienten
im Band am nächsten
ist. Ein Maßstabs-Koeffizient mittleren
Werts ist in Fällen
vorteilhaft, bei denen die statistischen Charakteristika des Signals
so sind, dass der mittlere oder mediane Wert mehr Daten über die
Gesamtenergie im Signal beinhaltet als der Höchstwert im Band. Dies wäre der Fall,
wenn das stellvertretende Signal durch Schwingwege bzw. Abweichungen
innerhalb eines beständigen
Bereichs über
und unter einen Mittelwert gekennzeichnet wäre. Es wäre auch notwendig, einen Bereich
für die
Magnitude dieser Schwingwege bzw. Abweichungen zu kennzeichnen oder
zu schätzen.
Wenn beispielsweise der mittlere Wert eines Bandes einen Wert von
plus fünf
hätte und
aus den Statistiken dieser Signalart bekannt wäre, dass solche Signalwerte
typischerweise um nur +/– vier
Einheiten vom mittleren Wert abweichen, würde der Bereich von plus eins
auf plus neun eingestellt und Rekonstruktionspegel würden innerhalb
des Bereichs festgelegt werden. Wie zuvor können die Rekonstruktionspegel
gleichmäßig unterteilt
oder eher um den Mittelwert konzentriert oder zum Bereichsende hin
verschoben werden, je nach den statistischen Daten über die
spezielle Signalkategorie.
-
Auf ähnliche
Weise kann der Maßstabs-Koeffizient
der Koeffizient mit einer Magnitude sein, der dem Durchschnitt aller
Magnituden der anderen Koeffizienten im Band am nächsten ist.
Solch ein Durchschnittwert ist dann von Nutzen, wenn er einen besseren
Schätzwert
der Energie im Band darstellt, als irgend ein anderer Wert wie beispielsweise
der Höchst-
oder Medianwert.
-
Die
vorliegende Erfindung hat viele Vorteile. Die Bits, die mit der
Bitzuteilung zusammenhängen,
wie beispielsweise Magnitude des Maßstabs-Koeffizienten sowie
deren Lagen und Vorzeichen, werden gut geschützt. So wird jeder auftauchende
Fehler in einem speziellen Band lokalisiert und deshalb nicht größer sein als
die Magnitude des Maßstabs-Koeffizienten in
jedem Band. Die Maßstabs-Koeffizienten
werden immer genau dargestellt. Die Information über die Amplitude des Maßstabs-Koeffizienten
wird nicht verworfen wie in manchen Verfahren aus dem Stand der
Technik, sondern sehr effizient zu ihrer eigenen Verwendung und
zur Bitzuteilung eingesetzt. Gegenüber dem in der Dolby-Schrift
erörterten
Verfahren setzt die Erfindung die verfügbaren Bits effizienter ein.
Bei der Dolby-Methode werden die Exponenten der spektralen Spitzenwerte
für jedes
Band codiert. So wird zunächst
eine Grobschätzung
der Amplitude eines Bandes gemacht. Dann werden alle Koeffizienten
einschließlich
des Spitzenkoeffizienten unter Verwendung einer verfeinerten Schätzung ihrer Magnitude
codiert und übertragen.
Die Genauigkeit der Spitzenamplituden ist somit dieselbe wie die
der anderen Koeffizienten in ein und demselben Band. Die Genauigkeit
der Maßstabs-Koeffizienten
in der vorliegenden Erfindung stellt sicher, dass genaue Bereiche
zur Bestimmung der Rekonstruktionspegel verwendet werden, was wiederum
einen effizienteren Einsatz der verfügbaren Bits ermöglicht.
-
Zusätzlich zu
den vorstehenden spezifischen Implementierungen des Verfahrens und
der Vorrichtung der Erfindung, liegen zusätzliche Varianten im beabsichtigten
Rahmen der Patentansprüche.
Es können
Techniken mit eingeschlossen werden, die, zusätzlich zur Schätzung des
Maskierungspegels, die menschlichen Wahrnehmungseigenschaften in
Betracht ziehen.
-
Ferner
kann mehr als ein Rahmen gleichzeitig in Betracht gezogen werden.
Beispielsweise können
in dem speziellen Fall von Stille, Bits aus dem Rahmen entnommen
werden, in dem die Stille auftritt, und anderen Rahmen zugeteilt
werden. In weniger extremen Fällen,
kann es immer noch zweckmäßig sein,
einem Rahmen weniger Bits als einem anderen zuzusprechen. Die Feststellung
von Bändern
kann durchlaufend geschehen, indem sequentielle Koeffizienten in
ein Band aufgenommen werden, die näher aneinander liegen, und
dann bei einem Koeffizienten oder einer deutlich verschiedenen Magnitude
ein neues Band begonnen werden.
-
Ferner
kann auch eine Wechselwirkung zwischen den Rahmen implementiert
werden.
-
Die
vorstehende Erörterung
sollte als Veranschaulichung aufgefasst und in keiner Weise als
einschränkend
betrachtet werden. Während
die Erfindung insbesondere mit Bezug auf deren bevorzugte Ausführungsformen
dargestellt und beschrieben wurde, wird es Fachleuten klar sein,
dass verschiedene Änderungen in
der Form und den Einzelheiten daran vorgenommen werden können, ohne
den in den Patentansprüchen definierten
Rahmen der vorliegenden Erfindung zu verlassen.