-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Diese
Erfindung bezieht sich auf ein Verfahren einer Subbandcodierung.
Zusätzlich
bezieht sich diese Erfindung auf ein Verfahren einer Subbanddecodierung.
Weiterhin bezieht sich diese Erfindung auf eine Subbandcodiervorrichtung
und eine Subbanddecodiervorrichtung.
-
Beschreibung des zugehörigen Standes
der Technik
-
Die
veröffentlichte
ungeprüfte
japanische Patentanmeldung 10-336038 offenbart
ein Verfahren einer Codierung eines Audiosignals, das einen Schritt
des Trennens des Audiosignals in Signale in Subbändern umfasst. Die sich ergebenden
Subbandsignale werden Rahmen für
Rahmen codiert. Im Allgemeinen werden jeweils Skalenfaktoren für die Subbandsignale
definiert. Gemäß dem Verfahren
in der
japanischen Anmeldung
10-336038 wird jeder Rahmen in eine Vielzahl von kleinen
Rahmen aufgeteilt und werden Skalenfaktoren zahlenmäßig reduziert, indem
einige von diesen für
mehrere kleine Rahmen zusammen gebildet werden. Die sich aus der
Codierung ergebenden Subbandsignale und für Skalenfaktoren repräsentative
Daten werden in einen Bitstrom kombiniert. Ein 1 Rahmen entsprechender
Anteil des Bitstroms ist zusammengesetzt aus einem ersten Bereich,
der den Daten von Skalenfaktoren zugeordnet ist, sowie einem zweiten
und späteren
Bereichen, die den jeweiligen kleinen Rahmen entsprechen und den sich
aus der Codierung ergebenden Subbandsignalen zugeordnet sind. Im
Speziellen ist der zweite Bereich mit Abtastwerten der sich aus
der Codierung ergebenden Subbandsignale beladen, die einem ersten
kleinen Rahmen entsprechen. Die späteren Bereiche sind mit Abtastwerten
der sich aus der Codierung ergebenden Subbandsignale beladen, die
einem zweiten und späteren
kleinen Rahmen entsprechen.
-
Gemäß dem Verfahren
in der
japanischen Anmeldung
10-336038 wird
für jeden
Rahmen selbst dann eine vorgegebene Anzahl von die Skalenfaktoren
darstellenden Bits übertragen,
falls Skalenfaktoren über
eine Vielzahl von aufeinander folgenden Rahmen unverändert bleiben.
-
KURZFASSUNG DER ERFINDUNG
-
Es
ist eine Aufgabe dieser Erfindung, ein verbessertes Verfahren und
eine verbesserte Vorrichtung einer Subbandcodierung gemäß Ansprüchen 1 beziehungsweise
13 bereitzustellen.
-
Es
ist eine weitere Aufgabe dieser Erfindung, eine verbesserte Subbanddecodiervorrichtung
gemäß Anspruch
17 bereitzustellen.
-
KURZE BESCHREIBUNG DER ZEICHNUNG
-
1 ist
ein Blockschaltbild einer Subbandcodiervorrichtung gemäß einem
ersten Ausführungsbeispiel
dieser Erfindung.
-
2 ist
eine Darstellung eines 1 Rahmen entsprechenden Formats eines durch
die Codiervorrichtung gemäß 1 erzeugten
Bitstroms.
-
3 ist
ein Blockschaltbild einer Subbandcodiervorrichtung gemäß einem
zweiten Ausführungsbeispiel
dieser Erfindung.
-
4 ist
ein Blockschaltbild einer Subbandcodiervorrichtung gemäß einem
dritten Ausführungsbeispiel
dieser Erfindung.
-
5 ist
eine Darstellung eines ersten 1 Rahmen entsprechenden Formats eines
durch die Codiervorrichtung gemäß 4 erzeugten
Bitstroms.
-
6 ist
eine Darstellung eines zweiten 1 Rahmen entsprechenden Formats des
durch die Codiervorrichtung gemäß 4 erzeugten
Bitstroms.
-
7 ist
ein Blockschaltbild einer Subbandcodiervorrichtung gemäß einem
vierten Ausführungsbeispiel
dieser Erfindung.
-
8 ist
ein Blockschaltbild einer Subbanddecodiervorrichtung gemäß einem
fünften
Ausführungsbeispiel
dieser Erfindung.
-
9 ist
ein Blockschaltbild einer Subbanddecodiervorrichtung gemäß einem
sechsten Ausführungsbeispiel
dieser Erfindung.
-
10 ist
ein Blockschaltbild einer Subbanddecodiervorrichtung gemäß einem
siebten Ausführungsbeispiel
dieser Erfindung.
-
11 ist
ein Blockschaltbild einer Subbanddecodiervorrichtung gemäß einem
achten Ausführungsbeispiel
dieser Erfindung.
-
BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSBEISPIELE
-
Erstes Ausführungsbeispiel
-
1 zeigt
eine Subbandcodiervorrichtung gemäß einem ersten Ausführungsbeispiel
dieser Erfindung. Die Codiervorrichtung gemäß 1 empfängt ein
eingegebenes digitales Audiosignal wie etwa ein PCM-Audiosignal.
Die Codiervorrichtung gemäß 1 verarbeitet
das eingegebene digitale Audiosignal Rahmen für Rahmen. Hier meint "Rahmen" ein vorbestimmtes
Zeitintervall, das einer vorgegebenen Anzahl von aufeinander folgenden
Abtastwerten des eingegebenen digitalen Audiosignals entspricht.
-
Die
Codiervorrichtung gemäß 1 umfasst einen
Bandaufteilungsprozessor 101, der das eingegebene digitale
Audiosignal empfängt.
Der Bandaufteilungsprozessor 101 umfasst Bandaufteilungsfilter (Quadraturspiegelfilter
oder Bandpassfilter) zum Trennen des eingegebenen digitalen Audiosignals
in Signale in jeweiligen Subbändern,
die als erste Subbandsignale bezeichnet werden. Der Bandaufteilungsprozessor 101 umfasst
ferner Abwärts-Abtaster bzw. Dezimierer
oder Sub- bzw. Unter-Abtaster zum Reduzieren der Anzahl von Abtastwerten
der ersten Subbandsignale auf eine Rate von 1/N während jedes
festen Zeitintervalls, wobei "N" die Gesamtzahl der
Subbänder
bezeichnet. Somit dezimieren die Abwärts-Abtaster oder die Unter-Abtaster
Abtastwerte der ersten Subbandsignale, und setzen sie die ersten Subbandsignale
dadurch jeweils in zweite Subbandsignale um. Der Bandaufteilungsprozessor 101 gibt die
zweiten Subbandsignale an einen Skalenfaktorrechner 104 und
einen Quantisierer 107 aus.
-
Jeder
Rahmen wird virtuell in eine vorgegebene Anzahl von kleinen Rahmen
aufgeteilt. Ein Satz von N aufeinander folgenden Abtastwerten des
eingegebenen digitalen Audiosignals entspricht einem kleinen Rahmen.
Somit entspricht ein Satz von N Abtastwerten der jeweiligen zweiten
Subbandsignale einem kleinen Rahmen.
-
Für jeden
Rahmen (jedes vorbestimmte Zeitintervall) skaliert der Skalenfaktorrechner 104 die zweiten
Subbandsignale, und berechnet er jeweils Skalenfaktoren der zweiten
Subbandsignale. Die Skalenfaktoren stellen jeweils Vergrößerungen
der zweiten Subbandsignale dar. Für jeden Rahmen informiert der
Skalenfaktorrechner 104 einen Differenzrechner 103 und
einen Bitzuweisungsabschnitt 106 über die berechneten Skalenfaktoren.
-
Der
Differenzrechner 103 subtrahiert für die Subbänder jeweils die Skalenfaktoren
des vorliegenden Rahmens von den Skalenfaktoren des unmittelbar
vorausgehenden Rahmens (des Rahmens, der dem vorliegenden Rahmen
unmittelbar vorausgeht). Auf diese Weise berechnet die Vorrichtung 103 für die Subbänder jeweils
die Differenzen zwischen den Skalenfaktoren des vorliegenden Rahmens
und den Skalenfaktoren des unmittelbar vorausgehenden Rahmens. Für jeden
Rahmen informiert der Differenzrechner 103 einen Vorzeichenbit-Entscheidungsabschnitt 102 über die
Subtraktionsergebnisse, das heißt
die berechneten Skalenfaktordifferenzen. Zusätzlich berechnet die Vorrichtung 103 die
Absolutwerte bzw. Beträge
der berechneten Skalenfaktordifferenzen. Für jeden Rahmen informiert der
Differenzrechner 103 einen Huffman-Codierer (einen Codierer variabler Länge) 105 über die
berechneten Absolutwerte der Skalenfaktordifferenzen. Im Speziellen
gibt der Differenzrechner 103 für die berechneten Absolutwerte
der Skalenfaktordifferenzen repräsentative
Daten an den Huffman-Codierer 105 aus.
-
Für jeden
Rahmen entscheidet die Vorrichtung 102 die Vorzeichen der
Skalenfaktordifferenzen, und erzeugt sie Bits (Vorzeichenbits),
die die entschiedenen bzw. festgesetzten Vorzeichen der Skalenfaktordifferenzen
darstellen. Für
jeden Rahmen gibt der Vorzeichenbit-Entscheidungsabschnitt 102 die
erzeugten Vorzeichenbits an einen Bitstromzusammensetzer 108 aus.
-
Vorzugsweise
arbeitet der Vorzeichenbit-Entscheidungsabschnitt 102 wie
folgt. Für
jeden Rahmen bestimmt der Vorzeichenbit-Entscheidungsabschnitt 102,
ob jede der Skalenfaktordifferenzen gleich oder verschieden von "0" ist. Zusätzlich entscheidet die Vorrichtung 102 die
Vorzeichen der Skalenfaktordifferenzen, die als verschieden von "0" bestimmt werden. Der Vorzeichenbit-Entscheidungsabschnitt 102 erzeugt
Bits (Vorzeichenbits), die die entschiedenen bzw. festgesetzten
Vorzeichen der Nicht-0-Skalenfaktordifferenzen darstellen. Der Vorzeichenbit-Entscheidungsabschnitt 102 erzeugt
keine Vorzeichenbits für
die Skalenfaktordifferenzen, die als gleich "0" bestimmt
werden. Dieses Vorgehen durch den Vorzeichenbit-Entscheidungsabschnitt 102 ist
wirkungsvoll bei/zur Erhöhung
der Anzahl von Bits, die sich aus einer Quantisierung ergebenden Audioinformationen
zugewiesen werden können.
Für jeden
Rahmen gibt der Vorzeichenbit-Entscheidungsabschnitt 102 die
erzeugten Vorzeichenbits an den Bitstromzusammensetzer 108 aus.
-
Die
Vorrichtung 105 codiert die Daten der Absolutwerte der
Skalenfaktordifferenzen in Wörter eines
Huffman-Codes (eines Codes variabler Länge), zum Beispiel eines Lauflängen-Huffman-Codes.
Der Huffman-Codierer 105 gibt die Codewörter (die Codedaten), die für die Absolutwerte
der Skalenfaktordifferenzen repräsentativ
sind, an den Bitstromzusammensetzter 108 aus.
-
Für jeden
Rahmen entscheidet der Bitzuweisungsabschnitt 106 auf Grundlage
der Skalenfaktoren bezüglich
der Subbänder
jeweils eine Sollanzahl von Bits, die sich aus einer Quantisierung
ergebenden Signalabtastwerten zugewiesen werden. Für jeden
Rahmen informiert der Bitzuweisungsabschnitt 106 den Quantisierer 107 über die
entschiedenen bzw. festgesetzten Sollbitzahlen (die Bitzuweisungsinformation).
-
Für jeden
Rahmen quantisiert die Vorrichtung 107 die zweiten Subbandsignale
in Erwiderung auf die Sollbitzahlen jeweils in sich aus einer Quantisierung
ergebenden Subbandsignale. Abtastwerte von jedem der sich aus der
Quantisierung ergebenden Subbandsignale haben die gleiche Anzahl
von Bits, die gleich der entsprechenden Sollbitanzahl ist. Der Quantisierer 107 gibt
die sich aus der Quantisierung ergebenden Subbandsignale an den
Bitstromzusammensetzer 108 aus.
-
Ein
geeigneter (nicht gezeigter) Signalgenerator gibt Zusatz- bzw. Hilfsdaten
an den Bitstromzusammensetzer 108 aus.
-
Für jeden
Rahmen kombiniert und multiplext der Bitstromzusammensetzer 108 die
Vorzeichenbits von dem Vorzeichenbit-Entscheidungsabschnitt 102, die Skalenfaktordifferenz-Codedaten
von dem Huffman-Codierer 105, die sich aus der Quantisierung ergebenden
Subbandsignale von dem Quantisierer 107 und die Zusatzdaten
in einen 1 Rahmen entsprechenden Bitstrom eines vorgegebenen Formats.
Der Bitstromzusammensetzer 108 gibt den 1 Rahmen entsprechenden
Bitstrom zum Beispiel an eine Übertragungsleitung
aus.
-
Jeder
1 Rahmen entsprechende Bitstrom, der von dem Bitstromzusammensetzer 108 ausgegeben
wird, weist eine Aufeinanderfolge eines ersten Bereichs, der mit
den Skalenfaktordifferenz-Codedaten beladen ist, eines zweiten Bereichs,
der mit den Vorzeichenbits beladen ist, eines dritten Bereichs, der
mit den Zusatzdaten beladen ist, und eines vierten Bereichs auf,
der mit den sich aus der Quantisierung ergebenden Subbandsignalen
beladen ist. Vorzugsweise weist der vierte Bereich eine Aufeinanderfolge
von Subbereichen auf, die jeweils den kleinen Rahmen entsprechen.
-
Die
Zuführung
der Zusatzdaten an den Bitstromzusammensetzer 108 kann
weggelassen werden. 2 zeigt ein Beispiel des Formats
eines 1 Rahmen entsprechenden Bitstroms, der von dem Bitstromzusammensetzer 108 in
Ermangelung der Zusatzdaten ausgegeben wird. Der 1 Rahmen entsprechende
Bitstrom gemäß 2 weist
eine Aufeinanderfolge eines ersten Bereichs 201, der mit
den Skalenfaktordifferenz-Codedaten beladen ist, eines zweiten Bereichs 202,
der mit den Vorzeichenbits beladen ist, und eines dritten, eines
vierten und eines fünften
Bereichs 203, 204 und 205 auf, die mit
den sich aus der Quantisierung ergebenden Subbandsignalen beladen
sind. Der dritte, der vierte und der fünfte Bereich 203, 204 und 205 entsprechen
einem ersten, einem zweiten und einem dritten kleinen Rahmen.
-
Somit
speichert der dritte Bereich 203 Abtastwerte der sich aus
der Quantisierung ergebenden Subbandsignale, die dem ersten kleinen
Rahmen entsprechen. Der vierte Bereich 204 speichert Abtastwerte
der sich aus der Quantisierung ergebenden Subbandsignale, die dem
zweiten kleinen Rahmen entsprechen. Der fünfte Bereich 204 speichert
Abtastwerte der sich aus der Quantisierung ergebenden Subbandsignale,
die dem dritten kleinen Rahmen entsprechen.
-
Die
Anzahl von Bits in einem Rahmen wird durch eine Übertragungsbitrate und die
Anzahl von kleinen Rahmen bestimmt. In dem Fall, das Rahmen in der
Länge fest
sind, nimmt eine Verzögerungszeit bei
einer Signalübertragung
ab, wenn die Anzahl von kleinen Rahmen reduziert wird.
-
Bei
der Codiervorrichtung gemäß 1 berechnet
der Differenzrechner 103 die Absolutwerte der Differenzen
zwischen den Skalenfaktoren des vorliegenden Rahmens und den Skalenfaktoren
des unmittelbar vorausgehenden Rahmens und setzt der Huffman-Codierer 105 die
Daten der Absolutwerte der Skalenfaktordifferenzen in Huffman-Codewörter um,
die über
den Bitstromzusammensetzer 108 übertragen werden. Dementsprechend
sind die Absolutwerte der Skalenfaktordifferenzen in dem Fall, dass die
Skalenfaktor über
eine Vielzahl von aufeinander folgenden Rahmen unverändert bleiben,
fortgesetzt Null. Somit wird in diesem Fall nur eine geringe Anzahl
von Bits übertragen,
die die Absolutwerte der Skalenfaktordifferenzen darstellen, während eine größere Anzahl
von Bits verwendet wird, um die übertragenen
Audioinformationen (die sich aus der Quantisierung ergebenden Subbandsignale)
zu bezeichnen.
-
Zweites Ausführungsbeispiel
-
3 zeigt
eine Subbandcodiervorrichtung gemäß einem zweiten Ausführungsbeispiel
dieser Erfindung. Die Codiervorrichtung gemäß 3 ist ähnlich zu
der Codiervorrichtung gemäß 1,
mit der Ausnahme, dass ein Skalenfaktorrechner 104A den
Skalenfaktorrechner 104 ersetzt.
-
Bei
der Codiervorrichtung gemäß 3 werden
die Subbänder
gemäß einem
Wahrnehmungsmodell oder einem psychoakustischen Modell in Gruppen
getrennt. Die Gruppierung der Subbänder kann auf Grundlage eines
kritischen Bands oder auf Grundlage einer gröberen Einheit erfolgen. Der
Skalenfaktorrechner 104A empfängt zweite Subbandsignale von
einem Bandaufteilungsprozessor 101. Der Skalenfaktorrechner 104A trennt
die zweiten Subbandsignale gemäß der Gruppierung
der Subbänder in
Gruppen. Für
jeden Rahmen (jedes vorbestimmte Zeitintervall) skaliert der Skalenfaktorrechner 104A die
zweiten Subbandsignale Gruppe für
Gruppe, und berechnet er jeweils Skalenfaktoren der Gruppen. Die
Skalenfaktoren stellen Vergrößerungen
der zweiten Subbandsignale in den Gruppen dar. Für jeden Rahmen informiert der
Skalenfaktorrechner 104A einen Differenzrechner 103 und
einen Bitzuweisungsabschnitt 106 über die berechneten Skalenfaktoren.
-
Eine
mittlere Anzahl von Bits, die sich aus einer Quantisierung ergebenden
Subbandsignalen pro Rahmen zugewiesen wird, wurde unter den folgenden
Bedingungen gemessen. Die Gesamtzahl von Bits pro Rahmen beträgt 170.
Ein eingegebenes digitales Audiosignal ist ein PCM-Audiosignal, das
Pop mit weiblicher Stimme darstellt. Die Anzahl von kleinen Rahmen
für jeden
Rahmen beträgt
2.
-
Eine Übertragungsbitrate
beträgt
128 kbps. Die Anzahl von Gruppen von Skalenfaktoren beträgt 9. Die
Skalenfaktoren werden in Schritten von 6 dB definiert. Die gemessene
mittlere Anzahl von Bits, die bei der Codiervorrichtung gemäß 3 vorkommt, beträgt 147.
Somit werden bei der Codiervorrichtung gemäß 3 den sich
aus der Quantisierung ergebenden Subbandsignalen 86,5% aller Bits
(170 Bits) zugewiesen. Andererseits ist die gemessene mittlere Anzahl
von Bits, die bei einer Codiervorrichtung gemäß dem Stand der Technik vorkommt,
gleich 134 (ein fester Wert). Somit werden bei der Codiervorrichtung
gemäß dem Stand
der Technik den sich aus der Quantisierung ergebenden Subbandsignalen
78,8% aller Bits (170 Bits) zugewiesen.
-
Drittes Ausführungsbeispiel
-
4 zeigt
eine Subbandcodiervorrichtung gemäß einem dritten Ausführungsbeispiel
dieser Erfindung. Die Codiervorrichtung gemäß 4 empfängt ein
eingegebenes digitales Audiosignal wie etwa ein PCM-Audiosignal.
Die Codiervorrichtung gemäß 4 verarbeitet
das eingegebene digitale Audiosignal Rahmen für Rahmen. Hier meint "Rahmen" ein vorbestimmtes
Zeitintervall, das einer vorgegebenen Anzahl von aufeinander folgenden
Abtastwerten des eingegebenen digitalen Audiosignals entspricht.
-
Die
Codiervorrichtung gemäß 4 umfasst einen
Bandaufteilungsprozessor 301, der das eingegebene digitale
Audiosignal empfängt.
Der Bandaufteilungsprozessor 301 umfasst Bandaufteilungsfilter zum
Trennen des eingegebenen digitalen Audiosignals in Signale in jeweiligen
Subbändern,
die als erste Subbandsignale bezeichnet werden. Der Bandaufteilungsprozessor 301 umfasst
ferner Abwärts-Abtaster
bzw. Dezimierer oder Sub- bzw. Unter-Abtaster zum Reduzieren der Anzahl von
Abtastwerten der ersten Subbandsignale auf eine Rate von 1/N während jedes
festen Zeitintervalls, wobei "N" die Gesamtzahl der
Subbänder
bezeichnet. Somit dezimieren die Abwärts-Abtaster oder die Unter-Abtaster Abtastwerte
der ersten Subbandsignale, und setzen sie die ersten Subbandsignale
dadurch jeweils in zweite Subbandsignale um. Der Bandaufteilungsprozessor 301 gibt
die zweiten Subbandsignale an einen Skalenfaktorrechner 305 und
einen Quantisierer 310 aus.
-
Jeder
Rahmen wird virtuell in eine vorgegebene Anzahl von kleinen Rahmen
aufgeteilt. Ein Satz von N aufeinander folgenden Abtastwerten des
eingegebenen digitalen Audiosignals entspricht einem kleinen Rahmen.
Somit entspricht ein Satz von N Abtastwerten der jeweiligen zweiten
Subbandsignale einem kleinen Rahmen.
-
Für jeden
Rahmen (jedes vorbestimmte Zeitintervall) skaliert der Skalenfaktorrechner 305 die zweiten
Subbandsignale, und berechnet er jeweils Skalenfaktoren der zweiten
Subbandsignale. Die Skalenfaktoren stellen jeweils Vergrößerungen
der zweiten Subbandsignale dar. Für jeden Rahmen informiert der
Skalenfaktorrechner 305 einen Differenzrechner 303,
eine Kennzeichen- bzw. Flagsteuerung 304, einen Skalenfaktorwähler 307 und
einen Bitzuweisungsabschnitt 309 über die berechneten Skalenfaktoren.
-
Der
Differenzrechner 303 subtrahiert für die Subbänder jeweils die Skalenfaktoren
des vorliegenden Rahmens von den Skalenfaktoren des unmittelbar
vorausgehenden Rahmens (des Rahmens, der dem vorliegenden Rahmen
unmittelbar vorausgeht). Auf diese Weise berechnet die Vorrichtung 303 für die Subbänder jeweils
die Differenzen zwischen den Skalenfaktoren des vorliegenden Rahmens
und den Skalenfaktoren des unmittelbar vorausgehenden Rahmens. Für jeden
Rahmen informiert der Differenzrechner 303 einen Vorzeichenbit-Entscheidungsabschnitt 302 über die
Subtraktionsergebnisse, das heißt
die berechneten Skalenfaktordifferenzen. Zusätzlich berechnet die Vorrichtung 303 die
Absolutwerte bzw. Beträge
der berechneten Skalenfaktordifferenzen. Für jeden Rahmen informiert der
Differenzrechner 303 einen Huffman-Codierer (einen Codierer variabler Länge) 306 über die
berechneten Absolutwerte der Skalenfaktordifferenzen. Im Speziellen
gibt der Differenzrechner 303 für die berechneten Absolutwerte
der Skalenfaktordifferenzen repräsentative
Daten an den Huffman-Codierer 306 aus.
-
Für jeden
Rahmen entscheidet die Vorrichtung 302 die Vorzeichen der
Skalenfaktordifferenzen, und erzeugt sie Bits (Vorzeichenbits),
die die entschiedenen bzw. festgesetzten Vorzeichen der Skalenfaktordifferenzen
darstellen. Für
jeden Rahmen gibt der Vorzeichenbit-Entscheidungsabschnitt 302 die
erzeugten Vorzeichenbits an einen Codelängenkomparator 308 aus.
-
Vorzugsweise
arbeitet der Vorzeichenbit-Entscheidungsabschnitt 302 wie
folgt. Für
jeden Rahmen bestimmt der Vorzeichenbit-Entscheidungsabschnitt 302,
ob jede der Skalenfaktordifferenzen gleich oder verschieden von "0" ist. Zusätzlich entscheidet die Vorrichtung 302 die
Vorzeichen der Skalenfaktordifferenzen, die als von "0" verschieden bestimmt werden. Der Vorzeichenbit-Entscheidungsabschnitt 302 erzeugt
Bits (Vorzeichenbits), die die entschiedenen bzw. festgesetzten
Vorzeichen der Nicht-0-Skalenfaktordifferenzen darstellen. Der Vorzeichenbit-Entscheidungsabschnitt 302 erzeugt
keine Vorzeichenbits für
die Skalenfaktordifferenzen, die als gleich "0" bestimmt
werden. Dieses Vorgehen durch den Vorzeichenbit-Entscheidungsabschnitt 302 ist
wirkungsvoll bei/zur Erhöhung
der Anzahl von Bits, die sich aus einer Quantisierung ergebenden Audioinformationen
zugewiesen werden können.
Für jeden
Rahmen gibt der Vorzeichenbit-Entscheidungsabschnitt 302 die
erzeugten Vorzeichenbits an den Codelängenkomparator 308 aus.
-
Die
Vorrichtung 306 codiert die Daten der Absolutwerte der
Skalenfaktordifferenzen in Wörter eines
Huffman-Codes (eines Codes variabler Länge), zum Beispiel eines Lauflängen-Huffman-Codes.
Der Huffman-Codierer 306 gibt die Codewörter (die Codedaten), die für die Absolutwerte
der Skalenfaktordifferenzen repräsentativ
sind, an den Codelängenkomparator 308 aus.
-
Die
Kennzeichen- bzw. Flagsteuerung 304 entscheidet, ob jeder
der Skalenfaktoren in dem vorliegenden Rahmen ausgehend von demjenigen
in dem unmittelbar vorausgehenden Rahmen aktualisiert ist oder nicht,
das heißt,
ob jeder der Skalenfaktoren in dem vorliegenden Rahmen verschiedenen von
demjenigen in dem unmittelbar vorausgehenden Rahmen ist oder nicht.
Für jeden
Rahmen erzeugt die Kennzeichen- bzw. Flagsteuerung 304 auf
Grundlage der Entscheidungsergebnisse bezüglich der Skalenfaktoren jeweils
Informationskennzeichen bzw. -flags. Jedes der Informationskennzeichen
bzw. -flags gibt an, ob der zugehörige Skalenfaktor in dem vorliegenden
Rahmen ausgehend von demjenigen in dem unmittelbar vorausgehenden
Rahmen aktualisiert ist oder nicht. Für jeden Rahmen gibt die Kennzeichen-
bzw. Flagsteuerung 304 die erzeugten Informationskennzeichen
bzw. -flags an den Codelängenkomparator 308 aus.
-
Die
Vorrichtung 307 wählt
einen oder mehrere der Skalenfaktoren in dem vorliegenden Rahmen aus,
die ausgehend von denjenigen in dem unmittelbar vorausgehenden Rahmen
aktualisiert (verschieden) sind. Für jeden Rahmen informiert der
Skalenfaktorwähler 307 den
Codelängenkomparator 308 über den
ausgewählten
Skalenfaktor oder die ausgewählten
Skalenfaktoren. Im Speziellen gibt der Skalenfaktorwähler 307 für den ausgewählten Skalenfaktor
oder die ausgewählten
Skalenfaktoren repräsentative
Daten an den Codelängenkomparator 308 aus.
-
Für jeden
Rahmen addiert der Codelängenkomparator 308 die
Gesamtzahl der von dem Vorzeichenbit-Entscheidungsabschnitt 302 ausgegebenen Vorzeichenbits
und die Gesamtzahl von Bits der von dem Huffman-Codierer 306 ausgegebenen
Skalenfaktordifferenz-Codedaten. Dieses Additionsergebnis wird als
eine erste Codelänge
(eine erste Gesamtbitzahl) definiert. Für jeden Rahmen addiert der
Codelängenkomparator 308 die
Gesamtzahl der von der Flagsteuerung 304 ausgegebenen Informationsflags und
die Gesamtzahl von Bits der von dem Skalenfaktorwähler 307 ausgegebenen
ausgewählter-Skalenfaktor-Daten.
Dieses Additionsergebnis wird als eine zweite Codelänge (eine
zweite Gesamtbitzahl) definiert. Die Vorrichtung 308 vergleicht
die erste Codelänge
und die zweite Codelänge
miteinander. Wenn die erste Codelänge kleiner ist als die zweite
Codelänge,
wählt der
Codelängenkomparator 308 die
von dem Vorzeichenbit-Entscheidungsabschnitt 302 ausgegebenen
Vorzeichenbits und die von dem Huffman-Codierer 306 ausgegebenen Skalenfaktordifferenz-Codedaten
aus, bevor er diese an einen Bitstromzusammensetzer 311 überträgt. Andererseits wählt der
Codelängenkomparator 308,
wenn die zweite Codelänge
gleich oder kleiner ist als die erste Codelänge, die von der Flagsteuerung 304 ausgegebenen
Informationsflags und die von dem Skalenfaktorwähler 307 ausgegebenen
ausgewählter-Skalenfaktor-Daten
aus, bevor er diese an den Bitstromzusammensetzer 311 überträgt. Für jeden
Rahmen erzeugt der Codelängenkomparator 308 Auswahlinformationen,
die darstellen, welcher eines Satzes der Ausgabesignale von den
Vorrichtungen 302 und 306 sowie eines Satzes der
Ausgabesignale von den Vorrichtungen 304 und 307 ausgewählt wird,
das heißt, welcher
eines Satzes der Vorzeichenbits und der Skalenfaktordifferenz-Codedaten
sowie eines Satzes der Informationsflags und der ausgewählter-Skalenfaktor-Daten
ausgewählt
wird. Der Codelängenkomparator 308 gibt
die erzeugten Auswahlinformationen an den Bitstromzusammensetzer 311 aus.
-
Der
Codelängenkomparator 308 subtrahiert die
kleinere der ersten und der zweiten Gesamtbitzahl (der ersten und
der zweiten Codelänge)
von einer vorgeschriebenen Gesamtzahl von Bits pro Rahmen. Das Subtraktionsergebnis
ist die Anzahl von nutzbaren Bits, das heißt Bits, die sich aus einer Quantisierung
ergebenden Audioinformationen zugewiesen werden können. Für jeden
Rahmen erzeugt der Codelängenkomparator 308 die
nutzbare Bitanzahl darstellende Informationen. Der Codelängenkomparator 308 gibt
die erzeugten nutzbare-Bitanzahl-Informationen an den Bitzuweisungsabschnitt 309 aus.
-
Für jeden
Rahmen entscheidet der Bitzuweisungsabschnitt 309 auf Grundlage
der Skalenfaktoren und auch der nutzbare-Bitanzahl-Informationen bezüglich der
Subbänder
jeweils eine Sollanzahl von Bits, die sich aus einer Quantisierung
ergebenden Signalabtastwerten zugewiesen werden. Für jeden Rahmen
informiert der Bitzuweisungsabschnitt 309 den Quantisierer 310 über die
entschiedenen bzw. festgesetzten Sollbitzahlen (die Bitzuweisungsinformation).
-
Für jeden
Rahmen quantisiert die Vorrichtung 310 die zweiten Subbandsignale
in Erwiderung auf die Sollbitzahlen jeweils in sich aus einer Quantisierung
ergebende Subbandsignale. Abtastwerte von jedem der sich aus der
Quantisierung ergebenden Subbandsignale haben die gleiche Anzahl
von Bits, die gleich der entsprechenden Sollbitanzahl ist. Der Quantisierer 310 gibt
die sich aus der Quantisierung ergebenden Subbandsignale an den
Bitstromzusammensetzer 311 aus.
-
Für jeden
Rahmen kombiniert und multiplext der Bitstromzusammensetzer 311 die
ausgewählten Signale
(das heißt
den ausgewählten
des Satzes der Vorzeichenbits und der Skalenfaktordifferenz-Codedaten
sowie des Satzes der Informationsflags und der ausgewählter-Skalenfaktor-Daten) von dem Codelängenkomparator 308,
die Auswahlinformationen von dem Codelängenkomparator 308 und
die sich aus der Quantisierung ergebenden Subbandsignale von dem
Quantisierer 310 in einen 1 Rahmen entsprechenden Bitstrom
eines vorgegebenen Formats. Der Bitstromzusammensetzer 311 gibt
den 1 Rahmen entsprechenden Bitstrom zum Beispiel an eine Übertragungsleitung
aus.
-
Jeder
1 Rahmen entsprechende Bitstrom, der von dem Bitstromzusammensetzer 311 ausgegeben
wird, weist eine Aufeinanderfolge eines ersten Bereichs, der mit
den Auswahlinformationen beladen ist, eines zweiten Bereichs, der
mit den ausgewählten
Signalen (das heißt
dem ausgewählten
des Satzes der Vorzeichenbits und der Skalenfaktordifferenz-Codedaten
sowie des Satzes der Informationsflags und der ausgewählter-Skalenfaktor-Daten) beladen ist,
und eines dritten Bereichs aus, der mit den sich aus der Quantisierung
ergebenden Subbandsignalen beladen ist. Vorzugsweise weist der dritte
Bereich eine Aufeinanderfolge von Subbereichen auf, die jeweils
den kleinen Rahmen entsprechen.
-
5 zeigt
ein Beispiel des Formats eines 1 Rahmen entsprechenden Bitstroms,
der von dem Bitstromzusammensetzer 311 ausgegeben wird,
wenn der Satz der Vorzeichenbits und der Skalenfaktordifferenz-Codedaten ausgewählt wird.
Der 1 Rahmen entsprechende Bitstrom gemäß 5 weist
eine Aufeinanderfolge eines ersten Bereichs 401, der mit den
Auswahlinformationen beladen ist, eines zweiten Bereichs 402,
der mit den Skalenfaktordifferenz-Codedaten beladen ist, eines dritten
Bereichs 403, der mit den Vorzeichenbits beladen ist, und
eines vierten, eines fünften
und eines sechsten Bereichs 404, 405 und 406 auf,
die mit den sich aus der Quantisierung ergebenden Subbandsignalen
beladen sind. Der vierte, der fünfte
und der sechste Bereich 404, 405 und 406 entsprechen
einem ersten, einem zweiten und einem dritten kleinen Rahmen. Somit
speichert der vierte Bereich 404 Abtastwerte der sich aus
der Quantisierung ergebenden Subbandsignale, die dem ersten kleinen
Rahmen entsprechen. Der fünfte
Bereich 405 speichert Abtastwerte der sich aus der Quantisierung
ergebenden Subbandsignale, die dem zweiten kleinen Rahmen entsprechen.
Der sechste Bereich 406 speichert Abtastwerte der sich
aus der Quantisierung ergebenden Subbandsignale, die dem dritten
kleinen Rahmen entsprechen.
-
6 zeigt
ein Beispiel des Formats eines 1 Rahmen entsprechenden Bitstroms,
der von dem Bitstromzusammensetzer 311 ausgegeben wird,
wenn der Satz der Informationsflags und der Ausgewälter-Skalenfaktor-Daten ausgewählt wird.
Der 1 Rahmen entsprechende Bitstrom gemäß 6 weist eine
Aufeinanderfolge eines ersten Bereichs 407, der mit den
Auswahlinformationen beladen ist, eines zweiten Bereichs 408,
der mit den Informationsflags beladen ist, eines dritten Bereichs 409,
der mit den ausgewählter-Skalenfaktor-Daten
beladen ist, und eines vierten, eines fünften und eines sechsten Bereichs 410, 411 und 412 auf,
die mit den sich aus der Quantisierung ergebenden Subbandsignalen
beladen sind. Der vierte, der fünfte
und der sechste Bereich 410, 411 und 412 entspricht
einem ersten, einem zweiten und einem dritten kleinen Rahmen. Somit
speichert der vierte Bereich 410 Abtastwerte der sich aus
der Quantisierung ergebenden Subbandsignale, die dem ersten kleinen
Rahmen entsprechen. Der fünfte
Bereich 411 speichert Abtastwerte der sich aus der Quantisierung
ergebenden Subbandsignale, die dem zweiten kleinen Rahmen entsprechen.
Der sechste Bereich 412 speichert Abtastwerte der sich aus
der Quantisierung ergebenden Subbandsignale, die dem dritten kleinen
Rahmen entsprechen.
-
Es
sollte beachtet werden, dass wie bei der Codiervorrichtung gemäß 1 Zusatz-
bzw. Hilfsdaten zu dem von dem Bitstromzusammensetzer 311 ausgegebenen
Bitstrom hinzugefügt
werden können.
-
Die
Anzahl von Bits in einem Rahmen wird durch eine Übertragungsbitrate und die
Anzahl von kleinen Rahmen bestimmt. In dem Fall, dass Rahmen in
der Länge
fest sind, nimmt eine Verzögerungszeit
bei einer Signalübertragung
ab, wenn die Anzahl von kleinen Rahmen reduziert wird.
-
Bei
der Codiervorrichtung gemäß 4 wählt der
Codelängenkomparator 308 einen
des Satzes der Ausgabesignale von den Vorrichtungen 302 und 306 sowie
des Satzes der Ausgabesignale von den Vorrichtungen 304 und 307 aus,
der eine kleinere Codelänge
(eine kleinere Gesamtbitzahl) aufweist, und werden die Signale in
dem ausgewählten
Satz über
den Bitstromzusammensetzer 311 übertragen. Dementsprechend
wird eine größere Anzahl
von Bits verwendet, um die übertragenen
Audioinformationen (die sich aus der Quantisierung ergebenden Subbandsignale)
zu bezeichnen.
-
Viertes Ausführungsbeispiel
-
7 zeigt
eine Subbandcodiervorrichtung gemäß einem vierten Ausführungsbeispiel
dieser Erfindung. Die Codiervorrichtung gemäß 7 ist ähnlich zu
der Codiervorrichtung gemäß 4,
mit der Ausnahme, dass ein Skalenfaktorrechner 305A den Skalenfaktorrechner 305 ersetzt.
-
Bei
der Codiervorrichtung gemäß 7 werden
die Subbänder
gemäß einem
Wahrnehmungsmodell oder einem psychoakustischen Modell in Gruppen
getrennt. Die Gruppierung der Subbänder kann auf Grundlage eines
kritischen Bandes oder auf Grundlage einer gröberen Einheit erfolgen. Der
Skalenfaktorrechner 305A empfängt zweite Subbandsignale von
einem Bandaufteilungsprozessor 301. Der Skalenfaktorrechner 305A trennt
die zweiten Subbandsignale gemäß der Gruppierung
der Subbänder in
Gruppen. Für
jeden Rahmen (jedes vorbestimmte Zeitintervall) skaliert der Skalenfaktorrechner 305A die
zweiten Subbandsignale Gruppe für
Gruppe, und berechnet er jeweils Skalenfaktoren der Gruppen. Die
Skalenfaktoren stellen Vergrößerungen
der zweiten Subbandsignale in den Gruppen dar. Für jeden Rahmen informiert der
Skalenfaktorrechner 305A einen Differenzrechner 303,
eine Kennzeichen- bzw. Flagsteuerung 304, einen Skalenfaktorwähler 307 und
einen Bitzuweisungsabschnitt 309 über die berechneten Skalenfaktoren.
-
Fünftes Ausführungsbeispiel
-
8 zeigt
eine Subbanddecodiervorrichtung gemäß einem fünften Ausführungsbeispiel dieser Erfindung.
Die Decodiervorrichtung gemäß 8 empfängt einen
Bitstrom von einer Codiervorrichtung, zum Beispiel der Codiervorrichtung
gemäß 1.
Die Decodiervorrichtung gemäß 8 verarbeitet
den empfangenen Bitstrom Rahmen für Rahmen.
-
Die
Decodiervorrichtung gemäß 8 umfasst
einen Zusatzdatenextrahierer 501, der den Bitstrom empfängt. Für jeden
Rahmen extrahiert die Vorrichtung 501 Zusatz- bzw. Hilfsdaten
aus dem Bitstrom. Der Zusatzdatenextrahierer 501 gibt die
extrahierten Zusatz- bzw.
Hilfsdaten an eine geeignete (nicht gezeigte) Vorrichtung aus. Der
Zusatzdatenextrahierer 501 erzeugt als Ergebnis der Extraktion
der Zusatz- bzw. Hilfsdaten aus dem empfangenen Bitstrom einen zusatzdatenfreien
Bitstrom. Der Zusatzdatenextrahierer 501 gibt den zusatzdatenfreien
Bitstrom an einen Huffman-Decodierer (einen Decodierer variabler
Länge) 503 aus.
-
Für jeden
Rahmen extrahiert der Huffman-Decodierer 503 Skalenfaktordifferenz-Codedaten
aus dem zusatzdatenfreien Bitstrom. Die Vorrichtung 503 decodiert
die extrahierten Skalenfaktordifferenz-Codedaten in Daten der Absolutwerte
von Skalenfaktordifferenzen. Der Huffman-Decodierer 503 gibt
die Daten der Absolutwerte von Skalenfaktordifferenzen an einen
Skalenfaktorrechner 505 aus. Der Huffman-Decodierer 503 erzeugt
als Ergebnis der Extraktion der Skalenfaktordifferenz-Codedaten
aus dem zusatzdatenfreien Bitstrom einen skalenfaktorfreien Bitstrom.
Der Huffman-Decodierer 503 gibt den skalenfaktorfreien
Bitstrom an einen Vorzeichenbitextrahierer 502 aus.
-
Für jeden
Rahmen extrahiert die Vorrichtung 502 Vorzeichenbits aus
dem skalenfaktorfreien Bitstrom. Der Vorzeichenbitextrahierer 502 gibt
die extrahierten Vorzeichenbits an den Skalenfaktorrechner 505 aus.
Der Vorzeichenbitextrahierer 502 erzeugt als Ergebnis der
Extraktion der Vorzeichenbits aus dem skalenfaktorfreien Bitstrom
einen vorzeichenbitfreien Bitstrom. Der Vorzeichenbitextrahierer 502 gibt
den vorzeichenbitfreien Bitstrom an einen Abtastwertdetektor 506 aus.
-
Der
Skalenfaktorrechner 505 berechnet auf Grundlage der Absolutwerte
von Skalenfaktordifferenzen, der Vorzeichenbits und vorher berechneter Skalenfaktoren
des unmittelbar vorausgehenden Rahmens Skalenfaktoren des vorliegenden
Rahmens. Der Skalenfaktorrechner 505 informiert einen Bitzuweisungsrechner 504 und
einen Invers- bzw. Umkehrquantisierer 507 über die
berechneten Skalenfaktoren des vorliegenden Rahmens.
-
Der
Bitzuweisungsrechner 504 berechnet auf Grundlage der Skalenfaktoren
bezüglich
Subbändern
jeweils eine Anzahl von Bits, die sich aus einer Quantisierung ergebenden
Signalabtastwerten zugewiesen sind. Für jeden Rahmen informiert der
Bitzuweisungsrechner 504 den Abtastwertdetektor 506 über die
berechneten Bitzahlen (die Bitzuweisungsinformation).
-
Der
Abtastwertdetektor 506 trennt den signalbitfreien Bitstrom
in Erwiderung auf die Bitzuweisungsinformation in Abtastwerte von
sich aus einer Quantisierung ergebenden Subbandsignalen. Der Abtastwertdetektor 506 gibt
die Abtastwerte der sich aus der Quantisierung ergebenden Subbandsignale an
den Inversquantisierer 507 aus.
-
Für jeden
Rahmen quantisiert die Vorrichtung 507 die sich aus der
Quantisierung ergebenden Subbandsignale in Erwiderung auf die Skalenfaktoren
invers bzw. umgekehrt in erste ursprüngliche Subbandsignale. Der
Inversquantisierer 507 gibt die ersten ursprünglichen
Subbandsignale an einen Bandkombinationsprozessor 508 aus.
-
Der
Bandkombinationsprozessor 508 umfasst Aufwärts-Abtaster oder Interpolatoren
zum Erhöhen
der Anzahl von Abtastwerten der ersten ursprünglichen Subbandsignale auf
eine Rate von N während
jedes festen Zeitintervalls, wobei "N" die Gesamtzahl
der Subbänder
bezeichnet. Somit setzen die Aufwärts-Abtaster oder die Interpolatoren
die ersten ursprünglichen
Subbandsignale in zweite ursprüngliche
Subbandsignale um. Der Bandkombinationsprozessor 508 umfasst
ferner Quadraturspiegelfilter oder Bandpassfilter, durch welche
die zweiten ursprünglichen
Subbandsignale geführt
werden. In dem Bandkombinationsprozessor 508 werden die von
den Quadraturspiegelfiltern oder den Bandpassfiltern ausgegebenen
Subbandsignale in ein ursprüngliches
digitales Audiosignal wie etwa ein ursprüngliches PCM-Audiosignal kombiniert.
Auf diese Weise stellt der Bandkombinationsprozessor 508 das ursprüngliche
digitale Audiosignal wieder her. Der Bandkombinationsprozessor 508 gibt
das wiederhergestellte digitale Audiosignal aus.
-
Sechstes Ausführungsbeispiel
-
9 zeigt
eine Subbanddecodiervorrichtung gemäß einem sechsten Ausführungsbeispiel dieser
Erfindung. Die Decodiervorrichtung gemäß 9 ist ähnlich zu
der Decodiervorrichtung gemäß 8,
mit der Ausnahme, dass ein Vorzeichenbitextrahierer 502A beziehungsweise
ein Skalenfaktorrechner 505A den Vorzeichenbitextrahierer 502 beziehungsweise
den Skalenfaktorrechner 505 ersetzen. Die Decodiervorrichtung
gemäß 9 empfängt einen
Bitstrom von einer Codiervorrichtung, zum Beispiel der Codiervorrichtung
gemäß 3.
-
Auf
einer Codierseite werden Subbänder
gemäß einem
Wahrnehmungsmodell oder einem psychoakustischen Modell in Gruppen
getrennt. Für
jeden Rahmen extrahiert die Vorrichtung 502A bei der Decodiervorrichtung
gemäß 9 Vorzeichenbits aus
einem skalenfaktorfreien Bitstrom. Die extrahierten Vorzeichenbits
beziehen sich jeweils auf Skalenfaktordifferenzen der Subbandgruppen.
Der Vorzeichenbitextrahierer 502A gibt die extrahierten
Vorzeichenbits an den Skalenfaktorrechner 505A aus. Der Vorzeichenbitextrahierer 502A erzeugt
als Ergebnis der Extraktion der Vorzeichenbits aus dem skalenfaktorfreien
Bitstrom einen vorzeichenbitfreien Bitstrom. Der Vorzeichenbitextrahierer 502A gibt
den vorzeichenbitfreien Bitstrom an einen Abtastwertdetektor 506 aus.
-
Der
Skalenfaktorrechner 505A berechnet auf Grundlage der Absolutwerte
von Skalenfaktordifferenzen, der Vorzeichenbits und vorher berechneter Skalenfaktoren
des unmittelbar vorausgehenden Rahmens für die Subbandgruppen jeweils
Skalenfaktoren des vorliegenden Rahmens. Der Skalenfaktorrechner 505A informiert
einen Bitzuweisungsrechner 504 und einen Invers- bzw. Umkehrquantisierer 507 über die
berechneten Skalenfaktoren des vorliegenden Rahmens der Subbandgruppen.
-
Siebtes Ausführungsbeispiel
-
10 zeigt
eine Subbanddecodiervorrichtung gemäß einem siebten Ausführungsbeispiel
dieser Erfindung. Die Decodiervorrichtung gemäß 10 empfängt einen
Bitstrom von einer Codiervorrichtung, zum Beispiel der Codiervorrichtung
gemäß 4.
Die Decodiervorrichtung gemäß 10 verarbeitet
den empfangenen Bitstrom Rahmen für Rahmen.
-
Die
Decodiervorrichtung gemäß 10 umfasst
einen Zusatzdatenextrahierer 601, der den Bitstrom empfängt. Für jeden
Rahmen extrahiert die Vorrichtung 601 Zusatz- bzw. Hilfsdaten
aus dem Bitstrom. Der Zusatzdatenextrahierer 601 gibt die
extrahierten Zusatz- bzw.
Hilfsdaten an eine geeignete (nicht gezeigte) Vorrichtung aus. Der
Zusatzdatenextrahierer 601 erzeugt als Ergebnis der Extraktion
der Zusatz- bzw. Hilfsdaten aus dem empfangenen Bitstrom einen zusatzdatenfreien
Bitstrom. Der Zusatzdatenextrahierer 601 gibt den zusatzdatenfreien
Bitstrom an einen Bitstromtypdetektor 604 aus.
-
Für jeden
Rahmen erfasst die Vorrichtung 604 Auswahlinformationen
in dem zusatzdatenfreien Bitstrom. Die erfassten Auswahlinformationen
stellen dar, welcher eines Satzes von Vorzeichenbits und Skalenfaktordifferenz-Codedaten
sowie eines Satzes von Informationsflags und ausgewählte-Skalenfaktor-Daten ausgewählt ist.
Der Bitstromtypdetektor 604 entfernt die Auswahlinformationen
aus dem zusatzdatenfreien Bitstrom, um einen auswahlinformationsfreien
Bitstrom zu erzeugen. Wenn die erfassten Auswahlinformationen darstellen,
dass der Satz der Vorzeichenbits und der Skalenfaktordifferenz-Codedaten
ausgewählt
ist, gibt der Bitstromtypdetektor 604 den auswahlinformationsfreien
Bitstrom an einen Huffman-Decodierer (einen Decodierer variabler Länge) 606 aus.
Wenn die erfassten Auswahlinformationen darstellen, dass der Satz
der Informationsflags und der ausgewählter-Skalenfaktor-Daten ausgewählt ist,
gibt der Bitstromtypdetektor 604 den auswahlinformationsfreien
Bitstrom an einen Kennzeichen- bzw.
Flagdetektor 603 aus.
-
In
dem Fall, dass der Satz der Vorzeichenbits und der Skalenfaktordifferenz-Codedaten
ausgewählt
ist, arbeiten wirksam der Huffman-Decodierer 606 und die
folgenden Vorrichtungen 605 und 608. Andererseits
arbeiten in dem Fall, dass der Satz der Informationsflags und der
ausgewählter-Skalenfaktor-Daten
ausgewählt
ist, wirksam der Flagdetektor 603 und die folgende Vorrichtung 602.
-
Für jeden
Rahmen extrahiert der Huffman-Decodierer 606 Skalenfaktordifferenz-Codedaten
aus dem auswahlinformationsfreien Bitstrom. Die Vorrichtung 606 decodiert
die extrahierten Skalenfaktordifferenz-Codedaten in Daten der Absolutwerte bzw.
Beträge
von Skalenfaktordifferenzen. Der Huffman-Decodierer 606 gibt
die Daten der Absolutwerte von Skalenfaktordifferenzen an einen
Skalenfaktorrechner 608 aus. Der Huffman-Decodierer 606 erzeugt
als Ergebnis der Extraktion der Skalenfaktordifferenz-Codedaten
aus dem auswahlinformationsfreien Bitstrom einen skalenfaktorfreien
Bitstrom. Der Huffman-Decodierer 606 gibt den skalenfaktorfreien Bitstrom
an einen Vorzeichenbitextrahierer 605 aus.
-
Für jeden
Rahmen extrahiert die Vorrichtung 605 Vorzeichenbits aus
dem skalenfaktorfreien Bitstrom. Der Vorzeichenbitextrahierer 605 gibt
die extrahierten Vorzeichenbits an den Skalenfaktorrechner 608 aus.
Der Vorzeichenbitextrahierer 605 erzeugt als Ergebnis der
Extraktion der Vorzeichenbits aus dem skalenfaktorfreien Bitstrom
einen vorzeichenbitfreien Bitstrom. Der Vorzeichenbitextrahierer 605 gibt
den vorzeichenbitfreien Bitstrom an einen Abtastwertdetektor 609 aus.
-
Der
Skalenfaktorrechner 608 berechnet auf Grundlage der Absolutwerte
von Skalenfaktordifferenzen, der Vorzeichenbits und vorher berechneter Skalenfaktoren
des unmittelbar vorausgehenden Rahmens Skalenfaktoren des vorliegenden
Rahmens. Der Skalenfaktorrechner 605 informiert einen Bitzuweisungsrechner 607 und
einen Invers- bzw. Umkehrquantisierer 610 über die
berechneten Skalenfaktoren des vorliegenden Rahmens.
-
Für jeden
Rahmen erfasst die Vorrichtung 603 Informationskennzeichen
bzw. -flags in dem auswahlinformationsfreien Bitstrom. Jedes der
erfassten Informationskennzeichen bzw. -flags gibt an, ob ein zugehöriger Skalenfaktor
in dem vorliegenden Rahmen ausgehend von demjenigen in dem unmittelbar vorausgehenden
Rahmen aktualisiert (verschieden) ist oder nicht. Der Flagdetektor 603 gibt
die erfassten Informationsflags an einen Skalenfaktorextrahierer 602 aus.
Der Flagdetektor 603 entfernt die Informationsflags aus
dem auswahlinformationsfreien Bitstrom, um einen informationsflagfreien
Bitstrom zu erzeugen. Der Flagdetektor 603 gibt den informationsflagfreien
Bitstrom an den Skalenfaktorextrahierer 602 aus.
-
Für jeden
Rahmen extrahiert die Vorrichtung 602 ausgewählter-Skalenfaktor-Daten
aus dem informationsflagfreien Bitstrom. Der Skalenfaktorextrahierer 602 berechnet
Skalenfaktoren des vorliegenden Rahmens auf Grundlage der Informationsflags,
der ausgewählter-Skalenfaktor-Daten
und vorher berechneter Skalenfaktoren des unmittelbar vorausgehenden
Rahmens. Der Skalenfaktorextrahierer 602 informiert den
Bitzuweisungsrechner 607 und den Inversquantisierer 610 über die
berechneten Skalenfaktoren des vorliegenden Rahmens. Der Skalenfaktorextrahierer 602 erzeugt
als Ergebnis der Extraktion der ausgewählter-Skalenfaktor-Daten aus dem informationsflagfreien
Bitstrom einen skalenfaktorfreien Bitstrom. Der Skalenfaktorextrahierer 602 gibt
den skalenfaktorfreien Bitstrom an den Abtastwertdetektor 609 aus.
-
Für jeden
Rahmen spricht der Bitzuweisungsrechner 607 auf die durch
den Bitstromtypdetektor 604 erfassten Auswahlinformationen
an. Wenn die Auswahlinformationen darstellen, dass der Satz der
Vorzeichenbits und der Skalenfaktordifferenz-Codedaten ausgewählt ist,
verwendet der Bitzuweisungsrechner 607 die durch den Skalenfaktorrechner 608 gemeldeten
Skalenfaktoren. Andererseits verwendet der Bitzuweisungsrechner 607 die
durch den Skalenfaktorextrahierer 602 gemeldeten Skalenfaktoren,
wenn die Auswahlinformationen darstellen, dass der Satz der Informationsflags
und der ausgewählter-Skalenfaktor-Daten
ausgewählt
ist. Der Bitzuweisungsrechner 607 berechnet auf Grundlage der
Skalenfaktoren bezüglich
Subbändern
jeweils eine Anzahl von Bits, die sich aus einer Quantisierung ergebenden Signalabtastwerten
zugewiesen sind. Für
jeden Rahmen informiert der Bitzuweisungsrechner 607 den
Abtastwertdetektor 609 über die
berechneten Bitzahlen (die Bitzuweisungsinformation).
-
Für jeden
Rahmen spricht der Abtastwertdetektor 609 auf die durch
den Bitstromtypdetektor 604 erfassten Auswahlinformationen
an. Wenn die Auswahlinformationen darstellen, dass der Satz der
Vorzeichenbits und der Skalenfaktordifferenz-Codedaten ausgewählt ist,
trennt der Abtastwertdetektor 609 den ausgegebenen Bitstrom
von dem Vorzeichenbitextrahierer 605 in Erwiderung auf
die Bitzuweisungsinformation in Abtastwerte von sich aus einer Quantisierung
ergebenden Subbandsignalen. Der Abtastwertdetektor 609 gibt
die Abtastwerte der sich aus der Quantisierung ergebenden Subbandsignale
an den Inversquantisierer 610 aus. Andererseits trennt der
Abtastwertdetektor 609, wenn die Auswahlinformationen darstellen,
dass der Satz der Informationsflags und der ausgewählter-Skalenfaktor-Daten
ausgewählt
ist, den ausgegebenen Bitstrom von dem Skalenfaktorextrahierer 602 in
Erwiderung auf die Bitzuweisungsinformation in Abtastwerte von sich aus
einer Quantisierung ergebenden Subbandsignalen. Der Abtastwertdetektor 609 gibt
die Abtastwerte der sich aus der Quantisierung ergebenden Subbandsignale
an den Inversquantisierer 610 aus.
-
Für jeden
Rahmen spricht der Inversquantisierer 610 auf die durch
den Bitstromtypdetektor 604 erfassten Auswahlinformationen
an. Wenn die Auswahlinformationen darstellen, dass der Satz der
Vorzeichenbits und der Skalenfaktordifferenz-Codedaten ausgewählt ist,
verwendet der Inversquantisierer 610 die durch den Skalenfaktorrechner 608 gemeldeten
Skalenfaktoren. Andererseits verwendet der Inversquantisierer 610 die durch
den Skalenfaktorextrahierer 602 gemeldeten Skalenfaktoren,
wenn die Auswahlinformationen darstellen, dass der Satz der Informationsflags
und der ausgewählter-Skalenfaktor-Daten
ausgewählt
ist. Für
jeden Rahmen quantisiert die Vorrichtung 610 die sich aus
der Quantisierung ergebenden Subbandsignale in Erwiderung auf die
Skalenfaktoren invers bzw. umgekehrt in erste ursprüngliche
Subbandsignale. Der Inversquantisierer 610 gibt die ersten
ursprünglichen
Subbandsignale an einen Bandkombinationsprozessor 611 aus.
-
Der
Bandkombinationsprozessor 611 umfasst Aufwärts-Abtaster oder Interpolatoren
zum Erhöhen
der Anzahl von Abtastwerten der ersten ursprünglichen Subbandsignale auf
eine Rate von N während
jedes festen Zeitintervalls, wobei "N" die Gesamtzahl
der Subbänder
bezeichnet. Somit setzen die Aufwärts-Abtaster oder die Interpolatoren
die ersten ursprünglichen
Subbandsignale in zweite ursprüngliche
Subbandsignale um. Der Bandkombinationsprozessor 611 umfasst
ferner Quadraturspiegelfilter oder Bandpassfilter, durch welche
die zweiten ursprünglichen
Subbandsignale geführt
werden. In dem Bandkombinationsprozessor 611 werden die von
den Quadraturspiegelfiltern oder den Bandpassfiltern ausgegebenen
Subbandsignale in ein ursprüngliches
digitales Audiosignal wie etwa ein ursprüngliches PCM-Audiosignal kombiniert.
Auf diese Weise stellt der Bandkombinationsprozessor 611 das ursprüngliche
digitale Audiosignal wieder her. Der Bandkombinationsprozessor 611 gibt
das wiederhergestellte digitale Audiosignal aus.
-
Achtes Ausführungsbeispiel
-
11 zeigt
eine Subbanddecodiervorrichtung gemäß einem achten Ausführungsbeispiel
dieser Erfindung. Die Decodiervorrichtung gemäß 11 ist ähnlich zu
der Decodiervorrichtung gemäß 10,
mit der Ausnahme, dass ein Skalenfaktorextrahierer 602A,
ein Flagdetektor 603A, ein Vorzeichenbitextrahierer 605A beziehungsweise
ein Skalenfaktorrechner 608A den Skalenfaktorextrahierer 602,
den Flagdetektor 603, den Vorzeichenbitextrahierer 605 beziehungsweise
den Skalenfaktorrechner 608 ersetzen. Die Decodiervorrichtung
gemäß 11 empfängt einen
Bitstrom von einer Codiervorrichtung, zum Beispiel der Codiervorrichtung
gemäß 7.
-
Auf
einer Codierseite werden Subbänder
gemäß einem
Wahrnehmungsmodell oder einem psychoakustischen Modell in Gruppen
getrennt. Für
jeden Rahmen extrahiert die Vorrichtung 605A bei der Decodiervorrichtung
gemäß 11 Vorzeichenbits aus
einem skalenfaktorfreien Bitstrom. Die extrahierten Vorzeichenbits
beziehen sich jeweils auf Skalenfaktordifferenzen der Subbandgruppen.
Der Vorzeichenbitextrahierer 605A gibt die extrahierten
Vorzeichenbits an den Skalenfaktorrechner 608A aus. Der Vorzeichenbitextrahierer 605A erzeugt
als Ergebnis der Extraktion der Vorzeichenbits aus dem skalenfaktorfreien
Bitstrom einen vorzeichenbitfreien Bitstrom. Der Vorzeichenbitextrahierer 605A gibt
den vorzeichenbitfreien Bitstrom an einen Abtastwertdetektor 609 aus.
-
Der
Skalenfaktorrechner 608A berechnet auf Grundlage der Absolutwerte
von Skalenfaktordifferenzen, der Vorzeichenbits und vorher berechneter Skalenfaktoren
des unmittelbar vorausgehenden Rahmens für die Subbandgruppen jeweils
Skalenfaktoren des vorliegenden Rahmens. Der Skalenfaktorrechner 608A informiert
einen Bitzuweisungsrechner 607 und einen Invers- bzw. Umkehrquantisierer 610 über die
berechneten Skalenfaktoren des vorliegenden Rahmens der Subbandgruppen.
-
Für jeden
Rahmen erfasst die Vorrichtung 603A Informationskennzeichen
bzw. -flags in dem auswahlinformationsfreien Bitstrom. Die erfassten
Informationsflags beziehen sich jeweils auf Skalenfaktoren der Subbandgruppen.
Jedes der erfassten Informationsflags gibt an, ob ein zugehöriger Skalenfaktor
in dem vorliegenden Rahmen ausgehend von demjenigen in dem unmittelbar
vorausgehenden Rahmen aktualisiert (verschieden) ist oder nicht.
Der Flagdetektor 603A gibt die erfassten Informationsflags
an den Skalenfaktorextrahierer 602A aus. Der Flagdetektor 603A entfernt
die Informationsflags aus dem auswahlinformationsfreien Bitstrom,
um einen informationsflagfreien Bitstrom zu erzeugen. Der Flagdetektor 603A gibt
den informationsflagfreien Bitstrom an den Skalenfaktorextrahierer 602A aus.
-
Für jeden
Rahmen extrahiert die Vorrichtung 602A ausgewählter-Skalenfaktor-Daten
aus dem informationsflagfreien Bitstrom. Der Skalenfaktorextrahierer 602A berechnet
auf Grundlage der Informationsflags, der ausgewählter-Skalenfaktor-Daten und vorher
berechneter Skalenfaktoren des unmittelbar vorausgehenden Rahmens
für die
Subbandgruppen jeweils Skalenfaktoren des vorliegenden Rahmens. Der
Skalenfaktorextrahierer 602A informiert den Bitzuweisungsrechner 607 und
den Inversquantisierer 610 über die berechneten Skalenfaktoren
des vorliegenden Rahmens. Der Skalenfaktorextrahierer 602A erzeugt
als Ergebnis der Extraktion der ausgewählter-Skalenfaktor-Daten aus dem informationsflagfreien
Bitstrom einen skalenfaktorfreien Bitstrom. Der Skalenfaktorextrahierer 602A gibt
den skalenfaktorfreien Bitstrom an den Abtastwertdetektor 609 aus.
-
Ein
eingegebenes digitales Audiosignal wird in Subbandsignale in jeweiligen
Subbändern
aufgeteilt. Skalenfaktoren der jeweiligen Subbänder werden auf Grundlage der
Subbandsignale für
jeden Rahmen bestimmt. Eine Berechnung wird hinsichtlich Differenzen
zwischen den bestimmten Skalenfaktoren für einen ersten Rahmen und den
bestimmten Skalenfaktoren für
einen zweiten Rahmen vorgenommen, der dem ersten Rahmen vorausgeht.
Absolutwerte bzw. Beträge
der berechneten Skalenfaktordifferenzen werden berechnet, und für die berechneten
Absolutwerte repräsentative
Daten werden erzeugt. Die für
die berechneten Absolutwerte repräsentativen Daten werden in
Daten eines Huffman-Codes codiert. Vorzeichenbits werden erzeugt, die
Vorzeichen der berechneten Skalenfaktordifferenzen darstellen. Die
Subbandsignale werden in Erwiderung auf die bestimmten Skalenfaktoren
für jeden
Rahmen quantisiert, um quantisierte Abtastwerte der Subbandsignale
zu erzeugen. Die Huffman-Code-Daten, die erzeugten Vorzeichenbits
und die quantisierten Abtastwerte der Subbandsignale werden in einen
Bitstrom kombiniert.