-
Diese
Erfindung betrifft generell die Codierung von Audiodaten.
-
Die
Implementierung eines effektiven und effizienten Verfahrens zum
Codieren von Audiodaten ist für
Entwickler, Hersteller und Benutzer derzeitiger elektronischer Systeme
oft von beträchtlicher
Bedeutung. Die Entwicklung moderner Audiotechnologie bzw. -technik
hat bei komplizierten Hochleistungs-Audiocodierungsverfahren entsprechende Verbesserungen
notwendig gemacht. Beispielsweise erfordert das Hervorkommen aufzeichnungsfähiger Audio-CD-Einrichtungen (CD
= compact-disk (Compaktdisk)) typischerweise ein Codierer-Decodierer-System
(CodeC-System) zum Empfang und Codieren von Quellenaudiodaten in
ein Format (wie beispielsweise MPEG), das dann auf geeignete Medien, welche
die CD-Einrichtung benutzen, aufgezeichnet werden kann.
-
Viele
Abschnitte des Audiocodierungsprozesses werden strikten technologischen
bzw. technischen Standards unterworfen, die Systemdesignern nicht
ermöglichen,
die Datenformate oder Codierungstechniken zu variieren. Andere Segmente
des Audiocodierungsprozesses dürfen
nicht geändert werden,
da die codierten Audiodaten an gewisse Spezifikationen angepasst
sein müssen,
so dass eine standardisierte Decodierereinrichtung die codierten
Audiodaten erfolgreich decodieren kann. Diese vorhergehendenden
Beschränkungen
erzeugen wesentliche Einschränkungen
für Systementwickler, welche
die Leistung bzw. Funktionsfähigkeit
einer Audiocodierereinrichtung zu verbessern wünschen.
-
Ein
oberstes Ziel der meisten Audiocodierungssysteme ist, die Quellenaudiodaten
in ein geeignetes und vorteilhaftes Format zu codieren, ohne dass
irgendwelche Tonartefakte, die vom Audiocodierungsprozess erzeugt
werden, eingebracht werden. In anderen Worten muss ein Audiodecodierer fähig sein,
die codierten Audiodaten für
eine transparente Wiedergabe durch ein Audiowiedergabesystem ohne
Einbringen irgendwelcher Tonartefakte, die vom Codierungs- und Decodierungsprozess
erzeugt werden, zu decodieren.
-
Digitale
Audiocodierer verarbeiten und komprimieren typischerweise sequentielle
Einheiten von Audiodaten, die als „Rahmen" („frames") bezeichnet werden.
Ein besonders unangenehmer Tonartefakt, der als „Diskontinuität" („discontinuity”) bezeichnet wird,
kann erzeugt werden, wenn sukzessive Rahmen von Audiodaten mit nicht
gleichmäßigen Amplituden-
oder Frequenzkomponenten codiert werden. Die Diskontinuitäten werden
beim Decodieren der codierten Audiodaten und Wiedergeben von einem Audiowiedergabesystem
immer vom menschlichen Ohr leicht wahrgenommen.
-
Außerdem muss
der Audiocodierer zum effektiven Codieren von Audiodaten den Frequenzkomponenten
der Audiodaten eine endliche Anzahl von Binärzeichen (Bits) zuordnen, so
dass der Codierungsprozess eine optimale Darstellung der Quellenaudiodaten
erzielt. Eine effiziente Bitzuordnungstechnik, die Diskontinuitätsartefakte
verhindert, würde
auf diese Weise beträchtliche
Vorteile bei einer Audiodecodierereinrichtung haben. Deshalb ist
aus all den vorhergehenden Gründe
ein verbessertes System und Verfahren zur Verhinderung von Artefakten
in einer Audiocodierereinrichtung notwendig.
-
Die
vorliegende Erfindung stellt eine Audiodatencodierungseinrichtung
und ein Audiodatencodierungsverfahren gemäß den Ansprüchen 1 und 16 bereit, deren
Oberbegriffe auf der Offenbarung des US-Patens Nr.
US-A-5 732 391 basieren.
-
Gemäß Ausführungsformen
der unten beschriebenen vorliegenden Erfindung sind ein System und
ein Verfahren zur Verhinderung von Artefakten in einer Audiodatencodierereinrichtung
offenbart. Bei einer Ausführungsform
der vorliegenden Erfindung teilt eine Codiererfilterbank anfänglich Rahmen
empfangener Quellenaudiodaten in Frequenzteilbänder. Bei der bevorzugten Ausführungsform
erzeugt die Filterbank vorzugsweise zweiunddreißig diskrete Teilbänder pro
Rahmen und stellt dann die Teilbänder einem
Bitzuordner bereit.
-
Ein
psychoakustischer Modellierer empfängt auch die Quellenaudiodaten,
um reagierend Signal-zu-Maskierungs-Verhältnisse (SMRs (signal-to-masking
ratios)) zu bestimmen und dann die SMRs dem Bitzuordner bereitzustellen.
Als nächstes identifiziert
der Bitzuordner die von der Filterbank empfangenen Anfangsrahmen
von Teilbändern
und ordnet dann eine endliche Anzahl verfügbarer Zuordnungsbits ausgewählten Teilbändern der
Anfangsrahmen unter Benutzung eines Bitzuordnungsprozesses zu. Der
Bitzuordner geht dann durch Vorwärtsbewegen
eines einzelnen Rahmens zu einem neuen laufenden Rahmen weiter,
um bei einem von der Filterbank bereitgestellten nächsten Rahmen
von Teilbändern
anzukommen.
-
Als
nächstes
prüft der
Bitzuordner einen neuen laufenden Rahmen auf die Präsenz eines
signifikanten Ereignisses. Bei der bevorzugten Ausführungsform
detektiert der Bitzuordner ein signifikantes Ereignis, wenn immer
die Differenz in Signal-zu-Maskierungs-Verhältnissen sukzessiver Rahmen
(der laufende Rahmen und der unmittelbar vorhergehende Rahmen) einen
auswählbaren
Schwellenwert überschreitet.
Andere Kriterien zur Bestimmung eines signifikanten Ereignisses
sind in gleicher Weise zur Benutzung bei der vorliegenden Erfindung
ins Auge gefasst.
-
Wenn
der Bitzuordner ein signifikantes Ereignis im laufenden Rahmen detektiert,
führt der
Bitzuordner den oben bezeichneten Bitzuordnungsprozess aus. Wenn
jedoch der Bitzuordner ein signifikantes Ereignis im laufenden Rahmen
nicht detektiert, führt
der Bitzuordner eine Präbitzuordnungsprozedur
aus, um ein für
den laufenden Rahmen eingestelltes Anfangsteilband zu bilden. Bei
einer Ausführungsform
ordnet der Bitzuordner vorzugsweise ein einzelnes Bit pro Sample
(aus den verfügbaren
Zuordnungsbits) jedem Teilband, dem im unmittelbar vorhergehenden
Rahmen Bits zugeordnet wurden, vorher zu, um das für den laufenden
Rahmen eingestellte Anfangsteilband zu bilden.
-
Dann
führt der
Bitzuordner den vorhergehenden Bitzuordnungsprozess durch Zuordnen
eines einzelnen Bits pro Sample aus den verfügbaren Zuordnungsbits zum Teilband
(aus dem eingestellten Anfangsteilband) mit dem höchsten SMR
aus. Als nächstes
subtrahiert der Bitzuordner vom Teilband mit dem höchsten SMR,
dem gerade das einzelne Bit zugeordnet wurde, sechs Dezibel. Der
Bitzuordner bestimmt dann, ob irgendwelche verfügbaren Zuordnungsbits bleiben.
-
Wenn
verfügbare
Zuordnungsbits bleiben, fährt
der Bitzuordner fort, den Bitzuordnungsprozess für den laufenden Rahmen auszuführen. Wenn
jedoch keine verfügbaren
Zuordnungsbits bleiben, bestimmt der Bitzuordner, ob irgendwelche
nicht verarbeiteten Rahmen von gefilterten Audiodaten bleiben. Wenn
Rahmen von gefilterten Audiodaten nicht verarbeitet bleiben, kehrt
der Bitzuordner zum Verarbeiten eines anderen Rahmens von gefilterten
Audiodaten zurück.
Wenn jedoch keine Rahmen von Audiodaten bleiben, hat der Bitzuordner
die Zuordnung von Bits zu den Audiodaten vollendet, und der vorhergehende
Bitzuordnungsprozess endet. Die vorliegende Erfindung führt auf
diese Weise effizient und effektiv eine Teilbandforcierungsstrategie
zum Implementieren eines Systems und Verfahrens zur Verhinderung von
Artefakten in einer Audiodatencodierereinrichtung aus.
-
Ausführungsformen
der Erfindung werden nun mittels eines illustrativen Beispiels anhand
der beigefügten
Zeichnungen beschrieben, in denen:
-
1 ein
Blockdiagramm für
eine Ausführungsform
eines Codierer-Decodierer-Systems
gemäß der vorliegenden
Erfindung ist;
-
2 ein
Blockdiagramm für
eine Ausführungsform
der Codiererfilterbank nach 1 gemäß der vorliegenden
Erfindung ist;
-
3 eine
grafische Darstellung für
eine Ausführungsform
von exemplarischen Maskierungsschwellen entsprechend der vorliegenden
Erfindung ist;
-
4 eine
grafische Darstellung für
eine Ausführungsform
von exemplarischen Signal-zu-Maskierungs-Verhältnissen gemäß der vorliegenden
Erfindung ist;
-
5(a) eine Zeichnung für eine Ausführungsform einer Signalenergie
ohne Diskontinuitäten gemäß der vorliegenden
Erfindung ist;
-
5(b) eine Zeichnung für eine Ausführungsform einer Diskontinuitäten aufweisenden
Signalenergie gemäß der vorliegenden
Erfindung ist;
-
6 eine
grafische Darstellung einer Ausführungsform
für eine
exemplarische Teilbanderzwingungsstrategie gemäß der vorliegenden Erfindung ist;
und
-
7 ein
Flussdiagramm von Verfahrensschritten für eine Ausführungsform eines Systems und
eines Verfahrens zur Verhinderung von Artefakten in einer Audiodatencodierereinrichtung
gemäß der vorliegenden
Erfindung ist.
-
Die
vorliegende Erfindung betrifft eine Verbesserung bei Signalverarbeitungssystemen.
Die folgende Beschreibung ist präsentiert,
um einen Durchschnittsfachmann zu befähigen, Gebrauch von der Erfindung
zu machen, und ist im Kontext einer Patentanmeldung und ihren Erfordernissen
bereitgestellt. Unterschiedliche Modifikationen der bevorzugten Ausführungsform
erkennt der Fachmann leicht, und die generellen Prinzipien hier
können
bei anderen Ausführungsformen
angewendet werden. Infolgedessen ist nicht beabsichtigt, dass die
vorliegende Erfindung auf die gezeigte Ausführungsform beschränkt ist,
sondern mit dem breitesten Rahmen, der mit den hier beschriebenen
Prinzipien und Merkmalen im Einklang steht, übereinstimmen muss.
-
Die
vorliegende Erfindung umfasst ein System und Verfahren zur Verhinderung
von Artefakten in einer Audiodatencodierereinrichtung, die eine
Filterbank zur Filterung von Quellenaudiodaten zur Erzeugung von
Frequenzteilbändern,
einen psychoakustischen Modellierer zur Berechnung von Signal-zu-Maskierungs-Verhältnissen
von den Quellenaudiodaten und einen Bitzuordner zur Benutzung der Signal-zu-Maskierungs-Verhältnisse
zur Zuordnung einer endlichen Anzahl von Zuordnungsbits zur Darstellung
der Frequenzteilbänder
aufweist. Bei Abwesenheit eines definierten signifikanten Ereignisses führt der
Bitzuordner eine Teilbanderzwingungsstrategie aus, die eine Präbitzuordnungsprozedur
zur Verhinderung von Artefakten oder Diskontinuitäten in den
codierten Audiodaten aufweist.
-
In 1 ist
ein Blockdiagramm für
eine Ausführungsform
eines Codierers-Decodierers
(Codec) 110 gemäß der vorliegenden
Erfindung gezeigt. Bei der Ausführungsform
nach 1 weist der Codec 110 einen Codierer 112 und
einen Decodierer 114 auf. Der Codierer 112 weist
vorzugsweise eine Filterbank 118, einen psychoakustischen
Modellierer (PAM (psycho-acoustic modeler)) 126, einen
Bitzuordner 122, einen Quantisierer 132 und einen
Bitstrompacker 136 auf. Der Decodierer 114 weist
vorzugsweise einen Bitstromentpacker 144, einen Endquantisierer 148 und
eine Filterbank 152 auf.
-
Bei
der Ausführungsform
nach 1 arbeiten der Codierer 112 und Decodierer 114 vorzugsweise
in Reaktion auf einen als ein Audiomanager bezeichneten Satz von
Programminstruktionen, der von einer Prozessoreinrichtung (nicht
gezeigt) ausgeführt wird.
Bei alternativen Ausführungsformen
können
der Codierer 112 und Decodierer 114 unter Benutzung geeigneter
Hardwarekonfigurationen implementiert und gesteuert werden. Bei
der Ausführungsform nach 1 werden
insbesondere eine Codierung und Decodierung digitaler Audiodaten
beschrieben.
-
Während einer
Codierungsoperation empfängt
der Codierer 112 von irgendeiner kompatiblen Audioquelle über einen
Pfad 116 Quellenaudiodaten. Bei der Ausführungsform
nach 1 weisen die Quellenaudiodaten auf dem Pfad 116 digitale
Audiodaten auf, die vorzugsweise in einem LPCM-Format (LPCM = linear
pulse code modulation (lineare Impulscodemodulation)) formatiert
sind. Der Codierer 112 verarbeitet vorzugsweise digitale
16-Bit-Samples der Quellenaudiodaten in als „Rahmen" („frames") bezeichneten Einheiten.
Bei der bevorzugten Ausführungsform
umfasst jeder Rahmen 1152 Samples (Abtastungen).
-
In
der Praxis empfängt
und separiert die Filterbank 118 die Quellenaudiodaten
in einen Satz aus diskreten Frequenzteilbändern, um gefilterte Audiodaten
zu erzeugen. Bei der Ausführungsform
nach 1 weisen die gefilterten Audiodaten aus der Filterbank 118 vorzugsweise
32 einzelne und separate Frequenzteilbänder auf. Die Filterbank 118 stellt dann
die gefilterten Audiodaten (Teilbänder) über einen Pfad 120 dem Bitzuordner 122 bereit.
-
Der
Bitzuordner 122 greift dann über einen Pfad 128 auf
relevante Information aus dem PAM 126 zu und erzeugt reagierend über einen
Pfad 130 zugeordnete Audiodaten für den Quantisierer 132.
Der Bitzuordner 122 erzeugt die zugeordneten Audiodaten durch
Zuordnen von Binärzeichen
(Bits), um das in den von der Filterbank 118 empfangenen
ausgewählten
Teilbändern
enthaltene Signal darzustellen. Die Funktionalität des PAM 126 und
Bitzuordners 122 werden unten in Verbindung mit den 2-7 beschrieben.
-
Als
nächstes
komprimiert und codiert der Quantisierer 132 die zugeordneten
Audiodaten, um über
einen Pfad 134 quantisierte Audiodaten für den Bitstrompacker 136 zu
erzeugen. Der Bitstrompacker 136 packt reagierend die quantisierten
Audiodaten, um codierte Audiodaten zu erzeugen, die dann über einen
Pfad 138 einer Audioeinrichtung (wie beispielsweise einer
aufzeichnungsfähigen
CD-Einrichtung oder einem Computersystem) bereitgestellt werden können.
-
Während einer
Decodierungsoperation werden einem Bitstromentpacker 144 von
einer Audioeinrichtung über
einen Pfad 140 codierte Audiodaten bereitgestellt. Der
Bitstromentpacker 144 entpackt reagierend die codierten
Audiodaten, um über
einen Pfad 146 quantisierte Audiodaten für einen
Entquantisierer 148 zu erzeugen. Der Entquantisierer 148 entquantisiert
dann die quantisierten Audiodaten, um über einen Pfad 150 entquantisierte
Audiodaten für eine
Filterbank 152 zu erzeugen. Die Filterbank 152 filtert
reagierend die entquantisierten Audiodaten, um über einen Pfad 154 decodierte
Audiodaten für
ein Audiowiedergabesystem (nicht gezeigt) zu erzeugen und bereitzustellen.
-
In 2 ist
ein Blockdiagramm für
eine Ausführungsform
der Codiererfilterbank 118 gemäß der vorliegenden Erfindung
gezeigt. Bei der Ausführungsform
nach 2 empfängt
die Filterbank 118 über
einen Pfad 116 Quellenaudiodaten von einer kompatiblen
Audioquelle. Die Filterbank 118 teilt dann reagierend die
empfangenen Quellenaudiodaten in eine Reihe von Frequenzteilbändern, die
jeweils dem Bitzuordner 122 bereitgestellt werden. Die Ausführungsform
nach 2 erzeugt vorzugsweise zweiunddreißig Teilbänder 120(a) bis 120(h),
jedoch kann die Filterbank 118 bei alternativen Ausführungsformen
leicht eine größere oder
kleinere Anzahl von Teilbändern
ausgeben.
-
In 3 ist
eine grafische Darstellung 310 für eine Ausführungsform von exemplarischen
Maskierungsschwellen entsprechend der vorliegenden Erfindung gezeigt.
Die grafische Darstellung 310 zeigt auf einer vertikalen
Achse 312 Audiodatensignalenergie an und zeigt auch auf
einer horizontalen Achse 314 eine Reihe von Frequenzteilbändern an. Die
grafische Darstellung 310 ist bereitgestellt, um Prinzipien
der vorliegenden Erfindung zu illustrieren, und deshalb sind die
in der grafischen Darstellung 310 gezeigten Werte nur als
Beispiele beabsichtigt. Die vorliegende Erfindung kann folglich
leicht mit Betriebswerten anders als die in der grafischen Darstellung 310 nach 3 gezeigten
arbeiten.
-
In 3 weist
die grafische Darstellung 310 die Teilbänder 1 (316) bis 6
(326) und die Maskierungsschwellen 328, die sich
für jedes
Teilband nach 3 ändern, auf. Der Bitzuordner 122 empfängt von
der Filterbank 118 vorzugsweise die Teilbänder 1 (316)
bis 6 (326) und empfängt
auch die Maskierungsschwellen 328 vom psychoakustischen
Modellierer 126. Beim Betrieb empfängt der psychoakustische Modellierer
(PAM) 126 die Quellenaudiodaten Rahmen-um-Rahmen und benutzt
dann Charakteristiken des menschlichen Gehörs zur Erzeugung der Maskierungsschwellen 328.
Experimente haben ergeben, dass das menschliche Gehör gewisse
Töne niedriger
Energie nicht detektieren kann, wenn die Töne niedriger Energie in der
Frequenz nahe bei einem Ton höherer
Energie sind.
-
Beispielsweise
weist das Teilband 3 (320) einen 60 db-Ton 332,
einen 30 db-Ton 334 und
eine Maskierungsschwelle 330 von 36 db auf. Der 30 db-Ton 334 fällt unter
die Maskierungsschwelle 330 und ist deshalb aufgrund des
Maskierungseffekts des 60 db-Tons 332 vom menschlichen
Ohr nicht detektierbar. In der Praxis kann der Codierer 112 auf
diese Weise alle Töne,
die unter die Maskierungsschwellen 328 fallen, fallenlassen,
um vorteilhafter Weise die Menge von Audiodaten zu reduzieren und
den Codierungsprozess zu beschleunigen.
-
Der
psychoakustische Modellierer (PAM)
126 benutzt im Frequenzbereich
die Signalenergiepegel von den Quellenaudiodaten, um die Maskierungsschwellen
328 zu
berechnen. Der PAM
126 kann zum Ableiten der Maskierungsschwellen
328 unterschiedliche
Berechnungsverfahren benutzen. Beispielsweise kann der PAM
126 herkömmliche Maskierungsschwellen
abwechselnd erzeugen, für jedes
Teilband eine mittlere Maskierungsschwelle berechnen, eine feste
Maskierungsschwelle benutzen oder spezielle Maskierungsschwellen,
die zur Verbesserung der Arbeitsweise des Codierers
112 aufgebaut
sind, erzeugen. Die Berechnung von Maskierungsschwellen ist in der
mitanhängigen
US-Patentanmeldung Seriennummer
09/128 924 , betitelt mit „System And Method For Implementing
A Refined Psycho-Acoustic Modeler", angemelder am 4. August 1998, und
in der mitanhängigen
US-Patentanmeldung, Seriennummer
09/150 117 , betitelt mit „System And Method For Efficiently
Implementing A Masking Function in A Psycho-Acoustic Modeler", angemeldet am 9.
September 1998, die hiermit durch Referenz inkorporiert sind, beschrieben.
-
Der
PAM 126 kann dann eine Reihe von Signal-zu-Maskierungs-Verhältnissen
(SMRs) durch Teilen der Signalenergien der Teilbänder durch die korrespondierenden
Maskierungsschwellen 328 berechnen. Schließlich stellt
der PAM 126 über
den Pfad 128 die berechneten SMRs dem Bitzuordner 122 bereit,
so dass der Bitzuordner 122 einen effizienten Bitzuordnungsprozess
zum Zuordnen verfügbarer
Zuordnungsbits zu den unterschiedlichen Teilbändern entsprechend der vorliegenden
Erfindung ausführen kann.
-
In
der 4 ist nun eine grafische Darstellung 410 für eine Ausführungsform
exemplarischer Signal-zu-Maskierungs-Verhältnisse (SMRs) gemäß der vorliegenden
Erfindung gezeigt. Die grafische Darstellung 410 zeigt
SMR-Werte auf einer vertikalen Achse 412 an und zeigt auch
eine Reihe von Frequenzteilbändern
auf einer horizontalen Achse 414 an. Die grafische Darstellung 410 ist
zum Darstellen der Prinzipien der vorliegenden Erfindung präsentiert,
und deshalb sind die in der grafischen Darstellung 410 gezeigten
Werte nur als Beispiele gedacht. Die vorliegende Erfindung kann
infolgedessen leicht mit Betriebswerten anders als die in der grafischen Darstellung 410 nach 4 präsentierten
arbeiten.
-
Nach 4 weist
die grafische Darstellung 410 die Teilbänder 1 (416) bis 6
(426) und SMR-Werte 428, die sich für jedes
Teilband nach 4 ändern, auf. Beim Betrieb stellt
der psychoakustische Modellierer (PAM) 126 die SMR-Werte
für jedes
Teilband dem Bitzuordner 122 bereit, der dann reagierend
die gefilterten Audiodaten durch Ausführen eines Bitzuordnungsprozesses
zur Zuordnung einer endlichen Anzahl verfügbarer Zuordnungsbits zu den
Frequenzteilbändern
in zugeordnete Audiodaten umsetzt. Beispielsweise kann der Bitzuordner 122 die totale
Anzahl verfügbarer
Zuordnungsbits durch Teilen der Bitrate durch die Samplerate und
dann Multiplizieren mit der Rahmengröße bestimmen. Bei einer Ausführungsform
der vorliegenden Erfindung beträgt die
Bitrate vorzugsweise 256.000 Bits pro Sekunde und beträgt die Abtastrate
48 Kilohertz. Wenn die Rahmengröße 1152
Bits pro Rahmen beträgt,
dann kann deshalb die totale Anzahl verfügbarer Zuordnungsbits zu 6144
Bits pro Rahmen berechnet werden.
-
In
anderen Worten muss der Bitzuordner 122 eine endliche Anzahl
verfügbarer
Bits effizient zuordnen, um eine optimale Darstellung der von der
Filterbank 118 als gefilterte Audiodaten empfangenen Teilbänder zu
erzielen. Der Bitzuordner 122 kann die verfügbaren Bits
unter Benutzung verschiedener Zuordnungsverfahren wie beispielsweise
Zuordnen von Bits zu gewissen Frequenzbändern auf einer Prioritätsbasis
oder Zuordnen von Bits proportional zur relativen Signalenergie
der Teilbänder
zuordnen. Bei der bevorzugten Ausführungsform ordnet der Bitzuordner 122 die
verfügbaren
Bits unter Benutzung einer auf den vom psychoakustischen Modellierer 126 empfangenen
Teilband-SMRs basierten Technik zu.
-
In
der Praxis lokalisiert der Bitzuordner 122 anfänglich ein
das größte SMR
aufweisendes Maximumteilband, ordnet diesem Maximumteilband ein einzelnes
Bit pro Sample zu und subtrahiert dann 6 db vom Maximumteilband,
dem gerade das einzelne Bit zugeordnet wurde. Der Bitzuordner 122 fährt dann fort,
einzelne Bits wiederholt zuzuordnen und stellt den Dezibelwert des
laufenden Maximumteilbandes ein, bis keine verfügbaren Bits bleiben.
-
Beispielsweise
weist in der grafischen Darstellung 410 nach 4 das
Teilband 5 (424) das größte SMR 430 (76
db) auf. Der Bitzuordner 122 ordnet deshalb anfangs dem
Teilband 5 (424) ein einzelnes Bit zu und subtrahiert dann
6 db vom SMR von 76 db um ein eingestelltes SMR von 70 db zu erzielen.
Da das Teilband 5 (424) noch das größte SMR (70 db) aufweist, ordnet
dann der Bitzuordner 122 dem Teilband 5 (424)
ein zweites Bit zu und subtrahiert andere 6 db vom eingestellten
SMR von 70 db, um ein eingestelltes SMR von 64 db zu erzielen. Da das
Teilband 5 (424) wiederum noch das größte SMR (64 db) aufweist, ordnet
der Bitzuordner 122 dem Teilband 5 (424) ein drittes
Bit zu und subtrahiert andere 6 db vom eingestellten SMR von 64
db, um ein eingestelltes SMR von 58 db zu erzielen. Das Teilband
1 (416) wird dann das Teilband, welches das größte SMR
(60 db) aufweist, so dass der Bitzuordner 122 zum Teilband
1 (416) wechselt, um den vorhergehenden Bitzuordnungs-
und Pegeleinstellungsprozess fortzusetzen. Der Bitzuordner 122 fährt fort, das
Teilband mit dem größten SMR
zu suchen und ordnet wiederholt Bits zu, bis alle verfügbaren Bits ausgewählten Teilbändern zugeordnet
worden sind, um zugeordnete Audiodaten zu erzeugen. Der Bitzuordner 122 stellt
dann die zugeordneten Audiodaten dem Quantisierer 132 bereit.
-
In 5(a) ist nun eine Zeichnung für eine einzelne Ausführungsform
einer Signalenergie 510 ohne Diskontinuitäten gemäß der vorliegenden
Erfindung gezeigt. 5(a) ist präsentiert, um Prinzipien der
vorliegenden Erfindung darzustellen, und deshalb ist die Signalenergie 510 nur
als ein Beispiel gedacht. Die vorliegende Erfindung kann infolgedessen leicht
mit Signalenergien anders als die in 5(a) präsentierten
arbeiten.
-
Bei
der Ausführungsform
nach 5(a) umfasst die Signalenergie 510 einen
Rahmen 1 (514), einen Rahmen 2 (516) und einen
Rahmen 3 (518) die dem Bitzuordner 122 von der
Filterbank 118 bereitgestellte gefilterte Audiodaten darstellen.
In 5(a) weisen die Rahmen 514 bis 518 jeweils
alle von der Filterbank 118 erzeugten Teilbänder auf
und deshalb ist die Amplitude der Rahmen 514 bis 518 relativ
stabil (ohne Diskontinuitäten).
-
In 5(b) ist nun eine Zeichnung für eine einzelne Ausführungsform
einer Diskontinuitäten
aufweisenden Signalenergie 512 gemäß der vorliegenden Erfindung
gezeigt. 5(b) ist zum Darstellen der
Prinzipien der vorliegenden Erfindung präsentiert und deshalb ist die
Signalenergie 512 nur als ein Beispiel gedacht. Die vorliegende
Erfindung kann infolgedessen leicht mit Signalenergien anders als
die in 5(b) präsentierten arbeiten.
-
Bei
der Ausführungsform
nach 5(b) weist die Signalenergie 512 einen
Rahmen 1 (520), einen Rahmen 2 (522) und einen
Rahmen 3 (524) auf, die vom Bitzuordner 122 und
Quantisierer 132 bereitgestellte zugeordnete Audiodaten
darstellen. In 5(b) umfassen aufgrund der endlichen
Anzahl verfügbarer
Zuordnungsbits die Rahmen 520 bis 524 typischerweise
nicht alle von der Filterbank 118 erzeugten Teilbänder, und
deshalb sind die Amplituden der Rahmen 1 bis 3 (520 bis 524)
von den korrespondierenden Rahmen 1 bis 3 (514 bis 518)
nach 5(a) signifikant unterschiedlich.
-
Beispielsweise
ist die Signalenergie des Rahmens 2 (522) im Vergleich
zum vorhergehenden Rahmen 1 (520) wesentlich reduziert.
Eine erweiterte Folge von Variationen in der Signalenergie (und
diesbezüglicher
Frequenzkomponenten) wie beispielsweise die im Rahmen 2 (522)
gezeigte wirkt, um unangenehme Tonartefakte oder Diskontinuitäten zu erzeugen,
wenn die Audiodaten durch ein Audiowiedergabesystem wiedergegeben
werden. Eine Kompensation solcher Tonartefakte wird unten in Verbindung
mit den 6 und 7 weiter
beschrieben.
-
In 6 ist
nun eine grafische Darstellung 610 einer Ausführungsform
für eine
exemplarische Teilbanderzwingungsstrategie gemäß der vorliegenden Erfindung
gezeigt. Die grafische Darstellung 610 zeigt die Anzahl
von vom Bitzuordner 122 zugeordneten Teilbändern auf
einer vertikalen Achse 612 an und zeigt auch eine Folge
von Audiodatenrahmen auf einer horizontalen Achse 614 an.
Die grafische Darstellung 610 ist zum Darstellen der Prinzipien
der vorliegenden Erfindung präsentiert,
und deshalb sind die in der grafischen Darstellung 610 gezeigten
Werte nur als ein Beispiel gedacht. Die Teilbanderzwingungsstrategie
nach der vorliegenden Erfindung kann infolgedessen mit Betriebswerten
anders als die in der grafischen Darstellung 610 nach 6 präsentierten
leicht arbeiten.
-
In 6 weist
die grafische Darstellung 610 die Rahmen 1 (616)
bis 6 (626) auf, und die totale Anzahl zugeordneter Teilbänder 628 (die
sich für
jeden Rahmen nach 6 ändern) auf. Beim Betrieb führt der
Bitzuordner 122 die Teilbanderzwingungsstrategie nach 6 durch
anfängliches
Berechnen der Anzahl von Teilbändern
im Rahmen 1 (616) unter Benutzung des oben in Verbindung
mit 4 beschriebenen Bitzuordnungsprozesses aus. Beispielsweise ordnet
bei 6 der Bitzuordner 122 verfügbare Bits zu,
was in 16 Teilbändern 630 für den Rahmen
1 (616) resultiert.
-
Der
Bitzuordner 122 analysiert dann den Rahmen 2 (618)
bezüglich
eines signifikanten Ereignisses. Der Bitzuordner 122 kann
ein signifikantes Ereignis unter Benutzung aller gewünschten
und geeigneten Kriterien bestimmen. Beispielsweise kann die Differenz
einer totalen Signalenergie in sukzessiven Rahmen mit einem Schwellenwert
verglichen werden. Bei der bevorzugten Ausführungsform detektiert der Bitzuordner 122 ein
signifikantes Ereignis immer, wenn die Differenz in den SMRs sukzessiver Rahmen
größer als
ein auswählbarer
Schwellenwert ist.
-
Beim
Beispiel nach 6 weist der Rahmen 2 (618)
kein signifikantes Ereignis auf. Der Bitzuordner 122 führt deshalb
eine Präbitzuordnungsprozedur
aus, um wesentliche Änderungen
in der totalen Anzahl von dem Rahmen 2 (618) zugeordneten
Teilbändern
zu vermeiden. Bei der Präbitzuordnungsprozedur
ordnet der Bitzuordner 122 vorzugsweise jedem der Teilbänder, die
im vorhergehenden Rahmen enthalten waren (hier sechzehn Teilbänder 630 des Rahmens
1 (616)), ein einzelnes Bit zu, um einen für den laufenden
Rahmen 2 (618) eingestelltes Anfangsteilbandsatz zu bilden.
Bei anderen Ausführungsformen
kann der Bitzuordner eine größere Anzahl
oder einen Prozentsatz der verfügbaren
Zuordnungsbits ähnlich
zuordnen. Bei der Abwesenheit eines signifikanten Ereignisses stabilisiert
auf diese Weise die Präbitzuordnungsprozedur
die Anzahl von Teilbändern
in sukzessiven Rahmen. Der Bitzuordner 122 ordnet dann
die verbleibenden verfügbaren
Bits dem Anfangsteilbandsatz des laufenden Rahmens 2 (618)
unter Benutzung der oben in Verbindung mit 4 beschriebenen
Präbitzuordnungsprozedur
zu.
-
In
dem Fall, dass der Bitzuordner 122 ein signifikantes Ereignis
detektiert, wird keine Präbitzuordnungsprozedur
ausgeführt,
und der Bitzuordner 122 ordnet alle verfügbaren Bits
unter Benutzung der oben in Verbindung mit 4 beschriebenen
Bitzuordnungsprozedur zu. Beim Beispiel nach 6 detektiert
der Bitzuordner 122 ein signifikantes Ereignis im Rahmen
3 (620) und ordnet deshalb die verfügbaren Bits zu, um achtzehn
Teilbänder 634 zu
erzeugen. Im Rahmen 4 (622) detektiert der Bitzuordner 122 kein
signifikantes Ereignis und führt
reagierend die Präbitzuordnungsprozedur
aus, um achtzehn zugeordnete Teilbänder 636 zu erzwingen.
-
Im
Rahmen 5 (624) detektiert der Bitzuordner 122 wieder
ein signifikantes Ereignis und ordnet deshalb die verfügbaren Bits
zu, um acht Teilbänder 638 zu
erzeugen. Im Rahmen 6 (626) detektiert der Bitzuordner 122 kein
signifikantes Ereignis und führt reagierend
die Präbitzuordnungsprozedur
aus, um acht zugeordnete Teilbänder 636 aufrechtzuerhalten.
-
In 7 ist
nun ein Flussdiagramm von Verfahrensschritten für eine einzelne Ausführungsform eines
Verfahrens zur Verhinderung von Artefakten gemäß der vorliegenden Erfindung
gezeigt. Anfänglich
filtert die Codiererfilterbank 118 beim Schritt 710 Rahmen
empfangener Quellenaudiodaten in Frequenzteilbänder, um gefilterte Audiodaten
zu erzeugen. Bei der bevorzugten Ausführungsform erzeugt die Filterbank 118 vorzugsweise
zweiunddreißig
diskrete Teilbänder
und stellt dann die Teilbänder
dem Bitzuordner 122 als gefilterte Audiodaten bereit. Beim
Schritt 712 bestimmt der psychoakustische Modellierer 126 Signal-zu-Maskierungs-Verhältnisse (SMRs)
für die
Quellenaudiodaten und stellt dann die SMRs dem Bitzuordner 122 bereit.
Die vom PAM 126 erzeugten Signal-zu-Maskierungs-Verhältnisse
sind oben in Verbindung mit 3 beschrieben.
-
Beim
Schritt 714 identifiziert der Bitzuordner 122 den
von der Filterbank 118 empfangenen Anfangsrahmen von Teilbändern und
ordnet dann alle verfügbaren
Bits ausgewählten
Teilbändern
aus dem Anfangsrahmen zu. Bei der Ausführungsform nach 7 wird
der Schritt 714 vorzugsweise durch Ausführen eines Bitzuordnungsprozesses
(bei den Schritten 724, 726 und 728 der 7 gezeigt)
ausgeführt,
der oben in Verbindung mit 4 auch beschrieben
ist.
-
Beim
Schritt 716 geht der Bitzuordner 122 durch sich
vorwärtsbewegen
um einen einzelnen Rahmen zu einem neuen laufenden Rahmen weiter, um
bei dem von der Filterbank 118 bereitgestellten nächsten Rahmen
von Teilbändern
anzukommen. Der Bitzuordner 122 prüft dann beim Schritt 718 den neuen
laufenden Rahmen auf die Präsenz
eines signifikanten Ereignisses. Bei der bevorzugten Ausführungsform
detektiert der Sitzordner ein signifikantes Ereignis immer, wenn
die Differenz in den Signal-zu-Maskierungs-Verhältnissen sukzessiver Rahmen
(der laufende Rahmen und der unmittelbar vorhergehende Rahmen) einen
auswählbaren
Schwellenwert überschreitet.
Andere Kritierien zur Bestimmung eines signifikanten Ereignisses
sind oben in Verbindung mit 6 beschrieben.
-
Beim
Schritt 720 geht dann, wenn der Bitzuordner 122 ein
signifikantes Ereignis detektiert, der Prozess nach 7 zum
Schritt 724 weiter. Wenn jedoch der Bitzuordner im laufenden
Rahmen kein signifikantes Ereignis detektiert, führt der Bitzuordner 122 beim
Schritt 722 vorteilhafter Weise eine Präbitzuordnungsprozedur aus,
um einen Anfangsteilbandsatz für
den laufenden Rahmen zu bilden. Bei der Ausführungsform nach 7 ordnet
der Bitzuordner 122 ein einzelnes Bit (aus den verfügbaren Zuordnungsbits)
jedem Teilband, das im unmittelbar vorhergehenden Rahmen enthalten
war, vorher zu, um den Anfangsteilbandsatz für den laufenden Rahmen zu bilden.
-
Dann
ordnet der Bitzuordner 122 beim Schritt 724 dem
Teilband (aus dem Anfangsteilbandsatz) mit dem höchsten SMR ein einzelnes Bit
aus den verfügbaren
Zuordnungsbits zu. Als nächstes subtrahiert
der Bitzuordner 122 beim Schritt 726 vom Teilband
mit dem höchsten
SMR (das zugeordnete Teilband beim Schritt 724) 6 db. Beim
Schritt 728 bestimmt der Bitzuordner 122, ob irgendwelche
verfügbaren
Zuordnungsbits bleiben.
-
Wenn
verfügbare
Zuordnungsbits bleiben, kehrt der Prozess nach 7 zum
Schritt 724 zurück.
Wenn jedoch keine verfügbaren
Zuordnungsbits bleiben, bestimmt der Bitzuordner 122, ob
irgendwelche nicht verarbeiteten Rahmen von gefilterten Audiodaten
bleiben. Wenn keine nicht verarbeiteten Rahmen bleiben, hat der
Bitzuordner 122 allen Audiodaten Bits zugeordnet, und der
Prozess nach 7 endet. Wenn jedoch beim Schritt 730 Rahmen bleiben,
kehrt das Flussdiagramm nach 7 zum Schritt 716 zurück, um einen
anderen Rahmen von gefilterten Audiodaten zu verarbeiten.
-
Die
Erfindung ist oben unter Bezugnahme auf eine bevorzugte Ausführungsform
erläutert
worden. Im Licht dieser Offenbarung sind für den Fachmann andere Ausführungsformen
zu erkennen. Beispielsweise kann die vorliegende Erfindung unter
Benutzung von Konfigurationen und Techniken anders als die bei der
bevorzugten Ausführungsform
oben beschriebenen leicht implementiert werden. Außerdem kann
die vorliegende Erfindung in Verbindung mit Systemen anders als
das oben als die bevorzugte Ausführungsform
beschriebene effektiv benutzt werden. Deshalb sind diese und andere
Variationen bezüglich
der bevorzugten Ausführungsformen
als durch die vorliegende Erfindung, die nur durch die beigefügten Ansprüche beschränkt ist,
abgedeckt anzusehen.