-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft die Audiocodierung und -decodierung
und insbesondere ein Verfahren und eine Vorrichtung zur skalierbaren
Audiocodierung bzw. -decodierung, wodurch Daten für Bitraten
verschiedener Zusatzschichten auf der Grundlage einer Basisschicht
dargestellt werden, statt eine Bitrate innerhalb eines Bitstroms
zu bilden.
-
2. Beschreibung des Stands
der Technik
-
Ein
Audiosystem speichert ein Signal auf einem Aufzeichnungs-/Speichermedium
und gibt das gespeicherte Signal dann nach Bedarf eines Benutzers
wieder.
-
Durch
die jüngste
Entwicklung der digitalen Signalverarbeitungstechnologie wurden
die Auf zeichnungs-/Speichermedien von einem herkömmlichen
analogen Typ in der Art einer Langspielplatte oder eines Magnetbands
zu einem digitalen Typ in der Art einer CD oder eines digitalen
Tonbands weiterentwickelt. Das digitale Speicher-/Wiederherstellungsverfahren
löst die
Verschlechterung der Audioqualität
und verbessert diese verglichen mit dem herkömmlichen analogen Verfahren
erheblich. Es besteht jedoch weiterhin das Problem des Speicherns
oder Übertragens
großer
Mengen digitaler Daten.
-
Zum
Verringern der Menge digitaler Daten wurde DPCM (differenzielle
Impulscodemodulation – "Differential Pulse
Code Modulation")
oder ADPCM (adaptive differenzielle Impulscodemodulation – "Adaptive Differential
Pulse Code Modulation")
entwickelt, um digitale Audiosignale zu komprimieren. Bei einem
solchen Verfahren tritt jedoch der Nachteil auf, dass in Abhängigkeit
von den Signaltypen ein großer Effizienzunterschied
erzeugt wird. Bei einer vor kurzem von der ISO (International Standard
Organization) standardisierten MPEG-(Moving Picture Expert Group)-Audiotechnik,
bei der von Phillips Corp. hergestellten DCC (digitale Kompaktkassette – "Digital Compact Cassette"), bei der von Sony
Corp. hergestellten MD (Minischeibe – "Mini Disc") und dergleichen wird ein menschliches
psychoakustisches Modell zum Verringern der Datenmenge verwendet.
Diese herkömmlichen
Verfahren haben die Datenmenge, unabhängig von den Signaleigenschaften, erheblich
verringert.
-
In
dem Dokument "First
Ideas ob Scalable Audio Coding" von
K. Brandenburg, insbesondere auf Seite 5 "A Simple Scalable Audio Coder" und in 3,
sind weitere relevante Informationen in Bezug auf die skalierbare
Audiocodierung offenbart.
-
Eine
Audiocodiervorrichtung, die die menschliche Psychoakustik berücksichtigt,
umfasst einen Zeit/Frequenz-Abbildungsabschnitt 100,
einen psychoakustischen Abschnitt 110, einen Bitzuordnungsabschnitt 120,
einen Quantisierungsabschnitt 130 zum Ausführen einer
Quantisierung entsprechend zugeordneten Bits und einen Bitpaketierungsabschnitt 140,
wie in 1 dargestellt ist. Hierbei berechnet der psychoakustische
Abschnitt 110 ein Signal-Maskierungs-Verhältnis (SMR)
unter Verwendung von Eigenschaften des menschlichen Gehörs, insbesondere
eines Maskierungsphänomens,
nämlich
einer Maskierungsschwelle, d.h. des minimalen Signalbetrags, der
durch die Wechselwirkung mit den entsprechenden Signalen nicht wahrnehmbar
ist. Der Bitzuordnungsabschnitt 120 ordnet Bits innerhalb
des Bereichs begrenzter Bits von dem Teil, der für die Hörbarkeit wichtige Signale enthält, unter
Verwendung der Maskierungsschwelle zu, wodurch eine wirksame Datenkompression
verwirklicht wird.
-
Bei
der Codierung eines digitalen Audiosignals sind wichtige Eigenschaften
des menschlichen Gehörs ein
Maskierungseffekt und ein Merkmal eines kritischen Bands. Der Maskierungseffekt
ist ein Phänomen,
bei dem ein Signal (Ton) durch ein anderes Signal (Ton) unhörbar gemacht
wird. 2 zeigt das Maskierungsphänomen. Wenn beispielsweise
ein leises Gespräch
an einem Bahnhof geführt
wird und ein Zug durch den Bahnhof fährt, ist das Gespräch infolge
des vom Zug erzeugten Geräusches
nicht hörbar.
Der Betrag des wahrnehmbaren Geräusches
kann sich zwischen dem Fall, in dem der Geräuschbetrag im Bereich eines
kritischen Bands liegt, und dem Fall, in dem er außerhalb
des Bereichs liegt, unterscheiden. Hierbei ist das Geräusch in dem
Fall, in dem der Geräuschbetrag
den Bereich des kritischen Bands übersteigt, besser als in dem
anderen Fall wahrnehmbar.
-
Zum
Ausführen
einer Codierung unter Verwendung der Eigenschaften des menschlichen
Gehörs
wird der Betrag der Geräusche,
die einem kritischen Band zugeordnet werden können, für diese beiden Merkmale, nämlich den
Maskierungseffekt und das kritische Band, berechnet. Beispiele von
Anwendungen des digitalen Audiocodierverfahrens sind die digitale
Audioübertragung
("Digital Audio
Broadcasting") (DAB),
das Internettelefon und Audio-auf-Anforderung ("Audio on Demand") (AOD).
-
Die
meisten dieser Codierverfahren unterstützen eine feste Bitrate. Mit
anderen Worten wird ein Bitstrom mit einer spezifischen Bitrate
(beispielsweise 128 kbps, 96 kbps oder 64 kbps) konstruiert. Mit
dieser Konstruktion ist kein Problem verbunden, wenn ein Übertragungskanal
Audiodaten fest zugewiesen ist. Weil ein fest zugewiesener Kanal
unveränderlich
eine spezifische Bitrate unterstützt,
wird ein mit einer spezifischen Bitrate für den fest zugewiesenen Kanal
konstruierter Bitstrom fehlerfrei zu einem Empfangsende übertragen.
-
Falls
jedoch ein Übertragungskanal
für Audiodaten
instabil ist, ist es schwierig, die Daten am Empfangsende mit einer
festen Bitrate richtig zu interpretieren. Mit anderen Worten können, abhängig vom
Zustand des Übertragungskanals,
die Bitströme
der gesamten Audiodaten oder nur einige der Bitströme am Empfangsende
empfangen werden. Falls nur einige der Bitströme am Empfangsende empfangen
werden, ist es schwierig, die ihnen entsprechenden Audiodaten wiederherzustellen,
wodurch die Audioqualität
erheblich beeinträchtigt
wird.
-
Im
Allgemeinen enthält
beim digitalen Audiocodierverfahren ein Bitstrom in seinem Kopfteil
nur die Informationen für
eine Bitrate, und die Bitrate wird aufrechterhalten. Falls beispielsweise
Kopfteilinformationen eines Bitstroms eine Bitrate von 128 kbps
darstellen, wird der 128-kbps-Bitstrom
kontinuierlich verwendet, was bei der Darstellung der besten Audioqualität bei der
entsprechenden Bitrate vorteilhaft ist. Mit anderen Worten wird
der optimale Bitstrom für
Audiodaten, beispielsweise mit 64 kbps, 48 kbps oder 32 kbps, für eine spezifische
Bitrate gebildet.
-
Ein
solches Verfahren ist jedoch sehr empfindlich für den Zustand des Übertragungskanals.
Demgemäß können die
Daten nicht korrekt wiedergegeben werden, falls der Übertragungskanal
sehr instabil ist. Falls ein Audiorahmen beispielsweise aus n Schlitzen
besteht, können
korrekte Daten rekonstruiert werden, falls die n Schlitze alle innerhalb
einer gegebenen Zeit zum Empfangsende übertragen werden. Falls jedoch
n – m Schlitze
infolge eines instabilen Übertragungskanals übertragen
werden, können
keine korrekten Daten rekonstruiert werden.
-
Weiterhin
wird mit Bezug auf 3 der Fall beschrieben, in dem
von einem Übertragungsende
zugeführte
Daten an mehreren Empfangsenden empfangen werden. Falls die Kapazitäten der
jeweiligen Übertragungsenden
der Empfangsenden voneinander verschieden sind oder die jeweiligen
Empfangsenden unterschiedliche Bitraten benötigen, kann das nur eine feste
Bitrate unterstützende Übertragungsende
die Anforderung nicht erfüllen.
Falls der Audiobitstrom für
verschiedene Schichten getrennte Bitraten aufweist, ist es in diesem
Fall möglich,
einer gegebenen Umgebung oder einer Benutzeranforderung geeignet
Rechnung zu tragen.
-
In
diesem Zusammenhang gibt es drei Verfahren für das Skalieren von Bitraten.
Erstens wird der Bitstrom, weil Informationen für verschiedene Schichten in
einem Bitstrom sequenziell angeordnet sind, einfach mit einer gewünschten
Bitrate aufgetrennt, um ihn dann zu übertragen. Wie in 4 dargestellt
ist, werden die Bitströme
sequenziell von der Basisschicht bis zur obersten Schicht aufgebaut.
Anschließend
werden Seiteninformationen für
jede Schicht und Audiodaten in einem Bitstrom aufgezeichnet. Falls
daher ein Benutzer nur die Basisschicht anfordert, wird der der
Basisschicht entsprechende Bitstrom übertragen. Falls die Informationen
für die
erste Schicht (Schicht 1) angefordert werden, werden nur die Bitströme bis zur
ersten Schicht übertragen.
Weiterhin werden alle Bitströme übertragen,
falls die Informationen für
die oberste Schicht angefordert werden.
-
Zweitens
formatiert eine Vorrichtung (beispielsweise ein Wandler) die Bitströme zwischen
einem Übertragungsende
und einem Empfangsende nach einer Benutzeranforderung um. Das heißt, dass
eine in 5 dargestellte Codiervorrichtung
einen Bitstrom mit einer Bitrate bildet und der Wandler den Bitstrom
dann umformatiert und nach einer Benutzeranforderung mit einer niedrigeren
Bitrate überträgt. Dabei
muss der von der Codiervorrichtung gebildete Bitstrom Seiteninformationen
enthalten, so dass der Wandler einen Bitstrom einer niedrigeren
Schicht bilden kann.
-
Drittens
führt der
Wandler, wie in 6 dargestellt ist, eine Neucodierung
aus. Die Neucodierung dient dazu, den Bitstrom bei einer vom Benutzer
angeforderten Bitrate durch alle Decodierschritte zur Bildung von PCM-Daten
und alle Codierschritte zu bilden und zu übertragen. Wenn beispielsweise
ein Bitstrom mit 64 kbps zu einem Hauptübertragungskanal übertragen
wird und die Kapazität
eines Übertragungskanals
für einen
Benutzer 32 kbps beträgt,
bildet der dazwischen installierte Wandler PCM-Daten unter Verwendung
eines Decodierers für
64 kbps und betreibt dann einen Codie rer für 32 kbps, um einen 32-kbps-Bitstrom
zu bilden und dann die Daten über
den Übertragungskanal
zu übertragen.
-
Von
den vorstehend beschriebenen Verfahren ist das erste Verfahren am
besten geeignet, dieses Verfahren hat jedoch den Nachteil einer
geringeren Leistungsfähigkeit
infolge der Datenredundanz in den jeweiligen Schichten. Das zweite
Verfahren kann die Audioqualität,
verglichen mit dem ersten Verfahren, etwas verbessern. Die Formatierung
des Bitstroms mit einer niedrigeren Bitrate kann jedoch, abhängig von
durch den Codierer übertragenen
Seiteninformationen, variieren. Weil die Prozedur weiterhin den
Wandler durchläuft,
ist dieses Verfahren angesichts der Verzögerungen und der Kosten vorteilhafter
als das erste Verfahren. Weil der Wandler beim dritten Verfahren
als ein Decodierer und ein Codierer dient, nimmt die Komplexität zu, wodurch die
Prozedur kostspielig wird und Verzögerungen infolge der Umformatierung
hervorgerufen werden. Weil in den in den Wandler eingegebenen Bitströmen jedoch
keine Redundanz vorhanden ist, ist die Audioqualität beim dritten
Verfahren besser als beim ersten Verfahren. Wenngleich es recht
schwierig ist, zwischen dem zweiten Verfahren (Umformatierung) und
dem dritten Verfahren (Neucodierung) zu unterscheiden, wird beim dritten
Verfahren bei der Bildung eines niedrigeren Bitstroms eine Entquantisierung
verwendet.
-
Weil
bei einem skalierbaren System der Wandler dazu dient, einfach den
Benutzer mit dem Übertragungsende
zu verbinden, muss die Komplexität
des Wandlers verringert werden. Weil daher ein weniger komplexer
Wandler verwendet wird, der keine Verzögerungen aufweist und weniger
kostspielig ist, wurde ein Verfahren eingesetzt, bei dem keine Neucodierung
verwendet wird.
-
Im
Allgemeinen wird zur Bildung des Bitstroms wie beim ersten Verfahren,
wie in 7 dargestellt ist, zuerst eine Codierung für untere
Schichten ausgeführt,
dann eine Decodierung ausgeführt
und die Differenz zwischen dem ursprünglichen Signal und dem decodierten
Signal in einen Codierer für
die nächste
dann zu verarbeitende Schicht eingegeben. Bei diesem Verfahren werden
im Allgemeinen mindestens zwei Codierverfahren eingesetzt. Das heißt, dass
ein Kerncodec zum Erzeugen einer Basisschicht zusammen mit einem
anderen Codec zum Erzeugen anderer Schichten verwendet wird. Ein
solches Verfahren erhöht
jedoch die Komplexität
eines Codiersystems infolge des Vorhandenseins von mindestens zwei
Codierern. Die Komplexität
eines Decodiersystems nimmt auch bei mehreren Decodierern zu. Weiterhin
wird die Codierung umso komplexer, je größer die Anzahl der Schichten
ist. Dies liegt daran, dass richtige Zeitbereichsdaten der entsprechenden
Schicht durch Summieren der jeweiligen von den jeweiligen Schichten
erzeugten Zeitbereichsdaten erhalten werden können.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Eine
Aufgabe der vorliegenden Erfindung besteht zum Lösen der vorstehenden Probleme
darin, ein Verfahren und eine Vorrichtung zur skalierbaren Audiocodierung
bzw. -decodierung bereitzustellen, wodurch ermöglicht werden kann, einen Übertragungskanal
wirksam zu verwenden, Anforderungen verschiedener Benutzer zu erfüllen und
einen Bitstrom mit einer guten Audioqualität durch Kombinieren von Informationen
für Bitraten
verschiedener Schichten in einem Bitstrom, ohne dass sie überlappen,
bereitzustellen.
-
Zum
Lösen der
Aufgabe ist ein skalierbares Audiocodierverfahren zum Codieren von
Audiosignalen zu einem geschichteten Datenstrom mit einer Basisschicht
und einer vorbestimmten Anzahl von Zusatzschichten vorgesehen, wobei
(a) Eingangsaudiosignale für
jedes vorbestimmte Codierband signalverarbeitet und quantisiert
werden, (b) die quantisierten Daten, die zu der Basisschicht gehören, innerhalb
eines Bandbreitenbereichs codiert werden, (c) die quantisierten
Daten, die der nächsten
Zusatzschicht entsprechen, codiert werden, und ferner die verbleibenden
uncodierten quantisierten Daten, die zu der codierten Basisschicht
gehören, innerhalb
des Bandbreitenbereichs codiert werden, und (d) die Schichtcodierungsschritte
für alle
Schichten sequenziell durchgeführt
werden, wobei in den Schritten (b), (c) und (d) jeweils (i) Tonumfang-Bitzuordnungsinformationen
für die
jeweiligen Subbänder
einer zu codierenden Schicht erhalten werden, wobei die Tonumfang-Bitzuordnungsinformationen
die Anzahl der quantisierten Datenbits angeben, die zum Darstellen
des Maximalwerts der entsprechenden Subbänder benötigt werden, (ii) die Anzahl
der Bits erhalten wird, die den jeweiligen Subbändern zugeordnet sind, (iii)
ein Index erzeugt wird, der das Vorhandensein von quantisierten Daten
entsprechend der Anzahl von zugeordneten Bits für vorbestimmte Frequenzkomponenten
darstellt, die die Subbänder
bilden, und (iv) Bitströme
durch Codierung der quantisierten Daten entsprechend der Tonumfang-Bitzuordnungsinformationen,
der Quantisierungsschrittgröße, dem
Index und der Anzahl von Bits, die den jeweiligen Subbändern zugeordnet
sind, durch ein vorbestimmtes Codierverfahren erzeugt werden.
-
Weiterhin
ist eine Vorrichtung zum Codieren von Audiosignalen, die geschichtete
Bitratendaten mit vorbestimmten Bitraten aufweisen, vorgesehen,
mit: einem Quantisierungsabschnitt zur Signalverarbeitung und Quantisierung
von Eingangsaudiosignalen für
jedes Codierband, und einem Bitpaketierungsabschnitt zum Erzeugen
von Bitströmen
durch Codierung von Tonumfang-Bitzuordnungsinformationen für jedes
Subband einer Basisschicht, wobei die Tonumfang-Bitzuordnungsinformationen die Anzahl
quantisierter Datenbits angeben, die zum Darstellen des Maximalwerts
jedes Subbands erforderlich sind, und durch Codierung eines Indexes,
der das Vorhandensein von Daten entsprechend der Anzahl von Bits
darstellt, die den jeweiligen Subbändern für vorbestimmte Frequenzkomponenten
der quantisierten Daten zugeordnet sind, sowie ferner durch Codierung
der Quantisierungsschrittgröße und der
quantisierten Daten, und wobei der Bitpaketierungsabschnitt dazu
ausgelegt ist, Tonumfang-Bitzuordnungsinformationen, den Index,
die Quantisierungsschrittgröße und quantisierte
Daten der nächsten
Schicht nach Vollendung der Codierung der Basisschicht zu codieren,
um eine Codierung aller Schichten durchzuführen.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung ist ein skalierbares
Audiodecodierverfahren zum Decodieren von Audiosignalen, die mit
geschichteten Bitraten codiert sind, vorgesehen, wobei: Tonumfang-Bitzuordnungsinformationen
für jedes
Subband einer Basisschicht decodiert werden, wobei die Tonumfang-Bitzuordnungsinformationen
die Anzahl quantisierter Datenbits angeben, die zum Darstellen des
Maximalwerts der Subbänder
erforderlich ist, ferner ein Index decodiert wird, der das Vorhandensein
von Daten entsprechend der Anzahl von Bits angibt, die den jeweiligen
Subbändern
für vorbestimmte
Frequenzkomponenten der quantisierten Daten zugeordnet sind, und
ferner die Quantisierungsschrittgröße und die quantisierten Daten
decodiert werden, wobei die Decodierschritte in der Reihenfolge
der Erzeugung der Bitstromschichten ausgeführt wird, das Decodieren durch
Erhalten der Anzahl von Bits durchgeführt wird, die den Subbändern zugeordnet
sind, und durch Decodieren der quantisierten Daten, die der Anzahl
zugeordneter Bits durch Bezugnahme auf den Index entspricht, die
decodierte Quantisierungsschrittgröße und die quantisierten Daten in
Signale der ursprünglichen
Stärken
wiederhergestellt werden, und dequantisierte Signale eines Frequenzbereichs
in Signale eines Zeitbereichs umgewandelt werden.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung ist eine skalierbare
Audiodecodiervorrichtung zum Decodieren von Audiodaten, die mit
geschichteten Bitraten codiert sind, vorgesehen, mit: einem Bitstromanalyseabschnitt
zum Decodieren von Tonumfang-Bitzuordnungsinformationen für jedes
Subband einer Basisschicht, wobei die Tonumfang-Bitzuordnungsinformationen die Anzahl
quantisierter Datenbits angeben, die zum Darstellen des Maximalwerts
jedes Subbands erforderlich sind, und zum Decodieren eines Indexes, der
das Vorhandensein von Daten entsprechend der Anzahl von Bits darstellt,
die den jeweiligen Subbändern für vorbestimmte Frequenzkomponenten
der quantisierten Daten zugeordnet sind, und ferner zum Decodieren der
Quantisierungsschrittgröße und der
quantisierten Daten in der Reihenfolge der Erzeugung der Schichten der
Bitströme,
wobei der Bitstromanalyseabschnitt dazu betreibbar ist, die Anzahl
von Bits zu erhalten, die den Subbändern zugeordnet sind, und
die quantisierten Daten entsprechend der Anzahl zugeordneter Bits
durch Bezugnahme auf den Index zu decodieren, einem Umkehrquantisierungsabschnitt
zum Wiederherstellen der decodierten Quantisierungsschrittgröße und der
quantisierten Daten in Signale der ursprünglichen Stärken, und einem Frequenz/Zeit-Abbildungsabschnitt
zum Umwandeln umgekehrt quantisierter Signale in Signale eines Zeitbereichs.
-
Zusätzliche
optionale Merkmale, die sich auf die vorliegende Erfindung beziehen,
sind in den anliegenden abhängigen
Ansprüchen
dargestellt.
-
KURZBESCHREIBUNG DER ZEICHNUNG
-
Die
vorstehenden Aufgaben und Vorteile der vorliegenden Erfindung werden
durch die detaillierte Beschreibung einer bevorzugten Ausführungsform
mit Bezug auf die anliegende Zeichnung besser verständlich werden,
wobei:
-
1 ein
Blockdiagramm einer allgemeinen Audiodaten-Codiervorrichtung unter Verwendung psychoakustischer
Eigenschaften ist,
-
2 ein
Diagramm zur Beschreibung eines Maskierungsphänomens ist,
-
3 ein
Blockdiagramm ist, in dem ein allgemeines Übertragungskanalsystem dargestellt
ist,
-
4 einen
Bitstrom zeigt, der Informationen für Bitraten mehrerer Schichten
enthält,
-
5 ein
Diagramm ist, das eine Neuformatierung beschreibt,
-
6 ein
Diagramm ist, das eine Neucodierung beschreibt,
-
7 ein
Blockdiagramm einer allgemeinen skalierbaren Codiervorrichtung ist,
-
8 ein
Blockdiagramm einer Codiervorrichtung gemäß einer Ausführungsform
der vorliegenden Erfindung ist,
-
die 9A bis 9G das
Arbeitsprinzip einer Codiervorrichtung gemäß einer Ausführungsform
der vorliegenden Erfindung zeigen,
-
10 eine
Indexextraktion unter Verwendung einer Bitebenenmaske zeigt,
-
die 11A und 11B die
Ausführung
eines Datenerzeugungsalgorithmus zeigen,
-
12 eine
gemäß einer
Ausführungsform
der vorliegenden Erfindung gebildete Bitstromstruktur zeigt und
-
13 ein
Blockdiagramm einer Decodiervorrichtung gemäß einer Ausführungsform
der vorliegenden Erfindung ist.
-
BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSFORM(EN)
-
Nachstehend
werden bevorzugte Ausführungsformen
der vorliegenden Erfindung detailliert mit Bezug auf die anliegende
Zeichnung beschrieben. Gemäß der vorliegenden
Erfindung wird der Bitstrom für
die Bitraten der jeweiligen Schichten einfach umformatiert, um ihn
dann entsprechend einer Benutzeranforderung oder entsprechend dem
Zustand eines Übertragungskanals
zu übertragen,
indem die Informationen für
die Bitraten mehrerer Schichten in einem Bitstrom dargestellt werden.
Wenn die Basisschicht beispielsweise 16 kbps aufweist, die obere
Schicht 64 kbps aufweist und jede Zusatzschicht 8 kbps aufweist,
sind die Informationen für die
jeweiligen Schichten mit 16 kbps, 24 kbps, 32 kbps, 40 kbps, 48
kbps, 56 kbps und 64 kbps in dem Bitstrom für die obere Schicht mit 64
kbps enthalten. Falls ein Benutzer Daten für die obere Schicht anfordert,
wird dieser Bitstrom ohne jede Verarbeitung übertragen. Weiterhin wird,
falls ein Benutzer Daten für
die 16 kbps entsprechende Basisschicht anfordert, nur der Bitstrom
des vorderen Teils abgetrennt und übertragen.
-
8 ist
ein Blockdiagramm einer Codiervorrichtung gemäß der vorliegenden Erfindung,
welche einen Quantisierungsverarbeitungsabschnitt 830 und
einen Bitpaketierungsabschnitt 840 aufweist. Diese Vorrichtung
kann in einer oder mehreren programmierten digitalen Signalverarbeitungsvorrichtungen
(DSP-Vorrichtungen) verwirklicht werden.
-
Der
Quantisierungsverarbeitungsabschnitt 830 zur Signalverarbeitung
von Eingangsaudiosignalen und zum Quantisieren von ihnen für vorgegebene
Codierbänder
weist einen Zeit/Frequenz-Abbildungsabschnitt 800, einen
psychoakustischen Abschnitt 810 und einen Quantisierungsabschnitt 820 auf.
-
Der
Zeit/Frequenz-Abbildungsabschnitt 800 wandelt die Eingangsaudiosignale
des Zeitbereichs in Signale eines Frequenzbereichs um. Die Differenz
zwischen vom menschlichen Ohr wahrgenommenen Signaleigenschaften
ist zeitlich nicht sehr groß.
Gemäß den psychoakustischen
Modellen für
Menschen wird jedoch eine große
Differenz für
jedes Band erzeugt. Demgemäß kann die
Kompressionswirksamkeit erhöht
werden, indem abhängig
von Frequenzbändern
verschiedene Quantisierungsbits zugeordnet werden.
-
Der
psychoakustische Abschnitt 810 koppelt die konvertierten
Signale mit Signalen vorgegebener Subbänder des Zeit/Frequenz-Abbildungsabschnitts 800 und
berechnet eine Maskierungsschwelle bei jedem Subband unter Verwendung
des durch Interaktion mit den jeweiligen Signalen erzeugten Maskierungsphänomens.
-
Der
Quantisierungsabschnitt 820 quantisiert die Signale für jedes
vorgegebene Codierband, so dass das Quantisierungsrauschen jedes
Bands kleiner wird als die Maskierungsschwelle. Mit anderen Worten
werden die Frequenzsignale jedes Bands einer skalaren Quantisierung
unterzogen, so dass der Betrag des Quantisierungsrauschens jedes
Bands kleiner ist als die Maskierungsschwelle, so dass es nicht
wahrnehmbar ist. Die Quantisierung wird so ausgeführt, dass
der NMR-Wert (Rausch-Maskenverhältnis-Wert),
der das Verhältnis
zwischen der vom psychoakustischen Abschnitt 810 berechneten
Maskierungsschwelle und dem in jedem Band erzeugten Rauschen ist,
kleiner oder gleich 0 dB ist. Wenn der NMR-Wert kleiner oder gleich
0 dB ist, bedeutet dies, dass die Maskierungsschwelle höher ist
als das Quantisierungsrauschen. Mit anderen Worten ist das Quantisierungsrauschen
nicht hörbar.
-
Der
Bitpaketierungsabschnitt 840 codiert Seiteninformationen
entsprechend einer Basisschicht mit der niedrigsten Bitrate und
den quantisierten Daten, codiert anschließend Seiteninformationen entsprechend
der der Basisschicht nächstgelegenen
Schicht und ihren quantisierten Daten und führt diese Prozedur für alle Schichten
aus, wobei er Bitströme
erzeugt, die nachstehend in weiteren Einzelheiten beschrieben werden.
Tonumfang-Bitzuordnungsinformationen, welche die Anzahl der Bits
der quantisierten Daten entsprechend den jeweiligen Schichten darstellen,
werden für
die jeweiligen Subbänder
erhalten, die zu einer zu codierenden betreffenden Schicht gehören. Anschließend wird
die Anzahl der den jeweiligen Bändern
zugeordneten Bits innerhalb des Bandgrößenbereichs für die jeweiligen
Schichten erhalten. Für
die quantisierten Daten, die der Anzahl der jedem Band zugeordneten
Bits entsprechen, werden die Indizes erzeugt, die das Vorhandensein
der quantisierten Daten für
vorgegebene Frequenzkomponenten darstellen, die aus den jeweiligen
Bändern
bestehen. Die quantisierten Daten, die der Anzahl der den jeweiligen
Bändern
zugeordneten Bits entsprechen, werden vom MSB der quantisierten
Daten zu niedrigeren Bits codiert. Die Codierung der quantisierten
Daten kann in der Einheit einer vorgegebenen Anzahl von Bits von
niedrigeren Frequenzkomponenten zu höheren Frequenzkomponenten ausgeführt werden.
-
Nun
wird die Arbeitsweise der vorliegenden Erfindung beschrieben. Wie
in 7 dargestellt ist, besteht das am häufigsten
verwendete Verfahren für
das Aufzeichnen von Informationen mehrerer Schichten in einem Bitstrom
im Speichern des Ergebnisses der von hohen Schichten zu niedrigeren
Schichten ausgeführten
Codierung, in der Decodierung des Ergebnisses und im Verarbeiten
und Speichern der Differenz zwischen dem rekonstruierten Signal
und dem ursprünglichen
Signal in der nächsten
Schicht. Wenn die Basisschicht beispielsweise 16 kbps aufweist,
wird das 16-kbps-Codierergebnis im Bitstrom gespeichert. Unter der
Annahme einer Differenz zwischen dem ursprünglichen Signal und dem Decodierergebnis
der codierten 16-kbps-Daten wird die Codierung an der nächsten Schicht
ausgeführt.
Weil es bei einem solchen Verfahren viele redundante Abschnitte
im Bitstrom gibt, ist die Audioqualität beeinträchtigt. Mit anderen Worten
sind die Daten niedrigerer Frequenzbänder in mehreren Schichten
redundant. Um die Redundanz zu vermeiden, muss eine Kontinuität zwischen
Daten gegeben sein, die in den jeweiligen Schichten für die gleiche
Frequenzkomponente dargestellt sind. Falls beispielsweise m Bits
für die
i-te Schicht zugeordnet werden und n Bits für die (i – 1)-te Schicht zugeordnet
werden, müssen
die durch (n + m) Bits dargestellten Daten als ein Informationsbestandteil wirksam
sein.
-
Gemäß der vorliegenden
Erfindung werden die Daten, um die Kontinuität zwischen in den jeweiligen Schichten
für dieselbe
Frequenzkomponente dargestellten Daten aufrechtzuerhalten, vom MSB
dargestellt, wie mit Bezug auf die 9A–9G beschrieben
wird.
-
9A zeigt
das Ergebnis der vom Quantisierungsabschnitt 820 für NMR 0
ausgeführten
Quantisierung. Die Daten werden vom MSB in jeder Schicht dargestellt.
Mit anderen Worten ist nur das MSB in der Basisschicht dargestellt,
wie in 9B dargestellt ist. Falls die
Darstellung auf diese Weise bis zur obersten Schicht erfolgt, werden
alle Datenbits dargestellt. Wenn die Schicht daher fortschreitet,
werden detailliertere Informationen dargestellt. Die zum Decodierer übertragenen
Daten umfassen Tonumfang-Bitzuordnungsinformationen, welche die
Größe der dem
Band, dem Datenindex und Datenbits zugeordneten Bits darstellen.
Der Index stellt dar, wo die Datenbits in dem Band positioniert
sind. Dieser wird unter Verwendung einer Bitebenenmaske erzeugt.
Alle Bits der Bitebenenmaske haben einen Wert von 1. Der Index wird
durch Ausführen einer
UND-Operation an der Bitebenenmaske und dem MSB der Daten für die Anzahl
der Bits der Maske erzeugt, wie in 10 dargestellt
ist.
-
Für das Band
des in 10 dargestellten Beispiels umfassen
die Bitzuordnungsinformationen 7 Bits. Beispielsweise werden die
obersten Daten vom Decodierer selbst dann als "1000000" erkannt, wenn es nur eine 1-Bit-Dateneinheit
im MSB der Basisschicht gibt. Dadurch, dass das MSB 1 ist, ist der
Wert dieses Bands, dessen maximale Bitanzahl 7 ist, größer als "1000000". Dieser Wert wird
durch ein Bit der nächsten
Schicht als "1100000" erkannt. Der Index
stellt einen Datenwert von 1 sowie eine Datenposition dar. Demgemäß wird 1
als der Indexwert aus der "1000001"-Darstellung in den 9A–9G ausgeschlossen.
Daher wird "1000001" im Decodierer durch
Addieren von 1 als Indexwert zu "1000000", welches durch Datenbits
dargestellt ist, rekonstruiert. In den 9A–9G stellen
die auf den zweiten und den fünften
Schritt folgenden Daten alle Daten dar, die nicht zum Decodierer übertragen
werden. Die Daten werden durch Huffman-Codierung, Lauflängencodierung oder arithmetische
Codierung dargestellt. Die Daten werden als das ihnen entsprechende
Bit verwendet. Weiterhin kann das Datenbit auch durch den Index
dargestellt werden, wenn das Datenbit ein 1-Bit-Datenbit ist. Dies
bedeutet, dass das MSB durch den durch Maskierung erzeugten Wert
1 an der entsprechenden Position existiert. Demgemäß kann der
gesamte Wert selbst dann dargestellt werden, wenn es kein weiteres
Datenbit gibt. Wenn beispielsweise die Bitzuordnungsinformationen
5 sind, stellt 1 als der Indexwert der Basisschicht 1 und "10000" dar. Demgemäß ist der
wiederhergestellte Wert "10001".
-
Wie
vorstehend beschrieben wurde, ist ein 1-Bit-Datenbit in jeder Schicht
dargestellt, welches im Wesentlichen transformiert werden kann,
um ein oder mehrere Bits in jeder Schicht darzustellen.
-
Zum
Darstellen von Daten für
jedes Band wird zuerst das MSB des Bands entsprechend jeder Schicht durch
mindestens ein Bit dargestellt, und die Daten werden dann in der
Betragsreihenfolge der Bitzuordnungsinformationen von niedrigeren
Bändern
zu höheren
Bändern
sequenziell angeordnet. Weil mit anderen Worten das Band mit einer
großen
Bitzuordnungsinformation ein wichtiges Band ist, wird es zuerst
codiert. Weil das Band mit einer kleinen Bitzuordnungsinformation
ein weniger wichtiges Band ist, wird es später codiert. Der folgende Algorithmus
wird zum Erzeugen von Daten jeder Schicht verwendet, und es werden
dadurch die Bitzuordnungsinformationen und Daten jeder Schicht berechnet,
um einen skalierbaren Bitstrom zu bilden.
-
-
-
-
Die 11A und 11B zeigen
die Ausführung
eines Datenerzeugungsalgorithmus für die Basisschicht und eine
Schicht 1 als Beispiel. In den 11A und 11B entsprechen anfängliche Bitzuordnungsinformationen
einer Hälfte
der Tonumfang-Bitzuordnungsinformationen. Dann wird unter den restlichen
Bitzuordnungsinformationen [(Tonumfang-Bitzuordnungsinformationen) – (anfängliche
Bitzuordnungsinformationen)] die Bitzuordnung in der Reihenfolge
der Informationsgröße ausgeführt. Beim
vorstehend angegebenen Algorithmus können weitere Bits innerhalb
der zulässigen
Bits in der Basisschicht nur bis zum zweiten Band eingegeben werden.
Nach Abschluss der Verarbeitung der Basisschicht wird das durch
Subtrahieren des verarbeiteten Signals vom ursprünglichen Signal erhaltene Signal
in der nächsten
Schicht verarbeitet.
-
Wenn
die Schicht in dieser Weise fortschreitet, kann ein detaillierterer
Datenwert dargestellt werden. Auf diese Weise kann die Audioqualität entsprechend
der Erweiterung der Schichten verbessert werden.
-
Nun
wird das Verfahren zum Bilden skalierbarer Bitströme unter
Verwendung so dargestellter Daten beschrieben. Zuerst werden Seiteninformationen
für die
Bandbreite der Basisschicht aufgezeichnet. Die Seiteninformationen
umfassen Bitzuordnungsinformationen für jedes Band und eine zur Dequantisierung
erforderliche Quantisierungsschrittgröße. Hier wird die Quantisierungsschrittgröße aufgezeichnet,
wenn die Bitzuordnung für
das entsprechende Band zum ersten Mal ausgeführt wird. Nach den Seiteninformationen
wird der Audiodatenwert für
die Basisschicht aufgezeichnet. Die Aufzeichnung des Datenwerts
wird nach den MSB-Informationen vom ersten Band bis zu dem Band,
das innerhalb der Bitzuteilung darstellbar ist, abhängig von der
Bitrate der Basisschicht sequenziell ausgeführt, und der Datenindex wird
berechnet. In den 11A und 11B werden
der Index und das Datenbit, welche durch mit durchgezogenen Linien
angegebene Quadrate angegeben sind, innerhalb des Bitstroms aufgezeichnet.
Zu dieser Zeit werden, falls die Bitzuordnungsinformationen für jede Schicht
null sind, keine Daten aufgezeichnet. Weiterhin wird, wenn die Bitzuordnungsinformationen
nicht für
alle Schichten null sind, das Datenbit nicht aufgezeichnet und nur
der Index aufgezeichnet, falls es keine Informationen für den Index
gibt (d.h. falls die Indizes alle null sind). Nach Abschluss der
Aufzeichnung für
die Basisschicht werden die Seiteninformationen und der quantisierte
Audiodatenwert für
die nächste
Schicht aufgezeichnet. Auf diese Weise werden die Daten aller Schichten
aufgezeichnet. 12 zeigt die Struktur des so
aufgezeichneten Bitstroms.
-
Nun
wird das Codierverfahren gemäß der vorliegenden
Erfindung durch ein Beispiel detailliert beschrieben. Beispielsweise
beträgt
die Bitrate einer Basisschicht 16 kbps, die Bitrate einer oberen
Schicht 64 kbps, und die jeweiligen Zusatzschichten haben eine Bitrate
von 8 kbps, so dass der Bitstrom 7 Schichten mit 16 kbps, 24 kbps,
32 kbps, 40 kbps, 48 kbps, 56 kbps und 64 kbps aufweist. Wie in
der folgenden Tabelle 1 gezeigt ist, ist die verarbeitete Bandbreite
jeder Schicht begrenzt. Die Eingangsdaten sind mit 48 kHz abgetastete
PCM-Daten, und die Größe eines
Rahmens beträgt
1024 Bits. Die Anzahl der für
einen Rahmen für
eine Bitrate von 64 kbps verwendbaren Bits beträgt im Durchschnitt 1365 (=
64000 Bits/s·(1024/48000)).
-
-
Zuerst
werden notwendige Informationen anhand der Eingangsdaten unter Verwendung
eines psychoakustischen Modells berechnet. ISO/IEC 11172-3 Model
2 wird zum Berechnen des psychoakustischen Modells verwendet. Die
Ausgaben des psychoakustischen Abschnitts 810 sind der
Blocktyp eines gegenwärtig verarbeiteten
Rahmens (lang, Anfang, kurz oder Stopp), die SMR-Werte der jeweiligen
Verarbeitungsbänder, Abschnittsinformationen
eines kurzen Blocks und zeitlich verzögerte PCM-Daten zur Synchronisation
mit dem psychoakustischen Abschnitt 810 und dem Zeit/Frequenz-Abbildungsabschnitt 800.
-
-
-
Der
Zeit/Frequenz-Abbildungsabschnitt 800 wandelt Daten im
Zeitbereich in Daten im Frequenzbereich unter Verwendung der modifizierten
diskreten Kosinustransformation (MDCT) entsprechend dem vom psychoakustischen
Abschnitt 810 ausgegebenen Blocktyp um. Dabei sind die
Blockgrößen im Fall
langer/Anfangs-/Stopp-Blöcke
bzw. im Fall eines kurzen Blocks 2048 bzw. 256, und die MDCT wird
8 Mal ausgeführt.
-
Die
in Daten im Frequenzbereich umgewandelten Daten werden unter Verwendung
des vom psychoakustischen Abschnitt 810 ausgegebenen SMR-Werts
quantisiert. Hier wird eine skalare Quantisierung ausgeführt, und
die grundlegende Quantisierungsschrittgröße ist 21/4. Die Quantisierung
wird so ausgeführt,
dass der NMR-Wert kleiner oder gleich 0 dB ist. Hier besteht die
erhaltene Ausgabe aus Informationen für die quantisierten Daten,
den Quantisierungsschrittgrößen für die jeweiligen
Verarbeitungsbänder
und der Anzahl der Bits, welche den Maximalwert des Bands darstellen
können
(d.h. den Tonumfang-Bitzuordnungsinformationen).
-
Die
Daten für
jede Schicht werden unter Verwendung des vorstehend erwähnten Algorithmus,
der nun anhand einer bevorzugten Ausführungsform beschrieben wird,
erzeugt. Weil die Bandbreite der Basisschicht 3,5 kHz beträgt, reichen
die Verarbeitungsbänder
bis zum zwölften
Band. Zuerst werden unter Verwendung der Tonumfang-Bitzuordnungsinformationen
bis zum zwölften
Band die Bitzuordnungsinformationen der Basisschicht erzeugt. Daten,
die innerhalb der Bits liegen, die die Hälfte der Tonumfang-Bitzuordnungsinformationen
ausmachen, werden aus dem 0-ten Band entnommen, und die Daten werden
geprüft,
um festzustellen, ob sie innerhalb der Bitzuteilung der Basisschicht
dargestellt werden können.
Falls dies möglich
ist, wird die gleiche Prozedur wie diejenige für das 0-te Band an den Daten
des nächsten
Bands ausgeführt.
Während
die Prozedur bis zum zwölften
Band fortgesetzt wird, wird, falls ein Band kommt, das die Bitzuteilung
aller Bänder bis
zum zwölften
Band übersteigt,
die Prüfung
fortgesetzt, indem unter den gegenwärtig verarbeiteten Bändern den
jeweiligen Bändern
von dem Band mit den größeren Bitzuordnungsinformationen
sequenziell ein Bit zugeordnet wird. Der kleinere von einem Huffman-codierten
Wert und einem lauflängencodierten
Wert wird als der Indexwert verwendet. Wenn die Verarbeitung der
Basisschicht abgeschlossen ist, wird der durch Subtrahieren des
in der Basisschicht verarbeiteten Datenwerts von dem ursprünglichen
Datenwert erhaltene Wert als Eingangsdaten für die nächste Schicht verwendet. Die
gleiche Verarbeitung wie in der Basisschicht wird an anderen Schichten
ausgeführt.
-
Nun
wird eine Decodiervorrichtung zum Decodieren von der Codiervorrichtung
erzeugter Bitströme detailliert
beschrieben. 13 ist ein Blockdiagramm der
Decodiervorrichtung, welche einen Bitstromanalyseabschnitt 10,
einen Umkehrquantisierungsabschnitt 20 und einen Frequenz/Zeit-Abbildungsabschnitt 30 aufweist.
-
Diese
Vorrichtung kann in einer oder mehreren programmierten digitalen
Signalverarbeitungsvorrichtungen (DSP-Vorrichtungen) verwirklicht
werden.
-
Der
Bitstromanalyseabschnitt 10 decodiert die Tonumfang-Bitzuordnungsinformationen
der Schichten, die Quantisierungsschrittgröße, den Index und die quantisierten
Daten in der Erzeugungsreihenfolge der Bitströme, indem die Anzahl der Bits
erhalten wird, die dem zu jeder Schicht gehörenden Band zugeordnet sind, und
indem auf den Index für
die quantisierten Daten entsprechend der zugeordneten Bitanzahl
Bezug genommen wird.
-
Der
Umkehrquantisierungsabschnitt 20 stellt die decodierte
Quantisierungsschrittgröße und die
quantisierten Daten zu Signalen mit den ursprünglichen Beträgen wieder
her. Der Frequenz/Zeit-Abbildungsabschnitt 30 wandelt umgekehrt
quantisierte Signale in Signale im Zeitbereich um, so dass sie von
einem Benutzer wiedergegeben werden können.
-
Als
nächstes
wird die Arbeitsweise der Decodiervorrichtung beschrieben. Die Reihenfolge
des Decodierens der von der Codiervorrichtung erzeugten Bitströme ist umgekehrt
zur Codierreihenfolge. Zuerst werden die Informationen für die Basisschicht
decodiert. Der Decodierprozess wird kurz beschrieben. Zuerst werden
die Seiteninformationen der Basisschicht, d.h. die Tonumfang-Bitzuordnungsinformationen,
die Quantisierungsschrittgröße und der
Index, decodiert. Anschließend
wird die Anzahl der Bits, die den zur Basisschicht gehörenden Bändern zugeordnet
sind, erhalten, und die entsprechenden quantisierten Daten werden
unter Bezugnahme auf den Index decodiert. Hierbei werden die quantisierten
Werte der codierten Bitströme
sequenziell von den MSBs zu den LSBs und von niedrigen Frequenzkomponenten
zu hohen Frequenzkomponenten decodiert. Die Decodierung wird durch
das dem Codierverfahren, das beim Codierprozess verwendet wird, entsprechende
Verfahren ausgeführt.
Vorzugsweise wird ein verlustfreies Decodierverfahren in der Art
eines Huffman-Decodierverfahrens
oder eines arithmetischen Decodierverfahrens verwendet.
-
Nach
Abschluss der Decodierung der Bitströme für die Basisschicht werden die
Seiteninformationen und die quantisierten Werte der Audiodaten für die nächste Schicht
decodiert. Auf diese Weise können
die Daten aller Schichten decodiert werden. Die durch den Decodierprozess
quantisierten Daten werden durch den Umkehrquantisierungsabschnitt 20 und
den Frequenz/Zeit-Abbildungsabschnitt 30, die in 13 dargestellt sind,
in der zur Codierung entgegengesetzten Reihenfolge als die ursprünglichen
Signale wiederhergestellt.
-
Wie
vorstehend beschrieben wurde, werden gemäß der vorliegenden Erfindung
Daten für
die Bitraten verschiedener Schichten innerhalb eines einzigen Bitstroms
dargestellt, wodurch der Zustand von Übertragungskanälen und
Anforderungen von verschiedenen Benutzern adaptiv erfüllt werden.
-
Weil
weiterhin derselbe Codierer für
die jeweiligen Schichten verwendet wird, ist die Komplexität des Codierers geringer.
Weil weiterhin Daten im Frequenzbereich ohne eine Codierung einer
Differenz von Daten im Zeitbereich zwischen jeweiligen Schichten
verarbeitet werden, ist die Komplexität des Codierers geringer.
-
Weil
in ähnlicher
Weise derselbe Decodierer für
die jeweiligen Schichten verwendet wird, ist die Komplexität des Decodierers
geringer. Weil weiterhin Daten im Zeitbereich nur einmal für jede Schicht
erzeugt werden, ist die Komplexität des Decodierers geringer.
Weil weiterhin die Bitströme
verschiedener Schichten einfach erzeugt werden, ist die Komplexität des Decodierers
geringer. Weiterhin gibt es eine Kontinuität zwischen den Datenbits der
jeweiligen Schichten, wodurch eine gute Audioqualität bereitgestellt
wird und leicht dem Zustand von Übertragungskanälen und
Benutzeranforderungen Rechnung getragen wird.
-
Weiterhin
werden gemäß der vorliegenden
Erfindung zum Erfüllen
der Anforderungen verschiedener Benutzer flexible Bitströme gebildet.
Mit anderen Worten werden durch die Benutzeranforderungen die Informationen
für die
Bitraten verschiedener Schichten redundanzfrei mit einem Bitstrom
kombiniert, wodurch Bitströme
mit einer guten Audioqualität
bereitgestellt werden. Weiterhin ist zwischen einem Übertragungsende und
einem Empfangsende kein Konvertierer erforderlich. Überdies
können
jedem beliebigen Übertragungskanalzustand
und verschiedenen Benutzeranforderungen Rechnung getragen werden.
-
Die
vorliegende Erfindung kann sowohl auf festverdrahtete als auch auf
drahtlose Systeme oder Speichersysteme angewendet werden.
-
Die
vorliegende Erfindung ist nicht auf die vorstehend beschriebenen
Ausführungsformen
beschränkt und
ermöglicht
viele Modifikationen oder Alternativen. Beispielsweise können andere
Transformationen, wie die FTT, verwendet werden.