-
Gebiet der
Erfindung
-
Die
vorliegende Erfindung betrifft Technik zum Kodieren und Dekodieren
von digitalen Audiodaten.
-
Hintergrund
der Erfindung
-
In
den letzten Jahren wurde eine Vielzahl von Audiokompressionsverfahren
entwickelt. MPEG-2 Advanced Audio Coding (MPEG-2 AAC) ist eines
dieser Kompressionsverfahren und wird in "ISO/IEC 13818-7 (MPEG-2 Advanced Audio
Coding, AAC)" im
Detail definiert.
-
Nachfolgendes
beschreibt herkömmliche Kodier-
und Dekodierverfahren unter Bezugnahme auf 1. 1 ist
ein Blockdiagramm, das eine herkömmliche
Kodiervorrichtung 300 und eine herkömmliche Dekodiervorrichtung 400 zeigt,
die MPEG-2 AAC entsprechen. Die Kodiervorrichtung 300 empfängt und
kodiert ein Audiosignal in Übereinstimmung
mit MPEG-2 AAC und umfasst eine Audiosignaleingabeeinheit 310,
eine Transformiereinheit 320, eine Quantisiereinheit 331,
eine Kodiereinheit 332 und eine Stromausgabeeinheit 340.
-
Die
Audiosignaleingabeeinheit 310 empfängt digitale Audiodaten, die
infolge des Samplings bei einer Sampling-Frequenz von 44,1 kHz generiert
wurden. Aus diesen digitalen Audiodaten extrahiert die Audiosignaleingabeeinheit 310 1.024
aufeinander folgende Samples. Diese 1.024 Samples sind eine Kodiereinheit
und werden Datenübertragungsblock genannt.
-
Die
Transformiereinheit 320 transformiert die extrahierten
Samples (nachfolgend "gesampelte
Daten" genannt)
im Zeitbereich in Spektraldaten, die sich in Übereinstimmung mit der Modifizierten
Diskreten Kosinustransformation (MDCT) aus 1.024 Samples im Frequenzbereich
zusammensetzen. Diese Spektraldaten werden dann in eine Vielzahl
von Gruppen aufgeteilt, von denen jede mindestens ein Sample umfasst
und ein kritisches Band des menschlichen Gehörs simuliert. Jede dieser Gruppen wird
als "Skalierungsfaktorband" bezeichnet.
-
Die
Quantisiereinheit 331 empfängt die Spektraldaten von der
Transformiereinheit 320 und quantisiert sie mit einem Normierungsfaktor,
der jedem Skalierungsfaktorband entspricht. Dieser Normierungsfaktor
wird "Skalierungsfaktor" genannt, und jeder
mit dem Skalierungsfaktor quantisierte Spektraldatensatz wird nachfolgend "quantisierte Daten" genannt.
-
In Übereinstimmung
mit der Huffman-Kodierung kodiert die Kodiereinheit 332 die
quantisierten Daten und jeden für
die quantisierten Daten verwendeten Skalierungsfaktor. Vor dem Kodieren
von Skalierungsfaktoren spezifiziert die Kodiereinheit 332 für jeden
Skalierungsfaktor eine Wertedifferenz von zwei Skalierungsfaktoren
in zwei aufeinander folgenden Skalierungsfaktorbändern. Die Kodiereinheit 332 kodiert
dann jede spezifizierte Differenz und einen in einem Skalierungsfaktorband
am Anfang des Datenübertragungsblocks
verwendeten Skalierungsfaktor.
-
Die
Stromausgabeeinheit 340 empfängt das kodierte Signal aus
der Kodiereinheit 332, transformiert es in einen MPEG-2
AAC-Bitstrom und gibt ihn aus. Dieser Bitstrom wird entweder über ein Übertragungsmedium
an die Dekodiervorrichtung 400 gesendet oder auf einem
Aufzeichnungsmedium wie etwa einer optischen Platte, einschließlich einer Compact
Disk (CD) und einer Digital Versatile Disk (DVD), einem Halbleiter
und einer Festplatte aufgezeichnet.
-
Die
Dekodiervorrichtung 400 dekodiert diesen durch die Kodiervorrichtung 300 kodierten
Bitstrom und umfasst eine Stromeingabeeinheit 410, eine
Dekodiereinheit 421, eine Dequantisiereinheit 422,
Rücktransformiereinheit 430 und
eine Audiosignalausgabeeinheit 440.
-
Die
Stromeingabeeinheit 410 empfängt den durch die Kodiervorrichtung 300 kodierten
MPEG-2 AAC-Bitstrom über
ein Übertragungsmedium
oder rekonstruiert den Bitstrom aus einem Aufzeichnungsmedium. Die
Stromeingabeeinheit 410 extrahiert dann das kodierte Signal
aus dem Bitstrom.
-
Die
Dekodiereinheit 421 dekodiert das extrahierte kodierte
Signal, welches das Format für
den Strom hat, so dass quantisierte Daten erzeugt werden.
-
Die
Dequantisiereinheit 422 dequantisiert die quantisierten
Daten (die Huffman-kodiert sind, wenn MPEG-2 AAC verwendet wird),
um Spektraldaten im Frequenzbereich zu erzeugen.
-
Die
Rücktransformiereinheit 430 transformiert
die Spektraldaten in die gesampelten Daten im Zeitbereich. Für MPEG-2
AAC wird diese Konvertierung auf Grundlage der Inversen Modifizierten
Diskreten Kosinustransformation (IMDCT) durchgeführt.
-
Die
Audiosignalausgabeeinheit 440 kombiniert Sätze von
gesampelten Daten, die aus der Rücktransformiereinheit 430 ausgegeben
werden, und gibt sie als digitale Audiodaten aus.
-
Bei
MPEG-2 AAC kann die Länge
der gesampelten Daten, die der MDCT-Konvertierung unterliegen, in Übereinstimmung
mit einem eingegebenen Audiosignal verändert werden. Wenn gesampelte
Daten, für
die MDCT durchzuführen
ist, sich aus 256 Samples zusammensetzen, basieren diese gesampelten
Daten auf kurzen Blöcken.
Wenn gesampelte Daten, für
die MDCT durchzuführen
ist, sich aus 2.048 Samples zusammensetzen, basieren die gesampelten
Daten auf langen Blöcken.
Die kurzen und langen Blöcke
repräsentieren
eine Blockgröße.
-
Wenn
digitale Audiodaten bei der Sampling-Frequenz von 44,1 kHz gesampelt
werden und ein kurzer Block angewandt wird, extrahiert die Kodiervorrichtung 300 aus
den gesampelten Audiodaten 128 Samples zusammen mit zwei
Sätzen
von 64 Samples, die unmittelbar vor und nach den 128 Samples gewonnen
wurden, das heißt
insgesamt 256 Samples. Diese zwei Sätze von 64 Samples überlappen
sich mit zwei anderen Sätzen
von 128 Samples, die unmittelbar vor und nach den vorliegenden 128
Samples extrahiert werden. Die extrahierten Audiodaten werden auf
Grundlage der MDCT in Spektraldaten transformiert, die sich aus
256 Samples zusammensetzen, von denen nur die Hälfte, das heißt 128 Samples
quantisiert und kodiert werden. Acht aufeinander folgende Fenster,
die jeweils Spektraldaten aufweisen, die sich aus 128 Samples zusammensetzen,
werden als ein sich aus 1.024 Samples zusammensetzender Datenübertragungsblock betrachtet,
und dieser Datenübertragungsblock
ist eine Einheit, die der nachfolgenden Bearbeitung einschließlich Quantisieren
und Kodieren unterliegt.
-
Auf
diese Weise weist ein Fenster, das auf einem kurzen Block basiert,
128 Samples auf, während
ein Fenster, das auf einem langen Block basiert, 1.024 Samples aufweist.
Wenn Audiodaten eines 22,05 kHz-Wiedergabebandes, die durch kurze
Blöcke
repräsentiert
werden, mit denselben Audiodaten, die durch lange Blöcke repräsentiert
werden, verglichen werden, haben Audiodaten, die durch kurze Blöcke repräsentiert
werden, selbst für
ein Audiosignal, das auf kurzen Zyklen basiert, eine bessere Zeitauflösung, obwohl
Audiodaten, die durch lange Blöcke
repräsentiert
werden, bessere Tonqualität
erzielen, weil mehr Samples verwendet werden, um dieselben Audiodaten
zu repräsentieren.
Das heißt, wenn
ein extrahiertes Audiosignal innerhalb eines Fensters einen Angriff
(einen Nadelimpuls mit hoher Amplitude) aufweist, ist sein Schaden
in langen Blöcken
umfangreicher als in kurzen Blöcken,
weil der Angriff innerhalb eines Fensters, das auf langen Blöcken basiert,
nicht weniger als 1.024 Samples betrifft. Bei den kurzen Blöcken ist
der Schaden des Angriffs jedoch innerhalb eines Fensters, das sich
aus 128 zusammensetzt, beschränkt,
und Spektren in anderen Fenstern sind dem Angriff gegenüber unempfindlich,
was eine genauere Wiedergabe des Originaltons gestattet.
-
Die
Qualität
von Audiodaten, die durch die Kodiervorrichtung 300 kodiert
und an die Dekodiervorrichtung 400 gesendet werden, kann
zum Beispiel durch ein Wiedergabeband der kodierten Audiodaten gemessen
werden. Wenn ein Eingangssignal zum Beispiel bei der Sampling-Frequenz
von 44,1 kHz gesampelt wird, ist 22,05 kHz ein Wiedergabeband dieses
Signals. Wenn das Audiosignal mit dem 22,05 kHz-Wiedergabeband oder
breiteren Wiedergabeband nahe bei 22,05 kHz ohne Qualitätsverlust
in kodierte Audiodaten kodiert wird, und all die kodierten Audiodaten
an die Dekodiervorrichtung gesendet werden, dann können diese
Audiodaten als hochqualitativer Ton wiedergegeben werden. Die Breite
eines Wiedergabebandes wirkt sich jedoch auf die Anzahl Spektraldatenwerten
aus, die sich wiederum auf die Datenmenge für die Übertragung auswirkt. Wenn zum
Beispiel ein Eingangsaudiosignal bei der Sampling-Frequenz von 44,1
kHz gesampelt wird, setzen sich die aus diesem Signal generierten
Spektraldaten aus 1.024 Samples zusammen, die das 22,05 kHz-Wiedergabeband
aufweist. Um das 22,05 kHz-Wiedergabeband
zu sichern, müssen
all die 1.024 Samples der Spektraldaten übertragen werden. Das macht
eine effiziente Kodierung eines Audiosignals erforderlich, um eine
Bitmenge des kodierten Audiosignals auf einen Bereich einer Transferrate eines Übertragungskanals
zu beschränken.
-
Es
ist nicht realistisch, nicht weniger als 1.024 Samples der Spektraldaten über einen Übertragungskanal
mit niedriger Rate zum Beispiel eines tragbaren Telefons zu übertragen.
Das heißt,
wenn all die Spektraldaten mit einem breiten Wiedergabeband bei
einer solch niedrigen Transferrate überfragen werden, während die
Bitmenge der gesamten Spektraldaten für die niedrige Transferrate
angepasst wird, werden die Datenbitmengen, die jedem Frequenzband
zugeordnet sind, extrem klein. Das verstärkt den Effekt des Quantisierungsrauschens, so
dass die Tonqualität
nach dem Kodieren abnimmt.
-
Um
einen solchen Qualitätsverlust
zu verhindern, wird bei vielen Audiosignalkodierverfahren, einschließlich MPEG-2
AAC, eine effiziente Audiosignalübertragung
erreicht, gemäß welcher
jedem Satz von Spektraldaten entsprechende Wertigkeiten zugeordnet
werden, und niedrig bewertete Werte nicht übertragen werden. Bei diesem
Verfahren wird Spektraldaten in einem Niederfrequenzband, das für das menschliche
Gehör wichtig
ist, eine ausreichende Bitmenge zugewiesen, um ihre Kodiergenauigkeit
zu verbessern, während
Spektraldaten in einem Hochfrequenzband als weniger wichtig betrachtet
und deshalb oft nicht übertragen
werden.
-
Obwohl
solche Verfahren bei MPEG-2 AAC verwendet werden, ist jetzt Audiokodiertechnologie, die
eine Wiedergabe mit höherer
Qualität
und höherer
Komprimierungseffizienz erzielt, erforderlich. Mit anderen Worten,
es gibt einen wachsenden Bedarf an Technologie zum Übertragen
eines Audiosignals sowohl in Hoch- als auch Niederfrequenzbändern bei einer
niedrigen Transferrate.
-
Darstellung
der Erfindung
-
In
Anbetracht der vorgenannten Probleme empfängt und kodiert die Kodiervorrichtung
der vorliegenden Erfindung ein Audiosignal und umfasst: eine Transformiereinheit,
die so funktioniert, dass sie einen Teil des empfangenen Audiosignals
in vorbestimmten Zeitintervallen extrahiert und jeden extrahierten
Teil transformiert, um eine Vielzahl von Fensterspektren in jedem Datenübertragungsblockzyklus zu
erzeugen, wobei sich die erzeugten Fensterspektren aus kurzen Blöcken zusammensetzen
und zeigen, wie sich ein Frequenzspektrum im Laufe der Zeit ändert; eine
Beurteilungseinheit, die so funktioniert, dass sie die Fensterspektren
miteinander vergleicht, um zu beurteilen, ob es eine Ähnlichkeit
eines vorbestimmten Grades zwischen den verglichenen Fensterspektren
gibt; eine Austauscheinheit, die so funktioniert, dass sie einen
hochfrequenten Teil eines ersten Fensterspektrums, das eines der
erzeugten Fensterspektren ist, durch einen vorbestimmten Wert ersetzt,
wenn die Beurteilungseinheit beurteilt, dass es die Ähnlichkeit
gibt, wobei das erste Fensterspektrum und ein zweites Fensterspektrum
einen hochfrequenten Teil des zweiten Fensterspektrums, das auch
eines der erzeugten Fensterspektren ist, gemeinsam nutzen; eine
erste Quantisiereinheit, die so funktioniert, dass sie die Vielzahl
von Fensterspektren quantisiert, um eine Vielzahl von quantisierten Fensterspektren
nach dem Betrieb der Austauscheinheit zu erzeugen; eine erste Kodiereinheit,
die so funktioniert, dass sie die quantisierten Fensterspektren
kodiert, um erste kodierte Daten zu erzeugen; und eine Ausgabeeinheit,
die so funktioniert, dass sie die erzeugten ersten kodierten Daten
ausgibt.
-
Bei
der vorgenannten Vielzahl von Fensterspektren, die sich aus kurzen
Blöcken
zusammensetzen, die durch die Transformiereinheit in jedem Datenübertragungsblockzyklus
erzeugt wurden, ist es wahrscheinlich, dass benachbarte Fensterspektren einander ähnlich sind.
Wenn die Beurteilungseinheit beurteilt, dass es eine Ähnlichkeit
zwischen dem ersten und dem zweiten Fensterspektrum gibt, wird ein hochfrequenter
Teil des ersten Fensterspektrums nicht quantisiert und kodiert.
Stattdessen wird dieser hochfrequente Teil durch einen hochfrequenten
Teil des zweiten Fensterspektrums repräsentiert. Genauer gesagt, wird
der hochfrequente Teil des ersten Fensterspektrums durch vorbestimmte
Werte ersetzt. Wenn zum Beispiel Werte "0" als
die vorbestimmten Werte verwendet werden, werden Quantisier- und
Kodieroperationen für
diesen hochfrequenten Teil vereinfacht. Außerdem kann die Bitmenge des
hochfrequenten Teils stark verringert werden.
-
Eine
Dekodiervorrichtung, die mit der vorgenannten Kodiervorrichtung
verwendet werden kann, empfängt
und dekodiert kodierte Daten, die ein Audiosignal repräsentieren.
Diese kodierten Daten weisen erste kodierte Daten in einem ersten
Bereich auf. Die Dekodiervorrichtung umfasst: eine erste Dekodiereinheit,
die so funktioniert, dass sie die ersten kodierten Daten in dem
ersten Bereich dekodiert, um erste dekodierte Daten zu erzeugen;
eine erste Dequantisiereinheit, die so funktioniert, dass sie die
ersten dekodierten Daten dequantisiert, um eine Vielzahl von Fensterspektren
in jedem Datenübertragungsblockzyklus
zu erzeugen, wobei sich die erzeugten Fensterspektren aus kurzen
Blöcken
zusammensetzen und zeigen, wie sich ein Frequenzspektrum im Laufe
der Zeit verändert;
eine Beurteilungseinheit, die so funktioniert, dass sie (a) die
erzeugten Fensterspektren überwacht,
um ein erstes Fensterspektrum zu finden, dessen hochfrequenter Teil
sich aus vorbestimmten Werten zusammensetzt und (b) beurteilt, dass
der hochfrequente Teil des ersten Fensterspektrums aus einem hochfrequenten
Teil eines zweiten Fensterspektrums, das in der Vielzahl von Fensterspektren
enthalten ist, wieder zu erschaffen ist; eine zweite Dequantisiereinheit,
die so funktioniert, dass sie (a) den hochfrequenten Teil des zweiten
Fensterspektrums von der ersten Dequantisiereinheit erhält, (b)
den erhaltenen hochfrequenten Teil dupliziert, (c) den duplizierten
hochfrequenten Teil mit dem ersten Fensterspektrum assoziiert und
(d) den duplizierten hochfrequenten Teil ausgibt; und eine Audiosignalausgabeeinheit,
die so funktioniert, dass sie (a) den duplizierten hochfrequenten
Teil von der zweiten Dequantisiereinheit und das erste Fensterspektrum
von der ersten Dequantisiereinheit erhält, (b) den hochfrequenten
Teil des ersten Fensterspektrums durch den duplizierten hochfrequenten Teil
ersetzt, (c) das erste Fensterspektrum, das den ersetzten hochfrequenten
Teil aufweist, in ein Audiosignal in einem Zeitbereich transformiert
und (d) das Audiosignal ausgibt.
-
Die
vorgenannte Dekodiervorrichtung empfängt mindestens einen hochfrequenten
Teil eines Fensterspektrums in jedem Datenübertragungsblockzyklus, dupliziert
den hochfrequenten Teil in Übereinstimmung
mit der Beurteilung durch die Beurteilungseinheit und verwendet
den duplizierten hochfrequenten Teil als einen hochfrequenten Teil
anderer Fensterspektren. Folglich ist die vorliegende Dekodiervorrichtung
in der Lage, Ton im Hochfrequenzband mit höherer Qualität wiederzugeben
als eine herkömmliche Dekodiervorrichtung.
-
Wenn
die Beurteilungseinheit der Kodiervorrichtung beurteilt, dass die Ähnlichkeit
besteht, kann die Austauscheinheit hier auch einen niederfrequenten
Teil des ersten Fensterspektrums durch einen vorbestimmten Wert
ersetzen.
-
Wenn
verschiedene Fensterspektren sich zu dem vorbestimmten Grad einander ähnlich sind,
ersetzt die vorgenannte Kodiervorrichtung nicht nur den hochfrequenten
Teil sondern auch den niederfrequenten Teil eines der Fensterspektren
durch einen vorbestimmten Wert. Wenn der vorbestimmte Wert zum Beispiel "0" ist, werden die Quantisier- und Kodieroperationen
für die
ersetzten Teile vereinfacht. Außerdem
kann die Bitmenge resultierender kodierter Daten um die Bitmenge
des niederfrequenten Teils sowie des durch die Werte "0" ersetzten hochfrequenten Teils stark
reduziert werden.
-
Die
Dekodiervorrichtung, die mit der vorgenannten Kodiervorrichtung
verwendet wird, kann wie folgt sein. Beim Auffinden eines Fensterspektrums, das
sich aus Datensätzen
zusammensetzt, die einen vorbestimmten Wert haben, kann die Beurteilungseinheit
beurteilen, dass der hochfrequente Teil des gefundenen Fensterspektrums
aus dem hochfrequenten Teil des zweiten Fensterspektrums wieder zu
erschaffen ist. In Übereinstimmung
mit dem Beurteilungsergebnis durch die Beurteilungseinheit kann die
zweite Dequantisiereinheit das gesamte zweite Fensterspektrum, einschließlich sowohl
des hoch- als auch des niederfrequenten Teils, von der ersten Dequantisiereinheit
erhalten, das erhaltene zweite Fensterspektrum duplizieren, das
duplizierte zweite Fensterspektrum mit dem gefundenen Fensterspektrum
assoziieren und das duplizierte zweite Fensterspektrum ausgeben.
Die Audiosignalausgabeeinheit kann das ganze gefundene Fensterspektrum
durch das duplizierte zweite Fensterspektrum ersetzen, das ersetzte
Fensterspektrum in ein Audiosignal in dem Zeitbereich transformieren
und das Audiosignal ausgeben.
-
In
jedem Datenübertragungsblockzyklus empfängt die
vorgenannte Dekodiervorrichtung mindestens ein Fensterspektrum,
einschließlich
sowohl des hoch- als auch des niederfrequenten Teils, und dupliziert
das empfangene Fensterspektrum in Übereinstimmung mit dem Beurteilungsergebnis
durch die Beurteilungseinheit, um andere Fensterspektren zu rekonstruieren.
Die vorliegende Dekodiervorrichtung ist in der Lage, aus dem empfangenen
hochfrequenten Teil Ton wiederzugeben, der im Hochfrequenzband eine
höhere
Qualität
als eine herkömmliche
Dekodiervorrichtung aufweist, obwohl ein gewisser Fehler im niederfrequenten
Teil entsprechend den vorbestimmten Kriterien, die für die Beurteilung
durch die Beurteilungseinheit verwendet werden, verursacht werden
kann.
-
Für die vorgenannte
Kodiervorrichtung kann sich jedes aus der Vielzahl von Fensterspektren
aus Datensätzen
zusammensetzen. Die Kodiervorrichtung kann weiterhin umfassen: eine
zweite Quantisiereinheit, die so funktioniert, dass sie gewisse
Datensätze
in der Nähe
einer Spitze in jedem Fensterspektrum, das in die erste Quantisiereinheit
eingegeben wird, mit einem vorbestimmten Normierungsfaktor quantisiert,
wobei die erste Quantisiereinheit vor dem Quantisieren durch die
zweite Quantisiereinheit die gewissen Datensätze quantisiert, um Sätze von quantisierten
Daten zu erzeugen, die einen vorbestimmten Wert haben; und eine
zweite Kodiereinheit, die so funktioniert, dass sie die Sätze von
quantisierten Daten kodiert, um zweite kodierte Daten zu erzeugen.
Die Ausgabeeinheit kann die zweiten kodierten Daten ebenso wie die
ersten kodierten Daten ausgeben.
-
Wenn
die vorgenannte erste Quantisiereinheit aus gewissen Datensätzen in
der Nähe
einer Spitze in einem Fensterspektrum Sätze von quantisierten Daten
erzeugt, die denselben vorbestimmten Wert haben, quantisiert die
zweite Quantisiereinheit die gewissen Datensätze durch Verwendung eines vorbestimmten
Normierungsfaktors. Folglich erzeugt die zweite Quantisiereinheit
Sätze von
quantisierten Daten, deren Werte nicht nacheinander denselben vorbestimmten
Wert haben. Das heißt,
die Quantisierung durch die zweite Quantisiereinheit kann einen Fehler
korrigieren, der in Sätzen
von Spektraldaten in der Nähe
einer Spitze in einem Fensterspektrum verursacht wird.
-
Hier
kann die Dekodiervorrichtung, die mit der vorgenannten Kodiervorrichtung
verwendet wird, wie folgt sein. Die kodierten Daten, die durch die
Dekodiervorrichtung empfangen werden, umfassen auch zweite kodierte
Daten, die durch Quantisieren eines Teils eines Fensterspektrums
mit einem vorbestimmten Normierungsfaktor, der sich von einem Normierungsfaktor
unterscheidet, der zum Quantisieren desselben Fensterspektrums in
den ersten kodierten Daten verwendet wurde, erzeugt wurden. Die
Dekodiervorrichtung kann weiterhin umfassen: eine zweite Trenneinheit,
die so funktioniert, dass sie die zweiten kodierten Daten von einem
zweiten Bereich der empfangenen kodierten Daten trennt; und eine
zweite Dekodiereinheit, die so funktioniert, dass sie die getrennten
zweiten kodierten Daten dekodiert, um zweite dekodierte Daten zu
erhalten. Die zweite Dequantisiereinheit kann auch (a) die Vielzahl
von Fensterspektren überwachen,
die durch die erste Dequantisiereinheit erzeugt werden, um einen
Teil eines Fensterspektrums zu finden, der nacheinander vorbestimmte
Werte aufweist, (b) einen Teil spezifizieren, der dem gefundenen
Teil entspricht und den die zweiten dekodierten Daten aufweisen,
(c) den spezifizierten Teil unter Verwendung des vorbestimmten Normierungsfaktors
dequantisieren, um einen dequantisierten Teil zu erhalten, der sich
aus einer Vielzahl von Datensätzen
zusammensetzt. Die Audiosignalausgabeeinheit kann auch (a) den Teil,
der durch die zweite Dequantisiereinheit gefunden wird, durch die Vielzahl
von Datensätzen
ersetzen, (b) das Fensterspektrum, das die Sätze von Spektraldaten aufweist, in
ein Audiosignal in dem Zeitbereich transformieren, und (c) das Audiosignal
ausgeben.
-
Wenn
die erste Quantisiereinheit der Kodiervorrichtung aus gewissen Datensätzen in
der Nähe einer
Spitze in einem Fensterspektrum Sätze von quantisierten Daten
erzeugt, die denselben vorbestimmten Wert haben, rekonstruiert die
zweite Dequantisiereinheit der Dekodiervorrichtung grob die gewissen
Datensätze.
Das heißt,
die zweite Dequantisiereinheit korrigiert einen Fehler, der in Spektraldatensätzen in
der Nähe
einer Spitze eines Fensterspektrums verursacht wurde. Folglich ist
die vorliegende Dekodiervorrichtung in der Lage, Ton in der Nähe einer
Spitze eines Fensterspektrums über
das gesamte Wiedergabeband genauer wiederzugeben als eine herkömmliche
Dekodiervorrichtung.
-
Kurze Beschreibung der
Zeichnungen
-
1 ist
ein Blockdiagramm, das Konstruktionen der herkömmlichen Kodier- und Dekodiervorrichtungen
zeigt, die der herkömmlichen
MPEG-2 AAC entsprechen.
-
2 ist
ein Blockdiagramm, das Konstruktionen einer Kodiervorrichtung und
einer Dekodiervorrichtung der vorliegenden Erfindung zeigt.
-
3A und 3B zeigen
den Prozess, in dem die in 2 gezeigte
Kodiervorrichtung ein Audiosignal transformiert.
-
4 zeigt
ein Beispiel wie eine in 2 gezeigte Beurteilungseinheit
höherfrequente
Spektraldaten als durch andere Spektraldaten repräsentiert beurteilt.
-
5A, 5B und 5C zeigen
Datenstrukturen eines Bitstroms, in die eine in 3 gezeigte
Stromausgabeeinheit ein zweites kodiertes Signal (Informationen über gemeinsame
Nutzung) platziert
-
6A, 6B und 6C zeigen
andere Datenstrukturen eines Bitstroms, in die die Stromausgabeeinheit
das zweite kodierte Signal platziert.
-
7 ist
ein Ablaufdiagramm, das die Operation zeigt, die durch eine in 2 gezeigte
erste Quantisiereinheit, ausgeführt
wird, um einen Skalierungsfaktor zu bestimmen.
-
8 ist
ein Ablaufdiagramm, das eine Beispieloperation zeigt, die durch
die Beurteilungseinheit ausgeführt
wird, um gemeinsam genutzte Spektraldaten innerhalb eines Datenübertragungsblocks zu
beurteilen.
-
9 ist
ein Ablaufdiagramm, das eine Beispieloperation zeigt, die durch
eine in 2 gezeigte zweite Dequantisiereinheit
ausgeführt
wird, um höherfrequente
Spektraldaten zu duplizieren.
-
10 zeigt
eine Wellenform von Spektraldaten als ein spezifisches Beispiel
von Unterinformationen (Skalierungsfaktoren), die durch die Beurteilungseinheit
für jedes
Fenster, das auf kurzen Blöcken
basiert, erzeugt werden.
-
11 ist
ein Ablaufdiagramm, das die Operation zeigt, die durch die Beurteilungseinheit
ausgeführt
wird, um die Unterinformationen zu erzeugen.
-
12 ist
ein Blockdiagramm, das Konstruktionen einer Kodiervorrichtung und
einer Dekodiervorrichtung der zweiten Ausführungsform der vorliegenden
Erfindung zeigt.
-
13 zeigt ein Beispiel, wie eine in 12 gezeigte
Beurteilungseinheit Spektraldaten als durch andere Spektraldaten
repräsentiert
beurteilt.
-
14 ist ein Blockdiagramm, das Konstruktionen einer
Kodiervorrichtung und einer Dekodiervorrichtung der dritten Ausführungsform
der vorliegenden Erfindung zeigt.
-
15 ist ein Blockdiagramm, das andere Konstruktionen
einer Kodiervorrichtung und einer Dekodiervorrichtung der dritten
Ausführungsform zeigt.
-
16 ist eine Tabelle, die den Unterschied bei den
Quantisierungsergebnissen zwischen der Kodiervorrichtung der vorliegenden
Erfindung und der herkömmlichen
Kodiervorrichtung unter Verwendung von spezifischen Werten zeigt.
-
17A, 17B und 17C zeigen, wie die Kodiervorrichtung Fehler in
quantisierten Daten in der Nähe
der Spitze als ein Beispiel korrigiert.
-
Bevorzugte Ausführungsform
der Erfindung
-
Erste Ausführungsform
-
Nachfolgendes
beschreibt spezifisch eine Kodiervorrichtung 100 und eine
Dekodiervorrichtung 200 als Ausführungsformen der vorliegenden
Erfindung. 2 ist ein Blockdiagramm, das
Konstruktionen der Kodiervorrichtung 100 und der Dekodiervorrichtung 200 zeigt.
-
Kodiervorrichtung 100
-
Diese
Kodiervorrichtung 100 verringert wirksam die Bitmenge eines
kodierten Audiobitstroms, bevor sie ihn überträgt. Wenn die vorliegende Kodiervorrichtung 100 und
eine herkömmliche
Kodiervorrichtung kodierte Audiobitströme derselben Bitmenge erzeugen,
kann ein Audiobitstrom, der durch die vorliegende Kodiervorrichtung 100 erzeugt
wird, durch die Dekodiervorrichtung 200 als ein Audiosignal
mit höherer
Qualität
rekonstruiert werden, als ein Audiobitstrom, der durch die herkömmliche
Kodiervorrichtung erzeugt wird. Konkret ausgedrückt, die Kodiervorrichtung 100 verringert
die Bitmenge des kodierten Audiobitstroms wie folgt. Für kurze
Blöcke überträgt die Kodiervorrichtung 100 acht
Blöcke
(d.h. Fenster) zusammen, wobei sich jedes Fenster aus 128 Samples
zusammensetzt. Wenn verschiedene Spektraldatensätze im höheren Frequenzband über zwei
oder mehr Fenster ähnlich
sind, lässt
die Kodiervorrichtung 100 einen der Spektraldatensätze andere ähnliche
Spektraldatensätze
repräsentieren,
um ihre Bitmenge zu verringern. Nachfolgend werden Spektraldaten
im höheren
Frequenzband "höherfrequente Spektraldaten" genannt. Die Kodiervorrichtung 100 umfasst
eine Audiosignaleingabeeinheit 110, eine Transformiereinheit 120,
eine erste Quantisiereinheit 131, eine erste Kodiereinheit 132,
eine zweite Kodiereinheit 134, eine Beurteilungseinheit 137 und
eine Stromausgabeeinheit 140.
-
Die
Audiosignaleingabeeinheit 110 empfängt digitale Audiodaten wie
digitale MPEG-2 AAC-Audiodaten. Diese digitalen Audiodaten werden
bei einer Sampling-Frequenz
von 44,1 kHz gesampelt. Aus diesen digitalen Audiodaten extrahiert
die Audiosignaleingabeeinheit 110 128 Samples in einem
Zyklus von etwa 2,9 Millisekunden (msec), und gewinnt zusätzlich zwei
Sätze von
64 Samples, wovon ein Satz unmittelbar den extrahierten 128 Samples
vorangeht und der andere Satz den 128 Samples unmittelbar folgt.
Diese zwei Sätze
von 64 Samples überlappen sich
mit zwei anderen Sätzen
von 128 Samples, die unmittelbar vor und nach den vorliegenden 128 Samples
extrahiert werden. Dementsprechend werden insgesamt 256 Samples
durch Extraktion gewonnen. (Nachfolgend werden digitale Audiodaten, die
so durch die Audiosignaleingabeeinheit 112 gewonnen wurden, "gesampelte Daten" genannt.)
-
Wie
beim herkömmlichen
Verfahren transformiert die Transformiereinheit 120 die
gesampelten Daten im Zeitbereich in Spektraldaten im Frequenzbereich.
Gemäß MPEG-2
AAC wird MDCT an gesampelten Daten, die sich aus 256 Samples zusammensetzen,
durchgeführt,
so dass Spektraldaten, die sich aus 256 Samples basierend auf kurzen Blöcken zusammensetzen,
erzeugt werden. Die Werteverteilung der im Ergebnis der MDCT-Konvertierung
generierten Spektraldaten ist symmetrisch, und daher wird nur die
Hälfte
(d.h. 128 Samples) der 256 Samples für die nachfolgenden Operationen
verwendet. Eine solche, 128 Samples umfassende Einheit wird nachfolgend
ein Fenster genannt. Acht Fenster, das heißt 1.024 Samples bilden einen
Datenübertragungsblock.
-
Die
Transformiereinheit 113 teilt dann Spektraldaten in jedem
Fenster in eine Vielzahl von Gruppen auf, von denen jede mindestens
ein Sample aufweist (oder praktisch ausgedrückt, Samples, deren Gesamtanzahl
einem Vielfachen von Vier entspricht). Jede solche Gruppe wird als
ein Skalierungsfaktorband bezeichnet. Für MPEG-2 AAC wird die Gesamtanzahl
von Skalierungsfaktorbändern,
die ein Datenübertragungsblock
aufweist, basierend auf der Blockgröße und der Sampling-Frequenz definiert, und
die Anzahl der Spektraldatensamples, die jedes Skalierungsfaktorband
aufweist, wird ebenfalls basierend auf der Frequenz definiert. Samples
in den niedrigeren Frequenzbändern
werden feiner in Gruppen von Skalierungsfaktorbändern aufgeteilt, die jeweils
weniger Samples aufweisen, wohingegen Samples in den höheren Frequenzbändern grober
in Gruppen von Skalierungsfaktorbändern aufgeteilt werden, die
jeweils mehr Samples aufweisen. Wenn der kurze Block und die Sampling-Frequenz
von 44,1 kHz verwendet werden, umfasst jedes Fenster 14 Skalierungsfaktorbänder, und
128 Samples in jedem Fenster repräsentieren ein 22,05 kHz-Wiedergabeband.
-
3A und 3B zeigen
den Prozess der Audiosignalkonvertierung durch die in 2 gezeigte
Kodiervorrichtung 100. 3A zeigt
eine Wellenform von gesampelten Daten im Zeitbereich, die durch
die Audiosignaleingabeeinheit 110 in Einheiten von kurzen
Blöcken
extrahiert werden. 3B zeigt eine Wellenform der
Spektraldaten entsprechend einem Datenübertragungsblock, bei denen
MDCT durch die Transformiereinheit 120 durchgeführt wurde.
Die vertikale und die horizontale Achse dieses Graphen repräsentieren
Spektralwerte beziehungsweise Frequenzen. Obwohl die gesampelten
Daten und die Spektraldaten in 3A und 3B durch die
analogen Wellenformen repräsentiert
werden, sind sie eigentlich digitale Signale. Dies gilt für Wellenformen,
die in nachfolgenden Figuren gezeigt werden. Es ist auch zu beachten,
dass Spektraldaten, bei denen MDCT durchgeführt wurde, wie etwa in 3B gezeigt,
Minuswerte annehmen können,
obwohl 3B zur einfacheren Erläuterung
die nur durch Pluswerte gebildete Wellenform zeigt.
-
Die
Audiosignaleingabeeinheit 110 empfängt das digitale Audiosignal
wie in 3A gezeigt, extrahiert 128 Samples
aus dem digitalen Audiosignal und gewinnt zusätzlich zwei Sätze von
64 Samples, von denen ein Satz den extrahierten 128 Samples unmittelbar
vorangeht und der andere Satz denselben 128 Samples unmittelbar
folgt. Diese zwei Sätze
von 64 Samples überlappen
sich mit einem Teil von zwei anderen Sätzen von 128 Samples, die unmittelbar
vor und nach den 128 Samples, die durch die aktuelle Extraktion
extrahiert wurden, extrahiert werden. Die Audiosignaleingabeeinheit 110 gewinnt
deshalb insgesamt 256 Samples und gibt sie als gesampelte Daten
an die Transformiereinheit 120 aus. Die Transformiereinheit 120 transformiert
diese gesampelten Daten gemäß MDCT,
um Spektraldaten zu erzeugen, die sich aus 256 Samples zusammensetzen.
Da gemäß MDCT transformierte
Spektraldaten ein symmetrisches Spektrum bilden, wird nur die Hälfte der
256 Samples, d.h. 128 Samples, in nachfolgenden Operationen bearbeitet. 3B zeigt
Spektraldaten, die auf diese Weise generiert wurden und sich aus
acht Fenstern, die einem Datenübertragungsblock
entsprechen, zusammensetzen. Jedes Fenster umfasst 128 Samples,
die annähernd
aller 2,9 msec generiert werden. Das heißt, 128 Samples in jedem Fenster
in 3B repräsentieren
die Bitmenge (d.h. die Größe) von
Frequenzkomponenten des Audiosignals, das sich aus 128 Samples zusammensetzt,
die in 3A als Spannung gezeigt werden.
-
Die
Beurteilungseinheit 137 führt eine Beurteilung von Spektraldaten
in jedem der acht Fenster, die aus der Transformiereinheit 120 ausgegeben werden,
wie folgt durch. Die Beurteilungseinheit 137 beurteilt,
ob Spektraldaten im höheren
Frequenzband in einem Fenster durch andere höherfrequente Spektraldaten
in einem anderen Fenster repräsentiert
werden können.
Wenn die Beurteilung dies ergibt, ändert die Beurteilungseinheit 137 Werte
von höherfrequenten
Spektraldaten in einem der zwei Fenster auf "0".
Diese Beurteilung kann zum Beispiel durch Spezifizieren einer Energiedifferenz
zwischen zwei Spektraldatensätzen
in zwei benachbarten Fenstern erfolgen. Wenn die spezifizierte Energiedifferenz
kleiner als ein vorbestimmter Schwellenwert ist, beurteilt die Beurteilungseinheit 137,
dass Spektraldaten in einem der zwei Fenster durch den anderen Spektraldatensatz
in dem anderen vorhergehenden Fenster repräsentiert werden können. Danach generiert
die Beurteilungseinheit 137 für jedes Fenster ein Flag, das
anzeigt, ob Spektraldaten in einem gegenwärtig beurteilten Fenster durch
andere vorhergehende Spektraldaten in einem anderen vorhergehenden
Fenster repräsentiert
werden können.
Die Beurteilungseinheit 137 generiert dann Informationen über die gemeinsame
Nutzung, die die generierten Flags umfassen, um zu zeigen, welches
Fenster Spektraldaten gemeinsam mit einem anderen Fenster nutzen
kann.
-
Die
erste Quantisiereinheit 131 empfängt die Spektraldaten von der
Beurteilungseinheit 137 und bestimmt einen Skalierungsfaktor
für jedes
Skalierungsfaktorband. Die erste Quantisiereinheit 131 normiert
und quantisiert dann Spektraldaten in jedem Skalierungsfaktorband
unter Verwendung eines ermittelten Skalierungsfaktors, um quantisierte
Daten zu erzeugen und gibt die quantisierten Daten und die verwendeten
Skalierungsfaktoren an die erste Kodiereinheit 132 aus.
Genauer gesagt, die erste Quantisiereinheit 131 ermittelt
einen geeigneten Skalierungsfaktor für jedes Skalierungsfaktorband,
so dass ein resultierender kodierter Datenübertragungsblock eine Bitmenge
innerhalb eines Bereichs einer Transferrate eines Übertragungskanals
aufweist.
-
Die
erste Kodiereinheit 132 empfängt 1.024 Samples der quantisierten
Daten und die für
das Quantisieren verwendeten Skalierungsfaktoren und kodiert sie
gemäß der Huffman-Kodierung,
um ein erstes kodiertes Signal in einem vorbestimmten Stromformat
zu erzeugen. Zum Kodieren der Skalierungsfaktoren berechnet die
erste Kodiereinheit 132 Wertedifferenzen der Skalierungsfaktoren
und kodiert die errechneten Differenzen und einen Skalierungsfaktor,
der im ersten Skalierungsfaktorband innerhalb eines Datenübertragungsblocks
verwendet wird.
-
Die
zweite Kodiereinheit 134 empfängt die Informationen über die
gemeinsame Nutzung von der Beurteilungseinheit 137 und
kodiert sie nach Huffman, um ein zweites kodiertes Signal in einem
vorbestimmten Stromformat zu erzeugen.
-
Die
Stromausgabeeinheit 140 empfängt das erste kodierte Signal
von der ersten Kodiereinheit 132, fügt dem ersten kodierten Signal
Kopfinformationen und weitere erforderliche Sekundärinformationen
bei und transformiert es in einen MPEG-2-AAC-Bitstrom. Die Stromausgabeeinheit 140 empfängt auch
das zweite kodierte Signal von der zweiten Kodiereinheit 134 und
platziert es in einen Bereich des vorgenannten MPEG-2-AAC-Bitstroms,
der entweder durch eine herkömmliche
Dekodiervorrichtung ignoriert wird oder für den keine Operationen definiert
sind. Dieser Bereich kann insbesondere Füllelement oder Datenstromelement (DSE)
sein.
-
Der
Bitstrom, der von der Kodiervorrichtung 100 ausgegeben
wird, wird über
ein Kommunikationsnetz für
tragbare Telefone und das Internet und ein Übertragungsmedium wie etwa
eine Rundfunkwelle eines Kabel-TV und eines digitalen TV an die Dekodiervorrichtung 200 gesendet.
Dieser Bitstrom kann auch auf einem Aufzeichnungsmedium wie etwa
einer optischen Platte, einschließlich einer CD und einer DVD,
einem Halbleiter und einer Festplatte aufgezeichnet werden.
-
Bei
der eigentlichen MPEG-2 AAC können andere
Verfahren zusätzlich
verwendet werden, wozu Tools wie etwa Verstärkungsregelung, zeitliche Formung
des Rauschspektrums (TNS), ein psychoakustisches Modell, M/S (Mid/Side)-Stereo,
Intensitätsstereo,
Vorhersage und andere wie etwa ein Bitreservoir und ein Verfahren
zum Ändern
der Blockgröße gehören.
-
Dekodiervorrichtung 200
-
Die
Dekodiervorrichtung 200 empfängt den kodierten Bitstrom
und rekonstruiert digitale Audiodaten in einem breiten Frequenzband
aus dem Bitstrom gemäß den Informationen über die
gemeinsame Nutzung. Die Dekodiervorrichtung 200 umfasst
eine Stromeingabeeinheit 210, eine erste Dekodiereinheit 221,
eine erste Dequantisiereinheit 222, eine zweite Dekodiereinheit 223,
eine zweite Dequantisiereinheit 224, eine Integriereinheit 225,
eine Rücktransformiereinheit 230 und
eine Audiosignalausgabeeinheit 240.
-
Die
Stromeingabeeinheit 210 empfängt den kodierten Bitstrom
von der Kodiervorrichtung 100 entweder über ein Aufzeichnungsmedium
oder ein Übertragungsmedium,
einschließlich
eines Kommunikationsnetzwerks für
tragbare Telefone, des Internets, eines Übertragungskanals eines Kabel-TV
und einer Rundfunkwelle. Die Stromeingabeeinheit 210 extrahiert
dann das erste kodierte Signal aus einem Bereich des kodierten Bitstroms,
der durch die herkömmliche
Dekodiervorrichtung 400 dekodiert wird. Die Stromeingabeeinheit 210 extrahiert
auch das zweite kodierte Signal (Informationen über gemeinsame Nutzung) aus
einem anderen Bereich desselben Bitstroms, der entweder durch die
herkömmliche Dekodiervorrichtung 400 ignoriert
wird oder für
den keine Operationen definiert sind. Die Stromeingabeeinheit 210 gibt
das erste und das zweite kodierte Signal an die erste und die zweite
Dekodiervorrichtung 221 beziehungsweise 223 aus.
-
Die
erste Dekodiereinheit 221 empfängt das erste kodierte Signal,
das heißt
Huffman-kodierte Daten in dem Stromformat, dekodiert es in quantisierte Daten
und gibt die quantisierten Daten aus.
-
Die
zweite Dekodiereinheit 223 empfängt das zweite kodierte Signal,
dekodiert es in die Informationen über die gemeinsame Nutzung
und gibt die Informationen über
die gemeinsame Nutzung aus.
-
Unter
Bezugnahme auf die Informationen über die gemeinsame Nutzung,
die von der zweiten Dekodiereinheit 223 ausgegebenen werden,
dupliziert die zweite Dequantisiereinheit 224 einen Teil von
Spektraldaten, die durch die erste Dequantisiereinheit 222 ausgegeben
werden und die durch zwei Fenster gemeinsam genutzt werden, und
gibt ihn aus.
-
Die
Integriereinheit 225 integriert zwei Spektraldatensätze, die
aus der ersten und der zweiten Dequantisiereinheit 223 und 224 zusammen
ausgegeben werden. Genauer gesagt, die Integriereinheit 225 empfängt Spektraldaten
aus der ersten Dequantisiereinheit 222 und empfängt auch
Spektraldaten und Bezeichnung von Frequenzen aus der zweiten Dequantisiereinheit 224.
Die Integriereinheit 225 ändert dann Werte der Spektraldaten,
die aus der ersten Dequantisiereinheit 222 empfangen und
durch die vorgenannten Frequenzen spezifiziert werden, in Werfe
der Spektraldaten, die von der zweiten Dequantisiereinheit 224 ausgegeben
werden. Beim Empfang höherfrequenter
Spektraldaten und der Bezeichnung eines Fensters aus der zweiten
Dequantisiereinheit 224 ändert die Integriereinheit 225 in ähnlicher
Weise Werte von höherfrequenten
Spektraldaten, die durch das bezeichnete Fenster spezifiziert und
von der ersten Dequantisiereinheit 222 ausgegeben werden,
in Werte der höherfrequenten
Spektraldaten, die aus der zweiten Dequantisiereinheit 224 empfangen
werden.
-
Die
Rücktransformiereinheit 230 empfängt die
integrierten Spektraldaten von der Integriereinheit und führt IMDCT
an den Spektraldaten im Frequenzbereich in gesampelte Daten, die
sich aus 1.024 Samples zusammensetzen, im Zeitbereich durch.
-
Die
Audiosignalausgabeeinheit 240 stellt sequentiell Sätze von
gesampelten Daten zusammen, die aus der Rücktransformiereinheit 230 ausgegeben werden,
um digitale Audiodaten zu erzeugen und auszugeben.
-
In
der vorliegenden Ausführungsform
repräsentieren
höherfrequente
Spektraldaten in einem Fenster andere höherfrequente Spektraldaten
in einem anderen Fenster von den acht Fenstern, wie vorstehend beschrieben.
Das verringert die Bitmenge von übertragenen
Daten um die Bitmenge von Spektraldaten, die von verschiedenen Fenstern
gemeinsam genutzt werden, während
der Qualitätsverlust
bei der Rekonstruktion von Spektraldaten minimiert wird.
-
4 zeigt
als ein Beispiel, wie höherfrequente
Spektraldaten gemeinsam von verschiedenen Fenstern in Übereinstimmung
mit der Beurteilung durch die Beurteilungseinheit 137 genutzt
werden. Die Spektraldaten, die in dieser Figur gezeigt werden, entsprechen
einem Datenübertragungsblock
und werden aus kurzen Blöcken
wie in 3B generiert. Jedes, in 4 gezeigte
Fenster wird durch eine vertikale punktierte Linie in zwei geteilt, wobei
die linke Hälfte
ein niedrigerfrequentes Wiedergabeband von 0 kHz bis 11,025 kHz
repräsentiert und
die rechte Hälfte
ein höherfrequentes
Wiedergabeband von 11,025 kHz bis 22,05 kHz repräsentiert.
-
Es
ist wahrscheinlich, dass zwei Spektren, die in zwei benachbarten
Fenstern vorliegen, eine ähnliche
Wellenform, wie in 4 gezeigt, annehmen, weil jedes
Fenster in kurzen Zyklen extrahiert wird. In einem solchen Fall
beurteilt die Beurteilungseinheit 137, dass höherfrequente
Spektraldaten in einem der zwei Fenster höherfrequente Spektraldaten in
dem anderen Fenster repräsentieren.
Gehen wir zum Beispiel davon aus, dass Spektren im ersten und zweiten
Fenster ähnlich
sind und dass Spektren in Fenstern vom dritten bis achten Fenster ähnlich sind.
Die Beurteilungseinheit 137 beurteilt dann, dass höherfrequente
Spektraldaten vom ersten und zweiten Fenster gemeinsam genutzt werden
und dass andere höherfrequente
Spektraldaten durch das dritte und nachfolgende Fenster gemeinsam
genutzt werden. In diesem Fall werden Spektraldatensätze innerhalb
von Bereichen, die in der Figur durch Pfeile angegeben werden, übertragen
(sowie quantisiert und kodiert). Andere Sätze von höherfrequenten Spektraldaten
im zweiten Fenster und den Fenstern vom vierten bis achten Fenster
werden nicht übertragen,
und Werte dieser Spektraldatensätze
werden durch die Beurteilungseinheit 137 auf "0" geändert.
-
5A–5C zeigen
Datenstrukturen von kodierten Bitströmen, in die das zweite kodierte
Signal, das Informationen über
die gemeinsame Nutzung aufweist, durch die Stromausgabeeinheit 140 platziert
wird. 5A zeigt Bereiche eines solchen kodierten
Bitstroms, und 5B und 5C zeigen Beispieldatenstrukturen
des MPEG-2-AAC-Bitstroms.
Ein schattierter Teil, der in 5B gezeigt wird,
ist der Füllelementbereich,
der mit "0" gefüllt wird,
um die Datenlänge
des Bitstroms anzupassen. Ein schattierter Teil, der in 5C gezeigt
wird, ist der DSE-Bereich, für
den nur eine physische Struktur, wie etwa eine Bitlänge, für seine
zukünftige
Erweiterung gemäß MPEG-2
AAC definiert wird. Wie in 5A gezeigt,
werden den Informationen über
die gemeinsame Nutzung, die durch die zweite Kodiereinheit 134 kodiert
werden, ID(Identifikation)-Informationen gegeben und in einen Bereich
des Bitstroms, wie etwa Füllelement
und DSE, platziert.
-
Wenn
die herkömmliche
Dekodiervorrichtung 400 den Bitstrom einschließlich des
zweiten kodierten Signals im Füllelementbereich
empfängt,
erkennt die Dekodiervorrichtung 400 das zweite kodierte
Signal nicht als ein zu dekodierendes Signal und ignoriert es nur.
Beim Empfang des Bitstroms einschließlich des zweiten kodierten
Signals im DSE-Bereich kann die herkömmliche Dekodiervorrichtung 400 das
zweite kodierte Signal lesen, aber sie führt keine Operationen in Reaktion
auf dieses Lesen aus, weil keine Operationen in Reaktion auf das
zweite kodierte Signal für
die Dekodiervorrichtung 400 definiert sind. Durch Einfügen des
zweiten kodierten Signals in einen der vorgenannten Bereiche des
Bitstroms dekodiert die herkömmliche
Dekodiervorrichtung 400, die den Bitstrom, der durch die Kodiervorrichtung 100 kodiert
wurde, empfängt,
das zweite kodierte Signal nicht als kodiertes Audiosignal. Dadurch
wird verhindert, dass die herkömmliche Dekodiervorrichtung 400 ein
Rauschen erzeugt, das aus dem fehlgeschlagenen Dekodieren des zweiten kodierten
Signals resultiert. Folglich kann selbst die herkömmliche
Dekodiervorrichtung 400 Ton allein aus dem ersten kodierten
Signal ohne irgendeine Störung
in herkömmlicher
Weise wiedergeben.
-
Der
Füllelementbereich,
in den das zweite kodierte Signal platziert werden kann, wird ursprünglich mit
Kopfinformationen, wie in 5A gezeigt, versehen.
Diese Kopfinformationen umfassen Informationen wie etwa Füllelement-ID,
die dieses Füllelement
identifiziert, und Daten, die eine Bitlänge des gesamten Füllelements
spezifizieren. In ähnlicher Weise
wird auch der DSE-Bereich, in den das zweite kodierte Signal platziert
werden kann, mit Kopfinformationen, wie in 5A gezeigt,
versehen. Diese Kopfinformationen umfassen Informationen, wie etwa
DSE-ID, die angeben,
das die nachfolgenden Daten das DSE ist, und Daten, die eine Bitlänge des gesamten
DSE spezifizieren. Die Stromausgabeeinheit 140 platziert
das zweite kodierte Signal, das die ID-Informationen und die Informationen über die
gemeinsame Nutzung aufweist, in einen Bereich, der dem Bereich folgt,
der die Kopfinformationen speichert.
-
Die
ID-Informationen zeigen, ob die nachfolgenden kodierten Informationen
durch die Kodiervorrichtung 100 der vorliegenden Erfindung
generiert werden. Zum Beispiel geben die als "0001" gezeigten ID-Informationen
an, dass die nachfolgenden Informationen die Informationen über die
gemeinsame Nutzung sind, die durch die Kodiervorrichtung 100 kodiert
wurden. Andererseits geben die als "1000" gezeigten
ID-Informationen an, dass die nachfolgenden Informationen nicht
durch die Kodiervorrichtung 100 kodiert werden. Wenn die
ID-Informationen als "0001" gezeigt werden,
lässt die
Dekodiervorrichtung 200 der vorliegenden Erfindung die
zweite Dekodiereinheit 223 die nachfolgenden kodierten
Informationen dekodieren, um die Informationen über die gemeinsame Nutzung
zu erhalten, und rekonstruiert höherfrequente
Spektraldaten in jedem Fenster in Übereinstimmung mit den erhaltenen
Informationen über
die gemeinsame Nutzung. Wenn die ID-Informationen jedoch als "1000" gezeigt werden,
ignoriert die Dekodiervorrichtung 200 die nachfolgenden
kodierten Informationen. Solche ID-Informationen werden in das zweite
kodierte Signal platziert, um das zweite kodierte Signal der vorliegenden
Erfindung deutlich von anderen, auf der Grundlage anderer Standards
kodierter Informationen zu unterscheiden, die in Bereiche, wie etwa
Füllelement
und DSE, eingefügt
werden können,
die durch die herkömmliche Dekodiervorrichtung 400 nicht
dahingehend erkannt werden, dass sie ein zu dekodierendes kodiertes
Audiosignal speichern.
-
Die
vorgenannten ID-Informationen sind auch insofern nützlich,
als dass sie verwendet werden können,
um der Dekodiervorrichtung 200 mitzuteilen, dass das zweite
kodierte Signal außer
den Informationen über
die gemeinsame Nutzung auch andere zusätzliche Informationen (wie
etwa Unterinformationen) basierend auf der vorliegenden Erfindung aufweist,
wenn solche zusätzlichen
Informationen, wie in den nachfolgenden Ausführungsformen beschrieben, bereitgestellt
werden. Die ID-Informationen
müssen
nicht an den Anfang des zweiten kodierten Signals gestellt werden,
und können
in einen Bereich platziert werden, der entweder den kodierten Informationen über die
gemeinsame Nutzung folgt oder ein Teil der Informationen über die
gemeinsame Nutzung ist.
-
6A–6C zeigen
andere Beispieldatenstrukturen des kodierten Audiobitstroms, in
den die Stromausgabeeinheit 140 das erste und das zweite
kodierte Signal platziert. Die in diesen Figuren gezeigten kodierten
Audiobitströme
stimmen nicht notwendigerweise mit MPEG-2 AAC überein. 6A zeigt
einen Strom 1, der die ersten kodierten Signale speichert, die jeweils
einem anderen Datenübertragungsblock
entsprechen. 6B zeigt einen Strom 2, der
nacheinander das zweite kodierte Signal allein in Einheiten von
Datenübertragungsblöcken, die
Datenübertragungsblöcken des
Stroms 1 entsprechen, speichert. Dieser Strom 2 speichert für jeden
Datenübertragungsblock
die Informationen über
die gemeinsame Nutzung, denen die Kopfinformationen und die ID-Informationen,
wie in 5A gezeigt, beigefügt werden.
Wie in 6A und 6B gezeigt wird,
kann die Stromausgabeeinheit 140 das erste und das zweite
kodierte Signal in die separaten Ströme 1 und 2 platzieren, die über verschiedene
Kanäle übertragen
werden können.
-
Wenn
das erste und das zweite kodierte Signal über verschiedene Bitströme übertragen
werden, wird es möglich,
erst einen Bitstrom einschließlich
Informationen in Bezug auf Audiodaten im niedrigeren Frequenzband,
das heißt
grundlegende Informationen, zu übertragen
oder zu akkumulieren und später Informationen
in Bezug auf die höherfrequenten Spektraldaten
wie erforderlich zu übertragen
oder hinzuzufügen.
-
Wenn
der kodierte Audiobitstrom, der das zweite kodierte Signal aufweist,
erzeugt wird und allein die Dekodiervorrichtung 200 der
vorliegenden Erfindung als Ziel hat, kann das zweite kodierte Signal
in einen gewissen Bereich der Kopfinformationen eingefügt werden,
der sich von den vorgenannten Bereichen unterscheidet, wobei dieser
gewisse Bereich durch die Kodiervorrichtung 100 und die
Dekodiervorrichtung 200 im Voraus bestimmt wird. Es ist alternativ
möglich,
das zweite kodierte Signal in einen vorbestimmten Teil des ersten
kodierten Signals oder sowohl in den vorbestimmten Teil als auch
in den angegebenen gewissen Bereich der Kopfinformationen einzufügen. Wenn
das zweite kodierte Signal in den angegebenen Teil und/oder Bereich
eingefügt
wird, muss der angegebene Teil/Bereich nicht ein einzelner aufeinander
folgender Bereich sein und kann stattdessen Streubereiche umfassen. 6C zeigt eine
solche Beispieldatenstruktur eines kodierten Audiobitstroms, wo
das zweite kodierte Signal in Streubereichen sowohl der Kopfinformationen
des Audiobitstroms als auch des ersten kodierten Signals gespeichert
wird. Auch in diesem Fall werden die ID-Informationen und Kopfinformationen
den Informationen über
die gemeinsame Nutzung beigefügt,
um als das zweite kodierte Signal in dem Audiobitstrom gespeichert
zu werden.
-
Nachfolgendes
beschreibt die Operationen der Kodiervorrichtung 100 und
der Dekodiervorrichtung 200 unter Bezugnahme auf Fließdiagramme von 7, 8 und 11 und
ein Wellenformdiagramm von 10.
-
7 ist
ein Fließdiagramm,
das die Operation zeigt, die durch die erste Quantisiereinheit 131 ausgeführt wird,
um einen Skalierungsfaktor für
jedes Skalierungsfaktorband zu bestimmen. Die erste Quantisiereinheit 131 bestimmt
einen Anfangswert eines Skalierungsfaktors, den alle Skalierungsfaktorbänder, die
einem Datenübertragungsblock
entsprechen, gemeinsam haben (Schritt S91). Mit dem Skalierungsfaktor
des bestimmten Anfangswertes quantisiert die erste Quantisiereinheit 131 die
Spektraldaten für
einen Datenübertragungsblock,
der von der Beurteilungseinheit 137 ausgegeben wird, um
quantisierte Daten zu erzeugen, errechnet sie eine Differenz von
Skalierungsfaktoren, die in jeweils zwei benachbarten Skalierungsfaktorbändern verwendet werden,
und Huffman-kodiert sie die quantisierten Daten, die errechneten
Differenzen und einen Skalierungsfaktor, der im ersten Skalierungsfaktorband
des Datenübertragungsblocks
verwendet wird (Schritt S92), um Huffman-kodierte Daten zu erzeugen.
Die vorgenannte Quantisierung und Kodierung werden nur zum Zählen der
Gesamtbitanzahl des Datenübertragungsblocks
ausgeführt,
und daher werden dem Ergebnis der Quantisierung und Kodierung keine
Informationen, wie etwa ein Kopf, beigefügt. Danach beurteilt die erste
Quantisiereinheit 131, ob die Bitanzahl der Huffman-kodierten Daten eine
vorbestimmte Bitanzahl übersteigt
(Schritt S93). Wenn dies der Fall ist, verringert die erste Quantisiereinheit 131 den
Anfangswert des Skalierungsfaktors (Schritt S101) und führt Quantisierung
und Huffman-Kodierung mit dem Skalierungsfaktor des verringerten
Anfangswertes aus. Die erste Quantisiereinheit 131 beurteilt
dann, ob die Bitanzahl der Huffman-kodierten Daten die vorbestimmte
Bitanzahl übersteigt
(Schritt S93). Die erste Quantisiereinheit 131 wiederholt
diese Schritte bis sie beurteilt, dass die Bitanzahl der Huffman-kodierten
Daten nicht die vorbestimmte Bitanzahl übersteigt.
-
Beim
Beurteilen, ob die Bitanzahl der Huffman-kodierten Daten nicht die
vorbestimmte Bitanzahl übersteigt,
wiederholt die erste Quantisiereinheit 131 eine Schleife
A (Schritte S94 ~ S98 und S100), um einen Skalierungsfaktor für jedes
Skalierungsfaktorband zu bestimmen. Das heißt, die erste Quantisiereinheit 131 dequantisiert
jeden Satz von quantisierten Daten, der in Schritt S92 erzeugt wird,
in einem Skalierungsfaktorband, um einen Satz von dequantisierten
Spektraldaten zu erzeugen (Schritt S95), und errechnet eine Differenz
der absoluten Werte zwischen dem erzeugten Satz von dequantisierten
Spektraldaten und einem Satz von Originalspektraldaten, die diesen
dequantisierten Spektraldaten entsprechen. Die erste Quantisiereinheit 131 summiert
dann diese Differenzen, die für
all die Sätze von
dequantisierten Spektraldaten innerhalb des Skalierungsfaktorbands
errechnet wurden (Schritt S96). Danach beurteilt die erste Quantisiereinheit 131,
ob die Summe der Differenzen kleiner als ein vorbestimmter Wert
ist (Schritt S97). Wenn dies der Fall ist, führt die erste Quantisiereinheit 131 die Schleife
A für das
nächste
Skalierungsfaktorband aus (Schritte S94 ~ S98). Wenn dies nicht
der Fall ist, erhöht
die erste Quantisiereinheit 131 den Wert des Skalierungsfaktors
und quantisiert jeden Originalspektraldatensatz in demselben Skalierungsfaktorband
unter Verwendung des erhöhten
Skalierungsfaktors (Schritt S100). Die erste Quantisiereinheit 131 dequantisiert
dann jeden Satz von quantisierten Daten (Schritt S95), errechnet
eine Differenz der absoluten Werte zwischen jedem Satz von dequantisierten
Spektraldaten und einem Originalspektraldatensatz, der dem Satz
von dequantisierten Spektraldaten entspricht, und summiert die errechneten
Differenzen (Schritt S96). Danach beurteilt die erste Quantisiereinheit 131 wieder,
ob die Summe der Differenzen kleiner als ein vorbestimmter Wert
ist (Schritt S97). Wenn dies nicht der Fall ist, erhöht die erste
Quantisiereinheit 131 den Skalierungsfaktorwert (Schritt
S100) und wiederholt die Schleife A (Schritte S94 ~ S98 und S100).
-
Nach
dem Spezifizieren von Skalierungsfaktoren für all die Skalierungsfaktorbänder innerhalb des
Datenübertragungsblocks,
von denen jeder bewirkt, dass die vorgenannte Summe der Differenzen kleiner
als der vorbestimmte Wert ist (Schritt S98), quantisiert die erste
Quantisiereinheit 131 all die Spektraldatensätze, die
dem Datenübertragungsblock
entsprechen, unter Verwendung der spezifizierten Skalierungsfaktoren,
so dass Sätze
von quantisierten Daten erzeugt werden. Die erste Quantisiereinheit 131 Huffman-kodiert
dann all die Sätze
von quantisierten Daten, Differenzen in jedem Paar von Skalierungsfaktoren,
die in zwei benachbarten Skalierungsfaktorbändern verwendet werden, und
einen Skalierungsfaktor, der im ersten Skalierungsfaktorband verwendet
wird, so dass kodierte Daten erzeugt werden. Die erste Quantisiereinheit 131 beurteilt dann,
ob die Bitanzahl der kodierten Daten die vorbestimmte Bitanzahl übersteigt
(Schritt S99). Wenn dies der Fall ist, verringert die erste Quantisiereinheit 131 den
Anfangswert des Skalierungsfaktors (Schritt S101), bis die Bitanzahl
gleich oder kleiner als die vorbestimmte Bitanzahl wird, und führt die
Schleife A aus (Schritte S94 ~ S98 und S100), um einen Skalierungsfaktor
jedes Skalierungsfaktorbandes zu bestimmen. Wird beurteilt, dass
die Bitanzahl der kodierten Daten nicht die vorbestimmte Bitanzahl übersteigt
(Schritt S99), bestimmt die erste Quantisiereinheit 131 jeden
in der Schleife A spezifizierten Skalierungsfaktor als einen tatsächlichen
Skalierungsfaktor für
jedes Skalierungsfaktorband innerhalb des Datenübertragungsblocks.
-
Es
ist zu beachten, dass die erste Quantisiereinheit 131 die
vorgenannte Beurteilung in Schritt S97 (ob die Summe der Differenzen
kleiner als der vorbestimmte Wert ist) in Übereinstimmung mit Daten, wie
etwa jenen, die sich auf ein psychoakustisches Modell beziehen,
vornimmt.
-
In
der vorgenannten, in 7 gezeigten Operation setzt
die erste Quantisiereinheit 131 zuerst einen relativ großen Wert
als Anfangswert des Skalierungsfaktors und verringert diesen Anfangswert, wenn
die Bitanzahl der Huffman-kodierten Daten die vorbestimmte Bitanzahl übersteigt,
obwohl dies nicht erforderlich ist. Das heißt, die erste Quantisiereinheit 131 kann
stattdessen einen relativ niedrigen Wert als Anfangswert des Skalierungsfaktors
setzen und diesen Anfangswert allmählich erhöhen, bis sie beurteilt, dass
die Bitanzahl der Huffman-kodierten
Daten die vorbestimmte Bitanzahl übersteigt. Wenn sie eine solche
Beurteilung vornimmt, spezifiziert die erste Quantisiereinheit 131 den
Anfangswert, der unmittelbar vor dem gegenwärtig gesetzten Anfangswert
gesetzt wurde, als Anfangswert des Skalierungsfaktors.
-
Ebenfalls
in der vorgenannten, in 7 gezeigten Operation wird ein
Skalierungsfaktor für
jedes Skalierungsfaktorband so bestimmt, dass die Bitanzahl der
gesamten Huffman-kodierten Daten für einen Datenübertragungsblock
kleiner als die vorbestimmte Bitanzahl ist, obwohl dies nicht erforderlich ist.
Das heißt,
jeder Skalierungsfaktor kann so bestimmt werden, dass die Bitanzahl
jedes Satzes von quantisierten Daten in jedem Skalierungsfaktorband kleiner
als eine vorbestimmte Bitanzahl ist.
-
8 ist
ein Fließdiagramm,
das eine Beispieloperation zeigt, die durch die Beurteilungseinheit 137 ausgeführt wird,
um die Beurteilung hinsichtlich Spektraldaten vorzunehmen, die innerhalb
eines Datenübertragungsblocks
gemeinsam zu nutzen sind, und das Beurteilungsergebnis als Informationen über die
gemeinsame Nutzung zu erzeugen. Hier erzeugt die Beurteilungseinheit 137 das
Beurteilungsergebnis für
acht Fenster als Informationen über
die gemeinsame Nutzung, die sich aus acht Flags (d.h. acht Bits)
zusammensetzen, von denen ein als "0" ausgewiesenes
Flag angibt, dass höherfrequente Spektraldaten
innerhalb eines Fensters mit diesem Flag an die Dekodiervorrichtung 200 gesendet
werden, und ein als "1" ausgewiesenes Flag
angibt, dass höherfrequente
Spektraldaten innerhalb eines Fensters mit diesem Flag durch andere
höherfrequente Spektraldaten
innerhalb eines anderen Fensters repräsentiert werden.
-
Die
Beurteilungseinheit 137 empfängt von der Transformiereinheit 120 Spektraldaten
im ersten Fenster von acht Fenstern, gibt die empfangenen Spektraldaten
an die erste Quantisiereinheit 131 aus und setzt das erste
Flag (d.h. Bit) der Informationen über die gemeinsame Nutzung
als "0" (Schritt S1). Danach
führt die
Beurteilungseinheit 137 wiederholt eine Schleife B (Schritte
von S2 bis S9) aus, um die Beurteilung für jedes der verbleibenden sieben
Fenster ab dem zweiten bis zum achten Fenster wie folgt vorzunehmen.
-
Die
Beurteilungseinheit 137 konzentriert sich auf ein Fenster
und errechnet eine Energiedifferenz zwischen Spektraldaten in diesem
Fenster und Spektraldaten in einem vorhergehenden Fenster, dessen Flag
als "0" ausgewiesen wird
und das dem Fenster, auf das die Konzentration erfolgte, am nächsten ist (Schritt
S3). Die Beurteilungseinheit 137 beurteilt dann, ob die
errechnete Energiedifferenz kleiner als ein vorbestimmter Schwellenwert
ist (Schritt S4).
-
Wenn
dies der Fall ist, bestimmt die Beurteilungseinheit 137,
dass das Fenster, auf das die Konzentration erfolgte, und das vorhergehende
Fenster ein ähnliches
Spektrum aufweisen und dass höherfrequente
Spektraldaten innerhalb des Fensters, auf das die Konzentration
erfolgte, deshalb durch höherfrequente
Spektraldaten innerhalb des vorhergehenden Fensters repräsentiert
werden können.
Die Beurteilungseinheit 137 ändert dann Werte der höherfrequenten
Spektraldaten in dem Fenster, auf das die Konzentration erfolgte,
auf "0" (Schritt S5) und
setzt ein Bit der Informationen über
die gemeinsame Nutzung, das diesem Fenster entspricht, als "1" (Schritt S6). Wird andererseits beurteilt,
dass die Energiedifferenz nicht kleiner als der vorbestimmte Schwellenwert
ist, bestimmt die Beurteilungseinheit 137, dass die höherfrequenten
Spektraldaten innerhalb des Fensters, auf das die Konzentration
erfolgte, nicht durch die höherfrequenten
Spektraldaten innerhalb des vorhergehenden Fensters repräsentiert
werden können.
In diesem Fall gibt die Beurteilungseinheit 137 all die
Spektraldaten innerhalb des Fensters, auf das die Konzentration
erfolgte, wie sie sind an die erste Quantisiereinheit 131 aus
(Schritt S7) und setzt das Bit der Informationen über die
gemeinsame Nutzung, das dem Fenster, auf das die Konzentration erfolgt,
entspricht, als "0" (Schritt S8).
-
Gehen
wir zum Beispiel davon aus, dass sich die Beurteilungseinheit 137 gegenwärtig auf
das zweite Fenster konzentriert. Die Beurteilungseinheit 137 errechnet
dann eine Differenz der Spektralwerte derselben Frequenz zwischen
dem zweiten Fenster und dem ersten Fenster, von denen sich jedes
aus 128 Samples zusammensetzt. Die Beurteilungseinheit 137 summiert
dann all die für
die zwei Fenster errechneten Differenzen, um eine Energiedifferenz
von Spektraldaten zwischen dem ersten Fenster und dem zweiten Fenster
zu spezifizieren (Schritt S3), und beurteilt, ob die Energiedifferenz
kleiner als der vorbestimmte Schwellenwert ist (Schritt S4).
-
Wird
beurteilt, dass die Energiedifferenz kleiner als der vorbestimmte
Schwellenwert ist, bestimmt die Beurteilungseinheit 137,
dass das erste und das zweite Fenster ein ähnliches Spektrum aufweisen und
dass höherfrequente
Spektraldaten im zweiten Fenster durch höherfrequente Spektraldaten
im ersten Fenster repräsentiert
werden können.
Die Beurteilungseinheit 137 ändert daher Werte der höhertrequenten
Spektraldaten im zweiten Fenster auf "0" (Schritt
S5) und setzt ein Bit der Informationen über die gemeinsame Nutzung,
das dem zweiten Fenster entspricht, als "1" (Schritt
S6).
-
Das
beendet die Beurteilung des zweiten Fensters (Schritt S9), und daher
führt die
Beurteilungseinheit 137 die Schleife B am dritten Fenster aus
(Schritt S2). Das heißt,
die Beurteilungseinheit errechnet eine Energiedifferenz der Spektraldaten zwischen
dem ersten und dem dritten Fenster (Schritt S3). Genauer gesagt,
die Beurteilungseinheit 137 errechnet eine Differenz der
Spektralwerte derselben Frequenz zwischen dem ersten Fenster und
dem dritten Fenster. Die Beurteilungseinheit 137 summiert dann
all die errechneten Differenzen, um die Energiedifferenz der Spektraldaten
zwischen dem ersten Fenster und dem dritten Fenster zu spezifizieren,
und beurteilt, ob die spezifizierte Energiedifferenz kleiner als
der vorbestimmte Schwellenwert ist (Schritt S4).
-
Wird
beurteilt, dass die Energiedifferenz nicht kleiner als der vorbestimmte
Schwellenwert ist, bestimmt die Beurteilungseinheit 137,
dass die zwei Spektren im ersten und im dritten Fenster einander nicht ähnlich sind
und dass die Spektraldaten im dritten Fenster nicht durch die Spektraldaten
im ersten Fenster repräsentiert werden
können.
Auch in diesem Fall gibt die Beurteilungseinheit 137 all
die Spektraldaten innerhalb des dritten Fensters, wie sie sind, an
die erste Quantisiereinheit 131 aus (Schritt S7), und setzt
das Bit der Informationen über
die gemeinsame Nutzung für
das dritte Fenster als "0" (Schritt S8).
-
Das
beendet die Beurteilung des dritten Fensters (Schritt S9), und daher
führt die
Beurteilungseinheit 137 die Schleife B für das vierte
Fenster aus (Schritt S2). Die Beurteilungseinheit 137 errechnet
eine Energiedifferenz der Spektraldaten zwischen dem vierten Fenster
und einem vorhergehenden Fenster, das dem vierten Fenster am nächsten ist,
und dessen Flag als "0" ausgewiesen wird
(d.h. dessen Spektraldaten, wie sie sind, ohne durch "0" ersetzt zu werden, ausgegeben werden).
Das vorhergehende Fenster ist daher das dritte Fenster. Auf diese
Weise wiederholt die Beurteilungseinheit 137 die Beurteilung
basierend auf der Schleife B bis sie die Beurteilung des achten
Fensters beendet, so dass sie die Operation für den gesamten Datenübertragungsblock
beendet. Folglich wurden Spektraldaten innerhalb dieses Datenübertragungsblocks
an die erste Quantisiereinheit ausgegeben, und 8-Bit-Informationen über die
gemeinsame Nutzung, die als "01011111" ausgewiesen werden,
werden für
diesen Datenübertragungsblock
generiert. Diese Informationen über
die gemeinsame Nutzung geben an, dass höherfrequente Spektraldaten
im ersten Fenster höherfrequente
Spektraldaten im zweiten Fenster repräsentieren und dass höherfrequente
Spektraldaten im dritten Fenster höherfrequente Spektraldaten
in nachfolgenden Fenstern vom vierten Fenster bis zum achten Fenster
repräsentieren.
Diese Informationen über
die gemeinsame Nutzung können
auf andere Weise ausgedrückt
werden. Wenn zum Beispiel vorbestimmt wird, dass die gesamten Spektraldaten
des ersten Fensters, einschließlich
höherfrequente
Spektraldaten, immer übertragen
werden, kann das erste Bit der Informationen über die gemeinsame Nutzung weggelassen
werden, so dass die Informationen über die gemeinsame Nutzung
durch sieben Bits "1011111" ausgedrückt werden
können.
Die Beurteilungseinheit 137 gibt dann die generierten Informationen über die
gemeinsame Nutzung an die zweite Kodiereinheit 134 aus
und führt
die vorgenannte Operation am nächsten
Datenübertragungsblock aus.
-
In
der vorgenannten Operation spezifiziert die Beureilungseinheit 137 die Energiedifferenz
von Spektren in zwei Fenstern durch Berechnung unter Verwendung
der gesamten 128 Samples, die jedes Fenster ausmachen, obwohl dies
nicht erforderlich ist. Es ist stattdessen möglich, eine Energiedifferenz nur
in den höherfrequenten
64 Samples der zwei Fenster zu spezifizieren. Die Beurteilungseinheit 137 kann
dann diese spezifizierte Energiedifferenz mit einem vorbestimmten
Schwellenwert vergleichen.
-
In
der vorgenannten Operation gibt die Beurteilungseinheit 137 immer
die höherfrequenten
Spektraldaten im ersten Fenster, wie sie sind, ohne ihre Werte durch "0" zu ersetzen, aus, obwohl dies nicht erforderlich
ist. Die Beurteilungseinheit 137 kann zum Beispiel ein
Fenster von den acht Fenstern in einem Datenübertragungsblock finden, das
die kleinste Energiedifferenz in Bezug auf eines der restlichen sieben
Fenster aufweist. Die Beurteilungseinheit 137 kann dann
die gesamten Spektraldaten entweder allein in dem gefundenen Fenster
oder in einer vorbestimmten Anzahl von Fenstern, die in der Reihenfolge
des Energiedifferenzwertes, mit dem kleinsten Wert zuerst, angeordnet
sind, übertragen
(sowie quantisieren und kodieren). In diesem Fall werden höherfrequente
Spektraldaten im ersten Fenster nicht immer übertragen.
-
In
der vorgenannten Ausführungsform
erfolgt die Beurteilung, ob höherfrequente
Spektraldaten in einem Fenster durch andere höherfrequente Spektraldaten
in einem vorhergehenden Fenster repräsentiert werden können, auf
Grundlage der Berechnung der Energiedifferenz zwischen den zwei
Fenstern. Diese Beurteilung muss jedoch nicht auf der Berechnung
der Energiedifferenz basieren, und folgende Modifikationen sind
möglich.
In einer Beispielmodifikation wird eine Position (d.h. eine Frequenz)
eines Spektraldatensatzes, der den höchsten absoluten Wert aller
Spektraldatensätze
innerhalb eines Fensters hat, auf der Frequenzachse spezifiziert. Diese
Position auf der Frequenzachse wird in zwei Fenstern spezifiziert
und eine Differenz zwischen den zwei spezifizierten Positionen wird
ermittelt. Wenn die ermittelte Differenz kleiner als ein vorbestimmter Schwellenwert
ist, beurteilt die Beurteilungseinheit 137, dass höherfrequente
Spektraldaten in einem Fenster durch andere höhertrequente Spektraldaten in
dem anderen Fenster repräsentiert
werden können.
In einer weiteren Beispielmodifikation kann die Beurteilungseinheit 137 beurteilen,
dass die höherfrequenten
Spektraldaten in einem Fenster durch andere höherfrequente Spektraldaten
in einem anderen Fenster repräsentiert
werden können,
wenn die zwei Fenster Spektren aufweisen, die dieselbe Anzahl von Spitzen
aufweisen und/oder Spitzen aufweisen, deren Positionen auf der Frequenzachse
einander ähnlich
sind. Die Anzahl von solchen Spitzen und ihre Positionen können zwischen
Skalierungsfaktorbändern
der zwei Fenster verglichen werden, und jedem Fenster kann auf der
Grundlage der Ähnlichkeit
von Spektren eine Punktebewertung gegeben werden, so dass die Beurteilung
eines Spektrums ausgehend von breiteren Aspekten innerhalb jedes
Fensters erfolgt. Als weitere Beispielmodifikation kann eine Spektraldatenposition,
die den höchsten
absoluten Wert in einem Fenster aufweist, für zwei Fenster spezifiziert
werden. Wenn die für
die zwei Fenster spezifizierten Positionen einander ähnlich sind,
ist es auch möglich
zu beurteilen, dass die höherfrequenten Spektraldaten
in einem Fenster durch die anderen höherfrequenten Spektraldaten
in dem anderen vorhergehenden Fenster repräsentiert werden können, wobei
das Flag als "0" ausgewiesen wird.
In einer weiteren Beispielmodifikation kann diese Beurteilung durch
(a) Ausführen
einer vorbestimmten Funktion für
ein Spektrum in jedem Fenster, (b) Vergleichen der Ausführungsergebnisse
in den zwei Fenstern und (c) Treffen der vorgenannten Beurteilung
auf der Grundlage dieses Vergleichsergebnisses vorgenommen werden.
Als weitere Beispielmodifikation ist es alternativ möglich, einen
einzigen Satz von höherfrequenten
Spektraldaten gemeinsam von vorbestimmten Fenstern nutzen zu lassen,
ohne auf die Ähnlichkeit
zwischen zwei Sätzen
von höherfrequenten Spektraldaten
Bezug zu nehmen. Zum Beispiel können
Spektraldaten in einem geradzahligen Fenster, wie etwa dem zweiten,
vierten oder sechsten Fenster, Spektraldaten in einem ungeradzahligen
Fenster repräsentieren
und umgekehrt. Es ist alternativ möglich, im Voraus Fenster festzulegen,
in denen Werte von höherfrequenten
Spektraldaten niemals durch "0" ersetzt werden.
Ein einziges Fenster kann zum Beispiel bestimmt werden, so dass
höherfrequente Spektraldaten
in diesem Fenster höherfrequente Spektraldaten
in weiteren sieben Fenstern repräsentieren.
-
In
einer weiteren Beispielmodifikation werden, wenn jedes Fenster eine
Vielzahl von Spitzen entweder in seinem höheren Frequenzband oder dem
gesamten Frequenzband aufweist, Frequenzen der Vielzahl von Spitzen
spezifiziert. Die in zwei verschiedenen Fenstern spezifizierten
Frequenzen werden dann miteinander verglichen, um die Differenz
zu ermitteln. Wenn jede ermittelte Differenz innerhalb eines vorbestimmten
Schwellenwertbereichs liegt, beurteilt die Beurteilungseinheit 137,
dass höherfrequente
Spektraldaten in einem der Fenster durch höherfrequente Spektraldaten
im anderen Fenster repräsentiert
werden können.
Es ist alternativ möglich, die
jede spezifizierte Differenz zu summieren, und die Beurteilungseinheit 137 beurteilt,
dass höherfrequente
Spektraldaten gemeinsam von den zwei Fenstern genutzt werden, wenn
die summierte Differenz kleiner als ein Schwellenwert ist.
-
Die
Dekodiervorrichtung 200 empfängt den kodierten Audiobitstrom,
der durch die Kodiervorrichtung 100 generiert wird, und
lässt die
erste Dekodiereinheit 221 das erste kodierte Signal in Übereinstimmung
mit dem herkömmlichen
Verfahren dekodieren, um quantisierte Daten, die sich aus 1.024
Samples zusammensetzen, zu erzeugen. Wenn Spektraldaten, die diesen
quantisierten Daten entsprechen, basierend auf dem in 8 gezeigten
Beispielverfahren generiert werden, sind alle Werte der höhertrequenten
Spektraldaten im zweiten Fenster und in den Fenstern vom vierten
bis achten Fenster "0". Die zweite Dequantisiereinheit 224 umfasst
einen Speicher, der in der Lage ist, mindestens höherfrequente Spektraldaten
für ein
Fenster zu speichern, die aus der ersten Dequantisiereinheit 222 ausgegeben
werden. Die zweite Dequantisiereinheit 224 nimmt wähnend der
Dequantisierung für
das Fenster auf ein Flag jedes Fensters Bezug. Wenn dieses Flag
als "0" ausgewiesen wird,
platziert die zweite Dequantisiereinheit 224 höherfrequente
Spektraldaten, die von der ersten Dequantisiereinheit 222 ausgegeben
werden, in den vorgenannten Speicher. Danach nimmt die zweite Dequantisiereinheit 224 auf
ein Flag des nächsten
Fensters Bezug. Wenn das Flag als "1" ausgewiesen
wird, dupliziert die zweite Dequantisiereinheit 224 in
dem Speicher gespeicherte höherfrequente
Spektraldaten und gibt diese aus, und setzt danach diese Duplikation fort,
bis sie ein Fenster mit einem Flag erkennt, das als "0" ausgewiesen wird. Es ist möglich, herkömmlich bereit
gestellten Speicher als den vorgenannten Speicher zu verwenden,
der in der herkömmlichen
Dekodiervorrichtung 400 vorliegt, um einem Datenübertragungsblock
entsprechende Spektraldaten zu speichern. Es ist deshalb nicht erforderlich,
neuen Speicher für
die herkömmliche
Dekodiervorrichtung 400 bereitzustellen. Wenn Speicher
neu bereitgestellt wird, um die vorliegende Erfindung zustande zu
bringen, können
neue Speicherbereiche in diesem Speicher vorgesehen werden, um Zeiger
zu speichern, die den Anfang des zu duplizierenden Fensters und
den Anfang von höherfrequenten
Spektraldaten innerhalb dieses Fensters angeben. Solche neuen Speicherbereiche
sind jedoch unnötig,
wenn im Voraus ein Verfahren in der Dekodiervorrichtung festgelegt
wird, so dass die Dekodiervorrichtung den Speicher nach den vorgenannten
zwei Positionen in Übereinstimmung
mit Frequenzen der zwei Positionen durchsuchen kann. Ein solcher
neuer Speicher kann gegebenenfalls bereitgestellt werden, wenn die
Suchzeit der vorgenannten zwei Positionen von Spektraldaten verringert
werden sollte. Nachfolgendes beschreibt den spezifischen Betrieb der
zweiten Dequantisiereinheit 224 unter Bezugnahme auf ein
Fließdiagramm
von 9.
-
9 ist
ein Fließdiagramm,
das den Betrieb zeigt, der durch die zweite Dequantisiereinheit 224 ausgeführt wird,
um höherfrequente
Spektraldaten zu duplizieren. Gehen wir hier davon aus, dass die zweite
Dequantisiereinheit 224 Speicher hat, der in der Lage ist,
mindestens höherfrequente
Spektraldaten zu speichern, die sich aus 64 Samples zusammensetzen.
Die zweite Dequantisiereinheit 224 führt eine Schleife C an jedem
Fenster innerhalb eines Datenübertragungsblocks
aus (Schritt S71). Das heißt, die
zweite Dequantisiereinheit 224 nimmt auf das Flag des Fensters
Bezug. Wenn das Flag als "0" ausgewiesen wird
(Schritt S72), speichert die zweite Dequantisiereinheit 224 höherfrequente
Spektraldaten, die von der ersten Dequantisiereinheit 222 ausgegeben
werden in den vorgenannten Speicher (Schritt S73). Wenn das Flag
nicht als "0" ausgewiesen wird (Schritt
S72), gibt die zweite Dequantisiereinheit 224 die in dem
Speicher gespeicherten, höherfrequenten Spektraldaten
an die Integriereinheit 225 aus (Schritt S74). Die vorgenannten
Schritte der Schleife C werden für
jedes Fenster innerhalb des Datenübertragungsblocks wiederholt
(Schritt S75).
-
Genauer
gesagt, die zweite Quantisiereinheit 224 empfängt Informationen über die
gemeinsame Nutzung, die durch die zweite Dekodiereinheit 223 dekodiert
werden und nimmt Bezug auf ein Bit der Informationen über die
gemeinsame Nutzung, das einem Fenster entspricht, auf das gegenwärtig die
Konzentration erfolgt, um zu beurteilen, ob das Bit, das heißt, das
Flag als "0" ausgewiesen wird (Schritt
S72). Wenn dies der Fall ist, was bedeutet, dass Werte von höherfrequenten
Spektraldaten des aktuellen Fensters nicht durch "0" ersetzt werden, speichert die zweite
Dequantisiereinheit 224 die höherfrequenten Spektraldaten,
die aus der ersten Dequantisiereinheit 222 ausgegeben werden,
in den vorgenannten Speicher (Schritt S73). Wenn der Speicher andere
Daten an diesem Punkt gespeichert hat, aktualisiert die zweite Dequantisiereinheit 224 den Speicher.
Wenn die zweite Dequantisiereinheit 224 andererseits beurteilt,
dass das Flag nicht als "0" ausgewiesen wird
(Schritt S72), zeigt das an, dass die höherfrequenten Spektraldaten,
die von der ersten Dequantisiereinheit 222 ausgegeben werden, sich
aus "0"-Werten zusammensetzen.
Die zweite Dequantisiereinheit 224 liest dann die Spektraldaten aus
dem Speicher und gibt die gelesenen Spektraldaten als Daten, die
dem aktuellen Fenster entsprechen, an die Integriereinheit 225 aus
(Schritt S74). Folglich ersetzen in der Integriereinheit 225 die
gelesenen höherfrequenten
Spektraldaten höherfrequente
Spektraldaten des aktuellen Fensters, die von der ersten Dequantisiereinheit 222 ausgegeben
werden.
-
Gehen
wir zum Beispiel davon aus, dass gegenwärtig die Konzentration auf
das erste Fenster erfolgt und dass das erste Bit (d.h. Flag) der
Informationen über
die gemeinsame Nutzung, das dem ersten Fenster entspricht, als "0" ausgewiesen wird. Die zweite Dequantisiereinheit 224 schreibt
dann höherfrequente
Spektraldaten im ersten Fenster, die von der ersten Dequantisiereinheit 222 gesendet
werden, in den Speicher, so dass der Speicher aktualisiert wird
(Schritt S73). In diesem Fall gibt die zweite Dequantisiereinheit 224 diese
Spektraldaten nicht an die Integriereinheit 225 aus, so
dass durch die erste Dequantisiereinheit 222 ausgegebene
Spektraldaten an die Integriereinheit 225 und dann an die
Rücktransformiereinheit 230 ausgegeben
werden.
-
Nach
dem Betrieb am ersten Fenster erfolgt die Konzentration auf das
zweite Fenster. Gehen wir hier davon aus, dass das zweite Bit (d.h.
Flag) der Informationen über
die gemeinsame Nutzung als "1" ausgewiesen wird.
Die zweite Dequantisiereinheit 224 liest dann höherfrequente
Spektraldaten des ersten Fensters aus dem Speicher und gibt die
gelesenen Spektraldaten als höherfrequente,
dem zweiten Fenster entsprechende Spektraldaten an die Integriereinheit 225 aus
(Schritt S74). Andererseits hat die erste Dequantisiereinheit 222 Spektraldaten
des zweiten Fensters an die Integriereinheit 225 ausgegeben.
Diese Spektraldaten weisen "0"-Werte in ihrem höheren Frequenzband auf. Diese
höherfrequenten
Spektraldaten des Wertes "0" werden durch die
Integriereinheit 225 in die vorgenannten Spektraldaten
geändert,
die ursprünglich
das erste Fenster aufwies und die durch die zweite Dequantisiereinheit 224 aus
dem Speicher gelesen wurden.
-
Basierend
auf den Informationen über
die gemeinsame Nutzung aus der Kodiervorrichtung 100 dupliziert
die Dekodiervorrichtung 200 folglich höherfrequente Spektraldaten
innerhalb eines Fensters, wobei sein Flag als "0" ausgewiesen
wird, und verwendet die duplizierten Spektraldaten als höherfrequente
Spektraldaten für
ein Fenster, wobei sein Flag als "1" ausgewiesen
wird.
-
Nach
einer solchen Duplikation ist es auch möglich, die Amplitude der duplizierten
Spektraldaten gegebenenfalls anzupassen, obwohl eine solche Anpassung
im vorgenannten Beispiel nicht ausgeführt wird. Diese Anpassung kann
durch Multiplizieren jedes duplizierten Spektralwertes mit einem
vorbestimmten Koeffizienten, zum Beispiel "0,5" erfolgen.
Dieser Koeffizient kann ein Festwert sein oder kann in Übereinstimmung
mit entweder einem Frequenzband oder Spektraldaten, die von der
ersten Dequantisiereinheit 222 ausgegeben werden, geändert werden.
-
Der
vorgenannte Koeffizient kann zuvor durch die Kodiervorrichtung 100 errechnet
werden und dem zweiten kodierten Signal, das die Informationen über die
gemeinsame Nutzung aufweist, beigefügt werden. Entweder ein Skalierungsfaktor
oder ein Wert von quantisierten Daten kann dem zweiten kodierten
Signal als der vorgenannte Koeffizient beigefügt werden. Das Verfahren zum
Anpassen der Amplitude ist nicht auf das Vorgenannte beschränkt, und andere
Anpassverfahren können
alternativ angewandt werden.
-
In
der vorgenannten Ausführungsform
werden höherfrequente
Spektraldaten in einem Fenster, dessen Flag als "0" ausgewiesen
wird, mit dem herkömmlichen
Verfahren quantisiert, kodiert und übertragen, obwohl andere Ausführungsformen
alternativ möglich
sind. Zum Beispiel können
höherfrequente Spektraldaten,
die dem als "0" ausgewiesenen Flag entsprechen, überhaupt
nicht übertragen
werden, das heißt,
alle Werte der höherfrequenten
Spektraldaten können
durch "0" ersetzt werden.
Stattdessen werden Unterinformationen für höherfrequente Spektraldaten
in Fenstern, deren Flag als "0" ausgewiesen wird,
generiert und kodiert, um in das zweite kodierte Signal zusammen
mit den kodierten Informationen über
die gemeinsame Nutzung platziert zu werden. Diese Unterinformationen
repräsentieren
ein Audiosignal im höheren
Frequenzband und können
repräsentative
Werte dieses Audiosignals aufweisen. Zum Beispiel können diese
Unterinformationen eine der folgenden Informationen angeben.
- (1) Skalierungsfaktoren, die für Skalierungsfaktorbänder im
höheren
Frequenzband bereitgestellt werden, und die jeweils quantisierte
Daten erzeugen, wobei sie den Wert "1" aus
Spektraldaten nehmen, die den höchsten
absoluten Wert in jedem Skalierungsfaktorband im höheren Frequenzband
aufweisen.
- (2) Werte von quantisierten Daten, die durch Quantisieren höherfrequenter
Spektraldaten, die den höchsten
absoluten Wert in jedem Skalierungsfaktorband aufweisen, in Übereinstimmung mit
einem vorbestimmten Skalierungsfaktor, den all die Skalierungsfaktorbänder gemeinsam
haben, generiert werden
- (3) Eine Position von entweder: (a) Spektraldaten, die den höchsten absoluten
Wert in jedem Skalierungsfaktorband aufweisen; oder (b) Spektraldaten,
die den höchsten
absoluten Wert in jedem höheren
Frequenzband aufweisen.
- (4) Ein Plus-/Minuszeichen eines Wertes von Spektraldaten an
einer vorbestimmten Position im höheren Frequenzband.
- (5) Ein Duplizierverfahren, das zum Duplizieren von Spektraldaten
in dem niedrigeren Frequenzband angewandt wird, um höherfrequente
Spektraldaten zu repräsentieren,
wenn diese zwei Spektraldatensätze
einander ähnlich
sind.
-
Zwei
oder mehr der vorgenannten Informationen (1)–(5) können kombiniert werden, um
die Unterinformationen zu erzeugen. Die Dekodiervorrichtung 200 rekonstruiert
höherfrequente
Spektraldaten in Übereinstimmung
mit solchen Unterinformationen.
-
Nachfolgendes
beschreibt den Fall, in dem die vorgenannten, in (1) beschriebenen
Skalierungsfaktoren als Unterinformationen verwendet werden.
-
10 zeigt
ein spezifisches Beispiel einer Wellenform von Spektraldaten, aus
denen die Unterinformationen (d.h. Skalierungsfaktoren), die einem Fenster
entsprechen, das auf kurzen Blöcken
basiert, generiert werden. In dieser Figur werden Grenzen zwischen
Skalierungsfaktorbändern
durch Häkchen
auf der Frequenzachse im niedrigeren Frequenzband und durch vertikale
punktierte Linien im höheren
Frequenzband repräsentiert.
Diese Grenzen werden jedoch zur leichteren Erläuterung vereinfacht, und deshalb
unterscheiden sich ihre tatsächlichen
Positionen von den in der Figur gezeigten.
-
Aus
Spektraldaten, die von der Transformiereinheit 120 ausgegeben
werden, werden niedrigerfrequente Spektraldaten, die durch eine
Welle einer durchgezogenen Linie repräsentiert werden, an die erste
Quantisiereinheit 131 ausgegeben, um in einer herkömmlichen
Weise quantisiert zu werden. Andererseits werden höhertrequente
Spektraldaten, die durch eine Welle einer punktierten Linie repräsentiert werden,
als Unterinformationen (d.h. Skalierungsfaktoren) ausgedrückt, die
durch die Beurteilungseinheit 137 errechnet werden. Nachfolgendes
beschreibt unter Bezugnahme auf ein Fließdiagramm von 11 ein
Verfahren, durch das die Beurteilungseinheit 137 diese
Unterinformationen generiert.
-
Die
Beurteilungseinheit 137 errechnet Skalierungsfaktoren für all die
Skalierungsfaktorbänder im
höheren
Frequenzband von 11,025 kHz bis 22,05 kHz (Schritt S11). Jeder Skalierungsfaktor
erzeugt quantisierte Daten, die den Wert "1" annehmen,
aus Spektraldaten, die den höchsten
absoluten Wert in jedem Skalierungsfaktorband aufweisen.
-
Die
Beurteilungeinheit 137 spezifiziert Spektraldaten (d.h.
eine Spitze), die den höchsten
absoluten Wert in einem Skalierungsfaktorband am Anfang des höherfrequenten
Bandes aufweisen, das mit einer Frequenz von mehr als 11,025 kHz
beginnt (Schritt S12). Gehen wir hier davon aus, dass die Position
der spezifizierten Spitze wie durch ➀ in 10 angegeben
ist und dass der Spitzenwert "256" ist.
-
Die
Beurteilungseinheit 137 setzt dann den Spitzenwert "256" und den Anfangskalierungsfaktorwert
in eine vorbestimmte Formel nach einem, dem in 7 gezeigten, ähnlichen
Verfahren ein, um einen Skalierungsfaktor zu errechnen, der quantisierte
Daten erzeugt, deren Wert "1" beträgt (Schritt
S13). Folglich errechnet die Beurteilungseinheit 137 zum Beispiel
einen Skalierungsfaktor "24".
-
Danach
spezifiziert die Beurteilungseinheit 137 eine Spitze von
Spektraldaten im nächsten
Skalierungsfaktorband (Schritt S12). Gehen wir hier davon aus, dass
die Beurteilungseinheit 137 eine Spitze an der Position
spezifiziert, die durch ➁ in der Figur angegeben wird,
und dass der Spitzenwert "312" ist. Die Beurteilungseinheit
errechnet dann zum Beispiel einen Skalierungsfaktor "32", der den Spitzenwert "312" quantisiert, um
die quantisierten Daten zu erzeugen, die den Wert "1" aufweisen (Schritt S13).
-
In ähnlicher
Weise errechnet die Beurteilungseinheit 137 für das dritte
Skalierungsfaktorband einen Skalierungsfaktor von zum Beispiel "26", der den durch ➂ angegebenen
Spitzenwert "288" quantisiert, um
die quantisierten Daten zu erzeugen, die den Wert "1" aufweisen. Für das vierte Skalierungsfaktorband
errechnet die Beurteilungseinheit 137 einen Skalierungsfaktor
von zum Beispiel "18", der den durch ➃ angegebenen
Spitzenwert "203" quantisiert, um
die quantisierten Daten zu erzeugen, die den Wert "1" aufweisen.
-
Wenn
Skalierungsfaktoren für
alle Skalierungsfaktorbänder
im höherfrequenten
Band auf diese Weise errechnet werden (Schritt S14), gibt die Beurteilungseinheit 137 die
errechneten Skalierungsfaktoren als Unterinformationen für höherfrequente Spektraldaten
an die zweite Kodiereinheit 134 aus und beendet diese Operation.
-
In
diesen Unterinformationen werden höherfrequente Spektraldaten
in jedem Skalierungsfaktorband durch einen einzigen Skalierungsfaktor
repräsentiert.
Wenn jeder Skalierungsfaktorwert im höheren Frequenzband durch einen
der Werte von "0" bis "255" repräsentiert
wird, kann der Skalierungsfaktor (dessen Gesamtzahl im Beispiel
der Figur Vier beträgt)
durch acht Bits repräsentiert
werden. Wenn Differenzen zwischen diesen Skalierungsfaktoren Huffman-kodiert
werden, kann ihre Bitmenge wesentlich verringert werden. Obwohl
solche Unterinformationen nur einen Skalierungsfaktor für jedes
Skalierungsfaktorband im höheren
Frequenzband angeben, verringert die Verwendung von solchen Unterinformationen
beträchtlich
die Menge von Spektraldaten im Vergleich zum herkömmlichen
Verfahren, mit dem eine Anzahl von Sätzen höherfrequenter Spektraldaten
quantisiert werden, so dass dieselbe große Anzahl von Sätzen quantisierter
Daten generiert wird.
-
Solche
höherfrequenten
Spektraldaten werden durch die Dekodiervorrichtung 200 wie
folgt rekonstruiert. Die Kodiervorrichtung 200 generiert
entweder Sätze
von höherfrequenten
Spektraldaten, die den Festwert aufweisen, oder eine Duplikation
jedes Satzes von Spektraldaten im niedrigeren Frequenzband. Die
Dekodiervorrichtung 200 multipliziert dann entweder die
generierten Sätze
von Spektraldaten oder Duplikationen mit den vorgenannten Skalierungsfaktoren,
um die höherfrequenten
Spektraldaten zu rekonstruieren. Da die vorgenannten Skalierungsfaktorwerte
(wie in 10 gezeigt) fast proportional
zu Spitzenwerten in Skalierungsfaktorbändern sind, sind die durch
die Dekodiervorrichtung 200 rekonstruierten Spektraldaten
annähernd
Spektraldaten ähnlich,
die direkt aus dem Audiosignal erzeugt werden, das in die Kodiervorrichtung 100 eingegeben
wird.
-
Als
weiteres Verfahren ist es möglich,
ein Verhältnis
zu spezifizieren zwischen: (a) dem höchsten absoluten Wert von höherfrequenten
Spektraldaten, die sich entweder aus den vorgenannten Festwerten
oder Duplikationen von Spektraldaten im niedrigeren Frequenzband
zusammensetzen; und (b) dem höchsten
absoluten Wert von höherfrequenten
Spektraldaten in jedem Skalierungsfaktorband, das durch Dequantisieren
von quantisierten Daten, die den Wert "1" aufweisen,
unter Verwendung eines Skalierungsfaktors für das Skalierungsfaktorband
erzeugt werden. Die Dekodiervorrichtung 200 verwendet dann
das spezifizierte Verhältnis
als Koeffizienten, der die höherfrequenten
Spektraldaten in jedem Skalierungsfaktorband multipliziert, so dass
die Spektraldaten mit höherer
Genauigkeit rekonstruiert werden. Auf dieselbe vorgenannte Weise
können
die höherfrequenten
Spektraldaten aus den Unterinformationen von (2) rekonstruiert werden,
das heißt, quantisierte
Daten, die durch Quantisieren von Spektraldaten, die den höchsten absoluten
Wert in jedem Skalierungsfaktorband aufweisen, generiert werden.
-
Die
nachfolgend beschriebene Operation wird durch die Dekodiervorrichtung 200 ausgeführt, wenn
die Unterinformation eine der vorgenannten Informationen (3) und
(4) ist, das heißt,
eine von: (a) entweder eine Position von Spektraldaten, die den höchsten absoluten
Wert in jedem Skalierungsfaktorband aufweist oder eine Position
von Spektraldaten, die den höchsten
absoluten Wert im höheren
Frequenzband aufweist; und (b) ein Plus-/Minuszeichen eines Wertes
eines Spektraldatensatzes, der an einer vorbestimmten Stelle innerhalb
des höheren
Frequenzbandes existiert. Die Dekodiervorrichtung 200 generiert
entweder ein Spektrum mit einer vorbestimmten Wellenform oder dupliziert
ein Spektrum im niedrigeren Frequenzband. Die Dekodiervorrichtung 200 passt
dann das generierte/duplizierte Spektrum so an, dass es eine Wellenform
aufweist, die durch die Unterinformationen (3) oder (4) repräsentiert wird.
-
Wenn
die Unterinformationen die vorgenannten Informationen (5) sind,
das heißt,
ein Duplikationsverfahren, das zum Duplizieren von Spektraldaten
im niedrigeren Frequenzband verwendet wird, um höherfrequente Spektraldaten
zu repräsentieren, wenn
diese zwei Spektraldatensätze
einander ähnlich
sind, funktioniert die Beurteilungseinheit 137 wie folgt. Ähnlich wie
beim Spezifizieren von ähnlichen Spektren
in verschiedenen Fenstern spezifiziert die Beurteilungseinheit 137 ein
Skalientngsfaktorband im niedrigeren Frequenzband, das ein Spektrum
aufweist, das einem Spektrum im höheren Frequenzband ähnlich ist.
Dem spezifizierten Skalierungsfaktorband wird eine Nummer gegeben,
und diese Nummer wird als Teil der Unterinformationen verwendet.
-
Wenn
das niedrigerfrequente Spektrum wie vorstehend beschrieben dupliziert
wird, um das höherfrequente
Spektrum zu erzeugen, kann die Duplikation in einer von zwei Richtungen
ausgeführt
werden, das heißt
vom niedrigerfrequenten Teil zum höherfrequenten Teil und umgekehrt.
Diese Duplikationsrichtung kann auch den Unterinformationen (5) beigefügt werden.
Außerdem
kann die Duplikation mit einem oder ohne ein Zeichen des ursprünglichen invertierten
niedrigerfrequenten Spektrums ausgeführt werden. Ein solches Zeichen
des duplizierten Spektrums kann auch den Unterinformationen (5) beigefügt werden,
so dass die Dekodiervorrichtung 200 ein höherfrequentes
Spektrum in jedem Skalierungsfaktorband durch Duplizieren eines
niedrigerfrequenten Spektrums, wie durch die Unterinformationen
(5) angegeben, rekonstruiert. Da es weniger wahrscheinlich ist,
dass die Differenz zwischen dem rekonstruierten, höherfrequenten
Spektrum und seinem Originalspektrum als Tondifferenz auftritt,
wenn sie mit der Differenz im niedrigeren Frequenzband verglichen
wird, repräsentieren
die Unterinformationen (5) die Wellenform eines höherfrequenten
Spektrums ausreichend.
-
In
der vorgenannten Ausführungsform
errechnet die Beurteilungseinheit 137 einen Skalierungsfaktor,
der höherfrequente
Spektraldaten quantisiert, um quantisierte Daten mit dem Wert "1" zu erzeugen. Dieser Wert der quantisierten
Daten muss jedoch nicht "1" sondern kann ein
anderer vorbestimmter Wert sein.
-
In
der vorgenannten Ausführungsform
werden nur Skalierungsfaktoren als Unterinformationen kodiert. Es
ist jedoch auch möglich,
andere Informationen als Unterinformationen zu kodieren, wie etwa quantisierte
Daten, Informationen über
Positionen von charakteristischen Spektren, Informationen über Plus-/Minuszeichen
von Spektren, und ein Verfahren zum Generieren von Geräusch. Solche
unterschiedlichen Informationsarten können zusammen als die zu kodierenden
Unterinformationen kombiniert werden. Es wäre effektiver, Informationen
zu kombinieren, wie etwa einen Koeffizienten, der ein Amplitudenverhältnis repräsentiert,
und eine Position von Spektraldaten, die den höchsten absoluten Wert aufweist,
mit den vorgenannten Skalierungsfaktoren, die quantisierte Daten,
die einen vorbestimmten Wert haben, aus dem höchsten absoluten Wert von Spektraldaten
erzeugen, und die kombinierten Informationen als zu kodierende Unterinformationen
zu verwenden.
-
Die
vorgenannte Ausführungsform
gibt an, dass die Beurteilungseinheit 137 die Informationen über die
gemeinsame Nutzung erzeugt, obwohl es nicht erforderlich ist. Wenn
die vorliegende Kodiervorrichtung 100 nicht die Informationen über die
gemeinsame Nutzung erzeugt, wird die zweite Kodiereinheit 134 unnötig, aber
die Dekodiervorrichtung 200 ist erforderlich, um Fenster
zu spezifizieren, die dieselben höherfrequenten Spektraldaten
gemeinsam nutzen. Dafür
weist die zweite Dequantisiereinheit 224 Speicher zum Speichern
von mindestens höherfrequenten
Spektraldaten, die einem Fenster entsprechen, auf. Sobald zum Beispiel
die erste Dequantisiereinheit 222 das Dequantisieren von
Spektraldaten in jedem Fenster beendet, platziert die zweite Dequantisiereinheit 224 64
Samples von höherfrequenten,
dequantisierten Spektraldaten, deren Wert nicht "0" ist,
in den Speicher. Gleichzeitig erfasst die zweite Dequantisiereinheit 224 aus
Fenstern, die aus der ersten Dequantisiereinheit 222 ausgegeben werden,
ein Fenster, das höherfrequente
Spektraldaten aufweist, deren Werte alle "0" sind,
assoziiert das erfasste Fenster mit den höherfrequenten, im Speicher
gespeicherten Spektraldaten und gibt die gespeicherten Spektraldaten
aus. Zum Beispiel assoziiert die zweite Dequantisiereinheit 224 die
höherfrequenten,
im Speicher gespeicherten Spektraldaten mit dem erfassten Fenster,
indem sie eine das erfasste Fenster spezifizierende Zahl an die
Integriereinheit 225 sendet, wenn sie die gespeicherten
Spektraldaten an die Integriereinheit 225 ausgibt. In der
Integriereinheit 225 werden die höherfrequenten Spektraldaten
innerhalb des Fensters, das durch die gesendete Nummer spezifiziert
wird, durch die Duplikation der höherfrequenten, im Speicher
gespeicherten Spektraldaten ersetzt.
-
Wenn
die vorgenannte Operation ausgeführt wird,
ist es für
die Kodiervorrichtung 100 nicht erforderlich, höherfrequente
Spektraldaten innerhalb des ersten Fensters eines Datenübertragungsblocks
zu senden. In diesem Fall platziert die Kodiervorrichtung 100 Fenster,
deren höherfrequente
Spektraldaten an die Dekodiervorrichtung 200 zu senden
sind, in die erste Hälfte
des Datenübertragungsblocks.
Die zweite Dequantisiereinheit 224, die immer das dequantisierte
Ergebnis der ersten Dequantisiereinheit 222 überwacht,
spezifiziert dann, dass Werte der höherfrequenten Spektraldaten
im ersten Fenster alle "0" betragen. Die zweite
Dequantisiereinheit 224 durchsucht dann nachfolgende Fenster nach
einem Fenster, das höherfrequente
Spektraldaten aufweist, deren Werte nicht "0" betragen.
Beim Auffinden eines solchen Fensters gibt die zweite Dequantisiereinheit 224 höherfrequente
Spektraldaten in dem gefundenen Fenster an die Integriereinheit 225 aus.
Dabei dupliziert die zweite Dequantisiereinheit 224 auch diese
höherfrequenten
Spektraldaten, speichert die duplizierten Spektraldaten im Speicher.
Die zweite Dequantisiereinheit 224 assoziiert danach diese
duplizierten Spektraldaten mit einem Fenster, das danach als höherfrequente
Spektraldaten, deren Werte alle "0" sind, aufweisend
erfasst wurde, und gibt die Duplikation an die Integriereinheit 225 aus,
so dass die Spektraldaten mit Werten "0" durch
Werte der Duplikation ersetzt werden.
-
Die
herkömmlichen
Verfahren lassen oft das Übertragen
von höherfrequenten
Spektraldaten aus, wenn ein Übertragungskanal
mit einer niedrigen Transferrate verwendet wird. Die Kodiervorrichtung 100 der
vorgenannten Ausführungsform überträgt jedoch
höherfrequente
Spektraldaten, die mindestens einem Fenster von acht Fenstern entsprechen,
das auf kurzen Blöcken
basiert. Das befähigt
die Dekodiervorrichtung 200, ein Audiosignal mit hoher
Qualität
auch im höheren
Frequenzband wiederzugeben. Außerdem
werden mit der vorliegenden Kodiervorrichtung 100 höherfrequente
Spektraldaten durch verschiedene Fenster, die ähnliche Spektren haben, gemeinsam
genutzt. Infolgedessen kann Ton, der dem Originalton ähnlich ist,
auch für
Fenster wiedergegeben werden, deren höherfrequente Spektraldaten
nicht an die Dekodiervorrichtung 200 gesendet werden.
-
Die
vorgenannte Ausführungsform
beschreibt die Sampling-Frequenz als 44,1 kHz, obwohl sie nicht
auf 44,1 kHz beschränkt
ist und auch eine andere Frequenz sein kann. Die vorgenannte Ausführungsform
gibt an, dass das höhere
Frequenzband mit 11,025 kHz beginnt, obwohl die Grenze zwischen
Hoch- und Niederfrequenzbändern
nicht 11,025 kHz sein muss und bei einer anderen Frequenz festgelegt
werden kann.
-
In
der vorgenannten Ausführungsform
werden die ID-Informationen den Informationen über die gemeinsame Nutzung
und ähnlichen
beigefügt,
die das zweite kodierte Signal, das im Audiobitstrom platziert ist,
umfasst. Es ist jedoch nicht erforderlich, diese ID-Informationen
den Informationen über
die gemeinsame Nutzung beizufügen,
wenn ein Bereich im Bitstrom, wie etwa Füllelement oder DSE, nur Informationen
speichert, die durch die vorliegende Kodiervorrichtung 100 kodiert
werden, oder wenn der Audiobitstrom, der das zweite kodierte Signal
aufweist, nur durch die Dekodiervorrichtung 200 der vorliegenden
Erfindung dekodiert werden kann. In diesem Fall extrahiert die Dekodiervorrichtung 200 immer
das zweite kodierte Signal aus einem Bereich (wie etwa Füllelement),
der sowohl für
die Kodiervorrichtung 100 als auch die Dekodiervorrichtung 200 bestimmt
ist, und dekodiert die Informationen über die gemeinsame Nutzung.
-
Die
vorgenannte Ausführungsform
beschreibt nur den Fall, wo kurze Blöcke als Einheiten der MDCT-Konvertierung
verwendet werden. Wenn jedoch lange Blöcke als MDCT-Blocklänge verwendet
werden, ist es möglich,
Funktionen der vorliegenden Kodiervorrichtung 100 und der
Dekodiervorrichtung 200 wie in der herkömmlichen Kodiervorrichtung 300 und
Dekodiervorrichtung 400 entsprechend zu schalten. Genauer
gesagt, Einheiten innerhalb der Kodiervorrichtung 100 und
der Dekodiervorrichtung 200 werden geschaltet, um wie folgt
zu funktionieren. Die Audiosignaleingabeeinheit 110 extrahiert
1.024 Samples und extrahiert zusätzlich
zwei Sätze
von 512 Samples, wobei sich einer der zwei Sätze von 512 Samples mit einem
Teil von 1.024 zuvor extrahierten Samples überlappt und der andere Satz
von 512 Samples sich mit einem Teil von 1.024 Samples überlappt,
die als nächstes
zu extrahieren sind. Die Transformiereinheit 120 führt die
MDCT-Konvertierung an 2.048 Samples gleichzeitig aus, um Spektraldaten,
die sich aus 2.048 Samples zusammensetzen, zu erzeugen, von denen
die Hälfte
(d.h. 1.024 Samples) dann in 49 vorbestimmte Skalierungsfaktorbänder aufgeteilt
wird. Die Beurteilungseinheit 137 empfängt die erzeugten Spektraldaten
von der Transformiereinheit 120 und gibt sie, wie sie sind,
an die erste Quantisiereinheit 131 aus. Die zweite Kodiereinheit 134 stoppt
zeitweilig ihren Betrieb. Die Stromeingabeeinheit 210 der
Dekodiervorrichtung 200 extrahiert das zweite kodierte
Signal nicht aus dem kodierten Audiobitstrom, und die zweite Dekodiereinheit 223 und
die zweite Dequantisiereinheit 224 stoppen zeitweilig ihren
Betrieb. Die Integriereinheit 225 empfängt die Spektraldaten von der
ersten Dequantisiereinheit 222 und gibt die empfangenen Daten,
wie sie sind, an die Rücktransformiereinheit 230 aus.
-
Mit
dieser Schaltfunktion der Kodiervorrichtung 100 und der
Dekodiervorrichtung 200 kann zum Beispiel eine Melodie
mit einem langsamen Tempo basierend auf langen Blöcken, die
hohe Tonqualität bereitstellen, übertragen
und dekodiert werden, während
eine Melodie mit einem schnellen Tempo, die häufig Angriffe erzeugt, basierend
auf kurzen Blöcken,
die eine bessere Zeitauflösung
bereitstellen, übertragen
und dekodiert werden kann.
-
Zweite Ausführungsform
-
Nachfolgendes
beschreibt eine Kodiervorrichtung 102 und eine Dekodiervorrichtung 201 der zweiten
Ausführungsform
unter Bezugnahme auf 12 und 13 mit
Konzentration auf Merkmale, die sich von der ersten Ausführungsform
unterscheiden. 12 ist ein Blockdiagramm, das
Konstruktionen der Kodiervorrichtung 101 und der Dekodiervorrichtung 201 zeigt.
-
Kodiervorrichtung 101
-
Wenn
kurze Blöcke
als MDCT-Blocklänge verwendet
werden, spezifiziert die Kodiervorrichtung 101 zwei oder
mehr Fenster, die Spektraldatensätze aufweisen,
die sich einander ähneln.
Die Kodiervorrichtung 101 lässt dann einen Spektraldatensatz
innerhalb eines der spezifizierten Fenster andere Spektraldatensätze innerhalb
anderer spezifizierter Fenster repräsentieren. In der vorliegenden
Ausführungsform
repräsentiert
ein Spektraldatensatz andere Spektraldatensätze in einem vollen Frequenzbereich.
Die Kodiervorrichtung 101 verringert folglich die Bitmenge
des kodierten Audiobitstroms. Die Kodiervorrichtung 101 umfasst
eine Audiosignaleingabeeinheit 110, eine Transformiereinheit 120,
eine erste Quantisiereinheit 131, eine erste Kodiereinheit 132,
eine zweite Kodiereinheit 134, eine Beurteilungseinheit 138 und
eine Stromausgabeeinheit 140.
-
Die
Beurteilungseinheit 138 unterscheidet sich von der Beurteilungseinheit 137 der
ersten Ausführungsform
dahingehend, dass die vorliegende Einheit 138 beurteilt,
ob Spektraldaten innerhalb eines Fensters verschiedene Spektraldaten
innerhalb anderer Fenster im vollen Frequenzband, einschließlich des
niedrigeren Frequenzbandes als auch des höheren Frequenzbandes, repräsentieren.
Das heißt,
die vorliegende Ausführungsform
verringert die Datenmenge eines Audiosignals im niedrigeren Frequenzband,
für das
höhere
Genauigkeit zum Wiedergeben des Originaltons als für das höhere Frequenzband
erforderlich ist. Genauer gesagt, konzentriert sich die Beurteilungseinheit 138 auf
jedes von acht Fenstern, das Spektraldaten aufweist, die von der Transformiereinheit 120 ausgegeben
werden, und beurteilt, ob Spektraldaten innerhalb der Fenster, auf die
Konzentration erfolgte, durch andere Spektraldaten innerhalb eines
anderen Fensters von den acht Fenstern repräsentiert werden können. Wird
beurteilt, dass die Spektraldaten durch andere Spektraldaten repräsentiert
werden können, ändert die
Beurteilungseinheit 138 all die Werte von Spektraldaten im
Fenster, auf das die Konzentration erfolgte, auf "0" und generiert die vorstehend beschriebenen
Informationen über
die gemeinsame Nutzung.
-
Gehen
wir zum Beispiel davon aus, dass die Beurteilungseinheit 138 beurteilt,
dass Spektraldaten im zweiten Fenster durch Spektraldaten im ersten Fenster
repräsentiert
werden können
und dass Spektraldaten in Fenstern vom vierten bis achten Fenster durch
Spektraldaten im dritten Fenster repräsentiert werden können. Die
Beurteilungseinheit 138 ändert dann all die Werte von
Spektraldaten im zweiten Fenster und Fenstern vom vierten bis achten
auf "0", und gibt die als "01011111" ausgewiesenen Informationen über die
gemeinsame Nutzung aus. Folglich quantisiert die erste Quantisiereinheit 131 Spektraldaten,
die eine viel kleinere Bitmenge als herkömmliche Spektraldaten aufweisen,
weil all die Werte von Spektraldaten innerhalb des zweiten Fensters
und der Fenster vom vierten bis achten "0" betragen.
-
Dekodiervorrichtung 201
-
Die
Dekodiervorrichtung 201 dekodiert den durch die Kodiervorrichtung 101 kodierten
Audiobitstrom und umfasst eine Stromeingabeeinheit 210, eine
erste Dekodiereinheit 221, eine erste Dequantisiereinheit 222,
eine zweite Dekodiereinheit 223, eine zweite Dequantisiereinheit 226,
eine Integriereinheit 227, eine Rücktransformiereinheit 230 und eine
Audiosignalausgabeeinheit 240.
-
Die
zweite Dequantisiereinheit 226 nimmt Bezug auf die Informationen über die
gemeinsame Nutzung, die durch die zweite Dekodiereinheit 223 dekodiert
werden. Für
ein Fenster, dessen Informationen über die gemeinsame Nutzung
(d.h. ein Flag) als "0" ausgewiesen werden,
dupliziert die zweite Dequantisiereinheit 226 Spektraldaten,
die durch die erste Dequantisiereinheit 222 dequantisiert
wurden, und platziert die duplizierten Spektraldaten in den Speicher.
Danach assoziiert die zweite Dequantisiereinheit 226 diese
Duplikation mit einem nachfolgenden Fenster, dessen Flag als "1" ausgewiesen wird, und gibt die Duplikation
an die Integriereinheit 227 aus.
-
Die
Integriereinheit 227 integriert Spektraldaten, die von
der ersten Dequantisiereinheit 222 ausgegeben werden, mit
Spektraldaten, die von der zweiten Dequantisiereinheit 226 ausgegeben
werden. Diese Integration wird in Fenstereinheiten ausgeführt.
-
13 zeigt ein Beispiel, wie die Beurteilungseinheit 138 einen
einzelnen Spektraldatensatz beurteilt, der verschiedene Spektraldatensätze repräsentiert.
Diese Figur zeigt Spektraldaten, die durch MDCT-Konvertierung basierend
auf kurzen Blöcken,
wie in 3B gezeigt, generiert werden. Wenn
die Sampling-Frequenz
für das
Eingangsaudiosignal zum Beispiel 44,1 kHz beträgt, schwankt das Wiedergabefrequenzband
in jedem Fenster von 0 kHz bis 22,05 kHz, wie in der Figur gezeigt
wird.
-
Wie
bereits beschrieben wurde, ist es wahrscheinlich, dass zwei Spektren
in zwei benachbarten Fenstern eine ähnliche Wellenform annehmen,
wenn die Fenster basierend auf kurzen Blöcken generiert werden, weil
diese Fenster in kurzen Zyklen extrahiert werden. Wird beurteilt,
dass Spektren im ersten und zweiten Fenster einander ähnlich sind
und dass Spektren in Fenstern vom dritten Fenster bis achten Fenster
einander ähnlich
sind, beurteilt die Beurteilungseinheit 138, dass Spektraldaten
im zweiten Fenster durch Spektraldaten im ersten Fenster repräsentiert
werden können
und dass Spektraldaten in Fenstern vom vierten bis achten Fenster
durch Spektraldaten im dritten Fenster repräsentiert werden können. In
diesem Fall werden Spektraldaten, die in einer Wellenform einer
durchgezogenen Linie in der Figur repräsentiert werden, quantisiert
und kodiert, um an die Dekodiervorrichtung 201 gesendet
zu werden, und Werte von anderen Spektraldaten in anderen Fenstern,
das heißt,
dem zweiten Fenster und Fenstern vom dritten bis achten, werden
durch "0" ersetzt. Wenn die
Dekodiervorrichtung 201 Spektraldaten empfängt, deren
Werte alle "0" sind, dupliziert
die Dekodiervorrichtung 201 Spektraldaten in einem vorhergehenden
Fenster mit als "0" ausgewiesenem Flag und
verwendet die Duplikation als eine rekonstruierte Form der empfangenen
Spektraldaten.
-
Die
Datenmenge des kodierten Audiobitstroms wird drastisch verringert,
wenn Spektraldaten im niedrigeren Frequenzband sowie im höheren Frequenzband
gemeinsam von verschiedenen Fenstern, die ähnliche Spektren aufweisen,
genutzt werden. Das menschliche Gehör ist jedoch sehr empfindlich
gegenüber
einem Audiosignal im niedrigeren Frequenzband, und deshalb ist die
Beurteilungseinheit 138 erforderlich, um eine genauere
Beurteilung bezüglich
der Ähnlichkeit
von Spektren als in der ersten Ausführungsform vorzunehmen. Genauer
gesagt, die Beurteilungseinheit 138 verwendet im Grunde
dasselbe Beurteilungsverfahren wie die Beurteilungseinheit 137 der
ersten Ausführungsform,
aber die vorliegende Beurteilungseinheit 138 verwendet einen
niedrigeren Schwellenwert für
die Beurteilung und/oder verwendet eine Vielzahl von Beurteilungsverfahren,
um eine äußerst genaue
Beurteilung vorzunehmen. Es ist auch zu beachten, dass die vorliegende
Kodiervorrichtung 101 keine Spektraldaten innerhalb vorbestimmter
Fenster allein an die Dekodiervorrichtung 201 ohne Ähnlichkeitsbeurteilung durch
die Beurteilungseinheit 137 senden darf, weil die Ähnlichkeitsbeurteilung
aus dem angegebenen Grund nicht aus der vorliegenden Ausführungsform ausgelassen
werden kann.
-
Es
ist für
die Beurteilungseinheit 138 nicht erforderlich, die Informationen über die
gemeinsame Nutzung wie bei der Beurteilungseinheit 137 zu
generieren. In diesem Fall ist die zweite Kodiereinheit 134 unnötig. Das
kann zum Beispiel folgendermaßen
erreicht werden. Die Beurteilungseinheit 138 spezifiziert
Fenster, die ähnliche
Spektren aufweisen, und ordnet sie unter derselben Gruppe ein. Die
Beurteilungseinheit 138 generiert dann Informationen bezüglich dieser
Gruppierung und gibt die generierten Informationen an die erste
Quantisiereinheit 131 aus. Spektraldaten in mindestens
einem Fenster innerhalb einer solchen Gruppe werden wie beim herkömmlichen
Verfahren quantisiert, kodiert und an die Dekodiervorrichtung 201 gesendet.
Andererseits werden Werte von anderen Spektraldaten in Fenstern
außer
dem mindestens einen Fenster unter derselben durch "0" ersetzt. Es ist zu beachten, dass es für Spektraldaten
innerhalb eines Fensters am Anfang jeder Gruppe nicht erforderlich
ist, andere Spektraldaten in anderen Fenstern innerhalb derselben Gruppe
zu repräsentieren.
Auch für
Spektraldaten in einem einzelnen Fenster ist es nicht erforderlich,
andere Spektraldaten in anderen Fenstern unter derselben Gruppe
zu repräsentieren.
-
Die
vorgenannte Gruppierung wird für
kurze Blöcke
in herkömmlicher
Weise unter Verwendung eines herkömmlichen Tools ausgeführt und
deshalb nur kurz beschrieben. Durch diese Gruppierung werden Fenster,
die ähnliche
Spektren aufweisen, unter derselben Gruppe gruppiert, und diese
Fenster unter derselben Gruppe nutzen gemeinsam denselben Skalierungsfaktor.
Die Ähnlichkeitsbeurteilung
für die Gruppierung
wird wie die vorgenannte Ähnlichkeitsbeurteilung
an Spektraldaten ausgeführt,
die gemeinsam von Fenstern genutzt werden. Wenn die Sampling-Frequenz
44,1 kHz beträgt
und kurze Blöcke
verwendet werden, wird jedes Fenster in herkömmlicher Weise als 14 Skalierungsfaktorbänder aufweisend definiert,
und daher existieren 14 Skalierungsfaktoren innerhalb jedes Fensters.
Wenn dementsprechend mehr Fenster unter derselben Gruppe gruppiert
werden, wird die zu übertragende
Bitmenge der Skalierungsfaktoren kleiner.
-
Für die Beurteilungseinheit 138 ist
es alternativ möglich,
einen Mittelwert von Spektralwerten derselben Frequenz innerhalb
verschiedener Fenster unter derselben Gruppe zu errechnen, wenn
diese Fenster Spektren haben, die sich ausreichend einander ähnlich sind.
Die Beurteilungseinheit 138 errechnet einen solchen Spektralmittelwert
für jede
Frequenz, generiert ein neues Fenster, das sich aus 128 Spektralmittelwerten
in den vollen Frequenzen zusammensetzt und verwendet das generierte
neue Fenster als repräsentierendes
Fenster am Anfang eines Datenübertragungsblocks.
(Es ist nicht erforderlich, dieses repräsentierende Fenster am Anfang
des Datenübertragungsblocks
zu platzieren.) Die Beurteilungseinheit 138 ändert dann
Spektralwerte in anderen Fenstern unter derselben Gruppe auf "0", und gibt diese Fenster an die erste
Quantisiereinheit 131 aus.
-
Wenn
die Kodiervorrichtung 101 keine Informationen über die
gemeinsame Nutzung generiert, ist auch die folgende Operation möglich. Es
wird vorher für
die Kodiervorrichtung 101 und die Dekodiervorrichtung 201 festgelegt,
dass die Kodiervorrichtung 101 nur Spektraldaten in einem
Fenster am Anfang jeder Gruppe quantisiert, kodiert und überträgt. Was
Spektraldaten in anderen Fenstern unter derselben Gruppe anbetrifft,
wird festgelegt, dass die Kodiervorrichtung 101 ihre Spektralwerte
auf "0" ändert, um sie an die Dekodiervorrichtung 201 zu
senden. Die zweite Dequantisiereinheit 226 der Dekodiervorrichtung 201 dupliziert
Spektraldaten im Fenster am Anfang jeder Gruppe während sie
auf dekodierte Informationen hinsichtlich der Gruppierung Bezug nimmt,
assoziiert die duplizierten Spektraldaten mit jedem Fenster, das
dem ersten Fenster in derselben Gruppe folgt, und gibt sie an die
Dequantisiereinheit 227 aus, die dann die Integration ausführt.
-
Wenn
die Kodiervorrichtung 101 keine Informationen über die
gemeinsame Nutzung generiert und das erste Fenster aus durch "0" ersetzten Werten zusammengesetzt werden
kann, kann die folgende Operation ausgeführt werden. In Übereinstimmung
mit den Informationen bezüglich
der Gruppierung überwacht
die zweite Dequantisiereinheit 226 der Dekodiervorrichtung 201 dequantisierte
Spektraldaten, die von der ersten Dequantisiereinheit 222 ausgegeben
werden. Wird erfasst, dass von der ersten Dequantisiereinheit 222 ausgegebene
Spektraldaten den Wert "0" annehmen, durchsucht
die zweite Dequantisiereinheit 226 Spektraldaten, die dieselbe Frequenz
wie die erfassten Spektraldaten haben, in anderen Fenstern unter
derselben Gruppe, um Spektraldaten zu finden, die einen anderen
Wert als "0" haben. Die zweite
Dequantisiereinheit 226 dupliziert dann den Wert der gefundenen
Spektraldaten und gibt sie an die Integriereinheit 227 aus,
die dann die Integration ausführt.
-
Die
folgende Operation kann alternativ ausgeführt werden. Wenn Werfe von Spektraldaten
innerhalb eines Fensters, das durch die erste Dequantisiereinheit 222 dequantisiert
wurde, alle "0" sind, durchsucht
die zweite Dequantisiereinheit 226 andere Fenster innerhalb
derselben Gruppe, um ein Fenster zu finden, das Spektraldaten aufweist,
deren Werte nicht "0" sind. Wird ein solches
Fenster gefunden, dupliziert die zweite Dequantisiereinheit 226 Spektraldaten
in dem gefundenen Fenster, assoziiert die duplizierten Spektraldaten
mit den vorgenannten Spektraldaten, die "0"-Werte
annehmen, und gibt die duplizierten Spektraldaten an die Integriereinheit 227 aus.
-
Fenster,
die durch die Beurteilungseinheit 138 zusammen gruppiert
werden, können
eine Vielzahl von Fenstern umfassen, die Spektraldaten aufweisen,
deren Werte nicht durch "0" ersetzt werden, und
eine solche Gruppe von Fenstern kann an die erste Quantisiereinheit 131 ausgegeben
werden. In diesem Fall erfasst die zweite Dequantisiereinheit 226 der
Dekodiervorrichtung 201 Spektraldaten, die den "0"-Wert im Ergebnis des Dequantisierens
durch die erste Dequantisiereinheit 222 annehmen, durchsucht
andere Fenster unter derselben Gruppe, um gewisse Spektraldaten
zu finden, die dieselbe Frequenz wie die erfassten Spektraldaten
haben und deren Wert nicht "0" ist. Die vorgenannten "gewissen Spektraldaten
sind eines von folgendem: (a) Spektraldaten, die zuerst durch die
vorgenannte Suche gefunden werden; (b) Spektraldaten, die den höchsten Wert
in den durchsuchten Fenstern haben; und (c) Spektraldaten, die den
niedrigsten Wert in den durchsuchten Fenstern haben. Die zweite
Dequantisiereinheit 226 dupliziert dann die gefundenen
gewissen Spektraldaten.
-
Wenn
Fenster, die durch die Beurteilungseinheit 138 zusammen
gruppiert werden, eine Vielzahl von Fenstern umfassen, die Spektraldaten
aufweisen, deren Werfe, wie vorstehend beschrieben, nicht durch "0" ersetzt werden, ist auch folgende Operation möglich. Nachdem
die zweite Dequantisiereinheit 226 der Dekodiervorrichtung 201 Spektraldaten
erfasst, die den "0"-Wert im Ergebnis
des Dequantisierens durch die erste Dequantisiereinheit 222 annehmen,
durchsucht die zweite Dequantisiereinheit 226 andere Fenster,
die keine Spektraldaten der Werte "0" aufweisen,
unter derselben Gruppe, um eines der folgenden Fenster zu finden:
(a) ein Fenster, dass die höchste
Spitze von Spektraldaten unter den durchsuchten Fenstern aufweist;
und (b) ein Fenster, dessen Energie unter den durchsuchten Fenstern
am größten ist.
Die zweite Dequantisiereinheit 226 dupliziert dann all
die Spektraldaten im gefundenen Fenster.
-
Wenn
bei der vorliegenden Ausführungsform verschiedene
Fenster von acht Fenstern Spektren aufweisen, die einander ähnlich sind,
nutzen diese verschiedenen Fenster dieselben Spektraldaten gemeinsam.
Das kann die Datenmenge des kodierten Audiobitstroms minimieren,
während
der Qualitätsverlust
bei den rekonstruierten Spektraldaten minimiert wird.
-
Es
ist natürlich
möglich,
die Amplitude von Spektraldaten, die durch die zweite Dequantisiereinheit 226 dupliziert
werden, wie erforderlich anzupassen. Diese Anpassung kann durch
Multiplizieren jedes Spektralwertes mit einem vorbestimmten Koeffizienten,
wie etwa "0,5" vorgenommen werden.
Dieser Koeffizient kann ein Festwert sein oder in Übereinstimmung
mit entweder einem Frequenzband oder Spektraldaten, die von der
ersten Dequantisiereinheit 222 ausgegeben werden, geändert werden. Dieser
vorbestimmte Wert muss kein vorbestimmter Wert sein. Zum Beispiel
kann der Koeffizient als Unterinformation dem zweiten kodierten
Signal beigefügt
werden. Entweder ein Skalierungsfaktorwert oder ein quantisierter
Wert von quantisierten Daten kann als Koeffizient verwendet werden
und dem zweiten kodierten Signal beigefügt werden.
-
In
der vorliegenden Ausführungsform
ist es auch möglich,
Werte von höherfrequenten
Spektraldaten innerhalb eines Fensters, dessen Flag als "0" ausgewiesen wird, durch "0" zu ersetzen und stattdessen Unterinformationen
für die
höherfrequenten Spektraldaten,
wie in der ersten Ausführungsform beschrieben,
zu generieren. In diesem Fall umfasst das zweite kodierte Signal
sowohl die Unterinformationen als auch die Informationen über die
gemeinsame Nutzung. Das heißt,
für Spektraldaten
innerhalb eines Fensters mit als "0" ausgewiesenem
Flag quantisiert und kodiert die Kodiervorrichtung 102 niedrigerfrequente
Spektraldaten allein, wie dies auf herkömmliche Weise ausgeführt wird.
Die Kodiervorrichtung 101 betrachtet höherfrequente Spektraldaten
in dem vorgenannten Fenster als "0", quantisiert und
kodiert sie und generiert die Unterinformationen bezüglich der
höherfrequenten
Spektraldaten wie in der ersten Ausführungsform. Die Kodiervorrichtung 101 kodiert
dann die Unterinformationen zusammen mit den Informationen über die
gemeinsame Nutzung. Bei Empfang des Fensters, dessen Flag als "0" ausgewiesen wird, rekonstruiert die
Dekodiervorrichtung 201 die niedrigerfrequenten Spektraldaten durch
Dequantisieren des ersten kodierten Signals auf dieselbe, bereits
früher
beschriebene Weise und rekonstruiert die höherfrequenten Spektraldaten
in Übereinstimmung
mit den Unterinformationen. Zum Rekonstruieren von Spektraldaten
in einem Fenster, dessen Flag als "1" ausgewiesen
wird, dupliziert die Dekodiervorrichtung 201 die vorgenannten
rekonstruierten Spektraldaten über
den vollen Frequenzbereich innerhalb des Fensters mit als "0" ausgewiesenem Flag.
-
Dritte Ausführungsform
-
Nachfolgendes
beschreibt eine Kodiervorrichtung 102 und eine Dekodiervorrichtung 202 der dritten
Ausführungsform
unter Bezugnahme auf 14 ~ 17 mit
Konzentration auf Merkmale der vorliegenden Ausführungsform, die sich von der
ersten Ausführungsform
unterscheiden. 14 ist ein Blockdiagramm, das
Konstruktionen der Kodiervorrichtung 102 und der Dekodiervorrichtung 202 zeigt.
-
Kodiervorrichtung 102
-
Diese
Kodiervorrichtung 102 rekonstruiert Spektraldaten, aus
denen quantisierte Daten des Wertes "0" generiert
werden, weil diese Spektraldaten an Spektraldaten angrenzen, die
den höchsten absoluten
Wert aufweisen. Spektraldaten, die durch die Kodiervorrichtung 102 bearbeitet
werden, basieren auf langen Blöcken.
Die rekonstruierten Spektraldaten werden dann durch Daten einer
kleineren Bitmenge repräsentiert,
die an die Dekodiervorrichtung 202 zu senden sind. Die
Kodiervorrichtung 102 umfasst eine Audiosignaleingabeeinheit 111,
eine Transformiereinheit 121, eine erste Quantisiereinheit 151,
eine erste Kodiereinheit 152, eine zweite Quantisiereinheit 153,
eine zweite Kodiereinheit 154 und eine Stromausgabeeinheit 160.
-
Die
Audiosignaleingabeeinheit 111 empfängt digitale Audiodaten, wie
etwa auf MPEG-2 AAC basierende Audiodaten, die bei einer Sampling-Frequenz
von 44,1 kHz gesampelt werden. Aus diesen digitalen Audiodaten extrahiert
die Audiosignaleingabeeinheit 110 aufeinander folgende
1.024 Samples in einem Zyklus von 23,2 msec. Die Audiosignaleingabeeinheit 110 erhält zusätzlich zwei
Sätze von
512 Samples, wobei einer der zwei Sätze von 512 Samples sich mit
einem Teil von 1.024 Samples, die vorher extrahiert wurden, überlappt,
und der andere Satz von 512 Samples sich mit einem Teil von 1.024 Samples,
die als nächstes
zu extrahieren sind, überlappt.
Folglich erhält
die Audiosignaleingabeeinheit 110 insgesamt 2.048 Samples.
-
Die
Transformiereinheit 121 empfängt die 2.048 Samples von der
Audiosignaleingabeeinheit 110 und transformiert die 2.048
Samples im Zeitbereich in Spektraldaten im Frequenzbereich in Übereinstimmung
mit der MDCT-Konvertierung. Diese Spektraldaten setzen sich aus
2.048 Samples zusammen und nehmen eine symmetrische Wellenform an.
Dementsprechend unterliegt nur die Hälfte (d.h. 1.024 Samples) der
2.048 Samples den nachfolgenden Operationen. Die Transformiereinheit 121 teilt diese
Samples dann in eine Vielzahl von Gruppen, die Skalierungsfaktorbändern entsprechen,
auf, von denen jede mindestens ein Sample umfasst (oder praktisch
ausgedrückt,
Samples deren Gesamtanzahl einem Vielfachen von Vier entspricht).
Wenn die Sampling-Frequenz 44,1 kHz beträgt, umfasst jeder Datenübertragungsblock,
der auf langen Blöcken
basiert, 49 Skalierungsfaktorbänder.
-
Die
erste Quantisiereinheit 151 empfängt die Spektraldaten von der
Transformiereinheit 121 und bestimmt einen Skalierungsfaktor
für jedes
Skalierungsfaktorband der Spektraldaten. Die erste Quantisiereinheit 151 quantisiert
dann Spektraldaten in jedem Skalierungsfaktorband unter Verwendung
eines bestimmten Skalierungsfaktors, um quantisierte Daten zu erzeugen,
und gibt die quantisierten Daten an die erste Kodiereinheit 152 aus.
-
Die
erste Kodiereinheit 152 empfängt die quantisierten Daten
und Skalierungsfaktoren, die für die
quantisierten Daten verwendet werden, und Huffman-kodiert die quantisierten
Daten, Skalierungsfaktordifferenzen und ähnliches als ein erstes kodiertes
Signal in einem Format, das für
einen vorbestimmten Strom verwendet wird.
-
Die
zweite Quantisiereinheit 153 überwacht quantisierte Daten,
die von der ersten Quantisiereinheit 151 ausgegeben werden,
um in jedem Skalierungsfaktorband zehn Samples von quantisierten Daten
zu erfassen, deren Werte "0" sind, weil sie aus Spektraldaten
erzeugt werden, die an Spektraldaten angrenzen, die den höchsten absoluten
Wert in dem Skalierungsfaktorband aufweisen. Diese zehn Samples
umfassen fünf
Samples, die quantisierten Daten, die aus Spektraldaten des höchsten absoluten
Wertes erzeugt wurden, unmittelbar vorausgehen und fünf Samples,
die diesen quantisierten Daten unmittelbar folgen. Die zweite Quantisiereinheit 153 erhält dann
Spektralwerte, die den zehn erfassten Samples von quantisierten
Daten entsprechen, von der Transformiereinheit 121 und
quantisiert die erhaltenen Spektralwerte unter Verwendung eines
Skalierungsfaktors, der zuvor zwischen der Kodiervorrichtung 102 und
der Dekodiervorrichtung 202 festgelegt wurde, so dass quantisierte
Daten erzeugt werden. Die zweite Quantisiereinheit 153 lässt dann
Daten einer kleineren Bitmenge, diese quantisierten Daten repräsentieren,
und gibt die quantisierten Daten an die zweite Kodiereinheit 154 aus.
-
Die
zweite Kodiereinheit 154 empfängt die quantisierten Daten
und Huffman-kodiert
sie in ein zweites kodiertes Signal in einem vorbestimmten Format
für den
Strom. Danach gibt die zweite Kodiereinheit 154 das zweite
kodierte Signal an die Stromausgabeeinheit 160 aus. Es
ist zu beachten, dass der Skalierungsfaktor, der zum Quantisieren
durch die zweite Quantisiereinheit 154 verwendet wird,
nicht kodiert wird.
-
Die
Stromausgabeeinheit 160 empfängt das erste kodierte Signal
von der ersten Kodiereinheit 152, fügt dem ersten kodierten Signal
Kopfinformationen und andere notwendige Sekundärinformationen bei und transformiert
es in einen MPEG-2-AAC-Bitstrom.
Die Stromausgabeeinheit 160 empfängt auch das zweite kodierte
Signal von der zweiten Kodiereinheit 154 und platziert
es in einen Bereich des vorgenannten MPEG-2-ACC-Bitstroms, der entweder
durch eine herkömmliche
Dekodiervorrichtung ignoriert wird oder für den keine Operationen definiert
sind.
-
Dekodiervorrichtung 202
-
In Übereinstimmung
mit dem dekodierten zweiten kodierten Signal rekonstruiert die Dekodiervorrichtung 202 Spektraldaten,
aus denen quantisierte Daten mit dem Wert "0" generiert
werden, weil diese Spektraldaten an Spektraldaten angrenzen, die den
höchsten
absoluten Wert aufweisen. Die Dekodiervorichtung 202 umfasst
eine Stromeingabeeinheit 260, eine erste Dekodiereinheit 251,
eine erste Dequantisiereinheit 252, eine zweite Dekodiereinheit 253,
eine zweite Dequantisiereinheit 254, eine Integriereinheit 255,
eine Rücktransformiereinheit 231 und
eine Audiosignalausgabeeinheit 241.
-
Die
Stromeingabeeinheit 260 empfängt den kodierten Audiobitstrom
von der Kodiervorrichtung 102, extrahiert das erste und
das zweite kodierte Signal aus dem kodierten Bitstrom und gibt das
erste und das zweite kodierte Signal an die erste Dekodiereinheit 251 beziehungsweise
die zweite Dekodiereinheit 253 aus.
-
Die
erste Dekodiereinheit 251 empfängt das erste kodierte Signal,
das heißt,
Huffman-kodierte Daten im Stromformat, und dekodiert sie in quantisierte
Daten.
-
Die
erste Dequantisiereinheit 252 empfängt die quantisierten Daten
von der ersten Dekodiereinheit 251 und dequantisiert sie,
um Spektraldaten, die sich aus 1.024 Samples zusammensetzen, mit
einem 22,05 kHz-Wiedergabeband zu erzeugen.
-
Die
zweite Dekodiereinheit 253 empfängt das zweite kodierte Signal
von der Stromeingabeeinheit 260, dekodiert es in quantisierte
Daten, die sich aus zehn Samples zusammensetzen, die aus zehn Samples
von Spektraldaten erzeugt werden, die Spektraldaten des höchsten absoluten
Wertes unmittelbar vorangehen und folgen. Die zweite Dekodiereinheit 253 gibt
dann die quantisierten Daten an die zweite Dequantisiereinheit 254 aus.
-
Die
zweite Dequantisiereinheit 254 dequantisiert die quantisierten
Daten unter Verwendung des vorbestimmten Skalierungsfaktors, um
die zehn Samples von Spektraldaten zu erzeugen. Die zweite Dequantisiereinheit 254 nimmt
Bezug auf Spektraldaten, die von der ersten Dequantisiereinheit 252 ausgegeben
werden, um die zehn Samples zu erfassen, die Werte "0" aufweisen, weil sie an die Spektraldaten
mit dem höchsten
absoluten Wert angrenzen.
-
Danach
spezifiziert die zweite Dequantisiereinheit 254 Frequenzen
der erfassten zehn Samples, assoziiert die erzeugten zehn Samples
mit den spezifizierten Frequenzen, und gibt die erzeugten zehn Samples
an die Integriereinheit 225 aus.
-
Die
Integriereinheit 255 integriert die Spektraldaten, die
aus der ersten und der zweiten Dequantisiereinheit 252 und 254 zusammen
ausgegeben werden, und gibt die integrierten Spektraldaten an die
Rücktransformiereinheit 231 aus.
Genauer gesagt, in der Integriereinheit 255 werden Spektralwerte,
die von der ersten Dequantisiereinheit 252 ausgegeben und
durch die vorgenannten Frequenzen spezifiziert werden, durch Spektralwerte
(die erzeugten zehn Samples) ersetzt, die aus der zweiten Dequantisiereinheit 254 ausgegeben
werden.
-
Die
Rücktransformiereinheit 231 empfängt die
integrierten Spektraldaten, die sich aus 1.024 Samples zusammensetzen,
von der Integriereinheit 225 und führt IMDCT an den Spektraldaten
im Frequenzbereich in ein Audiosignal im Zeitbereich aus.
-
Die
Audiosignalausgabeeinheit 241 kombiniert sequentiell Sätze von
gesampelten Daten, die aus der Rücktransformiereinheit 231 ausgegeben werden,
um digitale Audiodaten zu erzeugen und auszugeben.
-
Wie
beschrieben wurde, kodiert die Kodiervorrichtung 102 Spektraldaten,
die Spektraldaten mit dem höchsten
absoluten Wert unmittelbar vorangehen und folgen, in jedem Skalierungsfaktorband
unter Verwendung eines Skalierungsfaktors, der sich von dem unterscheidet,
der durch die erste Quantisiereinheit 151 verwendet wird,
so dass die resultierenden quantisierten Daten einen Wert annehmen, der
nicht "0" ist, anders als
das herkömmliche
Verfahren, das quantisierte Daten, die den Wert "0" annehmen,
aus Spektraldaten in der Nähe
des höchsten absoluten
Wertes erzeugt. Das erzeugt ein kodiertes Signal, das eine höhere Tonqualität erzielt
und verbessert die Wiedergabegenauigkeit in der Nähe der Spitze über das
gesamte Wiedergabeband.
-
In
der vorgenannten Ausführungsform
quantisiert die zweite Quantisiereinheit 153 Spektraldaten, die
von der Transformiereinheit 121 ausgegeben werden, obwohl
Spektraldaten, die durch die zweite Quantisiereinheit 153 quantisiert
werden, nicht auf quantisierte Daten, die von der Transformiereinheit 121 ausgegeben
werden, beschränkt
sind. Die zweite Quantisiereinheit 153 kann zum Beispiel
Spektraldaten quantisieren, die durch Dequantisieren von quantisierten
Daten erzeugt werden, die von der ersten Dequantisiereinheit 151 ausgegeben
werden. Eine Kodiervorrichtung 102, die diese Operation
ausführt,
wird in 15 gezeigt.
-
15 ist ein Blockdiagramm, das Konstruktionen dieser
Kodiervorrichtung 102 und einer entsprechenden Dekodiervorrichtung 202 zeigt.
Die Kodiervorrichtung 102 umfasst eine Audiosignaleingabeeinheit 111,
eine Transformiereinheit 121, eine erste Quantisiereinheit 151,
eine erste Kodiereinheit 152, eine zweite Quantisiereinheit 156,
eine zweite Kodiereinheit 154, eine Dequantisiereinheit 155 und eine
Stromausgabeeinheit 160.
-
Die
zweite Quantisiereinheit 156 überwacht das Ergebnis der Quantisierung
durch die erste Quantisiereinheit 151 über die Dequantisiereinheit 155,
um zehn Samples von Spektraldaten zu spezifizieren, aus denen quantisierte
Daten mit Werten "0" erzeugt werden,
weil diese Samples an Spektraldaten des höchsten absoluten Wertes angrenzen.
Die zweite Quantisiereinheit 156 erhält dann die spezifizierten
zehn Samples der Spektraldaten von der Dequantisiereinheit 155 und
quantisiert sie unter Verwendung eines vorbestimmten Skalierungsfaktors.
-
Die
Dequantisiereinheit 155 dequantisiert quantisierte Daten,
die von der ersten Quantisiereinheit 151 ausgegeben werden,
um Spektraldaten zu erzeugen, und gibt die erzeugten Spektraldaten
und die Originalspektraldaten an die zweite Quantisiereinheit 156 aus.
-
Nachfolgendes
beschreibt die Bearbeitung der vorgenannten Kodiervorrichtung 102 und
Dekodiervorrichtung 202 unter Bezugnahme auf 16 und 17.
-
Wenn
die erste Quantisiereinheit 151 der Kodiervorrichtung 102 wie
im herkömmlichen
Verfahren die Quantisierung unter Verwendung eines Skalierungsfaktors
ausführt,
der so bestimmt wird, dass eine Bitmenge jedes kodierten Datenübertragungsblocks
innerhalb eines Bereichs einer Transferrate eines Übertragungskanals
liegt, werden Spektraldaten, die an Spektraldaten mit dem höchsten absoluten Wert
angrenzen, oft quantisierte Daten, die Werte "0" annehmen.
-
Wenn
die Dekodiervorrichtung 202 diese quantisierten Daten dekodiert,
nehmen die resultierenden Spektraldaten auch Werte "0" in der Nähe der Spektraldaten des höchsten absoluten
Wertes an, die allein richtig rekonstruiert werden. Solche Spektraldaten
mit Werten "0" verursachen einen
Quantisierungsfehler, der die Qualität eines wiedergegebenen Audiosignals
herabsetzt.
-
Wenn
ein Skalierungsfaktor so angepasst wird, dass er verhindert, dass
die Spektraldaten, die an die Spektraldaten des höchsten absoluten
Wertes angrenzen, Werte "0" annehmen und die
Quantisierung dann mit dem angepassten Skalierungsfaktor ausgeführt wird,
nehmen die resultierenden quantisierten Daten übermäßig hohe Werte an. Das ist
jedoch nicht wünschenswert,
besonders wenn ein kodierter Audiobitstrom über einen Übertragungskanal übertragen
wird, weil es wahrscheinlich ist, dass die Bitmenge des kodierten
Audiobitstroms in Übereinstimmung
mit dem Maximalwert quantisierter Daten zunimmt.
-
16 ist eine Tabelle 500, die den Unterschied
der Ergebnisse der Quantisierung durch die herkömmliche Kodiervorrichtung 300 und
die Kodiervorrichtung 102 der vorliegenden Erfindung unter
Bezugnahme auf spezifische Werte zeigt. Bei der herkömmlichen
Kodiervorrichtung 300 empfängt die Quantisiereinheit 331 zum
Beispiel Spektraldaten 501 einschließlich Werte {10, 40, 100, 30}
von der Transformiereinheit 320 und quantisiert diese Spektraldaten 501 unter
Verwendung eines Skalierungsfaktors, der in Übereinstimmung mit einer Bitmenge eines
Datenübertragungsblocks
eines kodierten Audiobitstroms bestimmt wird. Infolgedessen werden zum
Beispiel quantisierte Daten 502 einschließlich Werte
{0, 0, 1, 0} erzeugt. Werfe von Spektraldaten, die an Spektraldaten
des höchsten
Wertes "100" angrenzen, werden
in Werte "0" quantisierter Daten transformiert.
Die herkömmliche
Kodiervorrichtung 300 kodiert diese quantisierten Daten 502,
die kodiert und an die Dekodiervorrichtung 400 gesendet
werden. Wenn die Dequantisiereinheit 422 der Dekodiervorrichtung 400 die
quantisierten Daten 502 dequantisiert, nehmen die resultierenden
Spektraldaten 505 Werte {0, 0, 100, 0} an.
-
Wenn
die erste Quantisiereinheit 151 bei der Kodiervorrichtung 102 der
vorliegenden Erfindung andererseits die vorgenannten Spektraldaten 501 einschließlich Werte
{10, 40, 100, 30} von der Transformiereinheit 121 empfängt und
die Spektraldaten 501 quantisiert, sind die resultierenden
quantisierten Daten dieselben wie die vorgenannten quantisierten Daten 502,
die die Werte {0, 0, 1, 0} aufweisen. Diese quantisierten Daten 502 werden
dann, wie sie sind, an die erste Kodiereinheit 152 ausgegeben.
Um diese quantisierten Daten 502 zu ergänzen, umfasst die vorliegende
Kodiervorrichtung 102 zusätzlich die zweite Quantisiereinheit 153/156,
die die vorgenannten Spektraldaten 501 unter Verwendung
eines vorbestimmten Skalierungsfaktors quantisiert. Die zweite Quantisiereinheit 153/156 erzeugt
zum Beispiel quantisierte Daten 503 einschließlich Werte
{1, 4, 10, 3}. Unter diesen Werten der quantisierten Daten 503 ist "1" der Kleinstwert, und daher bewirkt
eine Verringerung des vorliegenden Skalierungsfaktors, dass dieser
Kleinstwert "0" wird. Dementsprechend
setzen sich diese quantisierten Daten 503 aus den niedrigstmöglichen
Werten zusammen, die nicht die Werte "0" in
der Nähe
des höchsten
Wertes aufweisen, obwohl der Höchstwert
der quantisierten Daten 503 "10" ist, was
nicht ausreichend niedrig ist.
-
Dementsprechend
verwendet die zweite Quantisiereinheit 153/156 eine
Exponentialfunktion oder ähnliches
zum Repräsentieren
der quantisierten Daten 503, um die Bitmenge der quantisierten
Daten 503 zu verringern. Die zweite Quantisiereinheit 153/156 erzeugt
daher zum Beispiel quantisierte Daten 504 einschließlich Werte
{1, 2, 0, 2}.
-
Genauer
gesagt, der erste Wert "1" in diesen quantisierten
Daten 504 repräsentiert "2" als die "1." Potenz
von "2", der zweite Wert "2" repräsentiert "4" als
die "2." Potenz von "2", und der dritte Wert "0" repräsentiert, dass Spektraldaten
des höchsten
absoluten Wertes aus diesem quantisierten Wert erzeugt werden. Diese
Spektraldaten des höchsten
absoluten Wertes können
korrekt aus dem ersten kodierten Signal rekonstruiert werden, das
einen Skalierungsfaktor, der in der ersten Quantisiereinheit 151 verwendet
wird, und die quantisierten Daten des Wertes "1" aufweist.
Da die zweite Kodiereinheit 154 nicht die Spektraldaten
des höchsten
absoluten Wertes in jedem Skalierungsfaktorband kodiert, wird die
resultierende Bitmenge des zweiten kodierten Signals weiter verringert.
Der vierte Wert "2" in den quantisierten
Daten 504 repräsentiert "4" als die "2. Potenz von "2".
Obwohl diese quantisierten Daten 504 einschließlich Werte
{1, 2, 0, 2} nicht mit den quantisierten Daten 503 einschließlich Werte
{1, 4, 10, 3} zusammenpassen, können
die quantisierten Daten 504 all die Werte unter Verwendung
von nur zwei Bits repräsentieren.
Die Dekodiervorrichtung 202 rekonstruiert Spektraldaten
aus den quantisierten Daten 502, die sie aus dem ersten
kodierten Signal erhalten hat, und aus den quantisierten Daten 504,
die sie aus dem zweiten kodierten Signal erhalten hat. Infolgedessen
werden Spektraldaten 505 einschließlich Werte {20, 40, 100, 40}
erzielt.
-
Mit
der vorgenannten Kodiervorrichtung 102 werden aus der zweiten
Quantisiereinheit 153/156 ausgegebene quantisierte
Daten durch Daten einer kleineren Bitmenge repräsentiert, um die Bitmenge des
zweiten kodierten Signals zu minimieren. Außerdem sind Spektraldaten,
die durch die Dekodiervorrichtung 202 rekonstruiert werden,
selbst in der Nähe der
Spitze ungefähr
dieselben wie die Originalspektraldaten, obwohl solche Spektraldaten
in der Nähe der
Spitze in herkömmlicher
Weise nur als "0"-Werte infolge der
Verringerung der Bitmenge kodierter Daten rekonstruiert werden.
Die vorliegende Kodiervorrichtung 102 realisiert daher
eine genauere Wiedergabe des Originaltons.
-
In
der vorgenannten Ausführungsform
werden durch die zweite Quantisiereinheit 153 erzeugte quantisierte
Daten durch einen Exponenten der Basis "2" repräsentiert.
Die Basis ist jedoch nicht auf "2" beschränkt und
kann ein anderer Wert sein, einschließlich eines nicht ganzzahligen
Wertes. Es ist nicht erforderlich, die quantisierten Daten in der
zweiten Quantisiereinheit 153 unter Verwendung einer Exponentialfunktion
zu repräsentieren,
stattdessen kann auch eine andere Funktion verwendet werden.
-
17A ~ 17C zeigen
ein Beispiel, in dem die Kodiervorrichtung 102 einen Quantisierungsfehler
korrigiert. 17A zeigt eine Wellenform eines
Teiles eines Spektrums, das von der in den 14 und 15 gezeigten
Transformiereinheit 121 ausgegeben wird. In 17A repräsentieren
die zwei äußersten
vertikalen punktierten Linien ein Skalierungsfaktorband (ausgewiesen
als "sfb"), und die mittlere
vertikale punktierte Linie innerhalb des Skalierungsfaktorbandes
gibt eine Spektraldatenfrequenz an, die den höchsten absoluten Wert in diesem
Skalierungsfaktorband aufweist. Die mittlere Linie wird von zwei
punktierten Linien flankiert, die einen Bereich von zehn Spektraldatensamples
repräsentieren,
die an die Spektraldaten des höchsten
absoluten Wertes angrenzen. 17B zeigt
ein Beispiel von quantisierten Daten, die durch die in 14 und 15 gezeigte
erste Quantisiereinheit 151 infolge der Quantisierung der
Spektraldaten erzeugt werden, die in 17A gezeigt
werden. 17C zeigt ein Beispiel von
quantisierten Daten, die durch die zweite Quantisiereinheit 153/156,
die in 14 und 15 gezeigt
wird, infolge der Quantisierung von Spektraldaten, die in 17A gezeigt werden, erzeugt werden. In 17A ~ 17C repräsentiert die
horizontale Achse Frequenzen. Die in 17A gezeigte
vertikale Achse stellt Spektralwerte dar, und die in 17B und 17C gezeigte
vertikale Achse stellt quantisierte Werte von quantisierten Daten dar.
-
Eine
Vielzahl von Spektraldatensätzen
in einem Skalierungsfaktorband wird unter Verwendung eines Skalierungsfaktors,
den das gesamte Skalierungsfaktorband gemeinsam hat, normiert und
quantisiert. Wenn dieser Skalierungsfaktor in Übereinstimmung mit einer Bitmenge
des gesamten Datenübertragungsblocks
bestimmt wird und der höchste
absolute Wert der Spektraldaten, wie in 17A gezeigt, relativ
groß ist,
ist es wahrscheinlich, dass die Spektraldaten des höchsten absoluten
Wertes quantisierte Daten mit einem anderen Wert als "0" werden, wie in 17B gezeigt
wird, andere Spektraldaten im selben Frequenzband nehmen aber oft
den Wert "0" an. Solche quantisierten
Daten werden von der ersten Quantisiereinheit 151 an die
erste Kodiereinheit 152 ausgegeben. Mit der vorliegenden
Kodiervorrichtung 102 werden in 17C gezeigte
quantisierte Daten auch durch die zweite Quantisiereinheit 153/156 erzeugt
und als das zweite kodierte Signal an die Dekodiervorrichtung 202 gesendet.
Das heißt, die
zweite Quantisiereinheit 153/156 erzeugt quantisierte
Daten mit dem Wert "0" aus den Spektraldaten des
höchsten
absoluten Wertes, während
die zweite Quantisiereinheit 153/156 auch zehn
Samples, die an diese Spektraldaten angrenzen, quantisiert.
-
Die
zweite Quantisiereinheit 153/156 verwendet einen
vorbestimmten Skalierungsfaktor zum Quantisieren. Wenn dieser vorbestimmte
Skalierungsfaktor zufällig
einem Skalierungsfaktor nahe kommt, der durch die erste Quantisiereinheit 151 verwendet
wird, ist es wahrscheinlich, dass die resultierenden quantisierten
Daten den Wert "0" annehmen, wenn quantisierte
Daten, die durch die erste Quantisiereinheit 151 erzeugt
werden, den Wert "0" annehmen. Dementsprechend
wird ein für
jedes Skalierungsfaktorband geeigneter Skalierungsfaktor im Voraus
bestimmt, um für
die zweite Quantisiereinheit 153/156 bereitgestellt
zu werden, um quantisierte Daten mit Nicht-Null-Werten, wie in 17C gezeigt, in mehr Skalierungsfaktorbändern zu
erhalten, wenn die durch die erste Quantisiereinheit 151 erzeugten quantisierten
Daten, die Werte "0" annehmen.
-
Das
heißt,
die zweite Quantisiereinheit 153/156 erhält Spektraldaten,
die durch die erste Quantisiereinheit 151, wie in 17B gezeigt, quantisiert werden, entweder von
der Transformiereinheit 121 oder der Dequantisiereinheit 155.
Die zweite Quantisiereinheit 153/156 quantisiert
dann die erhaltenen Spektraldaten unter Verwendung eines vorbestimmten
Skalierungsfaktors, um quantisierte Daten zu erzeugen, lässt die
quantisierten Daten durch Daten einer kleineren Bitmenge repräsentieren
und gibt sie an die zweite Kodiereinheit 154 aus. Die zweite Quantisiereinheit 153/156 minimiert
daher die Bitmenge des zweiten kodierten Signals durch die folgenden
drei Maßnahmen:
(1) Verwendung von zuvor bestimmten Skalierungsfaktoren und Funktionen
für die
Kodiervorrichtung 102 und die Dekodiervorrichtung 202,
so dass die Skalierungsfaktoren und Funktionen nicht kodiert werden
müssen;
(2) Nichtquantisierung der Spektraldaten des höchsten absoluten Wertes; und
(3) Verwendung einer Funktion zum Repräsentieren quantisierter Daten,
die aus zehn Spektraldatensamples erzeugt werden, die an Spektraldaten
des höchsten
absoluten Wertes angrenzen.
-
In
der vorgenannten Ausführungsform
quantisiert die zweite Quantisiereinheit 153/156 zwei
Sätze von
fünf aufeinander
folgenden Spektraldatensamples. Die durch die zweite Quantisiereinheit 153/156 quantisierten
Spektraldatensamples sind jedoch nicht notwendigerweise aufeinander
folgend angeordnet, wenn ihre resultierenden quantisierten Werte "0" in der Nähe eines quantisierten Wertes
vorliegen, der aus den Spektraldaten des höchsten absoluten Wertes erzeugt
wurde. Genauer gesagt, die zweite Quantisiereinheit 153/156 nimmt
Bezug auf das Quantisierungsergebnis der ersten Quantisiereinheit 151,
um fünf
Spektraldatensamples zu spezifizieren, die beidseitig von Spektraldaten
existieren, die den höchsten
absoluten Wert aufweisen, und aus denen Sätze von quantisierten Daten
mit dem Wert "0" generiert werden.
Die zweite Quantisiereinheit 153/156 quantisiert
dann die spezifizierten Samples von Spektraldaten unter Verwendung
des angegebenen vorbestimmten Skalierungsfaktors, um quantisierte
Daten zu erzeugen, lässt
Bits von kleinerer Menge, die quantisierten Daten repräsentieren
und gibt die Bits an die zweite Kodiereinheit 154 aus.
Die zweite Dequantisiereinheit 254 der Dekodiervorrichtung 202 überwacht
dequantisierte Spektraldaten, die durch die erste Dequantisiereinheit 252 erzeugt werden,
und spezifiziert die vorgenannten fünf Spektraldatensamples mit
den Werten "0" auf beiden Seiten
von dequantisierten Spektraldaten des höchsten absoluten Wertes. Die
zweite Dequantisiereinheit 254 dequantisiert auch quantisierte
Daten im zweiten kodierten Signal, um Spektraldaten zu erzeugen,
assoziiert diese Spektraldaten mit den spezifizierten zehn Samples
und gibt sie an die Integriereinheit 255 aus.
-
Die
Anzahl von Spektraldatensamples, die durch die zweite Quantisiereinheit 153 quantisiert werden,
ist nicht auf zehn, die zwei Sätze
von fünf Samples
auf beiden Seiten von Spektraldaten des höchsten absoluten Wertes umfassen,
beschränkt. Die
Anzahl dieser Samples kann niedriger oder höher als fünf sein. Es ist für die zweite
Quantisiereinheit 153 auch möglich, die Anzahl dieser Samples
in Übereinstimmung
mit der Bitmenge eines kodierten Bitstroms jedes Datenübertragungsblocks
zu bestimmen. In diesem Fall können
diese Anzahl von Samples sowie quantisierte Daten dieser Samples
in das zweite kodierte Signal eingefügt werden.
-
In
der vorliegenden Ausführungsform
verwendet die zweite Quantisiereinheit 153/156 einen vorbestimmten
Skalierungsfaktor zum Quantisieren. Es ist jedoch alternativ möglich, einen
geeigneten Skalierungsfaktor für
jedes Skalierungsfaktorband zu errechnen und jeden errechneten Skalierungsfaktor in
das zweite kodierte Signal einzufügen. Durch Errechnen eines
Skalierungsfaktors, der quantisierte Daten erzeugt, deren höchster Wert
zum Beispiel "7" ist, kann die Bitmenge
von Daten, die zum Übertragen
quantisierter Daten erforderlich ist, verringert werden.
-
In
der vorliegenden Ausführungsform
umfasst das zweite kodierte Signal ausschließlich entweder quantisierte
Daten, die durch die zweite Quantisiereinheit 153/156 erzeugt
werden oder solche quantisierten Daten und Skalierungsfaktoren.
Das zweite kodierte Signal kann jedoch andere Informationen aufweisen.
Das heißt,
die Kodiervorrichtung 102 kann auch Unterinformationen
generieren, die die höherfrequenten
Spektraldaten repräsentieren, wie
in der ersten Ausführungsform
beschrieben, sowie die zehn Spektraldatensamples unter Verwendung
eines vorbestimmten Skalierungsfaktors quantisieren, um quantisierte
Daten zu erzeugen. Das zweite kodierte Signal umfasst diese quantisierten Daten
und die Unterinformationen. In diesem Fall überträgt die Kodiervorrichtung 102 nicht
höherfrequente
quantisierte Daten und deren Skalierungsfaktoren, und die Dekodiervorrichtung 202 rekonstruiert die
höherfrequenten
Spektraldaten basierend auf den Unterinformationen. Die Unterinformationen
für kurze
Blöcke
wurden in 10 und 11 und
am Ende der ersten Ausführungsform
beschrieben. Die Unterinformationen für lange Blöcke können auch auf dieselbe Weise
wie die Unterinformationen für
kurze Blöcke
erzeugt werden, mit der Ausnahme dass die Unterinformationen für lange
Blöcke
512 Samples im höheren
Frequenzband entsprechen, während
die Unterinformationen für
kurze Blöcke
64 Samples im höheren
Frequenzband entsprechen. Auf langen Blöcken basierende Samples werden
in Skalierungsfaktorbänder,
die auf langen Blöcken
basieren, platziert. Wenn die Unterinformationen auf diese Weise
der dritten Ausführungsform
beigefügt
werden, kann die Bitmenge des kodierten Audiobitstroms um die Bitmenge
von höherfrequenten
quantisierten Daten und Skalierungsfaktoren verringert werden.
-
Die
vorgenannten Unterinformationen wurden dahingehend beschrieben,
dass sie für
jedes Skalierungsfaktorband erzeugt werden. Es ist jedoch möglich, einen
einzelnen Satz von Unterinformationen für zwei oder mehr Skalierungsfaktorbänder zu erzeugen.
Zwei Sätze
von Unterinformationen können
für ein
einzelnes Skalierungsfaktorband erzeugt werden.
-
Die
Unterinformationen der vorliegenden Ausführungsform können für jeden Kanal
oder für zwei
oder mehr Kanäle
kodiert werden.
-
Im
vorgenannten Fall ist es nicht nötig,
Spektraldaten im niedrigeren Frequenzband in Übereinstimmung mit den Unterinformationen
zu duplizieren, um die höherfrequenten
Spektraldaten zu rekonstruieren. Stattdessen können die höherfrequenten Spektraldaten
allein aus dem zweiten kodierten Signal erzeugt werden.
-
Die
Kodiervorrichtung 102 und die Dekodiervorrichtung 202 der
vorliegenden Ausführungsform können einfach
realisiert werden, indem der herkömmlichen Kodiervorrichtung
die zweite Quantisiereinheit 153/156 und die zweite
Kodiereinheit 154 beigefügt werden und indem der herkömmlichen
Dekodiervorrichtung die zweite Dekodiereinheit 253 und die
zweite Dequantisiereinheit 254 beigefügt werden. Die Kodiervorrichtung 102 und
die Dekodiervorrichtung 202 können folglich ohne umfangreiche Änderung
von Konstruktionen der herkömmlichen
Kodier- und Dekodiervorrichtung zustande gebracht werden.
-
Die
dritte Ausführungsform
wurde unter Verwendung der herkömmlichen
MPEG-2 ACC als einem Beispiel beschrieben, obwohl andere Audiokodierverfahren,
einschließlich
eines neu entwickelten Kodierverfahrens, alternativ für die vorliegende
Erfindung verwendet werden können.
-
Das
zweite kodierte Signal für
die dritte Ausführungsform
kann an das Ende des ersten kodierten Signals, wie in 5B der
ersten Ausführungsform gezeigt,
angefügt
werden oder kann, wie in 5C gezeigt,
an das Ende der Kopfinformation angefügt werden. Es ist jedoch zu
beachten, dass das erste kodierte Signal der vorliegenden Ausführungsform auf
langen Blöcken
basiert, und das erste kodierte Signal für einen Datenübertragungsblock
daher einem Audiosignal entspricht, das sich aus 1.024 Samples zusammensetzt.
Wenn die herkömmliche
Dekodiervorrichtung 400 das zweite kodierte Signal, das
auf diese Weise im kodierten Audiobitstrom vorliegt, empfängt, kann
die Dekodiervorrichtung 400 den kodierten Audiobitstrom
ohne Fehler wiedergeben. Das zweite kodierte Signal kann in das
erste kodierte Signal oder die Kopfinformation eingefügt werden.
Bereiche des kodierten Bitstroms, in die das zweite kodierte Signal
eingefügt
wird, müssen
nicht aufeinander folgend angeordnet sein und können, wie in 6C gezeigt,
verstreut sein, wobei das zweite kodierte Signal in nicht aufeinander
folgende Bereiche innerhalb der Kopfinformation und des ersten kodierten
Signals eingefügt
wird. Es ist alternativ möglich, das
zweite kodierte Signal und das erste kodierte Signal in separate
Bitströme,
wie in 6A und 6B gezeigt,
einzufügen.
Das macht es möglich, einen
grundlegenden Teil des Audiosignal im Voraus zu übertragen oder zu akkumulieren
und später
Informationen auf dem Audiosignal im höheren Frequenzband, wie erforderlich,
zu übertragen.
-
Die
dritte Ausführungsform
hat die Kodiervorrichtung 102 dahingehend beschrieben,
dass sie zwei Quantisiereinheiten und zwei Kodiereinheiten umfasst.
Die Kodiervorrichtung 102 kann jedoch drei oder mehr Quantisiereinheiten
und Kodiereinheiten umfassen.
-
In ähnlicher
Weise kann die Dekodiervorrichtung 202 drei oder mehr Dequantisiereinheiten
und Dekodiereinheiten umfassen, obwohl die dritte Ausführungsform
die Dekodiervorrichtung 202 dahingehend beschreibt, dass
sie zwei Dequantisiereinheiten und zwei Dekodiereinheiten umfasst.
-
Für die vorliegende
Erfindung beschriebene Operationen können nicht nur durch Hardware
sondern auch durch Software verwirklicht werden. Einige Teile der
Operationen können
durch Hardware verwirklicht werden und der restliche Teil kann durch Software
verwirklicht werden.
-
Die
Kodiervorrichtung 100, 101 oder 102 der vorliegenden
Erfindung kann in eine Rundfunkstation innerhalb eines Inhaltsverteilungssystems
installiert werden und kann den kodierten Audiobitstrom der vorliegenden
Erfindung an eine Empfangsvorrichtung des Inhaltsverteilungssystems,
die die Dekodiervorrichtung 200, 201 oder 202 umfasst,
senden.
-
Industrielle Anwendbarkeit
-
Die
Kodiervorrichtung der vorliegenden Erfindung ist als eine Audiokodiervorrichtung
nützlich, die
in einer Rundfunkstation für
Satellitenrundfunk, einschließlich
BS (Rundfunksatellit)- und CS (Kommunikationssatellit)-Rundfunk,
verwendet wird, oder als eine Audiokodiervorrichtung, die für einen
Inhaltsverteilungsserver verwendet wird, der Inhalte über ein
Kommunikationsnetz, wie etwa das Internet, verteilt. Die vorliegende
Kodiervorrichtung ist auch als ein Programm nützlich, das durch einen Universalcomputer
ausgeführt
wird, um Audiosignalkodierung durchzuführen.
-
Die
Dekodiervorrichtung der vorliegenden Erfindung ist nicht nur als
Audiodekodiervorrichtung, die in einem STB zur Heimnutzung bereitgestellt wird,
nützlich,
sondern auch als Programm, das durch einen Universalcomputer ausgeführt wird,
um Audiosignaldekodierung durchzuführen, eine Leiterplatte und
ein LSI, die in einem STB oder einem Universalcomputer bereitgestellt
werden, und eine IC-Karte, die in einen STB oder einen Universalcomputer
eingefügt
wird.