-
Die Erfindung bezieht sich auf ein
Verfahren zur Wiedergabe von digitalisierten Audiodaten aus einem
Halbleiterspeicher und eine Vorrichtung zur Durchführung des
Verfahrens.
-
Halbleiterspeicher werden zur Aufzeichnung und
Wiedergabe von Nachrichten oder anderen Arten von Audiosignalen
in vielen Produkten und Systemen, wie Telefonapparaten, Spielzeugen
und Adressenvorrichtungen verwendet. Da sie keine beweglichen Teile
aufweisen, bieten Halbleiterspeicher im Vergleich mit magnetischen
Bandaufzeichnungen die Vorteile der geringen Abmessungen, der niedrigen
Energie, der langen Lebensdauer und der hohen Zuverlässigkeit,
aber ein Halbleiterspeicher weist eine begrenzte Datenkapazität auf. Die üblichen
Aüfzeichnungsverfahren
geben eine feste maximale Grenze für die Länge der Auf zeichnungen vor,
die häufig
in Sekunden gemessen wird. Wenn ein Versuch gemacht wird, über die
Grenze hinaus aufzuzeichnen, dann wird ein Teil der Aufzeichnung
unwiederbringlich verloren gehen.
-
Aus der
EP 0 059 832 A2 ist ein
Verfahren zur Wiedergabe von digitalisierten, in Rahmen variabler
Länge in
einem Halbleiterspeicher gespeicherten Audiodaten bekannt. Zweck
dieser Maßnahme
ist eine wahlfreie Veränderung
der Rahmengeschwindigkeit, um künstlich
erzeugte Sprechsignale natürlich
klingen zu lassen.
-
DE
35 18 737 beschreibt eine Sprachspeicheranordnung, die
verschiedene Speicherbereiche aufweist, in denen jeweils eine unterschiedliche Sprachcodierung
abgelegt ist. Bei der Informationsausgabe wird zunächst der
Speicherbereich mit der die höchste
Sprachqualität
erzeugenden Codierung ausgelesen und dann die Speicherbereiche mit
einer Codierung für
eine mindere Spracgqualität
aber geringerem Speicherbedarf angesteuert. Bei diesem Verfahren
ist die abschnittsweise Wiedergabe unabhängig von der Wiedergabegeschwindigkeit.
-
Aus der
US 46 58 424 ist ein Sprachsynthetisierer
bekannt, bei dem eine variable Rahmengeschwindigkeit verwendet wird.
Die variable Rahmengeschwindigkeit sieht eine natürlichere
Sprechweise durch Verlangsamen oder Beschleunigen der Rahmengeschwindigkeit
für eine
spezielle Anwendung vor.
-
DE-AS
11 91 12 offenbart ein System zur Verkürzung oder Verlängerung
von Audiosignalen, wobei die Periode eines Audiosignals, z.B. eines Sprachsignals,
erfasst wird und in Abhängigkeit
von der gewünschten
Signaldauer einzelne Perioden des Grundtones des Sprachsignals eingefügt werden,
um das Sprachsignal zu strecken, oder entfernt werden, um das Sprachsignal
zu stauchen.
-
Der Erfindung liegt die Aufgabe zugrunde, ein
in dem Halbleiterspeicher gespeichertes Audiosignal bei einer höheren Geschwindigkeit
als der Aufzeichnungsgeschwindigkeit wiederzugeben.
-
Die Aufgabe wird erfindungsgemäß durch die
Merkmale des Hauptanspruchs gelöst.
-
Ausführungsbeispiele der Erfindung
sind in der Zeichnung dargestellt und werden in der nachfolgenden
Beschreibung näher
erläutert.
Es zeigen:
-
1 ein
Blockschaltbild einer Vorrichtung zur Aufzeichnung von Audiosignalen
in einem Halbleiterspeicher und zur Wiedergabe der aufgezeichneten
Signale,
-
2 ein
Blockschaltbild des Bitzuordners nach 1,
-
3 eine
Kennlinie, die die mittleren Energiepegel, die Verdeckung und die
Schwelle der Hörbarkeit
darstellt,
-
4 eine
Kennlinie, die die mittleren Energiepegel und die zulässigen Rauschpegel
darstellt,
-
5 ein
Format eines Rahmens variabler Länge
der kodierten Audiodaten,
-
6 eine
Speichertabelle zur Erläuterung der
Speicherung der kodierten Audiodaten,
-
7 ein
Blockschaltbild einer Vorrichtung zur hierarchischen Aufzeichnung
und Wiedergabe von Audiosignalen, die für eine Hochgeschwindigkeitswiedergabe
geeignet ist,
-
8 eine
Darstellung der hierarchischen Klassifikation von Audiosignaldaten,
-
9 Kennlinien
zur Erläuterung
des hierarchischen Klassifikationsschemas nach 8, 10 ein
detaillierteres Blockschaltbild des hierarchischen Kodierers nach 7, wobei auch das Überschreiben
von Daten dargestellt ist, und
-
11 ein
Zeitdiagramm, das die Normalgeschwindigkeits- und die Doppelgeschwindigkeitswiedergabe
erläutert.
-
Das erfindungsgemäße Verfahren soll im folgenden
unter Bezugnahme auf die Zeichnungen beschrieben werden.
-
Zuerst wird ein Verfahren zum Aufzeichnen von
Audiodaten in Rahmen mit variabler Länge beschrieben. Dieses Verfahren
ermöglicht,
daß die
Audiodaten in verschiedenen nützlichen
Hochgeschwindigkeitsdaten wiedergegeben werden können.
-
Entsprechend 1 wird ein Audiosignal dem Eingangsanschluß 1 zugeführt, durch
einen Audioverstärker 2 auf
ein geeignetes Niveau verstärkt und
von einem Analog/Digitalwandler 3 in digitale Audiodaten 4 umgewandelt.
Die digitalen Audiodaten 4 werden einem Umsetzprozessor 5 zugeführt und
in Frequenzkoeffizienten 6 umgesetzt. Die Frequenzkoeffizienten 6 werden
einem Bitzuordner 7 zugeführt, der Zuordnungsinformationen 8 berechnet.
Die Frequenzkoeffizienten 6 und die Bitzuordnungsinformationen 8 werden
beide an einen Quantisierer 9 geliefert, der quantisierte
Frequenzkoeffizienten 10 erzeugt. Die Bit-Zuordnungsinformationen 8 und
die quantisierten Frequenzkoeffizienten 10 werden an einen
Formatierer 11 gesandt, der sie in Ausgangsdaten formatiert.
Die Bitzuordnungsinformationen 8 werden gleichfalls an
einen Rahmenlängen-Berechner 12 gesandt,
der die Rahmenlängen
berechnet. Auf der Basis der berechneten Rahmenlängen erzeugt ein Generator 13 für Schreibadressen
Adressen, bei denen die Ausgangsdaten von dem Formatierer 11 in
einen Halbleiterspeicher 14 geschrieben werden.
-
Um das Audiosignal wiederzugeben,
werden die Bitzuordnungsinformationen 15 aus dem Halbleiterspeicher 14 in
einen anderen Rahmenlängenberechner 16 gelesen,
der einen Puffer zum Speichern der Bitzuordnungsinformationen 15 aufweist.
Auf der Basis der von dem Rahmenlängenberechner 16 berechneten
Rahmenlängen
erzeugt ein Generator 17 für Leseadressen Adressen, bei
denen quantisierte Frequenzkoeffizienten 18 aus dem Halbleiterspeicher 14 in
einen inversen Umsetzprozessor 19 gelesen werden, der gleichfalls
die Bitzuordnungsinformationen von dem Rahmenlängenberechner 16 empfängt. Der
inverse Umsetzprozessor 19 wandelt die quantisierten Frequenzkoeffizienten 18 in
digita lisierte Audiodaten um, die einem Digital/Analogwandler 20 zugeführt werden
und in ein analoges Signal umgewandelt werden. Das analoge Signal
wird von einem Audioverstärker 21 verstärkt und
am Ausgangsanschluß 22 ausgegeben.
-
Der Umsetzprozessor 5, Bitzuordner 7, Quantisierer 9,
Formatierer 11, Rahmenlängenberechner 12 und
Generator 13 für
Schreibadressen bilden einen Kodierer 23. Der Rahmenlängenberechner 16,
der Generator 17 für
Leseadressen und der inverse Umsetzprozessor 19 bilden
einen Dekodierer 24. Der Kodierer 23 und der Dekodierer 24 können unter Verwendung
eines Digitalsignalprozessors implementiert werden, der zur Durchführung der
notwendigen Transformationen, Zuordnungen und anderen Berechnungen
programmiert ist. Alternativ können die
einzelnen Elemente des Kodierers 23 und des Dekodierers 24 als
getrennte Prozessorelemente implementiert werden, die speziell an
die Durchführung ihrer
individuellen Funktionen angepaßt
sind. Es ist auch möglich,
daß der
Kodierer 23 und der Dekodierer 24 durch Programme
implementiert werden, die auf einem Universalmikroprozessor oder
anderen Prozessoren laufen, wobei jedes der Elemente des Kodierers 23 und
des Dekodierers 24 einem individuellen Programmodul entspricht.
Digitalsignalprozessoren und Mikroprozessoren sind allgemein bekannt und
die Programmierungsverfahren zur Durchführung der in 1 dargestellten Funktionen sind für den Fachmann
offensichtlich, so daß eine
Beschreibung von Hardware- und Software-Details ausgelassen wird.
Die Erfindung ist nicht auf irgendeine besondere Implementierung
des Systems nach 1 begrenzt.
-
Die Betriebsweise des Kodierers 23 und
des Dekodierers 24 wird im folgenden genauer beschrieben.
-
Die digitalisierten, von dem Umsetzprozessor 5 empfangenen
Audiodaten 4 umfassen digitalisierte Abtastproben des Audiosignals,
die jeweils in Blöcken
mit einer festen Anzahl von Abtastproben gruppiert sind. Daher stellen
alle Blöcke
gleiche Zeitabschnitte oder Zeiträume dar. Der Umsetzprozessor 5 führt eine
Zeitbereichs-Frequenzbereichstransformation wie eine diskrete Cosinustransformation
im Hinblick auf jeden Block durch, wodurch die Abtastdaten im Block
in einen Satz von Frequenzkoeffizienten 6 umgewandelt werden.
-
Der Bitzuordner 7 umfaßt entsprechend 2 einen Subband- oder Teilband-Energieberechner 25,
einen Berechner 26 für
zulässiges
Rauschen und einen Bitzuordnungsberechner 27. Der Subband-Energieberechner 25 teilt
die Frequenzkoeffizienten 6 in eine Vielzahl von Frequenzsubbändern und
berechnet die mittlere Energie in jedem Subband aus den Werten der
Frequenzkoeffizienten in diesen Subband. Der Berechner 26 für das zulässige Rauschen
berechnet auf der Basis dieser mittleren Energien einen zulässigen Rauschpegel
für jedes
Subband, wobei solche Faktoren wie die menschliche Hörschwelle
und Verdeckungseffekte von benachbarten Subbändern in Betracht gezogen werden.
Der Bitzuordnungsberechner 27 subtrahiert den zulässigen Rauschpegel
in jedem Subband von der mittleren Energie in diesem Subband und
ordnet eine Anzahl von Bits entsprechend der Differenz zu.
-
Die Operation des Subband-Energieberechners 25 und
des Berechners 26 für
das zulässige Rauschen
ist in den Kennlinien nach 3 und 4 dargestellt. In beiden
Figuren stellt die horizontale Achse die Frequenzachse dar, wobei
die Frequenzsubbänder
durch die Symbole S1, S2,..., S10 angezeigt werden. Der Schalleistungspegel
wird auf der vertikalen Achse in Dezibel angegeben. Die vertikalen
Linien über
jedem Frequenzbandsymbol stellen den mittleren Schalleistungspegel
dar, der äquivalent zu
dem mittleren Energiepegel in diesem Frequenzsubband ist.
-
In 3 stellen
die von jeder vertikalen Linie schräg abwärts gehende Linie den Verdeckungseffekt
auf benachbarte Frequenzsubbänder
dar. Die gestrichelte Linie stellt die menschliche Hörschwelle dar.
Rauschen ist zulässig,
wenn es unterhalb dieser Schwelle ist oder wenn es durch Audiosignalkomponenten
in benachbarten Frequenzsubbändern
verdeckt ist. Der zulässige
Rauschpegel wird daher durch die maximale Einhüllende der geneigten und gestrichelten
Linien gegeben. Der zulässige
Rauschpegel in jedem Subband wird durch eine kurze horizontale Linie
in 4 angegeben.
-
Die Bitzuordnungsinformationen 8 für jeden Rahmen
umfassen einen Wert für
jedes Frequenzsubband, der die Anzahl der für die Kodierung der Frequenzkoeffizienten
in diesem Subband verwendeten Bits spezifiziert. Der Quantisierer 9 begrenzt die
von dem Umsetzprozessor 5 erhaltenen Frequenzkoeffizienten 6 auf
die spezifizierte Anzahl von Bits, wodurch die quantisierten Frequenzkoeffizienten 10 erzeugt
werden.
-
Die Bitzuordnungsinformationen 8 selbst weisen
eine feste Länge
auf. Die Gesamtbitlänge
der quantisierten Frequenzkomponenten hängt von den Eigenschaften des
Audosignals ab und ist stark verändertlich.
Der Formatierer 11 formatiert die Bitzuordnungsinformationen 8 und
die quantisierten Frequenzkoeffizienten 10, wie in 5 gezeigt wird, um einen
Rahmen mit einem Teil fester Länge,
in dem die Bitzuordnungsinformationen 8 aufgenommen sind,
und einen Teil variabler Länge
zu erzeugen, indem die quantisierten Frequenzkoeffizienten 10 aufgenommen
sind.
-
Der Rahmenlängenberechner 12 berechnet aus
den Bitzuordnungsinformationen in jedem Rahmen die Rahmenlänge, und
der Generator 13 für
die Schreibadressen berechnet die Adressen, bei denen der Rahmen
in dem Halbleiterspeicher 14 gespeichert werden sollte.
Der Halbleiterspeicher ist willkürlich
adressierbar, so daß es
nicht nötig
ist, jeden Rahmen in einem einzigen Bereich von abhängigen Adressen
zu speichern. Beispielsweise können
die Bitzuordnungsinformationen 8 in einem Bereich des Halbleiterspeichers 14 und
die quantisierten Frequenzkoeffizienten 10 in einem anderen
Bereich gespeichert werden.
-
6 zeigt
ein Beispiel dieses Speicherschemas. Bitzuordnungsinformationen
werden in den Adressen null bis neunhundertneunundneunzig gespeichert,
quantisierte Frequenzkoeffizienten sind in den Adressen tausend
und höhere
Adressen gespeichert. Die Bitzuordnungsinformationen für jeden Rahmen
sind in einem Zwanzig-Bitblock gespeichert. Die Nummern innerhalb
dieser Blöcke
stellen die gesamte Bitlänge
der quantisierten Frequenzkoeffizienten in einem Rahmen dar, wie
aus den in dem Block gespeicherten Bitzuordnungsinformationen berechnet
wird. Die umkreisten Zahlen in dem Frequenzkoeffizientendatenbereich
sind Rahmenzahlen.
-
Das in den 1 bis 6 dargestellte
System zeichnet leistungsfähig
Audiodaten mit einem konstanten wahrnehmbaren Wiedergabegütepegel
auf. Bei der Aufzeichnung beispielsweise einer gesprochenen Nachricht
erhalten Rahmen, in denen der Sprecher mit einer lauten Stimme mit
stark markierten Frequenzcharakteristiken spricht, hohe Bitzuordnungen.
Rahmen, in denen der Sprecher ruhiger oder in einem gleichmäßigen Ton
spricht, erhalten verringerte Bitzuordnungen, da diese Rahmen weniger
Audioinformationen enthalten und mit weniger Bits genauso genau
reproduziert werden können. Rahmen,
in denen der Sprecher still ist, erhalten Bitzuordnungen von null.
Durch Verringern der Bitzuordnungen für Rahmen mit geringem Informationsinhalt
kann das neue Verfahren merkbar die Aufzeichnungszeit im Vergleich
mit üblichen
Verfahren vergrößern.
-
Im folgenden wird die Operation des
Dekoders 24 unter Bezugnahme auf die 1 bis 6 beschrieben.
-
Wenn die Audiodaten reproduziert
werden, werden die Bitzuordnungsinformationen 15 aus dem Halbleiterspeicher 14 ausgelesen
und in dem Bitzuordnungsinformationspuffer im Rahmenlängenberechner 16 gespeichert.
Aus diesen Informationen berechnet der Rahmenlängenberechner 16 die
Länge der
quantisierten Frequenzkoeffizienten in jedem Rahmen, d.h. er berechnet
die Rahmenlängenwerte, die
in 6 angegeben sind.
Aus diesen Werten berechnet der Leseadressengenerator 17 die
Startadresse der quantisierten Frequenzkoeffizienten in jedem Rahmen,
beispielsweise durch Addie ren von tausend zu der Summe der Längen der
vorhergehenden Rahmen. Der Leseadressengenerator 17 sendet an
den Halbleiterspeicher 14 diese Startadresse, die von Adressen
der restlichen quantisierten Frequenzkoeffizienten in diesem Rahmen
gefolgt wird, wodurch der Halbleiterspeicher 14 die quantisierten
Frequenzkoeffizienten 14 an den inversen Umsetzprozessor 19 ausgibt.
Unter Verwendung der in dem Bitzuordnungsinformationspuffer in dem
Rahmenlängenberechner 16 gespeicherten
Bitzuordnungsinformationen führt
der inverse Umsetzprozessor 19 eine Frequenzbereichs/Zeitbereichstransformation,
wie eine inverse diskrete Cosinustransformation durch, um die quantisierten
Frequenzkoeffizienten 18 in digitalisierte Audioabtastdaten
umzuwandeln.
-
Ein Ziel der Erfindung liegt darin,
das Audiosignal mit höherer
Geschwindigkeit als der Aufzeichnungsgeschwindigkeit zu reproduzieren.
Mit der Vorrichtung nach den 1 bis 6 kann dies durch Überspringen
von Rahmen, wie im folgenden beschrieben, durchgeführt werden.
-
In einem Modus wird jeder N-te Rahmen
gelesen, wobei N eine positive ganze Zahl ist. Wenn N gleich eins
ist, werden alle Rahmen des Audiosignals bei normaler Geschwindigkeit
reproduziert. Wenn N größer als
eins ist, werden Rahmen übersprungen und
das reproduzierte Signal wird schneller gemacht. Um beispielsweise
das reproduzierte Signal um den Faktor 5 schneller zu machen,
kann der Dekoder 24 die quantisierten Frequenzkoeffizienten 10 für jeden fünften Rahmen,
d.h. Rahmen eins, sechs, elf und die anderen Rahmen mit den durch
doppelte Kreise in 6 umgebenen
Rahmennummern lesen und dekodieren. Dies ermöglicht, daß beispielsweise eine Sprachnachricht
schneller gemacht wird, ohne ihre Frequenzkomponenten zu ändern, so
als ob der Sprecher sehr schnell aber in normaler Tonhöhe spricht.
Dieses Verfahren hängt
von der Eigenschaft ab, daß alle
Rahmen gleiche Zeitabschnitte darstellen.
-
Bei einem anderen Hochgeschwindigkeitsmodus überspringt
der Dekoder 24 alle Rahmen, die kürzer als eine gewisse Länge sind.
Diese Rahmen umfassen stille oder lautlose Rahmen, in denen alle Koeffizienten
der Frequenzkoeffizienten 6 unterhalb der Hörschwelle
liegen und in denen alle Bitzuordnungen null sind. Sie schließen auch
Rahmen mit nur Umgebungsgeräuschen
ein, in denen der mittlere Energiepegel in allen Frequenzsubbändern gering
ist und alle Bitzuordnungen sehr klein sind. Dieser Modus ist extrem
nützlich
zum Abspielen einer Aufzeichnung einer Versammlung oder einer Konversation, da
er nur diese Rahmen auswählt,
in denen die Teilnehmer gerade sprechen. Dieser Hochgeschwindigkeitsmodus
kann implementiert werden, indem der Leseadressengenerator 17 in 1 nur Adressen erzeugt,
wenn die Rahmenlängen
mindestens einen bestimmten minimalen Wert aufweist. Dieses Verfahren
hängt nicht
von der Eigenschaft ab, daß alle
Rahmen gleiche Zeitabschnitte darstellen.
-
Neben der Ermöglichung dieser Hochgeschwindigkeitswiedergabemoden
ermöglicht
die Aufzeichnung mit variabler Rahmenlänge, daß der Raum in dem Halbleiterspeicher
wirksam ausgenutzt wird.
-
In der 7 weist
ein modifiziertes System anstelle des Kodierers 23 einen
hierarchischen Kodierer 30 und anstelle des Dekodierers 24 einen
hierarchischen De kodierer 31 auf. Ein Adressenschalter 45 liefert
Adressen von entweder einem Schreibadressengenerator 46 oder
einem Leseadressengenerator 47 an den Halbleiterspeicher 14.
Ein Selektor 48 teilt dem hierarchischen Dekodierer 31 mit,
wieviel hierarchische Niveaus zu dekodieren sind auf der Basis eines
von einem Taktteiler 49 empfangenen Signals. Der Taktteiler 49 teilt
das Taktsignal von einem Taktgenerator 35, wodurch die
Wiedergabegeschwindigkeit gesteuert wird. Der Taktteiler 49 selbst wird
durch einen Geschwindigkeitsschalter 50 gesteuert, der
einen Aufwärtsschalter
zur Erhöhung
der Geschwindigkeit und einen Abwärtsschalter zum Verringern
der Geschwindigkeit umfaßt.
Der Taktteiler 49 liefert Ausgangstaktsignale an den hierarchischen
Dekodierer 31 und den Digital/Analogwandler 20,
wodurch die Geschwindigkeit gesteuert wird, bei der der hierarchische
Dekodierer digitalisierte Audiodaten ausgibt und der Digital/-Analogwandler 20 die digitalen
Audiodaten in analoge Signale umwandelt. Der Taktgenerator 35 liefert
auch Taktsignale an den hierarchischen Dekodierer 31 und
an andere Elemente in 7 für die Verwendung
von Rechenkreisen in diesen Elementen.
-
8 zeigt
schematisch das hierarchische Aufzeichnungsverfahren. Das ursprüngliche
Eingangssignal kann zuerst in drei Komponenten zerlegt werden: eine
nicht hörbare
Komponente, die unterhalb der Hörschwelle
liegt; eine Verdeckungskomponente, die Frequenzen umfaßt, die
durch stärkere Frequenzen
in benachbarten Subbändern
verdeckt werden; und eine hörbare
Komponente. Dieses ist im wesentlichen das gleiche Schema, das in
den 3 und 4 dargestellt wurde, wie
vorher wird nur die hörbare
Komponente aufgezeichnet.
-
Die hörbare Komponente wird weiterhin
in vier hierarchische Niveaus aufgeteilt, die durch die umkreisten
Zahlen von eins bis vier angezeigt werden. Die höchste Wiedergabegüte wird
durch Wiedergabe aller vier hierarchischer Niveaus erhalten. Eine
etwas geringere Wiedergabegüte
wird durch Wiedergabe von nur den ersten drei hierarchischen Niveaus
erhalten. Eine noch geringere Wiedergabegüte wird durch Wiedergabe nur
der ersten zwei hierarchischen Niveaus erhalten. Eine noch geringere, aber
noch erkennbare Wiedergabegüte
wird durch Wiedergabe nur des ersten hierarchischen Niveaus erhalten,
das durch die umkreiste Zahl eins angezeigt wird.
-
9 zeigt
die vier hierarchischen Niveaus in einer Kennlinie der Frequenz-Schalldruckpegel-Ebene,
wobei die Frequenz auf der horizontalen Achse und der Schalldruckpegel
auf der vertikalen Achse liegt. Die Hörschwellenkurve und die Verdeckungskurve
sind entsprechend 3 definiert,
wobei die Form der Verdeckungskurve abhängig von den Signaleigenschaften
variiert. Das erste hierarchische Niveau umfaßt Signalkomponenten, die oberhalb
dieser Kurven innerhalb der gekrümmten
Linie, die bei f1 endet, angeordnet sind.
Somit umfaßt
das erste hierarchische Niveau Komponenten, die eine Schalldruckpegelgrenze überschreitet,
die mit steigender Frequenz steigt und bei der Frequenz f1 im wesentlichen unendlich wird. In einer
nichttechnischen Sprache gesagt, umfaßt das erste hierarchische
Niveau laute Töne
niedriger Höhe.
-
Das zweite hierarchische Niveau umfaßt Komponenten,
die zwischen den bei f1 und bei f2 endenden gekrümmten Kurven liegen, wobei
Komponenten ausgeschlossen werden, die nicht hörbar oder verdeckt sind. Das
dritte hierarchische Niveau umfaßt Komponenten, die zwischen
den bei f2 und f3 endenden
gekrümmten
Kurven liegen, wobei gleichfalls nicht hörbare oder maskierte Komponenten
ausgeschlossen sind. Das vierte hierarchische Niveau umfaßt Komponenten,
die zwischen den bei f3 und f4 endenden
gekrümmten
Linien liegen, wobei wiederum die nichthörbaren oder verdeckten Komponenten ausgeschlossen
sind. Im Vergleich mit dem ersten hierarchischen Niveau umfassen
diese anderen hierarchischen Niveaus fortschreitend weichere Töne und fortschreitend
höhere
Töne.
-
Die Erfindung ist selbstverständlich nicht
auf vier hierarchische Niveaus begrenzt, die Anzahl der Niveaus
kann entweder mehr oder weniger als vier sein.
-
10 zeigt
einen möglichen
Aufbau des hierarchischen Kodierers 30 aus 7 und stellt das Aufzeichnungsschema
dar. Der hierarchische Kodierer 30 umfaßt ein Subband-Zerlegungsfilter 36,
einen Kantroller 37 für
die Blockabmessung, eine Mehrzahl von Orthogonaltransformationsprozessoren 38,
einen Frequenzgruppierer 39, einen hierarchischen Quantisierer 40,
einen Bitzuordner 41, einen Maßstabsfaktorgenerator 42 und
einen Formatierer 43.
-
Das Subbandzerlegungsfilter 36 ist
das digitale Äquivalent
zu einem analogen Filter: es teilt die ankommenden digitalisierten
Audiodaten in eine Vielzahl von Frequenzsubbändern, wobei es die Zeitbereichsdaten
in jedem Subband erzeugt. Der Kontroller 37 für die Blockabmessung
analysiert die Variationen in diesen Subbändern und wählt eine geeignete Blockabmessung
aus, wobei die Blockabmessung mit steigender Abweichung abnimmt.
Die Blöcke
der Audiodaten der ausgewählten
Abmessung werden in die Orthogonaltransformationsprozessoren 38 gegeben.
Die Blockabmessung ist für
jeden Orthogonaltransformationsprozessor 38 gleich, aber
sie variiert von Zeit zu Zeit abhängig von dem Inhalt des Audiosignals.
-
Jeder Orthogonaltransformationsprozessor 38 führt eine
modifizierte diskrete Cosinustransformation (MDCT) mit seinen Eingangsdaten
durch, wodurch die Signalkomponenten in einem Subband von dem Zeitbereich
in den Frequenzbereich transformiert wird. Die von jedem Orthogonaltransformationsprozessor 38 ausgegebenen
Frequenzkoeffizienten werden an den Frequenzgruppierer 39 geliefert.
-
Die modifizierte diskrete Cosinustransformation
gehört
zu der Klasse der orthogonalen Zeitbereichs-Frequenzbereichstransformationen,
aber die Erfindung ist nicht auf diese Transformation oder auf die
Klasse von Transformationen beschränkt. Andere Zeitbereichs-Frequenzbereichstransformationen können an
jeder Stelle verwendet werden.
-
Unter Ausnutzung des Vorteils des
Prinzips des kritischen Bandes der menschlischen Hörpsychologie
reduziert der Frequenzgruppierer 39 die von dem Orthogonaltransformationsprozessor 38 erhaltene
Koeffizientendatenmenge durch Gruppieren der Koeffizientendaten
und Kombinieren der gruppierten Koeffizienten in einzelne Werte.
Die Anzahl der so in einen einzigen Wert gruppierten Koeffizienten
erhöht sich
in höheren
Frequenzsubbändern,
in denen das menschliche Gehör
weniger scharf ist. Der Frequenzgruppierer 39 liefert die
resultierenden gruppierten Frequenzkoeffizienten an den hierarchischen Quantisierer 40,
den Bitzuordner 41 und den Maßstabsfaktorgenerator 42.
-
Der hierarchische Quantisierer 40 trennt
die von dem Frequenzgruppierer 39 erhaltenen Koeffizienten
in die vier hierarchischen Niveaus. Es wird wieder auf 9 Bezug genommen, und ein
Rechenschema beginnt mit dem Auswählen aller oberhalb und links
der bei fn endenden Kurve (n = 1, 2, 3 oder 4)
und oberhalb der die Hörschwelle
und den Verdeckungspegel darstellenden Kurve angeordneten Daten
für das
n-te hierarchische Niveau, dann werden die oberhalb und links von
der bei fn-1 endenden Kurve und oberhalb
der die Hörschwelle
und den Verdeckungspegel darstellenden Kurve angeordneten Daten
subtrahiert. Die ausgewählten
Daten werden für das
erste hierarchische Niveau so verwendet wie sie sind, ohne Subtraktion.
-
Der Bitzuordner 41 in 10 führt die gleiche Funktion aus
wie der Bitzuordner 7 in 1,
er ordnet unterschiedliche Bitanzahlen unterschiedlichen Subbändern zu
entsprechend dem Ausgangssignal der gruppierten Frequenzkoeffizienten
von dem Frequenzgruppierer 39. Der Maßstabsgenerator 42 ordnet
Maßstabsfaktoren
zu, so daß die
Daten in der Gleit-Form gespeichert werden können, wodurch kleine Werte
ohne den Verlust von signifikanten Bits gespeichert werden können. Der
Formatierer 43 skaliert und begrenzt die hierarchischen
Daten von dem hierarchischen Quantisierer 40 entsprechend
der Anzahl der von dem Bitzuordner 41 zugeordneten Bits und
der von dem Maßstabsfaktor 42 vorgesehenen Maßstabsfaktoren,
formatiert die Daten und liefert als Ausgangsdaten vier hierarchische
Niveaus von Frequenzdaten zusammen mit der Blockabmessunginformation,
der Bitzuordnungsinforma tion und der Maßstabsfaktorinformation, wodurch
ein Datenrahmen erzeugt wird.
-
Wenn zusätzliche Audiodaten empfangen werden,
wiederholt sich der vorbeschriebene Prozeß und die so erzeugten Datenrahmen
werden, wie im Konzept rechts in 10 gezeigt
wird, gespeichert. Ausgehend von der ursprünglichen Adresse werden zuerst
die vier hierarchischen Datenniveaus des ersten Rahmens gespeichert
und so weiter. Der Speicheradressengenerator 46 in 7 erzeugt die notwendigen
Speicheradressen und überwacht
ebenfalls die Adressen.
-
Während
der Wiedergabe kann der Anwender die Aufwärts-Abwärtsschalter in dem Geschwindigkeitsschalter 50 verwenden,
um die Wiedergabegeschwindigkeit zu steuern. Der Taktteiler 49 reagiert durch
Verändern
des Taktfrequenzteilungsverhältnisses.
Der Selektor 48 für
das hierarchische Niveau überwacht
dieses Frequenzteilungsverhältnis.
-
Der hierarchische Dekodierer 31 umfaßt beispielsweise
einen digitalen Signalprozessor, der so programmiert ist, daß er zu
den in dem hierarchischen Kodierer 30 Operationen inverse
Operationen durchführt.
Wenn die Aufzeichnung und Wiedergabe bei der gleichen Geschwindigkeit
durchgeführt
werden, kann der hierarchische Dekodierer 31 diese Operationen
schnell genug durchführen,
um alle vier hierarchischen Niveaus zu dekodieren, aber wenn die
Wiedergabegeschwindigkeit erhöht
wird, wird ein Punkt erreicht, bei dem der hierarchische Dekodierer 31 nicht
mehr mitkommt.
-
Der Selektor 48 für das hierarchische
Niveau berechnet aus dem Frequenzteilungsverhältnis des Takttei lers 49 die
maximale Anzahl der hierarchischen Niveaus, die der hierarchische
Dekodierer 31 bei der aktuellen Wiedergabegeschwindigkeit
dekodieren kann und informiert den hierarchischen Dekodierer 31,
damit dieser nur diese Anzahl von Niveaus dekodiert. In ähnlicher
Weise wird der Leseradressengenerator 47 durch den Taktteiler 49 von
dem Frequenzteilungsverhältnis
benachrichtigt, der Speicheradressen nur für Daten auf den geeigneten
hierarchischen Niveaus erzeugt.
-
11 stellt
das neue Wiedergabeschema für
den Fall der Normalgeschwindigkeit und der Doppelgeschwindigkeitswiedergabe
dar. Bei normaler Geschwindigkeit gibt der hierarchische Dekodierer 31 einen
Rahmen der Audiodaten aus, während
er die vier hierarchischen Niveaus des nächsten Rahmens liest und dekodiert.
Bei der doppelten Geschwindigkeit werden die Rahmen des hierarchischen
Dekoders 31 zweimal so schnell ausgegeben und der hierarchische
Dekodierer 31 hätte
nicht mehr die Zeit, die vier hierarchischen Niveaus in der zur Ausgabe
eines Rahmens benötigten
Zeit zu dekodieren. Somit instruiert der Taktteiler 49 den
hierarchischen Dekodierer 31 dahingehend, nur zwei hierarchische
Niveaus zu dekodieren, wie unten in der Zeichnung dargestellt ist.
-
Der Hochgeschwindigkeitswiedergabemodus
nach den 7 und 11 verschiebt die Frequenzkomponenten
des Ausgangssignals. Beispielsweise wird ein 5 kHz Frequenzkomponente
des originalen Signals eine 10 kHz Komponente, wenn es bei der doppelten
Geschwindigkeit zurückgespielt
wird, eine 10 kHz Komponente wird eine 20 kHz Komponente. Bei 10
kHz ist die Schwelle der Hörbarkeit
so hoch, daß im
wesentli chen alle Frequenzen über
10 kHz normalerweise außerhalb
des Hörbereichs
liegen.
-
Viele der Daten in dem dritten und
vierten hierarchischen Niveau betreffen Hochfrequenzkomponenten,
die außerhalb
des Hörbereichs
verschoben sind. Diese hierarchischen Niveaus können daher mit geringem Verlust
an Wiedergabegüte
weggelassen werden. Das Verfahren nach 11 ist somit sehr gut für diese
Art der Hochgeschwindigkeitswiedergabe geeignet. Darüber hinaus
ermöglicht
es eine Hochgeschwindigkeitswiedergabe, die mit einer Prozessor-Hardware
für die
Standardgeschwindigkeit realisiert werden kann und nicht die kostenaufwendigere
Hochgeschwindigkeits-Hardware benötigt.