-
Technisches
Gebiet
-
Die vorliegende Erfindung bezieht
sich auf das Kodieren und Dekodieren von Tonfrequenzen und betrifft
insbesondere skalierbares Kodieren von Audiodaten in eine Vielzahl
von Schichten eines Normdatenkanals und skalierbares Dekodieren
von Audiodaten aus einem Normdatenkanal.
-
Stand der Technik
-
Teilweise ist es auf den weitverbreiteten
wirtschaftlichen Erfolg von Techniken der Compact Disc (CD) in den
letzten zwanzig Jahren zurückzuführen, daß die 16-Bit
Pulscodemodulation (PCM) eine Industrienorm für den Vertrieb und die Wiedergabe
von Phonoaufzeichnungen geworden ist. Während eines großen Teils
dieser Zeit hat die Phonoindustrie die CD mit dem Argument angepriesen,
daß die
Tonqualität
gegenüber
Vinylschallplatten und Kassettenbändern überlegen sei, und viele Leute
haben geglaubt, daß mit
einer Erhöhung
der Tonauflösung über die mit
der 16-Bit PCM erzielbare hinaus nur wenig hörbarer Nutzen zu erzielen sei.
-
In den vergangenen paar Jahren ist
diese Meinung jedoch aus verschiedenen Gründen angefochten worden. Der
Dynamikbereich der 16-Bit PCM ist für eine rauschfreie Wiedergabe
sämtlicher
musikalischer Töne
zu begrenzt. Feine Details gehen verloren, wenn Tonfrequenzen auf
16-Bit PCM quantisiert werden. In der Meinung ist möglicherweise
die Praxis einer Verringerung von Quantisierungsauflösungen zur
Schaffung zusätzlichen
Spielraums am oberen Ende auf Kosten einer Verringerung des Rauschabstandes
und einer Absenkung der Signalauflösung nicht berücksichtigt.
Angesichts solcher Bedenken gibt es gegenwärtig eine starke kommerzielle Nachfrage
nach Audioprozessen, die eine im Vergleich zur 16-Bit PCM verbesserte
Signalauflösung bieten.
-
Es gibt außerdem gegenwärtig starke
Nachfrage nach Mehrkanalaudioprodukten. Mehrkanalton bedeutet mehrere
Kanäle
von Tonfrequenzen, die den räumlichen
Eindruck des wiedergegebenen Tons im Vergleich zu traditionellen
Mono- und Stereotechniken verbessern können. In bekannten Systemen sind
getrennte linke und rechte Kanäle
sowohl vor als auch hinter einem Hörfeld vorgesehen, und es kann auch
ein Mittenkanal und ein Tieftonkanal angeboten sein. Neuere Abwandlungen
haben zahlreiche Tonkanäle
gebracht, die ein Hörfeld
umgeben, um die räumliche
Trennung unterschiedlicher Arten von Audiodaten wiederzugeben oder
zu synthetisieren.
-
Perzeptuelles Kodieren ist eine Art
von Techniken zum Verbessern der wahrgenommenen Auflösung eines
Tonsignals im Vergleich zu PCM-Signalen vergleichbarer Bitrate.
Perzeptuelles Kodieren kann die Bitrate eines kodierten Signals
verringern, aber dabei die subjektive Qualität der vom kodierten Signal
wiedergewonnenen Tonfrequenz aufrechterhalten, weil Informationen
entfernt werden, die für
das Aufrechterhalten der subjektiven Qualität für irrelevant gehalten werden.
Dies kann dadurch geschehen, daß ein
Tonsignal in Frequenzteilbandsignale aufgeteilt und jedes Teilbandsignal
mit einer Quantisierungsauflösung
quantisiert wird, die einen Quantisierungsrauschpegel einführt, der
so niedrig ist, daß er
von dem dekodierten Signal selbst überdeckt werden kann. Innerhalb
der Grenzen einer gegebenen Bitrate kann eine Erhöhung der
Auflösung
des wahrgenommenen Signals gegenüber
einem ersten PCM-Signal einer gegebenen Auflösung durch perzeptuelles Kodieren
eines zweiten PCM-Signals höherer
Auflösung
zwecks Reduzierung der Bitrate des kodierten Signals auf im wesentlichen
diejenige des ersten PCM-Signals erzielt werden. Dann kann die kodierte
Version des zweiten PCM-Signals anstatt des ersten PCM-Signals benutzt
und im Zeitpunkt der Wiedergabe dekodiert werden.
-
Ein Beispiel perzeptueller Kodierung
ist in Geräten
verkörpert,
die der öffentlichen
Bitstromspezifikation ATSC AC-3 entsprechen, die im Dokument A52
(1994) vom Advanced Television Standards Committee (ATSC) festgelegt
wurde. Diese spezielle perzeptuelle Kodiertechnik ist ebenso wie
weitere perzeptuelle Kodiertechniken in verschiedenen Ausführungen
von durch Warenzeichen geschützten "Dolby Digital" Kodierern und Dekodierern
verwirklicht. Diese Kodierer und Dekodierer sind von Dolby Laboratories,
Inc., San Francisco, Kalifornien erhältlich. Ein weiteres Beispiel
eines perzeptuellen Kodierverfahrens ist in Geräten verwirklicht, die dem MPEG-1
Audiokodierstandard ISO 11172-3 (1993) entsprechen.
-
Herkömmliche perzeptuelle Kodiertechniken haben
den Nachteil, daß die
Bitrate des perzeptuell kodierten Signals für ein gegebenes Niveau subjektiver
Qualität
unter Umständen
die verfügbare
Datenkapazität
von Übertragungskanälen und
Speichermitteln überschreiten.
Beispielsweise kann beim perzeptuellen Kodieren eines 24-Bit PCM
Tonsignals ein perzeptuell kodiertes Signal herauskommen, das mehr
Datenkapazität
erfordert, als ein 16-Bit breiter Datenkanal bietet. Bemühungen um
eine Verringerung der Bitrate des kodierten Signals auf ein niedrigeres
Niveau können
die subjektive Qualität
des aus dem kodierten Signal wiederzugewinnenden Tons verschlechtern.
Ein weiterer Nachteil herkömmlicher perzeptueller
Kodiertechniken besteht darin, daß sie das Dekodieren eines
einzigen perzeptuell kodierten Signals zur Rückgewinnung eines Tonsignals
auf mehr als einem Niveau subjektiver Qualität nicht stützen.
-
Eine Technik, die einen Bereich an
Dekodierqualität
bieten kann, ist das skalierbare Kodieren. Skalierbares Kodieren
benutzt die Daten in einer oder mehr Kodierungen niedrigerer Auflösung zusammen
mit Augmentationsdaten, um für
ein Tonsignal eine Kodierung höherer
Auflösung
zu schaffen. Kadierungen niedriger Auflösung und die Augmentationsdaten
können
in einer Vielzahl von Schichten Verwendung finden. Es besteht außerdem große Nachfrage
nach skalierbarer perzeptueller Kodierung, insbesondere skalierbarer
perzeptueller Kodierung, die auf der Dekodierstufe mit handelsüblichen Transport-
oder Speichereinrichtungen für
16-Bit Digitalsignale abwärtskompatibel
sind.
-
EP-A-0 869 622 offenbart zwei skalierbare Kodiertechniken.
Gemäß einer
Technik wird ein Eingabesignal in eine Kernschicht kodiert, das
kodierte Signal anschließend
dekodiert, und die Differenz zwischen dem eingegebenen Signal und
dem dekodierten Signal wird in eine Erweiterungsschicht kodiert. Wegen
der zum Durchführen
von ein oder mehr Dekodierverfahren in einem Kodierer erforderlichen Ressourcen
ist diese Technik nachteilig. Gemäß einer anderen Technik wird
ein Eingabesignal quantisiert, Bits, die einen Teil des quantisierten
Signals darstellen, werden in eine Kernschicht kodiert und Bits,
die einen zusätzlichen
Teil des quantisierten Signals darstellen, werden in eine Erweiterungsschicht kodiert.
Diese Technik ist nachteilig, weil sie es nicht erlaubt, verschiedene
Kodierverfahren auf das Eingabesignal für jede Schicht des skalierbaren
kodierten Signals anzuwenden.
-
Offenbarung
der Erfindung
-
Es wird skalierbares Tonkodieren
offenbart, welches das Kodieren von Audiodaten in eine Kernschicht
eines Datenkanals in Abhängigkeit
von einem ersten gewünschten
Rauschspektrum stützt.
Das erste gewünschte
Rauschspektrum wird vorzugsweise entsprechend psychoakustischen
Kriterien und der Datenkapazität
festgelegt. Augmentationsdaten können
in eine oder mehr Erweiterungsschichten des Datenkanals in Abhängigkeit
von zusätzlichen
gewünschten
Rauschspektren kodiert werden. Alternative Kriterien, wie herkömmliches
gleichförmiges Quantisieren
können
zum Kodieren von Augmentationsdaten benutzt werden.
-
Von der vorliegenden Erfindung benutzte Datenkanäle haben
vorzugsweise eine 16-Bit breite Kernschicht und zwei 4-Bit breite
Erweiterungsschichten entsprechend der von der Audio Engineering
Society (AES) veröffentlichten
Norm AES3. Diese Norm ist auch als ANSI S4.40 vom American National
Standard Institut (ANSI) bekannt. Ein derartiger Datenkanal wird
hier als Normdatenkanal AES3 bezeichnet.
-
Skalierbares Tonkodieren und Dekodieren gemäß der vorliegenden
Erfindung ist in den unabhängigen
Ansprüchen
1, 9, 15, 21 und 22 angegeben. Verschiedene Aspekte und bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung sind in den Unteransprüchen angegeben.
Die vorliegende Erfindung kann mit diskreten logischen Bauelementen,
einer oder mehr anwendungsspezifischen integrierten Schaltungen,
programmgesteuerten Prozessoren und weiteren handelsüblichen
Bauelementen verwirklicht werden. Die Art und Weise, in der diese Bauelemente
verwirklicht werden, ist für
die vorliegende Erfindung nicht wichtig. Bevorzugte Ausführungsbeispiele
arbeiten mit programmgesteuerten Prozessoren, beispielsweise den
in der DSP563xx Reihe digitaler Signalprozessoren von Motorola.
Programme für
solche Verwirklichungen können
Anweisungen umfassen, die von maschinenlesbaren Medien, beispielsweise
Basisband- oder modulierten Übertragungswegen
und Speichermitteln übermittelt werden. Übertragungswege
liegen vorzugsweise im Spektrum von Ultraschall- bis Ultraviolettfrequenzen. Als
Speichermittel kann im wesentlichen jede beliebige Technik magnetischer
oder optischer Aufzeichnung Verwendung finden, einschließlich von
Magnetbändern,
Magnetplatten und optischen Platten.
-
Gemäß einem weiteren Aspekt der
vorliegenden Erfindung wird gemäß der Erfindung
kodierte Toninformation auf maschinenlesbaren Medien übermittelt,
wie in Anspruch 23 angegeben. Die kodierte Toninformation kann von
derartigen Medien an Leitwegglieder, Dekodierer und sonstige Prozessoren übermittelt
werden und kann zum späteren
Weiterleiten, Dekodieren oder sonstigen Verarbeiten gespeichert
werden. Derartige kodierte Information ist vorzugsweise in Übereinstim mung
mit verschiedenen Rahmen- und/oder anderen offenbarten Datenstrukturen
formatiert. Dann kann ein Dekodierer die gespeicherte Information
zu späteren
Zeiten zum Dekodieren und zur Wiedergabe lesen. Ein solcher Dekodierer
braucht keine Kodierfunktion zu besitzen.
-
Die verschiedenen Merkmale der vorliegenden
Erfindung und ihre bevorzugten Ausführungsbeispiele sind anhand
der folgenden Beschreibung und den beigefügten Zeichnungen, in denen
die gleichen Bezugszeichen für
gleiche Elemente in den verschiedenen Figuren benutzt sind, besser
verständlich.
Der Inhalt der folgenden Beschreibung und der Zeichnungen dient
lediglich als Beispiel und sollte nicht als den Umfang der vorliegenden
Erfindung einschränkend verstanden
werden.
-
Kurzbeschreibung
der Zeichnungen
-
1A ist
ein schematisches Blockschaltbild eines Verarbeitungssystems zum
Kodieren und/oder Dekodieren von Tonsignalen, welches einen zweckgebundenen
Digitalsignalprozessor umfaßt.
-
1B ist
ein schematisches Blockschaltbild eines rechnerimplementierten Systems
zum todieren und/oder Dekodieren von Tonsignalen.
-
2A ist
ein Fließschema
eines Verfahrens zum Kodieren eines Tonkanals gemäß psychoakustischen
Prinzipien und einem Datenkapazitätskriterium.
-
2B ist
ein schematisches Diagramm eines Datenkanals, welches eine Folge
von Rahmen aufweist, wobei jeder Rahmen eine Folge von Wörtern aufweist
und jedes Wort 16 Bits breit ist.
-
3A ist
ein schematisches Diagramm eines skalierbaren Datenkanals, welches
eine Vielzahl von Schichten umfaßt, die als Rahmen, Segmente und
Abschnitte organisiert sind.
-
3B ist
ein schematisches Diagramm eines Rahmens für einen skalierbaren Datenkanal.
-
4A ist
ein Fließschema
eines skalierbaren Kodierverfahrens.
-
4B ist
ein Fließschema
eines Verfahrens zum Bestimmen geeigneter Quantisierungsauflösungen für das in 4A gezeigte skalierbare
Kodierverfahren.
-
5 ist
ein Fließschema,
welches ein skalierbares Dekodierverfahren veranschaulicht.
-
6A ist
ein schematisches Diagramm eines Rahmens für einen skalierbaren Datenkanal.
-
6B ist
ein schematisches Diagramm einer bevorzugten Struktur für das Tonsegment
und Tonerweiterungssegmente, die in 6A dargestellt sind.
-
6C ist
ein schematisches Diagramm einer bevorzugten Struktur für das in 6A dargestellte Metadatensegment.
-
6D ist
ein schematisches Diagramm einer bevorzugten Struktur für das in 6A gezeigte Metadatenerweiterungssegment.
-
Möglichkeiten
zum Ausführen
der Erfindung
-
Die vorliegende Erfindung bezieht
sich auf das skalierbare Kodieren von Tonsignalen. Beim skalierbaren
Kodieren wird ein Datenkanal benutzt, der eine Vielzahl von Schichten
besitzt. Dazu gehört
eine Kernschicht, die Daten trägt,
welche ein Tonsignal gemäß einer
ersten Auflösung
wiedergeben, und eine oder mehr Erweiterungsschichten, die Daten tragen,
welche in Kombination mit den in der Kernschicht getragenen Daten
das Tonsignal entsprechend einer höheren Auflösung wiedergeben. Die vorliegende
Erfindung kann auf Tonteilbandsignale angewandt werden. Jedes Teilbandsignal
stellt typischerweise ein Frequenzband des Tonspektrums dar. Diese
Frequenzbänder
können
einander überlappen.
Jedes Teilbandsignal weist gewöhnlich
ein Teilbandsignalelement oder mehrere auf.
-
Teilbandsignale können mit verschiedenen Techniken
erzeugt werden, einschließlich
des Anwendens von digitalen Filtern, Transformationen aus der Zeitdomäne in die
Frequenzdomäne
und Wavelet-Transformationen. Eine Technik besteht darin, eine spektrale
Transformation auf Audiodaten anzuwenden, um Teilbandsignalelemente
in einer spektralen Domäne
zu erzeugen. Ein oder mehr benachbarte Teilbandsignalelemente können zu
die Teilbandsignale bildenden Gruppen zusammengefaßt werden.
Die Zahl und Identität
von Teilbandsignalelementen, die ein gegebenes Teilbandsignal bilden, kann
entweder im voraus bestimmt werden, oder als Alternative können Charakteristiken
der kodierten Audiodaten herangezogen werden. Zu Beispielen für geeignete
spektrale Transformationen gehört
die Diskrete Fourier Transformation (DFT) und verschiedene Diskrete
Cosinus Transformationen (DCT), einschließlich einer bestimmten Modifizierten
Diskreten Cosinus Transformation (MDCT), die manchmal als Time-Domain
Aliasing Cancellation (TDAC) Transformation bezeichnet wird und
von Princen, Johnson und Bradley in "Subband/Transform Coding Using Filter
Bank Designs Based on Time Domain Aliasing Cancellation", Proc. Int. Conf.
Acoust., Speech, and Signal Proc, Mai 1987, SS. 2161–2164 beschrieben wurde.
Eine weitere Technik zum Erzeugen von Teilbandsignalen besteht darin,
einen kaskadenartig angeordneten Satz von Quadraturspiegelfiltern
(QMF) oder einen sonstigen Bandpaßfilter auf Audiodaten anzuwenden,
um Teilbandsignale zu erzeugen. Auch wenn die Wahl der Verwirklichung
eine tiefgreifende Auswirkung auf die Leistung eines Kodiersystems haben
mag, ist für
die Idee der vorliegenden Erfindung keine bestimmte Verwirklichung
wichtig.
-
Der Ausdruck "Teilband" wird hier zur Bezeichnung eines Abschnitts
der Bandbreite eines Tonsignals verwendet. Der Ausdruck "Teilbandsignal" wird hier zur Bezeichnung
eines Signals verwendet, welches ein Teilband wiedergibt. Der Ausdruck "Teilbandsignalelement" wird hier zur Bezeichnung von
Elementen oder Komponenten eines Teilbandsignals benutzt. In Ausführungsformen
mit spektraler Transformation sind beispielsweise die Teilbandsignalelemente
die Transformationskoeffizienten. Aus Gründen der Einfachheit wird die
Erzeugung von Teilbandsignalen als Teilbandfiltern bezeichnet, gleichgültig ob
eine solche Signalerzeugung durch Anlegen einer spektralen Transformation
oder einer sonstigen Art von Filter erreicht wird. Der Filter selbst
wird hier als Filterbank bezeichnet oder noch genauer als Analysefilterbank.
In der bekannten Weise bezieht sich eine Synthesefilterbank auf
eine Umkehr oder eine wesentliche Umkehr einer Analysefilterbank.
-
Fehlerkorrekturinformationen können geliefert
werden, um einen oder mehr Fehler in erfindungsgemäß verarbeiteten
Daten zu erkennen. Fehler können
beispielsweise während
der Übertragung oder
Zwischenspeicherung solcher Daten auftreten, und häufig ist
es nützlich,
solche Fehler zu entdecken und die Daten entsprechend zu korrigieren,
ehe die Daten wiedergegeben werden. Der Ausdruck Fehlerkorrektur
gilt im wesentlichen für
jegliches Fehlererkennungs- und/oder Korrekturschema, wie Paritätsbits,
zyklische Redundanzcodes, Prüfsummen
und Reed-Solomon Codes.
-
1A zeigt
ein schematisches Blockschaltbild eines Ausführungsbeispiels eines Verarbeitungssystems 100 zum
Kodieren und Dekodieren von Audiodaten gemäß der vorliegenden Erfindung.
Das Verarbeitungssystem 100 weist einen programmgesteuerten
Prozessor 110, einen Festwertspeicher 120, einen
Direktzugriffsspeicher 130, eine Toneingabe/Ausgabeschnittstelle 140 auf,
die in üblicher
Weise durch einen Bus 116 miteinander verbunden sind. Der
programmgesteuerte Prozessor 110 ist ein im Handel erhältlicher
Digitalsignalprozessor von Motorola des Modells DSP563xx. Von bekannter
Bauart ist der Festwertspeicher 120 und der Direktzugriffsspeicher 130.
Der Festwertspeicher 120 speichert ein Anweisungsprogramm,
welches dem programmgesteuerten Prozessor 110 erlaubt,
eine Analyse- und Synthesefilterung vorzunehmen und Tonsignale zu
verarbeiten, wie unter Hinweis auf die 2A bis 7D noch
beschrieben wird. Das Programm bleibt im Festwertspeicher 120 intakt
erhalten, während
sich das Verarbeitungssystem 100 in einem Ausschaltzustand
befindet. Als Alternative kann der Festwertspeicher 120 gemäß der vorliegenden
Erfindung durch praktisch jegliche magnetische oder optische Aufzeichnungstechnik
ersetzt sein, beispielsweise unter Verwendung eines Magnetbandes,
einer Magnetplatte oder einer optischen Platte. Im Direktzugriffsspeicher 130 werden
Anweisungen und Daten, einschließlich empfangener und verarbeiteter
Signale für
den programmgesteuerten Prozessor 110 auf konventionelle
Weise gepuffert. Die Toneingabe/Ausgabeschnittstelle 140 enthält Schaltungsanordnungen
zur Signalweiterleitung, um eine oder mehrere Schichten empfangener
Signale an andere Bauelemente, beispielsweise den programmgesteuerten Prozessor 110 weiterzuleiten.
Die Leitwegschaltungsanordnung kann getrennte Anschlüsse für Eingabe-
und Ausgabesignale umfassen, oder der gleiche Anschluß kann sowohl
für die
Eingabe als auch für
die Ausgabe benutzt werden. Das Verarbeitungssystem 100 kann
alternativ für
das Kodieren zweckgebunden sein, indem die Synthese- und Dekodieranweisungen
weggelassen werden, oder es kann alternativ für das Dekodieren zweckgebunden
sein, indem die Analyse- und Kodieranweisungen weggelassen werden.
Das Verarbeitungssystem 100 steht stellvertretend für typische
Verarbeitungsoperationen, die für
die Verwirklichung der vorliegenden Erfindung von Nutzen sind und
ist nicht als eine bestimmte Ausführung in Hardware gedacht.
-
Zum Kodieren nimmt der programmgesteuerte
Prozessor 110 Zugriff auf ein Programm aus Kodieranweisungen
vom Festwertspeicher 120. An der Toneingabe/Ausgabeschnittstelle
140 wird dem Verarbeitungssystem 100 ein Tonsignal geliefert
und zum programmgesteuerten Prozessor 110 weitergeleitet,
um kodiert zu werden. In Abhängigkeit
vom Programm der Kodieranweisungen wird das Tonsignal von einer
Analysefilterbank gefiltert, um Teilbandsignale zu erzeugen, die
dann kodiert werden, damit ein kodiertes Signal entsteht. Das kodierte
Signal wird weiteren Geräten über die
Toneingabe/Ausgabeschnittstelle 140 zugeleitet oder, als
Alternative, im Direktzugriffsspeicher 130 gespeichert.
-
Zum Dekodieren nimmt der programmgesteuerte
Prozessor 110 Zugriff auf ein Programm aus Dekodieranweisungen
vom Festwertspeicher 120. Ein Tonsignal, welches vorzugsweise
gemäß der vorliegenden
Erfindung kodiert wurde, wird dem Verarbeitungssystem 100 an
der Toneingabe/Ausgabeschnittstelle 140 geliefert und zum
programmgesteuerten Prozessor 110 weitergeleitet, um dekodiert
zu werden. In Abhängigkeit
von dem Programm der Dekodieranweisungen wird das Tonsignal dekodiert,
um entsprechende Teilbandsignale zu erhalten, und die Teilbandsignale
werden von einer Synthesefilterbank gefiltert, um ein Ausgabesignal
zu bekommen. Das Ausgabesignal wird anderen Geräten über die Toneingabe/Ausgabeschnittstelle 140 zugeleitet
oder, als Alternative, im Direktzugriffsspeicher 130 gespeichert.
-
1B ist
ein schematisches Blockschaltbild eines Ausführungsbeispiels eines rechnerimplementierten
Systems 150 zum Kodieren und Dekodieren von Tonsignalen
gemäß der vorliegenden
Erfindung. Das rechnerimplementierte System 150 umfaßt eine
Zentraleinheit 152, einen Direktzugriffsspeicher 153,
eine Festplatte 154, eine Eingabevorrichtung 155,
einen Anschluß 156,
eine Ausgabevorrichtung 157, die auf herkömmliche
Weise über
einen Bus 158 miteinander in Verbindung stehen. Die Zentraleinheit 152 implementiert
vorzugsweise Intel(Wz) × 86
Befehlsvorratsarchitektur und umfaßt vorzugsweise Hardwareunterstützung zum
Implementieren arithmetischer Fließpunktprozesse und kann beispielsweise
ein Intel(Wz) Pentium(Wz) III Mikroprozessor sein, der von der Intel(Wz)
Corporation, Santa Clara Kalifornien im Handel erhältlich ist.
Toninformation wird dem rechnerimplementierten System 150 über den
Anschluß 156 zur
Verfügung
gestellt und an die Zentraleinheit 152 weitergeleitet.
Ein auf der Festplatte 154 gespeichertes Programm mit Anweisungen
erlaubt es dem rechnerimplementierten System 150, die Audiodaten
gemäß der vorliegenden
Erfindung zu verarbeiten. Verarbeitete Audiodaten in digitaler Form
werden dann über
den Anschluß 156 bereitgestellt
oder alternativ in die Festplatte 154 eingegeben und dort
gespeichert.
-
Es wird erwartet, daß das Verarbeitungssystem 100,
das rechnerimplementierte System 150 und weitere Ausführungsbeispiele
der vorliegenden Erfindung in Anwendungsfällen benutzt werden, die sowohl
Audio- als auch Videoverarbeitung einschließen können. Bei einer typischen Videoanwendung
würde der
Betrieb mit einem Videotaktsignal und einem Audiotaktsignal synchronisiert.
Das Videotaktsignal bietet eine Bezugnahme auf Videobilder zwecks
Synchronisierung. Beispielsweise könnten Videotaktsignale einen
Bezug herstellen zu Rahmen von NTSC, PAL oder ATSC Videosignalen.
Das Audiotaktsignal liefert eine Bezugnahme auf Tonabtastwerte zwecks Synchronisierung.
Taktsignale können
im wesentlichen jede beliebige Rate aufweisen. Für professionelle Anwendungen
ist beispielsweise 48 Kilohertz eine übliche Audiotaktrate. Ein bestimmtes
Taktsignal oder eine bestimmte Taktsignalrate ist für das Durchführen der
vorliegenden Erfindung nicht wichtig.
-
2A ist
ein Fließschema
eines Verfahrens 200, mit dem Audiodaten gemäß psychoakustischen und
Datenkapazitätskriterien
in einen Datenkanal kodiert werden. 2B zeigt
ein Blockschaltbild des Datenkanals 250. Der Datenkanal 250 weist
eine Folge von Rahmen 260 auf, von denen jeder Rahmen 260 eine
Folge von Wörtern
aufweist. Jedes Wort ist als eine Folge von Bits (n) bezeichnet,
wobei n eine ganze Zahl zwischen Null und einschließlich fünfzehn ist
und die Notation Bits (n~m) das Bit (n)
bis einschließlich
Bit (m) des Wortes wiedergibt. Jeder Rahmen 260 umfaßt ein Steuersegment 270 und
ein Tonsegment 280, die je eine jeweilige ganze Zahl der Wörter des
Rahmens 260 aufweisen.
-
Eine Vielzahl von Teilbandsignalen
wird empfangen 210, die einen ersten Block eines Tonsignals
darstellen. Jedes Teilbandsignal weist ein oder mehr Teilbandelemente
auf, und jedes Teilbandelement wird durch ein einziges Wort dargestellt.
Die Teilbandsignale werden analysiert 212, um eine Gehör-Maskierkurve
zu bestimmen. Die Gehör-Maskierkurve
zeigt das maximale Ausmaß an
Rauschen, das in jedes jeweilige Teilband injiziert werden kann
ohne hörbar
zu werden. Was in dieser Hinsicht hörbar ist, beruht auf psychoakustischen
Modellen des menschlichen Gehörs
und kann Charakteristiken des Überkreuzmaskierens
der Kanäle
beinhalten, wenn die Teilbandsignale mehr als einen Tonkanal wiedergeben.
Die Gehör-Maskierkurve
dient als erste Schätzung
eines gewünschten
Rauschspektrums. Das gewünschte
Rauschspektrum wird analysiert 214, um eine jeweilige Quantisierungsauflösung für jedes
Teilbandsignal zu bestimmen, so daß bei einer entsprechenden
Quantisierung der Teilbandsignale und anschließenden Dequantisierung und
Umwandlung in Schallwellen das resultierende Kodierrauschen unterhalb
des gewünschten
Rauschspektrums liegt. Es wird eine Bestimmung vorgenommen 216,
um zu sehen, ob entsprechend quantisierte Teilbandsignale in das
Tonsegment 280 passen und es im wesentlichen ausfüllen können. Wenn
nicht, wird das gewünschte Rauschspektrum
eingestellt 218 und die Schritte 214, 216 werden
wiederholt. Wenn ja, werden die Teilbandsignale entsprechend quantisiert 220 und
in das Tonsegment 280 ausgegeben 222.
-
Für
das Steuersegment 270 des Rahmens 260 werden Steuerdaten
erzeugt. Dazu gehört
ein Synchronisiermuster, welches im ersten Wort 272 des
Steuersegments ausgegeben wird. Das Synchronisiermuster erlaubt
es Dekodierern, die aufeinander folgenden Rahmen 260 im
Datenkanal 250 zu synchronisieren. Zusätzliche Steuerdaten, die die Rahmenrate
der Rahmen 260, Grenzen der Segmente 270, Parameter
der Kodieroperationen und Fehlererkennungsinformation anzeigen,
werden im restlichen Abschnitt 274 des Steuersegments 270 ausgegeben.
Dieser Prozeß kann
für jeden
Block des Tonsignals wiederholt werden, wobei jeder nachfolgende
Block vorzugsweise in einen entsprechenden nachfolgenden Rahmen 260 des
Datenkanals 250 kodiert wird.
-
Das Verfahren 200 kann für das Kodieren von
Daten in eine oder mehr Schichten eines mehrschichtigen Tonkanals
angewandt werden. Beim Kodieren von mehr als einer Schicht nach
dem Verfahren 200 besteht die Wahrscheinlichkeit, daß es eine beträchtliche
Korrelation zwischen in diesen Schichten getragenen Daten gibt und
folglich eine beträchtliche
Verschwendung von Datenkapazität
in dem mehrschichtigen Tonkanal. Nachfolgend werden skalierbare
Verfahren erörtert,
mit denen Augmentationsdaten in eine zweite Schicht eines Datenkanals ausgegeben
werden, um die Auflösung
der in einer ersten Schicht eines solchen Datenkanals getragenen
Daten zu verbessern. Die Verbesserung der Auflösung kann man vorzugsweise
als ein funktionales Verhältnis
von Kodierparametern der ersten Schicht ausdrücken, beispielsweise als einen
Versatz, der bei Anwendung auf das zum Kodieren der ersten Schicht
angewandte, gewünschte
Rauschspektrum ein zweites gewünschtes
Rauschspektrum ergibt, welches zum Kodieren der zweiten Schicht
dient. Ein solcher Versatz kann dann in einem festgelegten Ort des
Datenkanals ausgegeben werden, beispielsweise in einem Feld oder
Segment der zweiten Schicht, um Dekodierern den Wert der Verbesserung
anzuzeigen. Dies kann dann benutzt werden, um den Ort jedes Teilbandsignalelements
oder von damit in Beziehung stehender Information in der zweiten
Schicht zu bestimmen. Als nächstes
werden Rahmenstrukturen adressiert, um skalierbare Datenkanäle entsprechend
zu organisieren.
-
3A ist
ein schematisches Diagramm eines Ausführungsbeispiels eines skalierbaren
Datenkanals 300, der eine Kernschicht 310, eine
erste Erweiterungsschicht 320 und eine zweite Erweiterungsschicht 330 umfaßt. Die
Kernschicht 310 ist L Bits breit, die erste Erweiterungsschicht 320 ist
M Bits breit, und die zweite Erweiterungsschicht 330 ist
N Bits breit, wobei L, M, N positive ganzzahlige Werte sind. Die
Kernschicht 310 weist eine Folge L-Bit Wörter auf.
Die Kombination aus Kernschicht 310 und erster Erweiterungsschicht 320 weist
eine Folge von (L + M)-Bit Wörtern
auf, und die Kombination aus Kernschicht 310, erster Erweiterungsschicht 320 und zweiter
Erweiterungsschicht 330 weist eine Folge von (L + M + N)-Bit
Wörtern
auf. Hier wird die Notation Bits (n~m) benutzt,
um Bits (n) bis einschließlich (m)
eines Wortes darzustellen, wobei n und m ganze Zahlen sind und m > n und m, n zwischen
Null und einschließlich
dreiundzwanzig sein kann. Der skalierbare Datenkanal 300 kann
zum Beispiel ein 24 Bit breiter Normdatenkanal AES3 sein, wobei
L, M, N sechzehn, vier bzw. vier ist.
-
Der skalierbare Datenkanal 300 kann
als eine Folge von Rahmen 340 gemäß der vorliegenden Erfindung
organisiert sein. Jeder Rahmen 340 ist in ein Steuersegment 350,
gefolgt von einem Tonsegment 360 unterteilt. Das Steuersegment 350 umfaßt einen
Kernschichtabschnitt 352, der durch die Überschneidung
des Steuersegments 350 mit der Kernschicht 310 bestimmt
ist, einen ersten Erweiterungsschichtabschnitt 354, der
durch die Überschneidung des
Steuersegments 350 mit der ersten Erweiterungsschicht 320 bestimmt
ist, und einen zweiten Erweiterungsschichtabschnitt 356,
der durch die Überschneidung
der Überschneidung
des Steuersegments 350 mit der zweiten Erweiterungsschicht 330 bestimmt
ist. Das Tonsegment 360 umfaßt ein erstes und ein zweites
Untersegment 370, 380. Das erste Untersegment 370 umfaßt einen
Kernschichtabschnitt 372, der durch die Überschneidung
des ersten Untersegments 370 mit der Kernschicht 310 bestimmt
ist, einen ersten Erweiterungsschichtabschnitt 374, der
durch die Überschneidung
des ersten Untersegments 370 mit der ersten Erweiterungsschicht 320 bestimmt
ist, und einen zweiten Erweiterungsschichtabschnitt 376,
der durch die Überschneidung des
ersten Untersegments 370 mit der zweiten Erweiterungsschicht 330 bestimmt
ist. Ähnlich
umfaßt das
zweite Untersegment 380 einen Kernschichtabschnitt 382,
der durch die Überschneidung
des zweiten Untersegments 380 mit der Kernschicht 310 bestimmt
ist, einen ersten Erweiterungsschichtabschnitt 384, der
durch die Überschneidung
des zweiten Untersegments 380 mit der ersten Erweiterungsschicht 320 bestimmt
ist, und einen zweiten Erweiterungsschichtabschnitt 386,
der durch die Überschneidung des
zweiten Untersegments 380 mit der zweiten Erweiterungsschicht 330 bestimmt
ist.
-
Bei diesem Ausführungsbeispiel tragen die Kernschichtabschnitte 372, 382 kodierte
Audiodaten, die gemäß psychoakustischen
Kriterien komprimiert sind, so daß die kodierten Audiodaten
in die Kernschicht 310 passen. Audiodaten, die als Eingabe
in das Kodierverfahren eingehen, können beispielsweise Teilbandsignalelemente
aufweisen, die je von einem P Bit breiten Wort wiedergegeben werden,
wobei die ganze Zahl P größer ist
als L. Psychoakustische Prinzipien können dann angewandt werden,
um die Teilbandsignalelemente zu kodierten Werten oder "Symbolen" zu kodieren, deren
durchschnittliche Breite etwa L-Bits beträgt. Dadurch wird das von den Teilbandsignalelementen
eingenommene Datenvolumen ausreichend komprimiert, so daß es über die Kernschicht 310 auf
zweckmäßige Weise übertragen werden
kann. Kodieroperationen sind vorzugsweise mit herkömmlichen
Tonübertragungskriterien
für Audiodaten
auf einem L-Bit breiten Datenkanal konsistent, so daß die Kernschicht 310 auf
herkömmliche Weise
dekodiert werden kann. Die ersten Erweiterungsschichtabschnitte 374, 384 tragen
Augmentationsdaten, die in Kombination mit der kodierten Information
in der Kernschicht 310 benutzt werden können, um ein Tonsignal mit
höherer
Auflösung
wiederherzustellen, als es allein aus der kodierten Information
in der Kernschicht 310 wiederhergestellt werden kann. Die
zweiten Erweiterungsschichtabschnitte 376, 386 tragen
zusätzliche
Augmentationsdaten, die in Kombination mit der kodierten Information
in der Kernschicht 310 und der ersten Erweiterungsschicht 320 benutzt
werden können,
um ein Tonsignal wiederherzustellen, das eine höhere Auflösung hat als sie allein aus
der kodierten Information wiederhergestellt werden kann, die in
einer Vereinigung aus Kernschicht 310 und erster Erweiterungsschicht 320 getragen
ist. Bei diesem Ausführungsbeispiel
trägt das erste
Untersegment 370 kodierte Audiodaten für einen linken Tonkanal CH_L,
und das zweite Untersegment 380 trägt kodierte Audiodaten für einen
rechten Tonkanal CH_R.
-
Der Kernschichtabschnitt 352 des
Steuersegments 350 trägt
Steuerdaten zum Steuern der Operation von Dekodierverfahren. Solche
Steuerdaten können
Synchronisationsdaten umfassen, die den Ort des Anfangs des Rahmens 340 anzeigen, Formatdaten,
die die Programmkonfiguration und Rahmenrate anzeigen, Segmentdaten,
die Grenzen von Segmenten und Untersegmenten innerhalb des Rahmens 340 anzeigen,
Parameterdaten, die Parameter von Kodieroperationen anzeigen, und
Fehlererkennungsinformation, die Daten im Kernschichtabschnitt 352 schützt. Im
Kernschichtabschnitt 352 sind vorzugsweise vorherbestimmte
oder festgelegte Orte für
jede Art von Steuerdaten vorgesehen, damit Dekodierer jede Art aus
dem Kernschichtabschnitt 352 rasch zerlegen können. Bei
diesem Ausführungsbeispiel
sind alle Daten, die für
das Dekodieren und Verarbeiten der Kernschicht 310 wesentlich
sind, im Kernschichtabschnitt 352 enthalten. Deshalb können die
Erweiterungsschichten 320, 330 beispielsweise von
Signalleitwegschaltungen abgestreift oder außer Acht gelassen werden, ohne
daß wesentliche
Steuerdaten verloren gehen. Dies stützt die Kompatibilität mit Digitalsignalprozessoren,
die so ausgelegt sind, daß sie
Daten im Format von L-Bit Wörtern
empfangen können.
Zusätzliche
Steuerdaten für
die Erweiterungsschichten 320, 330 können im
Erweiterungsschichtabschnitt 354 bei diesem Ausführungsbeispiel eingeschlossen
werden.
-
Innerhalb des Steuersegments 350 trägt jede
Schicht 310, 320, 330 vorzugsweise Parameter und
weitere Informationen zum Dekodieren jeweiliger Abschnitte der kodierten
Audiodaten im Tonseg ment 360. So kann zum Beispiel der
Kernschichtabschnitt 352 einen Versatz einer Gehör-Maskierkurve
tragen, die ein erstes gewünschtes
Rauschspektrum ergibt, welches zum perzeptuellen Kodieren von Information in
die Kernschichtabschnitte 372, 382 benutzt wird. Ähnlich kann
der erste Erweiterungsschichtabschnitt 354 einen Versatz
des ersten gewünschten
Rauschspektrums tragen, der ein zweites gewünschtes Rauschspektrum ergibt,
welches zum Kodieren von Information in die Erweiterungsschichtabschnitte 374, 384 benutzt
wird, und der zweite Erweiterungsschichtabschnitt 356 kann
einen Versatz des zweiten gewünschten
Rauschspektrums tragen, welcher ein drittes gewünschtes Rauschspektrum ergibt,
das zum Kodieren von Information in die zweiten Erweiterungsschichtabschnitte 376, 386 benutzt
wird.
-
3B zeigt
ein schematisches Diagramm eines alternativen Rahmens 390 für den skalierbaren Datenkanal 300.
Der Rahmen 390 umfaßt
das Steuersegment 350 und Tonsegment 360 des Rahmens 340.
Im Rahmen 390 hat das Steuersegment 350 auch Felder 392, 394, 396 in
der Kernschicht 310, der ersten Erweiterungsschicht 320 bzw.
der zweiten Erweiterungsschicht 330.
-
Das Feld 392 trägt ein Kennzeichen,
welches die Organisation von Augmentationsdaten anzeigt. Gemäß einem
ersten Kennzeichenwert werden die Augmentationsdaten entsprechend
einer vorherbestimmten Konfiguration organisiert. Das ist vorzugsweise
die Konfiguration des Rahmens 340, so daß Augmentationsdaten
für den
linken Tonkanal CH_L im ersten Untersegment 370 und Augmentationsdaten
für den
rechten Tonkanal CH_R im zweiten Untersegment 380 getragen
sind. Eine Konfiguration, bei der Kern- und Augmentationsdaten jedes
Kanals im gleichen Untersegment getragen sind, wird hier als ausgerichtete
Konfiguration bezeichnet. Gemäß einem
zweiten Kennzeichenwert werden Augmentationsdaten in den Erweiterungsschichten 320, 330 auf adaptive
Weise verteilt, und die Felder 394, 396 tragen
jeweils einen Hinweis darauf, wo die Augmentationsdaten für jeden
jeweiligen Tonkanal getragen werden.
-
Das Feld 392 ist vorzugsweise
groß genug, um
einen Fehlererkennungscode für
Daten im Kernschichtabschnitt 352 des Steuersegments 350 zu
tragen. Es ist erwünscht,
diese Steuerdaten zu schützen,
weil mit ihnen Dekodieroperationen der Kernschicht 310 gesteuert
werden. Das Feld 392 kann alternativ einen Fehlererkennungscode
tragen, der die Kernschichtabschnitte 372, 382 des
Tonsegments 360 schützt.
Für die
Daten in den Erweiterungsschichten 320, 330 braucht
keine Fehlererkennung vorgesehen zu sein, da die Auswirkung solcher
Fehler im allgemeinen höchstens
kaum hörbar
sein wird, wenn die Breite L der Kernschicht 310 ausreicht. Wenn
zum Beispiel die Kernschicht 310 auf eine Tiefe eines 16-Bit
Wortes perzeptuell kodiert ist, liefern die Augmentationsdaten hauptsächlich feine
Details, und Fehler in den Augmentationsdaten sind beim Dekodieren
und bei der Wiedergabe typischerweise nur schwer zu hören.
-
Die Felder 394, 396 können je
einen Fehlererkennungscode tragen. Jeder Code bietet Schutz für die Erweiterungsschicht 320, 330,
in der er getragen wird. Dazu gehört vorzugsweise die Fehlererkennung
von Steuerdaten, kann aber alternativ auch Fehlerkorrektur für Tondaten
oder sowohl für
Steuer- als auch Tondaten einschließen. Es können für jede Erweiterungsschicht 320, 330 zwei
unterschiedliche Fehlererkennungscodes spezifiziert sein. Ein erster Fehlererkennungscode
spezifiziert, daß Augmentationsdaten
für die
jeweilige Erweiterungsschicht entsprechend einer vor herbestimmten
Konfiguration organisiert sind, beispielsweise der des Rahmens 340. Ein
zweiter Fehlererkennungscode für
jede Schicht spezifiziert, daß Augmentationsdaten
für die
jeweilige Schicht in der jeweiligen Schicht verteilt sind, und daß Zeiger
im Steuersegment 350 eingeschlossen sind, um auf Orte dieser
Augmentationsdaten hinzuweisen. Die Augmentationsdaten befinden
sich vorzugsweise im gleichen Rahmen 390 des Datenkanals 300 wie
entsprechende Daten in der Kernschicht 310. Zum Organisieren
der einen Erweiterungsschicht kann eine vorherbestimmte Konfiguratian
benutzt werden und Zeiger für
das Organisieren der anderen. Die Fehlererkennungscodes können andererseits
auch Fehlerkorrekturcodes sein.
-
4A zeigt
ein Fließschema
eines Ausführungsbeispiels
eines skalierbaren Kodierverfahrens 400 gemäß der vorliegenden
Erfindung. Bei diesem Ausführungsbeispiel
wird die Kernschicht 310 und die erste Erweiterungsschicht 320 des
in 3A gezeigten Datenkanals 300 benutzt.
Eine Vielzahl von Teilbandsignalen wird empfangen 402,
die jeweils ein oder mehr Teilbandsignalelemente aufweisen. Im Schritt 404 wird
eine jeweilige erste Quantisierungsauflösung für jedes Teilbandsignal in Abhängigkeit von
einem ersten gewünschten
Rauschspektrum festgelegt. Das erste gewünschte Rauschspektrum wird
in Übereinstimmung
mit psychoakustischen Grundsätzen
gewählt
und vorzugsweise auch in Abhängigkeit
von einem Datenkapazitätserfordernis
der Kernschicht 310. Die Gesamtdatenkapazitätsgrenzen
der Kernschichtabschnitte 372, 382 können beispielsweise
dieses Erfordernis sein. Teilbandsignale werden entsprechend der
ersten Quantisierungsauflösung
quantisiert, um ein erstes kodiertes Signal zu erzeugen. Das erste
kodierte Signal wird in die Kernschichtabschnitte 372, 382 des
Tonsegments 360 ausgegeben 406.
-
In einem Schritt 408 wird
für jedes
Teilbandsignal eine jeweilige zweite Quantisierungsauflösung festgelegt.
Die zweite Quantisierungsauflösung
wird vorzugsweise in Abhängigkeit
von einem Datenkapazitätserfordernis
der Vereinigung aus der Kern- und ersten Erweiterungsschicht 310, 320 und
vorzugsweise auch in Übereinstimmung
mit psychoakustischen Prinzipien gewählt. Das Datenkapazitätserfordernis
kann beispielsweise die Gesamtdatenkapazitätsgrenze der Vereinigung aus
Kernschicht und ersten Erweiterungsschichtabschnitten 372, 374 sein. Teilbandsignale
werden entsprechend der jeweiligen zweiten Quantisierungsauflösung quantisiert,
um ein zweites kodiertes Signal zu erzeugen. Es wird ein erstes
Restsignal erzeugt 410, welches eine restliche Maßnahme oder
einen Unterschied zwischen dem ersten und zweiten kodierten Signal übermittelt.
Das geschieht vorzugsweise durch Subtrahieren des ersten kodierten
Signals vom zweiten kodierten Signal gemäß einem Zweierkomplement oder
einer anderen Form binärer
Arithmetik. Das erste Restsignal wird in die ersten Erweiterungsschichtabschnitte 374, 384 des
Tonsegments 360 ausgegeben 412.
-
In einem Schritt 414 wird
eine jeweilige dritte Quantisierungsauflösung für jedes Teilbandsignal festgelegt.
Die dritte Quantisierungsauflösung
wird vorzugsweise entsprechend der Datenkapazität der Vereinigung von Schichten 310, 320, 330 gewählt. Zur
Bestimmung der dritten Quantisierungsauflösung werden vorzugsweise auch
psychoakustische Grundsätze
angewandt. Teilbandsignale werden entsprechend der dritten Quantisierungsauflösung quantisiert,
um ein drittes kodiertes Signal zu erzeugen. Ein zweites Restsignal
wird erzeugt 416, welches eine restliche Maßnahme oder
einen Unterschied zwischen dem zweiten und dritten kodierten Signal übermittelt.
Das zweite Restsignal wird vorzugsweise durch Bilden der Zweierkomplement
(oder sonstigen binären
arithmetischen) Differenz zwischen dem zweiten und dritten kodierten
Signal erzeugt. Das zweite Restsignal kann gemäß einer Alternative erzeugt
werden, um eine restliche Maßnahme
oder einen Unterschied zwischen dem ersten und dritten kodierten
Signal zu übermitteln.
Das zweite Restsignal wird in die zweiten Erweiterungsschichtabschnitte 376, 386 des
Tonsegments 360 ausgegeben 418.
-
Wenn in den Schritten 404, 408, 414 ein
Teilbandsignal mehr als ein Teilbandsignalelement umfaßt, kann
die Quantisierung des Teilbandsignals auf eine bestimmte Auflösung das
gleichförmige
Quantisieren jedes Elements des Teilbandsignals auf die bestimmte
Auflösung
aufweisen. Wenn also ein Teilbandsignal (ss) drei Teilbandsignalelemente
(se1, se2, se3), umfaßt,
kann das Teilbandsignal entsprechend einer Quantisierungsauflösung Q quantisiert werden,
indem jedes seiner Teilbandsignalelemente entsprechend dieser Quantisierungsauflösung Q quantisiert
wird. Das quantisierte Teilbandsignal kann als Q(ss) geschrieben
werden, und die quantisierten Teilbandsignalelemente können als
Q(se1), Q(se2), Q(se3) geschrieben werden. Das quantisierte Teilbandsignal
Q(ss) weist also die Sammlung der quantisierten Teilbandsignalelemente
(Q(se1), Q(se2), Q(se3)) auf. Ein Kodierbereich, der einen Bereich
der Quantisierung von Teilbandsignalelementen identifiziert, welcher
im Verhältnis
zu einem Basispunkt erlaubt ist, kann als Kodierparameter spezifiziert
werden. Der Basispunkt ist vorzugsweise das Quantisierungsniveau,
welches ein der Gehör-Maskierkurve im
wesentlichen entsprechendes injiziertes Rauschen ergäbe. Der
Kodierbereich kann zum Beispiel zwischen etwa 144 Dezibel entfernten
Rauschens bis etwa 48 Dezibel injizierten Rauschens gegenüber der
auditorischen Maskierkurve betragen oder, kürzer gesagt, – 144 dB
bis +48 dB.
-
Bei einem alternativen Ausführungsbeispiel der
vorliegenden Erfindung werden Teilbandsignalelemente innerhalb des
gleichen Teilbandsignals durchschnittlich auf eine bestimmte Quantisierungsauflösung Q quantisiert,
aber individuelle Teilbandsignalelemente werden nicht gleichmäßig auf
unterschiedliche Auflösungen
quantisiert. Bei noch einem weiteren alternativen Ausführungsbeispiel,
welches eine nicht gleichmäßige Quantisierung
innerhalb eines Teilbandes bietet, werden mit einer verstärkungsadaptiven
Quantisierungstechnik einige Teilbandsignalelemente innerhalb des
gleichen Teilbandes auf eine bestimmte Quantisierungsauflösung Q quantisiert,
während
andere Teilbandsignalelemente in diesem Teilband auf eine andere
Auflösung
quantisiert werden, die um ein bestimmbares Ausmaß entweder
feiner oder gröber
sein kann als die Auflösung Q.
Ein bevorzugtes Verfahren zum Durchführen nicht gleichmäßiger Quantisierung
innerhalb eines jeweiligen Teilbandes ist in einer am 7. Juli 1999
eingereichten Patentanmeldung von Davidson et al. mit der Bezeichnung "Using Gain-Adaptive
Quantization and Non-Uniform Symbol Lengths for Improved Audio Coding", offenbart.
-
Im Schritt 402 enthalten
die empfangenen Teilbandsignale vorzugsweise einen Satz linker Teilbandsignale
SS_L, die den linken Tonkanal CH_L wiedergeben, sowie einen Satz
rechter Teilbandsignale SS_R, die den rechten Tonkanal CH_R wiedergeben.
Diese Tonkanäle
können
entweder ein Stereopaar sein oder, als Alternative, im wesentlichen
keine Beziehung zueinander haben. Das perzeptuelle Kodieren der
Tonsignalkanäle
CH_L, CH_R wird vorzugsweise mit Hilfe eines Paares gewünschter Rauschspektren
durchgeführt,
je ein Spektrum für
jeden der Tonkanäle
CH_L, CH_R.
-
Ein Teilbandsignal des Satzes SS_L
muß also
auf eine andere Auflösung
quantisiert werden als ein entsprechendes Teilbandsignal des Satzes SS_R.
Bei Berücksichtigung
von Überkreuzmaskiereffekten
kann das gewünschte
Rauschspektrum für einen
Tonkanal durch den Signalinhalt des anderen Kanals beeinflußt werden.
In bevorzugten Ausführungsbeispielen
werden Überkreuzmaskiereffekte zwischen
Kanälen
ignoriert.
-
Das erste gewünschte Rauschspektrum für den linken
Tonkanal CH_L wird in Abhängigkeit
von auditorischen Maskiereigenschaften von Teilbandsignalen SS_L,
wahlweise den Überkreuzmaskiereigenschaften
zwischen Kanälen
der Teilbandsignale SS_R ebenso wie zusätzlicher Kriterien, beispielsweise
der verfügbaren
Datenkapazität
des Kernschichtabschnitts 372 auf folgende Weise festgelegt. Linke
Teilbandsignale SS_L und wahlweise auch rechte Teilbandsignale SS_R
werden analysiert, um eine auditorische Maskierkurve AMC_L für den linken
Tonkanal CH_L zu bestimmen. Die auditorische Maskierkurve zeigt
das maximale Ausmaß an
Rauschen an, das in jedes der jeweiligen Teilbänder des linken Tonkanals CH_L
injiziert werden kann, ohne hörbar
zu werden. Was in dieser Hinsicht hörbar ist, beruht auf psychoakustischen
Modellen des menschlichen Hörens
und kann Überkreuzmaskiereigenschaften
des rechten Tonkanals CH_R umfassen. Die auditorische Maskierkurve
AMC_L dient als Anfangswert für
ein erstes gewünschtes
Rauschspektrum für
den linken Tonkanal CH_L, welches analysiert wird, um eine jeweilige
Quantisierungsauflösung Q1_L
für jedes
Teilbandsignal des Satzes SS_L zu bestimmen, so daß bei einer
entsprechenden Quantisierung Q1_L(SS_L) der Teilbandsignale des
Satzes SS_L und anschließenden
Dequantisierung und Umwandlung in Schallwellen das resultierende
Kodierrauschen unhörbar
ist. Zur besseren Klarheit sei darauf hingewiesen, daß der Ausdruck
Q1_L sich auf einen Satz Quantisierungsauflösungen bezieht, und daß dieser
Satz einen jeweiligen Wert Q1_Lss für jedes
Teilbandsignal SS im Satz der Teilbandsignale SS_L hat. Es sei darauf
hingewiesen, daß die
Notation Q1_L(SS_L) bedeutet, daß jedes Teilbandsignal im Satz
SS_L entsprechend einer jeweiligen Quantisierungsauflösung quantisiert
wird. Teilbandsignalelemente innerhalb jedes Teilbandsignals können gleichförmig oder
ungleichförmig
quantisiert werden, wie schon erwähnt.
-
Auf die gleiche Weise werden rechte
Teilbandsignale SS_R und vorzugsweise auch linke Teilbandsignale
SS_L analysiert, um eine auditorische Maskierkurve AMC_R für den rechten
Tonkanal CH_R zu generieren. Diese auditorische Maskierkurve AMC_R
kann als anfängliches
erstes gewünschtes
Rauschspektrum für
den rechten Tonkanal CH_R dienen, das analysiert wird, um eine jeweilige
Quantisierungsauflösung
Q1_R für
jedes Teilbandsignal des Satzes SS_R zu bestimmen.
-
4B zeigt
ein Fließschema
eines Verfahrens zum Bestimmen von Quantisierungsauflösungen gemäß der vorliegenden
Erfindung. Ein Verfahren 420 kann beispielsweise benutzt
werden, um geeignete Quantisierungsauflösungen für das Kodieren jeder Schicht
gemäß dem Verfahren 400 zu
finden. Das Verfahren 420 wird in Bezug auf den linken Tonkanal
CH_L beschrieben, die Bearbeitung des rechten Tonkanals CH_R geht
in gleicher Weise vor sich.
-
Ein Anfangswert für ein erstes gewünschtes Rauschspektrum
FDNS_L wird so gesetzt 422, daß es der auditorischen Maskierkurve
AMC_L gleich ist. Eine jeweilige Quantisierungsauflösung für jedes Teilbandsignal
des Satzes SS_L wird so bestimmt 424, daß für den Fall,
daß diese
Teilbandsignale entsprechend quantisiert und dann dequantisiert
und in Schallwellen umgewandelt würden, jegliches dadurch generierte
Quantisierungsrauschen im wesentlichen dem ersten gewünschten
Rauschspektrum FDNS_L entspräche.
Im Schritt 426 wird festgestellt, ob entsprechend quantisierte
Teilbandsignale einem Datenkapazitätserfordernis der Kernschicht 310 entsprächen. Bei
diesem Ausführungsbeispiel
des Verfahrens 420 ist das Erfordernis der Datenkapazität so spezifiziert,
daß es
darauf ankommt, ob die entsprechend quantisierten Teilbandsignale
in die Datenkapazität
des Kernschichtabschnitts 372 passen und diese im wesentlichen
ausfüllen
würden.
Als Reaktion auf eine negative Bestimmung im Schritt 426 wird das
gewünschte
erste Rauschspektrum FDNS_L angepaßt 428. Zu der Anpassung
gehört
ein Verlagern des ersten gewünschten
Rauschspektrums FDNS_L um ein Ausmaß, das vorzugsweise über die
Teilbänder
des linken Tonkanals CH_L hinweg im wesentlichen gleichförmig ist.
Die Richtung der Verschiebung geht nach oben, was einer gröberen Quantisierung entspricht,
wenn die entsprechend quantisierten Teilbandsignale aus dem Schritt 426 nicht
in den Kernschichtabschnitt 372 paßten. Die Richtung der Verschiebung
geht nach unten, was einer feineren Quantisierung entspricht, wenn
die entsprechend quantisierten Teilbandsignale aus dem Schritt 426 in den
Kernschichtabschnitt 372 paßten. Die Größe der ersten
Verschiebung gleicht vorzugsweise etwa einer Hälfte der restlichen Entfernung
bis zu den Endpunkten des Kodierbereichs in Richtung der Verschiebung.
Wenn also der Kodierbereich als –144 dB bis +48 dB spezifiziert
ist, kann die erste derartige Verschiebung beispielsweise ein Aufwärtsverschieben von
FDNS_L um etwa 24 dB aufweisen. Die Größe jeder nachfolgenden Verschiebung
entspricht vorzugsweise etwa der Hälfte der Größe der unmittelbar vorhergehenden
Verschiebung. Sobald das erste gewünschte Rauschspektrum FDNS_L
justiert wurde 428, werden die Schritte 424 und 426 wiederholt. Wenn
beim Durchführen
des Schritts 426 eine positive Bestimmung erfolgt, endet
das Verfahren 430, und die festgestellten Quantisierungsauflösungen Q1_L werden
als angemessen erachtet.
-
Die Teilbandsignale des Satzes SS_L
werden mit den festgelegten Quantisierungsauflösungen Q1_L quantisiert, um
quantisierte Teilbandsignale Q1_L(SS_L) zu generieren. Die quantisierten
Teilbandsignale Q1_L(SS_L) dienen als ein erstes kodiertes Signal
FCS_L für
den linken Tonkanal CH_L. Die quantisierten Teilbandsignale Q1_L(SS_L)
können
zweckmäßigerweise
in irgendeiner im voraus festgelegten Reihenfolge im Kernschichtabschnitt 372 ausgegeben
werden, beispielsweise durch Erhöhen
der Spektralfrequenz von Teilbandsignalelementen. Die Zuordnung
der Datenkapazität
des Kernschichtabschnitts 372 unter den quantisierten Teilbandsignalen
Q1_L(SS_L) beruht also darauf, so viel Quantisierungsrauschen wie
praktisch möglich
bei der bestehenden Datenkapazität
dieses Abschnitts der Kernschicht 310 zu verstecken. Teilbandsignale SS_R
für den
rechten Tonkanal CH_R, die in ähnlicher
Weise verarbeitet werden, um ein erstes kodiertes Signal FCS_R für diesen
Kanal CH_R zu generieren, welches im Kernschichtabschnitt 382 ausgegeben
wird.
-
Geeignete Quantisierungsauflösungen Q2_L zum
Kodieren des ersten Erweiterungsschichtabschnitts 374 werden
nach dem Verfahren 420 wie folgt bestimmt. Ein Anfangswert
für ein
zweites gewünschtes
Rauschspektrum SDNS_L für
den linken Tonkanal CH_L wird gleich dem ersten gewünschten Rauschspektrum
FDNS_L gesetzt 422. Das zweite gewünschte Rauschspektrum SDNS_L
wird analysiert, um eine jeweilige zweite Quantisierungsauflösung Q2_Lss für
jedes Teilbandsignal ss des Satzes SS_L so zu bestimmen, daß für den Fall,
daß Teilbandsignale
des Satzes SS_L gemäß Q2_L(SS_L) quantisiert
und dann dequantisiert und in Schallwellen umgewandelt würden, das
resultierende Quantisierungsrauschen im wesentlichen dem zweiten
gewünschten
Rauschspektrum SDNS_L entspräche.
In einem Schritt 426 wird festgestellt, ob entsprechend quantisierte
Teilbandsignale ein Datenkapazitätserfordernis
der ersten Erweiterungsschicht 320 erfüllen würden. Bei diesem Ausführungsbeispiel
des Verfahrens 420 ist das Erfordernis der Datenkapazität so spezifiziert,
daß es
darin besteht, ob ein Restsignal in die Datenkapazität des ersten
Erweiterungsschichtabschnitts 374 passen und diese im wesentlichen ausfüllen würde. Das
Restsignal ist spezifiziert als eine restliche Maßnahme oder
Differenz zwischen den entsprechend quantisierten Teilbandsignalen Q2_L(SS_L)
und den quantisierten Teilbandsignalen Q1_L(SS_L), die für den Kernschichtabschnitt 372 bestimmt
wurden.
-
Als Reaktion auf eine negative Feststellung im
Schritt 426 wird das zweite gewünschte Rauschspektrum SDNS_L
angepaßt 428.
Zu der Anpassung gehört
das Verschieben des zweiten gewünschten Rauschspektrums
SDNS L um ein Ausmaß,
das vorzugsweise über
die Teilbänder
des linken Tonkanals CH_L hinweg im wesentlichen gleichförmig ist.
Die Richtung der Verschiebung geht nach oben, wenn die Restsignale
aus dem Schritt 426 nicht in den ersten Erweiterungsschichtabschnitt 374 paßten, wenn
es anders ist, geht die Richtung nach unten. Die Größe der ersten
Verschiebung gleicht vorzugsweise etwa der Hälfte der verbleibenden Entfernung
bis zu den Endpunkten des Kodierbereichs in Richtung der Verschiebung.
Die Größe jeder
anschließenden
Verschiebung entspricht etwa der Hälfte der Größe der unmittelbar vorhergehenden
Verschiebung. Sobald das zweite gewünschte Rauschspektrum SDNS_L justiert
wurde, werden die Schritte 424 und 426 wiederholt.
Wenn bei der Durchführung
des Schrittes 426 eine positive Feststellung getroffen
wird, endet 430 das Verfahren, und die festgestellten Quantisierungsauflösungen Q2_L
werden als passend erachtet.
-
Die Teilbandsignale des Satzes SS_L
werden mit den festgelegten Quantisierungsauflösungen Q2_L quantisiert, um
jeweilige quantisierte Teilbandsignale Q2_L(SS_L) zu generieren,
die als ein zweites kodiertes Signal SCS_L für den linken Tonkanal CH_L
dienen. Ein entsprechendes erstes Restsignal FRS_L für den linken
Tonkanal CH_L wird generiert. Ein bevorzugtes Verfahren besteht
darin, einen Rest für
jedes Teilbandsignalelement zu bilden und Bitdarstellungen für solche
Reste durch Verkettung in einer im voraus festgelegten Reihenfolge,
beispielsweise entsprechend steigender Frequenz von Teilbandsignalelementen,
in dem ersten Erweiterungsschichtabschnitt 374 auszugeben.
Die Zuordnung der Datenkapazität
des ersten Erweiterungsschichtabschnitts 374 unter quantisierten
Teilbandsignalen Q2_L(SS_L) beruht also darauf, so viel Quantisierungsrauschen
wie praktisch möglich
bei der gegebenen Datenkapazität
dieses Abschnitts 374 der ersten Erweiterungsschicht 320 zu
verstecken. Teilbandsignale SS_R für den rechten Tonkanal CH_R werden
in ähnlicher
Weise verarbeitet, um ein zweites kodiertes Signal SCS_R und ein
erstes Restsignal FRS_R für
diesen Kanal CH_R zu generieren. Das erste Restsignal FRS_R für den rechten
Tonkanal CH_R wird im ersten Erweiterungsschichtabschnitt 384 ausgegeben.
-
Die quantisierten Teilbandsignale Q2_L(SS_L)
und Q1_L(SS_L) können
parallel bestimmt werden. Das geschieht vorzugsweise dadurch, daß der Anfangswert
des zweiten gewünschten
Rauschspektrums SDNS_L für
den linken Tonkanal CH_L so gesetzt wird, daß er der auditorischen Maskier kurve
AMC_L oder einer sonstigen Spezifikation gleicht, die nicht vom
ersten gewünschten Rauschspektrum
FDNS_L abhängt,
welches zum Kodieren der Kernschicht bestimmt wurde. Das Datenkapazitätsertordernis
ist so spezifiziert, daß es
darin besteht, ob die entsprechend quantisierten Teilbandsignale
Q2_L(SS_L) in die Vereinigung des Kernschichtabschnitts 372 mit
dem ersten Erweiterungsschichtabschnitt 374 passen und
diese im wesentlichen ausfüllen
würden.
-
Ein Anfangswert für das dritte gewünschte Rauschspektrum
für den
Tonkanal CH_L wird erhalten und das Verfahren 420 angewandt,
um jeweilige dritte Quantisierungsauflösungen Q3_L zu erhalten, wie
es für
das zweite gewünschte
Rauschspektrum geschah. Dementsprechend dienen quantisierte Teilbandsignale
Q3_L(SS_L) als ein drittes kodiertes Signal TCS_L für den linken
Tonkanal CH_L. Ein zweites Restsignal SRS_L für den linken Tonkanal CH_L kann
dann auf ähnliche
Weise generiert werden, wie es für
die erste Erweiterungsschicht geschah. Allerdings werden in diesem
Fall Restsignale dadurch erhalten, daß Teilbandsignalelemente im
dritten kodierten Signal TCS_L von entsprechenden Teilbandsignalelementen
im zweiten kodierten Signal SCS_L subtrahiert werden. Das zweite
Restsignal SRS_L wird im zweiten Erweiterungsschichtabschnitt 376 ausgegeben.
Teilbandsignale SS_R für
den rechten Tonkanal CH_R werden auf ähnliche Weise verarbeitet,
um ein drittes kodiertes Signal TCS_R und ein zweites Restsignal
SRS_R für
diesen Kanal CH_R zu generieren. Das zweite Restsignal SRS_R für den rechten
Tonkanal CH_R wird im zweiten Erweiterungsschichtabschnitt 386 ausgegeben.
-
Steuerdaten werden für den Kernschichtabschnitt 352 generiert.
Insgesamt erlauben es die Steuerdaten Dekodierern, mit jedem Rahmen
in einem kodierten Strom von Rahmen zu synchronisieren, und sie
zeigen Dekodierern, wie die in jedem Rahmen, beispielsweise dem
Rahmen 340 gelieferten Daten zerlegt und dekodiert werden
können.
Da eine Vielzahl kodierter Auflösungen
bereitgestellt wird, sind die Steuerdaten typischerweise komplexer als
man sie bei nicht skalierbaren Ausführungsformen des Kodierens
findet. Bei einem bevorzugten Ausführungsbeispiel der vorliegenden
Erfindung gehört
zu den Steuerdaten ein Synchronisiermuster, Formatdaten, Segmentdaten,
Parameterdaten und ein Fehlererkennungscode, was alles nachfolgend beschrieben
wird. Für
die Erweiterungsschichten 320, 330 wird zusätzliche
Steuerinformation erzeugt, die spezifiziert, wie diese Schichten 320, 330 dekodiert
werden können.
-
Ein vorherbestimmtes Synchronisierwort kann
generiert werden, um den Anfang eines Rahmens anzuzeigen. Das Synchronisiermuster
wird in den ersten L-Bits des ersten Wortes jedes Rahmens ausgegeben,
um anzuzeigen, wo der Rahmen beginnt. Das Synchronisiermuster tritt
vorzugsweise nicht an irgendeiner anderen Stelle im Rahmen auf. Synchronisiermuster
zeigen Dekodierern an, wie Rahmen aus einem kodierten Datenstrom
zu zerlegen bzw. zu analysieren sind.
-
Zum Anzeigen einer Programmkonfiguration,
eines Bitstromprofils und einer Rahmenrate können Formatdaten generiert
werden. Die Programmkonfiguration zeigt die Anzahl und Verteilung
der im kodierten Bitstrom enthaltenen Kanäle an. Das Bitstromprofil zeigt
an, welche Schichten des Rahmens benutzt sind. Ein erster Wert des
Bitstromprofils zeigt an, daß ein
Kodieren nur in der Kernschicht 310 geliefert ist. Die
Erweiterungsschichten 320, 330 sind in diesem
Fall vorzugsweise weggelassen, um Datenkapazität auf dem Datenkanal zu sparen.
Ein zweiter Wert des Bitstrompro fils zeigt an, daß kodierte
Daten in der Kernschicht 310 und der ersten Erweiterungsschicht 320 geliefert
sind. Die zweite Erweiterungsschicht 330 ist in diesem
Fall vorzugsweise weggelassen. Ein dritter Wert des Bitstromprofils
zeigt an, daß kodierte
Daten in jeder Schicht 310, 320, 330 geliefert
sind. Der erste, zweite und dritte Wert des Bitstromprofils ist
vorzugsweise in Übereinstimmung
mit der Spezifikation AES3 festgelegt. Die Rahmenrate kann als Zahl
oder angenäherte
Zahl von Rahmen pro Zeiteinheit festgelegt sein, zum Beispiel 30
Hertz, was für
die Norm AES3 etwa einem Rahmen pro 3200 Wörter entspricht. Die Rahmenrate
hilft Dekodierern, die Synchronisierung und wirksames Puffern ankommender
kodierter Daten aufrechtzuerhalten.
-
Zum Hinweisen auf Grenzen von Segmenten und
Untersegmenten werden Segmentdaten generiert. Dazu gehört das Anzeigen
der Grenzen des Steuersegments 350, Tonsegments 360,
des ersten Untersegments 370 und des zweiten Untersegments 380.
Bei alternativen Ausführungsbeispielen
des skalierbaren Kodierverfahrens 400 sind in einem Rahmen
zusätzliche
Untersegmente, beispielsweise für Mehrkanalton
eingeschlossen. Zusätzliche
Tonsegmente können
auch vorgesehen sein, um das durchschnittliche Volumen der Steuerdaten
in Rahmen zu verringern, indem Toninformation aus einer Vielzahl von
Rahmen zu einem größeren Rahmen
kombiniert wird. Ein Untersegment kann auch weggelassen werden,
wenn zum Beispiel weniger Tonkanäle
für eine Anwendung
erforderlich sind. Daten hinsichtlich der Grenzen zusätzlicher
Untersegmente oder weggelassener Untersegmente können als Segmentdaten bereitgestellt
werden. Auch die jeweiligen Tiefen L, M, N der Schichten 310, 320, 330 können auf ähnliche
Weise spezifiziert werden. Vorzugsweise wird L als sechzehn spezifiziert,
um eine Abwärtskompatibilität mit herkömmlichen
16-Bit Digitalsignalprozessoren zu stützen. M und N sind vorzugsweise
als vier und vier spezifiziert, um skalierbare Datenkanalkriterien
zu stützen,
die durch die Norm AES3 spezifiziert sind. Spezifizierte Tiefen
werden vorzugsweise nicht ausdrücklich
als Daten in einem Rahmen getragen, sondern es wird beim Kodieren
davon ausgegangen, daß sie
in der Dekodierarchitektur ordnungsgemäß verwirklicht sind.
-
Es werden Parameterdaten erzeugt,
die auf Parameter der Kodieroperationen hinweisen. Solche Parameter
zeigen an, welche Art von Kodieroperation für das Kodieren von Daten in
einen Rahmen angewandt wird. Ein erster Wert von Parameterdaten kann
anzeigen, daß die
Kernschicht 310 entsprechend der öffentlichen ATSC AC-3 Bitstromspezifikation
kodiert ist, wie sie im Dokument A52 (1994) vom Advanced Television
Standards Committee (ATSC) festgelegt wurde. Ein zweiter Wert von
Parameterdaten kann anzeigen, daß die Kernschicht 310 entsprechend
einer perzeptuellen Kodiertechnik kodiert ist, die in Dolby Digital(Wz)
Kodierern und Dekodierern verkörpert
ist. Dolby Digital(Wz) oder Kodierer und Dekodierer sind von Dolby
Laboratories, Inc. San Francisco, Kalifornien im Handel erhältlich.
Die vorliegende Erfindung kann mit einer großen Vielfalt an perzeptuellen
Kodier- und Dekodiertechniken angewandt werden. Verschiedene Aspekte
solcher perzeptuellen Kodier- und Dekodiertechniken sind in den
folgenden US-Patenten offenbart 5 913 191 (Fielder), 5 222 189 (Fielder),
5 109 417 (Fielder, et al), 5 632 003 (Davidson, et al.), 5 583
962 (Davis et al.), und 5 623 577 (Fielder). Eine bestimmte perzeptuelle
Kodier- oder Dekodiertechnik ist für die Durchführung der
vorliegenden Erfindung nicht wesentlich.
-
Es werden ein oder mehr Fehlererkennungscodes
erzeugt, um Daten in der Kernschicht 352 zu schützen, und,
falls es die Datenkapazität
erlaubt, auch Daten in den Kernschichtabschnitten 372,
382 der
Kernschicht 310. Der Kernschichtabschnitt 352 wird
vorzugsweise stärker
geschützt
als irgendein sonstiger Abschnitt des Rahmens 340, weil
er sämtliche
wesentlichen Informationen zum Synchronisieren auf Rahmen 340 in
einem kodierten Datenstrom und zum Zerlegen der Kernschicht 310 jedes
Rahmens 340 enthält.
-
Bei diesem Ausführungsbeispiel der vorliegenden
Erfindung werden Daten wie folgt in einen Rahmen ausgegeben. Zunächst werden
kodierte Signale FCS_L, FCS_R in Kernschichtabschnitte 372 bzw. 382 ausgegeben,
erste Restsignale FRS_L, FRS_R werden in erste Erweiterungsschichtabschnitte 374 bzw. 348 ausgegeben,
und zweite Restsignale SRS_L, SRS_R werden in zweite Erweiterungsschichtabschnitte 376 bzw. 386 ausgegeben. Das
kann geschehen durch Zusammenmultiplexieren dieser Signale FCS_L,
FCS_R, FRS_L, FRS_R, SRS_L, SRS_R, um einen Strom aus Wörtern je
von der Länge
L + M + N zu bilden, wobei zum Beispiel das Signal FCS_L von den
ersten L-Bits getragen wird, FRS_L von den nächsten M-Bits und SRS_L von
den letzten N-Bits getragen wird, und so ähnlich für die Signale FCS_R, FRS_R,
SRS_R. Dieser Wortstrom wird seriell im Tonsegment 360 ausgegeben.
Das Synchronisationswort, Formatdaten, Segmentdaten, Parameterdaten
und die Datenschutzinformation werden im Kernschichtabschnitt 352 ausgegeben.
Zusätzliche
Steuerinformation für
die Erweiterungsschichten 320, 330 wird an ihre
jeweiligen Schichten 320, 330 geliefert.
-
Gemäß den bevorzugten Ausführungsbeispielen
des skalierbaren Tonkodierverfahrens 400 wird jedes Teilbandsignal
in der Kernschicht durch eine blockskalierte Form wiedergegeben,
die einen Skalierungsfaktor und einen oder mehr skalierte Werte
aufweist, welche jedes Teilbandsignalelement wiedergeben. So kann
beispielsweise jedes Teilbandsignal durch einen Blockfließpunkt dargestellt
werden, bei dem ein Blockfließpunktexponent
der Skalierungsfaktor ist und jedes Teilbandsignalelement von den
Fließpunktmantissen
wiedergegeben wird. Es kann im wesentlichen jede beliebige Art der
Skalierung benutzt werden. Um das Zerlegen des kodierten Datenstroms
zwecks Wiedergewinnung der Skalierungsfaktoren und der skalierten
Werte zu erleichtern, können
die Skalierungsfaktoren in den Datenstrom an im voraus festgelegten
Positionen innerhalb jedes Rahmens, beispielsweise am Anfang jedes
Untersegments 370, 380 innerhalb des Tonsegments 360 kodiert
werden.
-
Bei bevorzugten Ausführungsbeispielen
bieten die Skalierungsfaktoren ein Maß der Teilbandsignalstärke, welches
von einem psychoakustischen Modell herangezogen werden kann, um
die oben beschriebenen auditorischen Maskierkurven AMC_L, AMC_R
zu bestimmen. Vorzugsweise werden Skalierungsfaktoren für die Kernschicht 310 als
Skalierungsfaktoren für
die Erweiterungsschichten 320, 330 benutzt, so
daß es
nicht nötig
ist, einen eigenen Satz Skalierungsfaktoren für jede Schicht zu erzeugen
und auszugeben. In die Erweiterungsschichten werden typischerweise
nur die höchstwertigen
Bits der Differenzen zwischen einander entsprechenden Teilbandsignalelemente
der verschiedenen kodierten Signale kodiert.
-
Bei bevorzugten Ausführungsbeispielen
erfolgt ein zusätzliches
Verarbeiten, um reservierte oder verbotene Datenmuster aus den kodierten
Daten zu eliminieren. Es sollten zum Beispiel Datenmuster in den
kodierten Audiodaten vermieden werden, die ein Synchronisiermuster
simulieren würden, welches
zum Erscheinen am Anfang eines Rahmens reserviert ist. Eine einfache
Möglichkeit,
wie ein bestimmtes nicht-Null Datenmuster vermieden werden kann,
besteht darin, die kodierten Audiodaten durch bit-weises exklusives
OR zwischen den kodierten Audiodaten und einem geeigneten Schlüssel durchzuführen. Weitere
Einzelheiten und zusätzliche
Techniken zum Vermeiden verbotener und reservierter Datenmuster
sind im US-Patent 6 233 718 von Vernon et al. mit der Bezeichnung "Avoiding Forbidden Data
Patterns in Coded Audio Data" offenbart.
In jeden Rahmen kann ein Schlüssel
oder sonstige Steuerinformation eingeschlossen sein, um die Auswirkungen
möglicherweise
vorgenommener Modifizierungen zum Ausschalten dieser Muster rückgängig zu
machen.
-
5 ist
ein Fließschema,
welches ein skalierbares Dekodierverfahren 500 gemäß der vorliegenden
Erfindung veranschaulicht. Das skalierbare Dekodierverfahren 500 empfängt ein
in einer Reihe von Schichten kodiertes Tonsignal. Die erste Schicht umfaßt eine
perzeptuelle Kodierung des Tonsignals. Diese perzeptuelle Kodierung
stellt das Tonsignal mit einer ersten Auflösung dar. Die übrigen Schichten umfassen
jeweils Daten über
eine weitere jeweilige Kodierung des Tonsignals. Die Schichten sind
entsprechend zunehmender Auflösung
des kodierten Tonsignals geordnet. Im einzelnen können Daten
aus den ersten K Schichten kombiniert und dekodiert werden, um Tonsignale
mit größerer Auflösung bereitzustellen
als die Daten in den ersten K – 1
Schichten, wobei K eine ganze Zahl größer als 1, aber nicht größer als
die Zahl der Gesamtanzahl Schichten ist.
-
Mit dem Verfahren 500 wird
eine Auflösung zum
Dekodieren gewählt 511.
Die der gewählten
Auflösung
zugeordnete Schicht wird bestimmt. Wenn der Datenstrom modifiziert
wurde, um reservierte oder verbotene Datenmuster zu entfernen, sollten
die Auswirkungen dieser Veränderungen
rückgängig gemacht
werden. In der festgelegten Schicht getragene Daten werden mit Daten
in jeder vorhergehenden Schicht kombiniert 513 und dann
in einer Umkehroperation des Kodierverfahrens, welches zum Kodieren
des Tonsignals auf die jeweilige Auflösung benutzt wurde, dekodiert 515.
Schichten, die höheren Auflösungen als
der gewählten
zugeordnet sind, können
beispielsweise durch Signalleitwegschaltungen abgestreift oder ignoriert
werden. Jedes Verfahren oder jeder Vorgang, der zur Aufhebung der
Skaliereffekte erforderlich ist, sollte vor dem Dekodieren durchgeführt werden.
-
Es soll nun ein Ausführungsbeispiel
beschrieben werden, bei dem das skalierbare Dekodierverfahren 500 vom
Verarbeitungssystem 100 an Audiodaten durchgeführt wird,
die über
einen Normdatenkanal AES3 empfangen werden. Der Normdatenkanal AES3
bietet Daten in einer Serie von vierundzwanzig Bit breiten Wörtern. Jedes
Bit eines Wortes kann zweckmäßigerweise
durch eine Bitzahl identifiziert sein, die von Null (0), dem höchstwertigen Bit,
bis einschließlich
dreiundzwanzig (23) rangieren, bei dem es sich um das niedrigstwertige
Bit handelt. Die Notation Bits (n~m) wird
hier verwendet, um Bits (n) bis einschließlich (m) eines Wortes wiederzugeben,
wobei n und m ganze Zahlen sind und m > n. Der Datenkanal AES3 ist in einer Reihe
von Rahmen, wie den Rahmen 340 entsprechend dem skalierbaren
Datenkanal 300 der vorliegenden Erfindung unterteilt. Die
Kernschicht 310 weist Bits (0~15)
auf, die erste Erweiterungsschicht 320 weist Bits (16~19) auf, und die zweite Erweiterungsschicht 330 weist
Bits (20~23) auf.
-
Die Daten in den Schichten 310, 320, 330 werden über die
Toneingabe/Ausgabeschnittstelle 140 des Verarbeitungssystems 100 empfangen.
Das Verarbeitungssystem 100 sucht in Abhängigkeit
vom Programm der Dekodieranweisungen nach einem 16-Bit Synchronisiermuster
im Datenstrom, um seine Verarbeitung mit jeder Rahmengrenze auszurichten, und
es teilt die Daten der Reihe nach ab dem Synchronisiermuster in
24 Bit breite Wörter
ein, die als Bits (0~23) wiedergegeben werden.
Die Bits (0~15) des ersten Wortes sind also
das Synchronisiermuster. In diesem Zeitpunkt kann jegliche Verarbeitung vorgenommen
werden, die nötig
ist, um die Auswirkungen von Abwandlungen rückgängig zu machen, die zur Vermeidung
reservierter Muster vorgenommen wurden.
-
Um Formatdaten, Segmentdaten, Parameterdaten,
Versatz und Datenschutzinformation zu erhalten, werden im voraus
festgelegte Orte in der Kernschicht 310 gelesen. Es werden
Fehlererkennungscodes verarbeitet, um jeglichen Fehler in den Daten
im Kernschichtabschnitt 352 zu erkennen. Als Reaktion auf
das Erkennen eines Datenfehlers kann eine Stummschaltung entsprechender
Tonsignale oder eine Rückübertragung
von Daten vorgenommen werden.
-
Um nur die Kernschicht 310 zu
dekodieren, wird die 16-Bit Auflösung
gewählt 511.
Festgelegte Orte in Kernschichtabschnitten 372, 382 des
ersten und zweiten Tonuntersegments 370, 380 werden
gelesen, um die kodierten Teilbandsignalelemente zu erhalten. Bei
bevorzugten Ausführungsbeispielen, die
mit blockskalierten Darstellungen arbeiten, geschieht dies dadurch,
daß zunächst der
Blockskalierungsfaktor für
jedes Teilbandsignal erhalten und dann diese Skalierungsfaktoren
benutzt werden, um die gleichen auditorischen Maskierkurven AMC_L, AMC_R
zu generieren, die im Kodierverfahren benutzt wurden. Erste gewünschte Rauschspektra
für Tonkanäle CH_L,
CH_R werden durch Verschieben der auditorischen Maskierkurven AMC_L,
AMC_R um einen jeweiligen Versatz O1_L, O1_R für jeden aus dem Kernschichtabschnitt 352 gelesenen
Kanal generiert. Dann werden erste Quantisierungsauflösungen Q1_L,
Q1_R für
die Tonkanäle
in der gleichen Weise bestimmt, wie es im Kodierverfahren 400 geschieht.
Das Verarbeitungssystem 100 kann nunmehr die Länge und
den Ort der kodierten skalierten Werte in den Kernschichtabschnitten 372, 382 der Tonuntersegmente 370 bzw. 380 feststellen,
welche die skalierten Werte der Teilbandsignalelemente wiedergeben.
Die kodierten skalierten Werte werden aus den Untersegmenten 370, 380 zerlegt
und mit den entsprechenden Teilbandskalierungsfaktoren kombiniert,
um die quantisierten Teilbandsignalelemente für die Tonkanäle CH_L,
CH_R zu erhalten, die dann in digitale Audioströme umgewandelt werden. Die Umwandlung
geschieht durch Anlegen einer Synthesefilterbank, die zu der beim
Kodierverfahren angewandten Analysefilterbank komplementär ist. Die
digitalen Audioströme
geben den linken und rechten Tonkanal CH_L, CH_R wieder. Diese digitalen
Signale können
durch Digital-Analog-Umsetzung in ein analoges Signal umgewandelt
werden, was mit Vorteil auf herkömmliche
Weise verwirklicht werden kann.
-
Die Kern- und erste Erweiterungsschicht 310, 320 läßt sich
wie folgt dekodieren. Die 20 Bit Kodierauflösung wird gewählt 511.
Teilbandsignalelemente in der Kernschicht 310 werden wie
gerade beschrieben erhalten. Zusätzlicher
Versatz O2_L wird aus dem Erweiterungsschichtabschnitt 354 des
Steuersegments 350 gelesen. Zweite gewünschte Rauschspektra für Tonkanäle CH_L
werden generiert, indem das erste gewünschte Rauschspektrum des linken
Tonkanals CH_L um den Versatz O2_L verschoben wird und in Abhängigkeit
vom erhaltenen Rauschspektrum werden zweite Quantisierungsauflösungen Q2_L
in der Weise festgelegt, wie es für das perzeptuelle Kodieren
der ersten Erweiterungsschicht beim Kodierverfahren 400 beschrieben
wurde. Diese Quantisierungsauflösungen
O2_L zeigen die Länge
und den Ort jeder Komponente eines Restsignals RES1_L im Erweiterunysschichtabschnitt 374 an.
Das Verarbeitungssystem liest die jeweiligen Restsignale und erhält die skalierte
Darstellung der quantisierten Teilbandsignalelemente durch Kombinieren 513 des
Restsignals RES1_L mit der von der Kernschicht 310 erhaltenen
skalierten Darstellung. Bei diesem Ausführungsbeispiel der vorliegenden
Erfindung wird dies durch Anwendung einer Zweierkomplementaddition
erzielt, wobei diese Addition an einem Teilbandsignalelement durch
Teilbandsignalelementbasis vorgenommen wird. Die quantisierten Teilbandsignalelemente
werden von den skalierten Darstellungen jedes Teilbandsignals erhalten
und dann durch ein geeignetes Signalsyntheseverfahren umgewandelt,
um einen digitalen Audiostrom für
jeden Kanal zu generieren. Der digitale Audiostrom kann durch Digital-Analogumsetzung
in analoge Signale umgewandelt werden. Die Kernschicht und die erste
und zweite Erweiterungsschicht 310, 320, 330 können ähnlich wie
gerade beschrieben dekodiert werden.
-
6A zeigt
ein schematisches Diagramm eines alternativen Ausführungsbeispiels
eines Rahmens 700 zur skalierbaren Tonkodierung gemäß der vorliegenden
Erfindung. Der Rahmen 700 bestimmt die Zuordnung der Datenkapazität für einen
24-Bit breiten Datenkanal 701 des Typs AES3. Der AES3 Datenkanal
weist eine Serie 24-Bit breiter Wörter auf. Der AES3 Datenkanal
umfaßt
eine Kernschicht 710 und zwei Erweiterungsschichten, die
als Zwischenschicht 720 und Feinschicht 730 bezeichnet
sind. Die Kernschicht weist Bits (0~15)
auf, die Zwischenschicht 720 weist Bits (16~19)
auf, und die Feinschicht 730 weist Bits (20~23)
jeweils für
jedes Wort auf. Die Feinschicht 730 weist also die vier
niedrigstwertigen Bits des AES3 Datenkanals auf, während die
Zwischenschicht 720 die nächsten vier niedrigstwertigen
Bits dieses Datenkanals aufweist.
-
Die Datenkapazität des Datenkanals 701 wird
zugeordnet, um das Dekodieren von Tonsignalen mit einer Vielzahl
von Auflösungen
zu stützen. Diese
Auflösungen
werden hier als eine von der Kernschicht 710 gestützte 16-Bit
Auflösung,
eine von der Vereinigung der Kernschicht 710 und der Zwischenschicht 720 gestützte 20-Bit
Auflösung
und eine von der Vereinigung der drei Schichten 710, 720, 730 gestützte 24-Bit
Auflösung
bezeichnet. Es sei darauf hingewiesen, daß die oben genannte Anzahl
Bits in jeder Auflösung
sich auf die Kapazität
jeder jeweiligen Schicht während
der Übertragung
oder Speicherung bezieht und sich nicht auf die Quantisierungsauflösung oder
Bitlänge
der Symbole bezieht, die in den verschiedenen Schichten zur Darstellung kodierter
Tonsignale getragen werden. Folglich entspricht die sogenannte "16-Bit Auflösung" dem perzeptuellen
Kodieren mit einer grundlegenden Auflösung und wird typischerweise
beim Dekodieren und bei der Wiedergabe als genauer wahrgenommen,
als es die 16-Bit PCM Tonsignale sind. Ähnlich entsprechen die 20-Bit
und 24-Bit Auflösungen
perzeptuellen Kodierungen mit fortschreitend höheren Auflösungen und werden typischerweise
als genauer wahrgenommen als die entsprechenden 20-Bit bzw. 24-Bit
PCM Tonsignale.
-
Der Rahmen 700 ist in eine
Reihe von Segmenten unterteilt, zu denen ein Synchronisiersegment 740,
ein Metadatensegment 750, ein Tonsegment 760 gehören, und
die wahlweise ein Metadatenausdehnungssegment 770, ein
Tonausdehnungssegment 780 und ein Meßsegment 790 umfassen können. Das
Metadatenausdehnungssegment 770 und das Tonausdehnungssegment 780 hängen voneinander
ab, und infolgedessen sind entweder beide oder keines eingeschlossen.
Bei diesem Ausführungsbeispiel
des Rahmens 700 hat jedes Segment Abschnitte in jeder Schicht 710, 720, 730.
Die 6B, 6C und 6D sind
schematische Diagramme eines bevorzugten Aufbaus der Ton- und Tonausdehnungssegmente 760 und 780,
des Metadatensegments 750 und des Metadatenausdehnungssegments 770.
-
Im Synchronisiersegment 740 tragen
die Bits (0~15) ein 16-Bit Synchronisiermuster,
die Bits (16~19) tragen einen oder mehr
Fehlererkennungscodes für
die Zwischenschicht 720, und die Bits (20~23)
tragen einen oder mehr Fehlererkennungscodes für die Feinschicht 730.
Fehler in Augmentationsdaten bringen typischerweise feine hörbare Effekte
hervor, und folglich ist es von Vorteil, den Datenschutz auf Codes
von jeweils vier Bits pro Erweiterungsschicht zu begrenzen, um Daten
im AES3 Datenkanal zu sparen. Zusätzlicher Datenschutz für die Erweiterungsschichten 720, 730 kann
im Metadatensegment 750 und Metadatenausdehnungssegment 770 vorgesehen
werden, wie noch erläutert
wird. Wahlweise können
zwei unterschiedliche Datenschutzwerte für jede jeweilige Erweiterungsschicht 720, 730 spezifiziert
werden. Jeder bietet Datenschutz für die jeweilige Schicht 720, 730.
Der erste Wert des Datenschutzes zeigt an, daß die jeweilige Schicht des
Tonsegments 760 in einer vorherbestimmten Weise, beispielsweise
als ausgerichtete Konfiguration gestaltet ist. Der zweite Wert des
Datenschutzes zeigt an, daß vom
Metadatensegment 750 getragene Zeiger darauf hinweisen,
wo Augmentationsdaten in der jeweiligen Schicht des Tonsegments 760 getragen
sind, und, falls das Tonausdehnungssegment 780 eingeschlossen
ist, daß Zeiger im
Metadatenausdehnungssegment 770 anzeigen, wo Augmentationsdaten
in der jeweiligen Schicht des Tonausdehnungssegments 780 getragen
sind.
-
Das Tonsegment 760 ist im
wesentlichen ähnlich
dem schon beschriebenen Tonsegment 360 des Rahmens 390.
Das Tonsegment 760 hat ein erstes Untersegment 761 und
ein zweites Untersegment 7610. Das erste Untersegment 761 umfaßt ein Datenschutzsegment 767,
vier jeweilige Kanaluntersegmente (CS_0, CS_1, CS_2, CS_3), von
denen jedes ein jeweiliges Untersegment 763, 764, 765, 766 des ersten
Untersegments 761 aufweist, und wahlweise kann ein Präfix 762 eingeschlossen
sein. Die Kanaluntersegmente entsprechen vier jeweiligen Tonkanälen (CH_0,
CH_1, CH_2, CH_3) eines Mehrkanaltonsignals.
-
In dem wahlweise vorgesehenen Präfix 762 trägt die Kernschicht 710 einen
verbotenen Musterschlüssel
(KEY1_C) zum Vermeiden verbotener Muster innerhalb des jeweils von
der Kernschicht 710 getragenen Abschnitts des ersten Untersegments, die
Zwischenschicht 720 trägt
einen verbotenen Musterschlüssel
(KEY1_I) zum Vermeiden verbotener Muster innerhalb des von der Zwischenschicht 720 getragenen
Abschnitts des ersten Untersegments, die Feinschicht 730 trägt einen
verbotenen Musterschlüssel
(KEY1_F) zum Vermeiden verbotener Muster innerhalb des jeweils von
der Feinschicht 730 getragenen Abschnitts des ersten Untersegments.
-
Im Kanaluntersegment CS_0 trägt die Kernschicht 710 ein
erstes kodiertes Signal für
den Tonkanal CH_0, die Zwischenschicht 720 trägt ein erstes Restsignal
für den
Tonkanal CH_0, und die Feinschicht 730 trägt ein zweites
Restsignal für
den Tonkanal CH_0. Diese sind vorzugsweise unter Anwendung des in
der unten beschriebenen Weise modifizierten Kodierverfahrens 400 in
jede entsprechende Schicht kodiert. In der gleichen Weise tragen
Kanalsegmente CS_1, CS_2, CS_3 Daten für die jeweiligen Tonkanäle CH_1,
CH_2, CH_3.
-
Im Datenschutzsegment 767 trägt die Kernschicht 710 einen
oder mehr Fehlererkennungscodes für den jeweils von der Kernschicht 710 getragenen
Abschnitt des ersten Untersegments, die Zwischenschicht 720 trägt einen
oder mehr Fehlererkennungscodes für den Abschnitt des ersten
Untersegments, der von der Zwischenschicht 720 getragen wird,
und die Feinschicht 730 trägt einen oder mehr Fehlererkennungscodes
für den
jeweils von der Feinschicht 730 getragenen Abschnitt des
ersten Teilsegments. Bei diesem Ausführungsbeispiel wird Datenschutz
vorzugsweise von einem zyklischen Redundanzcode (CRC) geboten.
-
Das zweite Untersegment 7610 umfaßt auf gleiche
Weise ein Datenschutzsegment 7670, vier Kanaluntersegmente
(CH_4, CH_5, CH_6, CH_7), die je ein jeweiliges Untersegment 7630, 7640, 7650, 7660 des
zweiten Untersegments 7610 aufweisen, und kann wahlweise
ein Präfix 7620 einschließen. Das
zweite Untersegment 7610 ist ähnlich gestaltet wie das Untersegment 761.
Das Tonausdehnungssegment 780 ist wie das Tonsegment 760 gestaltet
und ermöglicht
zwei oder mehr Segmente von Ton innerhalb eines einzigen Rahmens
und kann dadurch expendierte Datenkapazität im Normdatenkanal AES3 reduzieren.
-
Das Metadatensegment 750 ist
wie folgt gestaltet. Derjenige Abschnitt des Metadatensegments 750,
der von der Kernschicht 710 getragen ist, umfaßt ein Kopfzeilensegment 751,
ein Rahmensteuersegment 752, ein Metadatenuntersegment 753 und ein
Datenschutzuntersegment 754. Derjenige Abschnitt des Metadatensegments 750,
der von der Zwischenschicht 720 getragen ist, umfaßt ein Zwischenmetadatenuntersegment 755 und
ein Datenschutzuntersegment 757, und derjenige Abschnitt des
Metadatensegments 750, der von der Feinschicht 730 getragen
ist, umfaßt
ein Feinmetadatenuntersegment 756 und ein Datenschutzuntersegment 758.
Die Datenschutzuntersegmente 754, 757, 758 brauchen
nicht zwischen den Schichten ausgerichtet zu sein; aber vorzugsweise
ist jedes am Ende seiner jeweiligen Schicht oder an einem sonstigen vorherbestimmten
Ort angeordnet.
-
Die Kopfzeile 751 trägt Formatdaten,
die eine Programmkonfiguration und Rahmenrate anzeigen. Das Rahmensteuersegment 752 trägt Segmentdaten,
welche Grenzen von Segmenten und Untersegmenten in der Synchronisierung
spezifizieren, sowie Metadaten und Tonsegmente 740, 750, 760.
Metadatenuntersegmente 753, 755, 756 tragen
Parameterdaten, die Parameter von Kodieroperationen anzeigen, welche
zum Kodieren von Audiodaten in die Kern-, Zwischen- bzw. Feinschicht 710, 720, 730 durchgeführt werden.
Diese zeigen an, welche Art von Kodieroperation benutzt wird, um
die jeweilige Schicht zu kodieren. Vorzugsweise wird die gleiche Art
von Kodieroperation für
jede Schicht angewandt, wobei die Auflösung so eingestellt ist, daß sie das
relative Ausmaß der
Datenkapazität
in den Schichten wiedergibt. Gemäß einer
Alternative ist es zulässig, Parameterdaten
für Zwischen-
und Feinschichten 720, 730 in der Kernschicht 720 zu
tragen. Aber alle Parameterdaten für die Kernschicht 710 sind
vorzugsweise nur in der Kernschicht 710 eingeschlossen,
so daß die
Erweiterungsschichten 720, 730 beispielsweise
durch Signalleitwegschaltun gen abgestreift oder ignoriert werden
können,
ohne daß dies die
Fähigkeit
zum Dekodieren der Kernschicht 710 beeinträchtigt.
Datenschutzuntersegmente 754, 757, 758 tragen
einen oder mehr Fehlererkennungscodes zum Schützen der Kern-, Zwischen- bzw.
Feinschicht 710, 720, 730.
-
Das Metadatenausdehnungssegment 770 ist im
wesentlichen ähnlich
dem Metadatensegment 750, außer daß das Metadatenausdehnungssegment 770 kein
Rahmensteuersegment 752 einschließt. Die Grenzen von Segmenten
und Untersegmenten in den Metadatenausdehnungs- und Tonausdehnungssegmenten 770, 780 sind
durch ihre wesentliche Ähnlichkeit
mit den Metadaten- und Tonsegmenten 750, 760 in
Kombination mit den Segmentdaten angezeigt, welche das Rahmensteuersegment 752 im
Metadatensegment 750 trägt.
-
Das wahlwesise vorgesehene Meßsegment 790 trägt Durchschnittsamplituden
von im Rahmen 700 getragenen kodierten Tondaten. Insbesondere wenn
das Tonausdehnungssegment 780 weggelassen ist, tragen die
Bits (0~15) des Meßsegments 790 eine
Darstellung einer durchschnittlichen Amplitude kodierter Tondaten,
die in Bits (0~15) des Tonsegments 760 getragen
sind, und Bits (16~19) bzw. (20~23)
tragen Ausdehnungsdaten, die als Zwischenmeter (IM) bzw. Feinmeter
(FM) bezeichnet sind. Der IM kann zum Beispiel eine durchschnittliche
Amplitude von in Bits (16~19) des Tonsegments 760 getragenen
kodierten Audiodaten sein, und der FM kann eine durchschnittliche
Amplitude von in Bits (20~23) des Tonsegments 760 getragenen
kodierten Audiodaten sein. Wenn das Tonausdehnungssegment 780 eingeschlossen
ist, reflektieren die durchschnittlichen Amplituden IM und FM vorzugsweise
die in den jeweiligen Schichten dieses Segments 780 getragenen kodierten
Audiodaten. Das Meßsegment 790 stützt eine
zweckmäßige Darstellung
durchschnittlicher Tonamplitude beim Dekodieren. Typischerweise
ist dies nicht wesentlich für
das ordnungsgemäße Dekodieren
von Tonsignalen und kann weggelassen werden, um beispielsweise Datenkapazität im AES3
Datenkanal zu sparen.
-
Das Kodieren von Audiodaten in den
Rahmen 700 wird vorzugsweise unter Benutzung der skalierbaren
Kodierverfahren 400 und 420 durchgeführt, die
wie folgt abgewandelt werden. Für
jeden der acht Kanäle
werden Tonteilbandsignale empfangen. Diese Teilbandsignale werden
vorzugsweise dadurch generiert, daß eine Blocktransformation
an Blöcken
von Abtastwerten für
acht entsprechende Kanäle
von Audiodaten in der Zeitdomäne
angewandt wird und die Transformationskoeffizienten so gruppiert
werden, daß die
Teilbandsignale gebildet werden. Die Teilbandsignale sind je in
Blockfließpunktform
dargestellt und weisen einen Blockexponenten und eine Mantisse für jeden
Koeffizienten in dem Teilband auf.
-
Der Dynamikbereich der Teilbandexponenten
einer gegebenen Bitlänge
kann erweitert werden, wenn man für eine Gruppe von Teilbändern einen "Hauptexponenten" benutzt. Exponenten
für Teilbänder in
der Gruppe werden mit einer Schwelle verglichen, um den Wert des
zugehörigen
Hauptexponenten zu bestimmen. Wenn jeder Teilbandexponent in der
Gruppe größer ist
als eine Schwelle von beispielsweise drei, wird der Wert des Hauptexponenten auf
eins gesetzt, und die zugehörigen
Teilbandexponenten werden um drei reduziert, ansonsten wird der Hauptexponent
auf Null gesetzt.
-
Die oben kurz erörterte verstärkungsadaptive
Quantisierungstechnik kann ebenfalls angewandt werden. Bei einem
Ausführungsbeispiel
werden Mantissen für
jedes Teilbandsignal zwei Gruppen danach zugeordnet, ob sie größer sind
als eine Hälfte der
Größe. Mantissen,
die weniger oder gleich einer Hälfte
sind, werden im Wert verdoppelt, um die Anzahl Bits zu verringern,
die zu ihrer Darstellung erforderlich ist. Die Quantisierung der
Mantissen wird angepaßt,
um diese Verdopplung auszudrücken.
Mantissen können
alternativ auch mehr als zwei Gruppen zugeordnet werden. Zum Beispiel
können
Mantissen drei Gruppen danach zugeordnet werden, ob ihre Größen zwischen
0 und 1/4, 1/4 und 1/2, 1/2 und 1 liegen, skaliert jeweils um 4,
2 und 1 und entsprechend quantisiert, um zusätzliche Datenkapazität zu sparen.
Weitere Informationen sind aus der oben genannten US-Patentanmeldung zu
entnehmen.
-
Für
jeden Kanal werden auditorische Maskierkurven generiert. Jede auditorische
Maskierkurve kann von Audiodaten mehrerer Kanäle (bei dieser Ausführung bis
zu acht) und nicht nur von einem oder zwei Kanälen abhängig sein. Das skalierbare
Kodierverfahren 400 wird auf jeden Kanal unter Rückgriff auf
diese auditorischen Maskierkurven und mit den oben erörterten
Abwandlungen der Quantisierung von Mantissen angewandt. Das iterative
Verfahren 420 wird angewandt, um geeignete Quantisierungsauflösungen zum
Kodieren jeder Schicht zu bestimmen. Bei diesem Ausführungsbeispiel
ist der Kodierbereich als etwa –144
dB bis etwa +48 dB in Bezug auf die entsprechende auditorische Maskierkurve spezifiziert.
Dann wird das durch die Verfahren 400 und 420 generierte
resultierende erste kodierte Signal sowie das erste und zweite Restsignal
analysiert, um verbotene Musterschlüssel KEY1_C, KEY1_I, KEY1_F
für das
erste Untersegment 761 (und ähnlich für das zweite Untersegment 7610)
des Tonsegments 760 zu bestimmen.
-
Für
den ersten Rahmen des Multikanaltons werden Steuerdaten für das Metadatensegment 750 generiert.
Steuerdaten für
das Metadatenausdehnungssegment 770 werden für einen
zweiten Rahmen des Multikanaltons auf ähnliche Weise generiert, außer daß die Segmentinformation
für den
zweiten Rahmen weggelassen wird. Diese werden jeweils modifiziert
durch jeweilige verbotene Musterschlüssel, wie oben erwähnt, und
in das Metadatensegment 750 bzw. das Metadatenausdehnungssegment 770 ausgegeben.
-
Das oben beschriebene Verfahren wird
auch an einem zweiten Rahmen von acht Tonkanälen durchgeführt und
generierte, kodierte Signale werden auf ähnliche Weise in das Tonausdehnungssegment 780 ausgegeben.
Steuerdaten werden für
den zweiten Rahmen des Multikanaltons auf im wesentlichen die gleiche
Weise wie für
den ersten Rahmen generiert, außer
daß für den zweiten
Rahmen keine Segmentdaten generiert werden. Die Steuerdaten werden
in das Metadatenausdehnungssegment 770 ausgegeben.
-
Ein Synchronisiermuster wird in Bits
(0~15) des Synchronisiersegments 740 ausgegeben.
Die vier Bit breiten Fehlererkennungscodes werden jeweils für die Zwischen-
und Feinschicht 720, 730 generiert und jeweils
in Bits (16~19) und Bits (20~23)
des Synchronisiersegments 740 ausgegeben. Bei diesem Ausführungsbeispiel
führen
Fehler in den Augmentationsdaten typischerweise zu feinen hörbaren Effekten,
und infolgedessen ist es von Vorteil, die Fehlererkennung auf Codes
von vier Bits pro Erweiterungsschicht zu begrenzen, um Datenkapazität in dem
Normdatenkanal AES3 zu sparen.
-
Gemäß der vorliegenden Erfindung
können die
Fehlererkennungscodes vorherbestimmte Werte, beispielsweise "0001" haben, die nicht
vom Bitmuster der geschützten
Daten abhängen.
Eine Fehlererkennung erfolgt durch Inspizieren des Fehlererkennungscodes,
um festzustellen, ob der Code selbst korrumpiert wurde. Wenn das
der Fall ist, wird davon ausgegangen, daß weitere Daten in der Schicht
korrumpiert sind, und es wird entweder eine weitere Kopie der Daten
erhalten oder der Fehler stummgeschaltet. Ein bevorzugtes Ausführungsbeispiel
spezifiziert mehrfache vorherbestimmte Fehlererkennungscodes für jede Erweiterungsschicht.
Diese Codes zeigen auch die Konfiguration der Schicht an. Ein erster
Fehlererkennungscode, beispielsweise "0101" zeigt
an, daß die
Schicht eine vorherbestimmte Konfiguration, beispielsweise eine
ausgerichtete Konfiguration hat. Ein zweiter Fehlererkennungscode,
beispielsweise "1001" zeigt an, daß die Schicht
eine gestörte
Konfiguration hat, und daß Zeiger
oder sonstige Daten in das Metadatensegment 750 oder einen anderen
Ort ausgegeben werden, um das Verteilungsmuster von Daten in der
Schicht anzuzeigen. Es besteht geringe Wahrscheinlichkeit, daß ein Code beim Übertragen,
um den anderen zu erhalten, korrumpiert werden könnte, denn es müssen zwei
Bits des Codes korrumpiert werden, ohne daß die restlichen Bits korrumpiert
werden. Das Ausführungsbeispiel
ist folglich im wesentlichen immun gegenüber Einzelbit-Übertragungsfehlern.
Außerdem
hat irgendein Fehler beim Dekodieren von Erweiterungsschichten typischerweise
höchstens
einen kaum hörbaren
Effekt.
-
Bei einem alternativen Ausführungsbeispiel der
vorliegenden Erfindung werden andere Formen statistischen Kodierens
auf die Kompression von Audiodaten angewandt. Bei einem alternativen
Ausführungsbeispiel
generiert beispielsweise ein 16-Bit statistisches Kodierverfahren
komprimierte Audiodaten, die auf einer Kernschicht ausgegeben werden.
Dies wird wiederholt für
das Datenkodieren mit höherer Auflösung, um
ein versuchsweise kodiertes Signal zu generieren. Das versuchsweise
kodierte Signal wird mit den komprimierten Audiodaten kombiniert,
um ein Versuchsrestsignal zu generieren. Dies wird nach Bedarf wiederholt,
bis das Versuchsrestsignal die Datenkapazität einer ersten Erweiterungsschicht wirksam
nutzt, und das Versuchsrestsignal wird auf eine erste Erweiterungsschicht
ausgegeben. Dies wird für
eine zweite Schicht oder mehrere zusätzliche Erweiterungsschichten
wiederholt, indem wiederum die Auflösung des statistischen Kodierens
vergrößert wird.
-
Bei Durchsicht der Anmeldung werden
dem Fachmann verschiedene Abwandlungen und Änderungen der vorliegenden
Erfindung klar werden. Derartige Abwandlungen und Änderungen
sind von der vorliegenden Erfindung vorgesehen, die allein durch die
folgenden Ansprüche
begrenzt ist.