-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft eine Audio-Pegelsteuerung für komprimierte
Daten.
-
2. Beschreibung des zugehörigen Standes
der Technik
-
Digitales
Fernsehen, wie es beispielsweise von DIRECTV®, der
Anmelderin der vorliegenden Erfindung, bereitgestellt wird, wird
typischerweise als ein digitaler Datenstrom übertragen, der unter Verwendung
des MPEG-(Motion Pictures Experts Group)Standards codiert wird,
wobei dieser Standard durch die ISO (International Standards Organization) bekannt
gemacht wurde. MPEG liefert einen effizienten Weg, um Video- und
Audio-Signale in der Form eines komprimierten Bitstroms darzustellen.
-
Der
MPEG-1 Standard ist in einem Dokument mit dem Titel "Coding of Moving
Pictures and Associated Audio for Digital Storage Media at up to about
1,5 MBit/s," ISO/IEC
11172 (1993) beschrieben, das hiermit durch Bezugnahme aufgenommen wird.
Der MPEG-2 Standard ist in einem Dokument mit dem Titel "Generic Coding of
Moving Pictures and Associated Audio Information," ISO/IEC 13818 (1998),
beschrieben, das hiermit durch Bezugnahme aufgenommen wird.
-
Selbst
wenn ein Satellitenrundsender bzw. Broadcaster, wie DIRECTV®,
seinen Teilnehmern lokale Programme liefert, d.h. lokale Fernsehkanäle, erfordern
es die lokalen Programme, dass jeder der Fernsehkanäle innerhalb
einer Stadt an einer Sammeleinrichtung in MPEG codiert und statistisch
gemultiplext wird, bevor sie über
einen gemeinsamen Träger
zu einem Broadcastzentrum übertragen
werden, um auf wärts
zu einem Satelliten gesendet zu werden, der von DIRECTV® betrieben
wird. Vereinbarungen können
mit anderen Satellitenbroadcastern und Kabelbetreibern geschlossen
werden, um diese Sammeleinrichtungen zu teilen, um die Kosten zu
reduzieren.
-
Zusätzlich liefern
Programmlieferanten, wie beispielsweise Disney®, Viacom®,
HBO®,
Showtime®, Starz®,
ESPN® etc.
an DIRECTV® häufig vorcodierte und
statistisch gemultiplexte MPEG-Datenströme. Diese Programmlieferanten
können
darum bitten, dass der MPEG-Datenstrom direkt zu den DIRECTV®-Teilnehmern
ohne Decodierung und Neucodierung durchgeleitet wird.
-
Allerdings
können
sich bei der Verwendung dieser unterschiedlichen MPEG-Datenströme Probleme
ergeben aufgrund der Tatsache, dass verschiedene Satellitenbroadcaster,
Kabelbetreiber und Programmlieferanten unterschiedliche Standards
benutzen können,
die zu unterschiedlichen Audio- bzw. Tonpegeln führen. Beispielsweise folgt
DIRECTV® der
SMPTE(Society of Motion Picture and Television Engineers)-Empfehlung,
dass ein 0 dB-Referenzpegel bei –20 dB im digitalen Gesamtbereich
bzw. Vollausschlag liegt, während
andere Satellitenbroadcaster, Kabelbetreiber oder Programmlieferanten
einen 0 dB-Referenzpegel betreiben können, der bei –17 dB im
Vollausschlag liegt.
-
Falls
diese unterschiedlichen MPEG-Datenströme einen oder mehrere unterschiedliche
Standards benutzen, erscheinen dann die sich daraus ergebenden Broadcastkanäle entweder
zu laut oder zu leise im Vergleich zu anderen Kanälen. Deshalb
gibt es einen Bedarf, die Audiopegel eines MPEG-Audiodatenstroms
zu ändern.
-
Es
gibt zusätzliche
Anwendungen, wo ein Bedarf nach der Möglichkeit besteht, die Audiopegel eines
MPEG-Datenstroms zu ändern.
Beispielsweise laufen im Allgemeinen die Fernsehproduktion mit einem
breiten Dynamikbereich, der den kreativen Programmierern die Möglichkeit
bereitstellt, die Lautstärke
während
eines Höhepunkts "zu erhöhen". Ebenfalls läuft klassische
Musik häufig
mit einem breiten Dynamikbereich.
-
Auf
der anderen Seite ist der Dynamikbereich von populärer Musik
stark begrenzt. Diese Beschränkung
des Dynamikbereichs wird aus vielen Gründen durchgeführt:
- 1) Der Künstler
wünscht,
dass die Musik laut abgespielt wird.
- 2) Radiostationen glauben häufig,
dass Stille wahrgenommen wird, als bestünde keine Verbindung mehr.
- 3) In einer Hörumgebung
mit hohem Rauschen, wie beispielsweise in einem Fahrzeug, einem
Stadion oder einem anderen öffentlichen
Schauplatz ist es notwendig, einen schmalen Dynamikbereich zu haben,
der über
dem Rauschen zu hören
ist.
- 4) Die Aufzeichnungstechnologie hat Einfluss auf hohe Rauschpegel,
beispielsweise Kassettenbänder,
und ein begrenzter Dynamikbereich maskiert das Rauschen.
- 5) Die Wiedergabetechnologie hat einen begrenzten Dynamikbereich,
beispielsweise batteriebetriebene Hörvorrichtungen für Personen.
-
Mit
Bezug auf die persönlichen
MPEG-Spieler bzw. -Wiedergabegeräte
legt der 0 dB-Referenzpegel für
viele diese Einrichtungen bei –10
dB digitalem Vollausschlag. Falls ein MPEG-Audiodatenstrom einen
0 dB-Referenzpegel bei –20
dB digitalem Vollausschlag nutzt, müsste dann folglicherweise der Lautstärkeregler
für die
Vorrichtung um 10 dB erhöht werden,
um eine Kompensation zu erzielen. Allerdings gibt es einen begrenzten
Verstärkungsbereich in
vielen dieser Vorrichtungen, da sie Audio mit breitem Dynamikbereich
nicht unterstützen.
-
Im
Stand der Technik würde
ein Verfahren zum Ändern
der Audiopegel umfassen (1) einen Decodierer (Dekomprimierer) des
MPEG-Audiodatenstroms, (2) das Einstellen der Verstärkung, und
(3) das Codieren (Neukomprimieren), des MPEG-Audiodatenstroms. Dieses Verfahren ist
vorteilhaft, da im Handel erhältliche
Codierer und Decodierer zu einem relativ geringen Preis gekauft
werden können.
Allerdings hat dieses Verfahren viele Nachteile, einschließlich des
Einfügens
einer beträchtlichen
Zeitverzögerung,
zumindest 48 Millisekunden (ms) sowie eine Erhöhung des Rauschens und der
Verzerrung, die durch eine weitere Requantisierung des Audiosignals
verursacht wird.
-
Folglich
gibt es einen Bedarf dafür,
Audiopegel von MPEG-Audiodatenströmen zu ändern, ohne die Audiodaten
innerhalb der MPEG-Audiodatenströme
zu dekomprimieren, die Verstärkungspegel
der Audiodaten zu verändern
und dann die Audiodaten innerhalb des MPEG-Audiodatenstroms neu
zu komprimieren.
-
BHASKARAN
V ED – INSTITUTE
OF ELECTRICAL AND ELECTRONICS ENGINEERS: "Mediaprocessing in the compressed domain" DIGEST OF PAPERS
OF COMPCON (COMPUTER SOCIETY CONFERENCE) 1996, TECHNOLOGIES FOR
THE INFORMATION SUPERHIGHWAY, SANTA CLARA, FEB. 25–28, 1996,
DIGEST OF PAPERS OF THE COMPUTER SOCIETY COMPUTER CONFERENCE COMPCON,
LOS ALAMITOS, IEEE COMP. SOC. PRESS, vol. CONF. 41, 25. Februar
1996 (1996-02-25), Seiten 204–209,
XP010160896, offenbart ein Verfahren zur Audiopegelsteuerung für komprimierte
Audio-Signale in einem Datenstrom, das aufweist: Extrahieren der
Skalierungsfaktoren des komprimierten Tons bzw. Audiosignals aus
dem Datenstrom; Ändern
der extrahierten Skalierungsfaktoren ohne ein Dekomprimieren des
komprimierten Audios; und Aktualisieren des Datenstroms mit den
geänderten
Skalierungsfaktoren.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft ein Verfahren und eine zugehörige Vorrichtung
zur Audio- bzw. Tonpegelsteuerung für komprimiertes Audio in einem Datenstrom
mit: (a) Extrahieren von Skalierungsfaktoren für das komprimierte Audiosignal
aus dem Datenstrom; (b) Verändern
der extrahierten Skalierungsfaktoren ohne Dekomprimierung des komprimierten
Audiosignals, wobei der Änderungsschritt ferner
umfasst ein Begrenzen der geänderten
Skalierungsfaktoren; und (c) Aktualisieren des Datenstroms mit den
geänderten
Skalierungsfaktoren.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Es
wird nun auf die Zeichnungen Bezug genommen, in denen gleiche Bezugszeichen
durchgängig
gleiche Teile bezeichnen.
-
1 ist
ein Blockdiagramm, das eine beispielhafte Umgebung darstellt, die
zur Umsetzung der bevorzugten Ausführungsform der Erfindung verwendet
wird;
-
2 ist
ein Blockdiagramm, das die Struktur eines MPEG-Audiodatenstroms
darstellt; und
-
3 ist
ein Flussdiagramm, das die Logik zeigt, die von einem Verstärkungsänderungsprozess (Alter
Gain process) beim Ändern
der Skalierungsfaktoren ausgeführt
wird, ohne die komprimierten Audiodaten in Teilbändern zu ändern, um eine Audiopegelsteuerung
bereitzustellen entsprechend einer bevorzugten Ausführungsform
der vorliegenden Erfindung.
-
DETAILLIERTE BESCHREIBUNG
BEVORZUGTER AUSFÜHRUNGSFORMEN
-
In
der nachfolgenden Beschreibung wird auf die begleitenden Zeichnungen
Bezug genommen, die einen Teil der Beschreibung bilden und die beispielhaft
mehre re Ausführungsformen
der vorliegenden Erfindung zeigen. Es versteht sich, dass andere Ausführungsformen
benutzt werden können
und strukturelle Änderungen
vorgenommen werden können,
ohne den Rahmen der vorliegenden Erfindung zu verlassen.
-
Überblick
-
Die
vorliegende Erfindung ist auf eine Audiopegelsteuerung für komprimierte
Audiosignale gerichtet. Insbesondere ist die vorliegende Erfindung darauf
gerichtet, Skalierungsfaktoren für
komprimierte Audiosignale aus einem MPEG-Audiodatenstrom zu extrahieren,
die extrahierten Skalierungsfaktoren ohne Dekomprimierung der komprimierten
Audiosignale zu ändern,
um eine Audiopegelsteuerung bereitzustellen, und den MPEG-Audiodatenstrom
mit den geänderten
Skalierungsfaktoren zu aktualisieren. Alle Skalierungsfaktoren in
dem MPEG-Audiodatenstrom werden basierend auf einem Parameter geändert, der
identifiziert, wie die Verstärkungspegel
in dem MPEG-Datenstrom zu ändern
sind.
-
Folglich
kann, falls ein MPEG-Audiodatenstrom zu laut oder zu leise ist,
der Audiopegel wie gewünscht
eingestellt werden, um gleichmäßige Hörpegel aufrecht
zu erhalten. Dies liefert eine Verbesserung über die bekannten Techniken,
die Audiodaten dekomprimieren, die Verstärkungspegel der Audiodaten ändern und
dann die Audiodaten neu komprimieren, wobei die dekomprimierten
und neu komprimierten Zyklen Störungen
der Signalqualität
und Verzögerungen
des Audiosignals verursachen.
-
Beispielhafte Umgebung
-
1 ist
ein Blockdiagramm, das eine beispielhafte Umgebung darstellt, die
zur Umsetzung der bevorzugten Ausführungsform der Erfindung benutzt
wird. In der beispielhaften Umgebung kann ein Prozessor 100 neben
anderen eine Logik, einen Speicher und eine beliebige Zahl von unterschiedlichen
Periphergeräten
aufweisen.
-
Vorzugsweise
führt der
Prozessor 100 einen Verstärkungsänderungsprozess 102 aus,
der eine Audiopegeländerung
sowie eine Audiopegelerkennung direkt an einem MPEG-Audiodatenstrom
ausführt,
ohne die Audiodaten innerhalb des MPEG-Audiodatenstroms zu dekomprimieren
und dann neu zu komprimieren. Insbesondere akzeptiert der Verstärkungsänderungsprozess 102 einen
MPEG-Audiodatenstrom 104 als Eingangssignal, ändert Teilbandskalierungsfaktoren,
die innerhalb des MPEG-Audiodatenstroms 104 gefunden werden,
aktualisiert den MPEG-Audiodatenstrom 104 mit den geänderten Teilbandskalierungsfaktoren
und gibt dann den aktualisierten MPEG-Audiodatenstrom 106 aus.
-
Allgemein
umfasst der Verstärkungsänderungsprozess 102 eine
Logik, Befehle und/oder Daten, die in einer Vorrichtung, einem Medium,
einem Träger
oder einem Signal verkörpert
sind oder von dort erhältlich
sind, beispielsweise dem Prozessor 100 selbst, einem Speicher,
einer Speichervorrichtung oder einer entfernten Vorrichtung, die
mit dem Prozessor 100 verbunden ist, etc. Darüber hinaus lässt diese
Logik, Befehle und/oder Daten, wenn sie ausgeführt werden, und/oder interpretiert
werden von dem Prozessor 100, den Prozessor 100 die
Schritte ausführen,
die notwendig sind, um die vorliegende Erfindung zu implementieren
und/oder zu benutzen. Folglich kann die vorliegende Erfindung als
ein Verfahren, eine Vorrichtung oder ein Gegenstand zur Herstellung
implementiert werden, indem Software, Firmware, Hardware oder jegliche
Kombination davon eingesetzt werden. Der Fachmann wird erkennen,
dass viele Modifikationen an dieser Konfiguration durchführbar sind,
ohne den Rahmen der vorliegenden Erfindung zu verlassen.
-
MPEG-Audiodatenstrom
-
2 ist
ein Blockdiagramm, das den Aufbau bzw. die Struktur eines MPEG-Audiodatenstroms 200 zeigt.
Lager bzw. Schichten I, II und III innerhalb des MPEG-Audiodatenstroms 200 werden als
separate Rahmen 202, 204 und 206 gezeigt.
-
Jeder
Rahmen 202, 204 und 206 umfasst einen
Header bzw. Kopf 208, der gefolgt wird von einer optionalen
zyklischen Redundanzprüfung
(CRC; cyclic redundancy check) 210, die 16 Bit lang ist.
Der Header 208 ist 32 Bit lang und umfasst die folgende Information:
- • Sync
Word – 12
Bit (jede Sekunde)
- • System
Word – 20
Bit
– Versions-ID – 1 Bit
– Layer – 2 Bit
– Fehlerschutz – 1 Bit
– Bit-Ratenindex – 4 Bit
– Abtastfrequenzratenindex
2 Bit
– Padding – 1 Bit
– Privat – 1 Bit
– Modus – 2 Bit
– Mode Extension – 2 Bit
– Copyright – 1 Bit
– Original
oder Kopie – 1
Bit
– Emphasis – 2 Bit
-
Die
CRC 210, falls vorhanden, wird zur Fehlererkennung benutzt.
-
Im
Rahmen 202 der Schicht I folgt dem CRC 210 eine
Bit-Allocation 212 (128–256 Bit lang), Skalierungsfaktoren 214 (0–384 Bit
lang), Abtastungen 216 (384 Bit lang) und Hilfsdaten 218.
In dem Rahmen 204 der Schicht II folgt der CRC 210 eine
Bit-Allocation 212 (26–188
Bit lang), eine Skalierungsfaktorauswahlinformation (SCFSI) 220 (0–60 Bit
lang), Skalierungsfaktoren 214 (0–1080 Bit lang), Abtastungen 216 (1152
Bit lang) und Hilfsdaten 218. In dem Rahmen 206 der
Schicht III folgt der CRC 210 eine Seiteninformation 222 (136–256 Bit
lang) und ein Bit-Reservoir 224.
-
Die
Bit-Allocation 212 bestimmt die Anzahl der Bits pro Abtastung
für die
Schicht I, oder die Anzahl der Quantisierungspegel für die Schicht
II. Insbesondere spezifiziert die Bit-Allocation 212 die
Anzahl der Bits, die zur Quantisierung jedes Teilbands zugeordnet
werden. Diese Zuordnungen werden adaptiv entsprechend dem Informationsgehalt
des Audiosignals ausgeführt,
so dass die Bit-Allocation 212 in jedem Rahmen 202, 204 variiert.
Die Abtastungen 216 können
mit null Bits (d.h. keine Daten vorhanden) codiert werden, oder
mit zwei bis fünfzehn
Bits pro Abtastung.
-
Die
Skalierungsfaktoren 214 werden codiert, um dreiundsechzig
mögliche
Werte zu kennzeichnen, die als Sechs-Bit-Index-Muster von "000000" (0) codiert sind,
das den maximalen Skalierungsfaktor bezeichnet, bis "111110" (62), was den minimalen Skalierungsfaktor
bezeichnet. Jedes Teilband in den Abtastungen 216 hat einen
zugeordneten Skalierungsfaktor 214, der den Pegel definiert,
bei dem jedes Teilband während
der Decodierung neu komprimiert wird.
-
Die
Abtastungen 216 umfassen komprimierte Audiodaten für jedes
der zweiunddreißig
Teilbänder.
Ein Rahmen 202 der Schicht I umfasst zwölf Abtastungen pro Teilband.
Ein Rahmen der Schicht II 204 umfasst sechsunddreißig Abtastungen
pro Teilband.
-
In
der Schicht II 204 werden die Abtastungen 216 in
jedem Rahmen in drei Teile aufgeteilt, wobei jeder Teil zwölf Abtastungen
pro Teilband umfasst. Für
jedes Teilband zeigt das SCFSI 220 an, ob die drei Teile
getrennte Skalierungsfaktoren 204 haben, oder ob alle drei
Teile den gleichen Skalierungsfaktor 214 haben, oder ob
zwei Teile (die ersten beiden oder die letzten beiden) einen Skalierungsfaktor 214 und der
andere Teil einen anderen Skalierungsfaktor 214 haben.
-
Während der
Dekomprimierung werden die Abtastungen 216 einem inversen
Quantisierer zugeführt,
der vorbestimmte Werte entsprechend der Bit-Allocation 212 auswählt und
eine Dequantisierungsoperation ausführt, wobei die Dequantisierungswerte
dann mit den Skalierungsfaktoren 214 multipliziert werden,
um denormalisierte Werte zu erhalten. Falls alle Teilbandskalierungsfaktoren 214 geändert werden,
wird folglich der Audiopegel geändert.
Darüber
hinaus können
diese Änderungen
der Skalierungsfaktoren 214 ohne Änderung der komprimierten Audiodaten
in den Teilbändern
vorgenommen werden.
-
Logik des Verstärkungsänderungsprozesses
-
3 ist
ein Flussdiagramm, das die Logik darstellt, die von dem Verstärkungsänderungsprozess 102 beim Ändern der
Skalierungsfaktoren 214 ohne Änderung der komprimierten Audiodaten
in den Teilbändern
entsprechend einer bevorzugten Ausführungsform der vorliegenden
Erfindung ausgeführt wird.
Hier ist der Verstärkungsänderungsprozess 102 ein
Filter, wobei der Eingangs-MPEG-Audiodatenstrom 104 hineinfließt, die
Skalierungsfaktoren 214 geändert werden und der Ausgangs-MPEG-Audiodatenstrom 106 mit
den geänderten
Skalierungsfaktoren 214 geändert wird (aber anderes bleibt
im Eingangs-MPEG-Audiodatenstrom 104 unverändert). Bei
der bevorzugten Ausführungsform
führt der
Verstärkungsänderungsprozess 102 nur
zu einer 2 Byte-Latenz für
dessen Verarbeitung, was eine minimale Verzögerung verursacht.
-
Block 300 stellt
den Verstärkungsänderungsprozess 102 dar,
der zur gleichen Zeit ein Byte aus dem Eingangs-MPEG-Audiodatenstrom 104 akzeptiert
sowie einen Parameter, der identifiziert, wie die Verstärkungspegel
in dem Eingangs-MPEG-Audiodatenstrom 104 zu ändern sind.
-
Block 302 stellt
die Logik eines CASE-Statements dar, das durch einen aktuellen Zustandswert gesteuert
wird, wobei die Steuerung zu den Blöcken 304 bis 322 übergeht,
abhängig
von dem aktuellen Zustandswert. Nachdem die Logik der Blöcke 304 bis 322 für den aktuellen
Zustand ausgeführt
ist, geht die Steuerung zu Block 324, der eine Anzahl von
Bytes, die durch Blöcke 304 bis 322 gekennzeichnet
sind, an den Ausgangs-MPEG-Audiostrom 106 ausgibt. Danach
kehrt die Steuerung zu Block 300 zurück, um das nächste Eingangs-Byte
zu verarbeiten.
-
Block 304 stellt
einen Zustand von 0 dar. In diesem Zustand wartet der Verstärkungsänderungsprozess 102,
bis er das erste Byte des Sync-Worts von dem Header 208 in
dem Eingangs-MPEG-Audiodatenstrom 104 empfängt. Insbesondere
falls das Eingangs-Byte 0xff entspricht, wird dann der Zustand inkrementiert;
anderenfalls geschieht nichts. Danach geht die Steuerung zu Block 324,
der das Eingangs-Byte unverändert
ausgibt.
-
Block 306 stellt
einen Zustand von 1 dar. In diesem Zustand prüft der Verstärkungsänderungsprozess 102 das
Eingangs-Byte, um zu bestimmen, ob es das zweite Byte nach dem ersten
Byte des Sync-Worts aus dem Header 208 in dem Eingangs-MPEG-Audiodatenstrom 104 ist,
wobei das zweite Byte die niedrigstwertigen 4 Bits des 12-Bit-Sync-Worts
aus dem Header 208 und die höchstwertigen 4 Bits des 20-Bit-System-Worts aus dem
Header 208 umfasst. Falls nicht, wird der Zustand auf 0
zurückgesetzt
und die Steuerung geht zu Block 324, der das Eingangs-Byte
unverändert
ausgibt. Anderenfalls werden die Schicht und Fehlerschutz-Bits aus
den höchstwerti gen
4 Bits des 20-Bit-System-Worts aus dem Header 208 in dem Eingangs-MPEG-Audiodatenstrom 104 extrahiert. Falls
der Fehlerschutz 1 (an) ist, oder die Schicht nicht 2 (MPEG-Schicht
II) ist, wird dann der Zustand auf 0 gesetzt und die Steuerung geht
zu Block 324, der das Eingangs-Byte unverändert ausgibt.
(Es sei angemerkt, dass diese Ausführungsform nur MPEG-Schicht
II Audiosignale ohne Schutz unterstützt.) Anderenfalls wird der
Zustand inkrementiert und die Steuerung geht zu Block 324,
der das Eingangs-Byte unverändert
ausgibt.
-
Block 308 stellt
einen Zustand von 2 dar. In diesem Zustand extrahiert der Verstärkungsänderungsprozess 102 den
Bit-Ratenindex und den Abtastfrequenzratenindex aus zusätzlichen
8 Bits des 20-Bit-System-Worts aus dem Header 208 in dem Eingangs-MPEG-Audiodatenstrom 104 extrahiert. Der
Bit-Ratenindex zusammen mit der zuvor extrahierten Schicht (2) werden
als ein Index in eine Bit-Ratentabelle verwendet, die eine Bit-Rate
bestimmt. Der Abtastfrequenzratenindex wird als ein Index in eine
Abtastfrequenzratentabelle genutzt, die eine Abtastfrequenzrate
bestimmt. Falls die Abtastfrequenzrate ungültig ist, wird dann der Zustand
auf 0 zurückgesetzt,
anderenfalls wird der Zustand inkrementiert. Die Steuerung geht
dann zu Block 324, der das Eingangs-Byte unverändert ausgibt.
-
Block 310 stellt
einen Zustand von 3 dar. In diesem Zustand extrahiert der Verstärkungsänderungsprozess 102 den
Modus und die Moduserweiterung (Mode Extension) aus den letzten
8 Bits des 20-Bit-System-Bords aus dem Header 208 in dem Eingangs-MPEG-Audiodatenstrom 104.
Mit dem Modus und der Moduserweiterung sowie der aus dem Zustand 2 erhaltenen
Abtastfrequenzrate werden eine Anzahl von Teilbändern und eine Anzahl von Kanälen für jedes
Teilband bestimmt. Der Zustand wird inkrementiert und die Steuerung
geht dann zu Block 324, der das Eingangs-Byte unverändert ausgibt.
-
Block 312 stellt
einen Zustand von 4 dar. In diesem Zustand sammelt der Verstärkungsänderungsprozess 102 das
erste Byte des CRC 210 aus dem Eingangs-MPEG-Audiostrom 104.
Der Zustand wird inkrementiert und die Steuerung geht zu Block 324,
die das Eingangs-Byte unverändert
ausgibt.
-
Block 314 stellt
einen Zustand von 5 dar. In diesem Zustand sammelt der Verstärkungsänderungsprozess 102 das
zweite Byte des CRC 210 in dem Eingangs-MPEG-Audiodatenstrom 104.
Der Zustand wird inkrementiert und die Steuerung geht dann zu Block 324,
der das Eingangs-Byte unverändert
ausgibt.
-
Es
sei angemerkt, dass die Zustände
4 und 5 die CRC 210 für
eine spätere
Neuberechnung erfassen würden,
nachdem die Skalierungsfaktoren 214 geändert worden waren. Allerdings
wird Erläuterung des
CRC 210 aus dieser Offenbarung weggelassen.
-
Block 316 stellt
einen Zustand von 6 dar. In diesem Zustand extrahiert der Verstärkungsänderungsprozess 102 die
Bit-Allocation 210 aus dem Eingangs-MPEG-Audiodatenstrom 104.
Die Anzahl der Eingangs-Bytes, die in diesem Zustand empfangen werden,
wird bestimmt durch die Anzahl der Teilbänder und die Anzahl der Modi.
Folglich bleibt der Verstärkungsänderungsprozess 102 in
diesem Zustand, bis die gesamte Bit-Allocation 210 empfangen wurde.
Bis dies geschieht, bleibt der Zustand unverändert und die Steuerung geht
zu Block 324, der das Eingangs-Byte unverändert ausgibt.
Nachdem die gesamte Bit-Allocation 210 empfangen ist, wird
der Zustand inkrementiert und die Steuerung geht dann zu Block 324,
die das Eingangs-Byte
ebenfalls unverändert
ausgibt.
-
Block 318 stellt
einen Zustand von 7 dar. In diesem Zustand extrahiert der Verstärkungsänderungsprozess 102 das
SCFSI 220 aus dem Eingangs-MPEG-Audiodatenstrom 104.
Die Größe des SCFSI-Felds 220 basiert
auf der Anzahl der Teilbänder
und der Bit-Allocation 210. Folglich bleibt der Verstärkungsänderungsprozess 102 in
diesem Zustand, bis das gesamte SCFSI 220 empfangen ist.
Bis dies erfolgt, bleibt der Zustand unverändert und die Steuerung geht
zu Block 324, der das Eingangs-Byte unverändert ausgibt.
Nachdem der gesamte SCFSI 220 empfangen ist, wird der Zustand
inkrementiert und die Steuerung geht dann zu Block 324,
die das Eingangs-Byte
ebenfalls unverändert
ausgibt.
-
Block 320 stellt
einen Zustand von 8 dar. In diesem Zustand extrahiert der Verstärkungsänderungsprozess 102 die
Skalierungsfaktoren 214 für jedes Teilband aus dem Eingangs-MPEG-Audiodatenstrom 104,
wobei die Skalierungsfaktoren 214 Multiplikatoren für Teilbänder der
Audiodaten enthalten. Sobald ein Skalierungsfaktor 214 extrahiert
ist, wird er geändert,
beispielsweise inkrementiert oder dekrementiert entsprechend dem
Parameter, der identifiziert, wie die Verstärkungspegel in dem Eingangs-MPEG-Audiodatenstrom 104 geändert werden
sollen.
-
Jeder
Skalierungsfaktor 214 belegt sechs Bits, die nicht Byte-ausgerichtet
sind. Folglich gibt es zum Ändern
der Skalierungsfaktoren 214 Momente, wo die Ergebnisse
von einem vorherigen Eingangs-Byte über ein zusätzliches Eingangs-Byte gehalten
werden müssen,
bevor es geändert
und ausgegeben werden kann. Während
die Skalierungsfaktoren 214 extrahiert werden, verbleibt
der Zustand unverändert
und die Steuerung geht dann zu Block 324, der die Anzahl
der Bytes für
die geänderten
Skalierungsfaktoren 214 (entweder 0, 1 oder 2) ausgibt, wenn
sie verfügbar
werden.
-
Skalierungsfaktoren 214 sind
ganze Zahlen, die von 0 bis 63 reichen, und werden als Multiplikatoren
für das
Teilbandausgangssignal verwendet. Die geänderten Skalierungsfaktoren 214 sind
begrenzt und sind nicht gewrapped (engl.: wrap). Statt dessen sind
die geänderten
Skalierungsfaktoren 214 entweder auf 0 oder 63 begrenzt,
wobei die geänderten Skalierungsfaktoren 214 nicht
unter ein Minimum (0) verringert werden und die geänderten
Skalierungsfaktoren 214 nicht über ein Maximum (63) hinausgehen.
-
Das
Begrenzen der geänderten
Skalierungsfaktoren 214, während die Verstärkung reduziert wird,
bedeutet, dass ein Fehler bei einem Amplitudenpegel von –140 dB
auftreten würde,
was weit unterhalb der Hörwahrnehmungsgrenze
liegt. Andererseits bedeutet bei einer Begrenzung der geänderten Skalierungsfaktoren 214,
während
die Verstärkung erhöht wird,
dass alle anderen Teilbänder
ihre Amplitude erhöhen
lassen, während
dieses Teilband nicht in dem Maße
erhöhen
kann. Allerdings ist dieser Effekt häufig gut erkennbar, obgleich
er nicht sehr wahrscheinlich auftritt, da er eine Erhöhung der
Lautstärke
auf einen übermäßig lauten
Pegel benötigen würde, d.h.
etwa 20 dB über
dem Durchschnittspegel.
-
Wie
zuvor ausgeführt
bleibt der Verstärkungsänderungsprozess 102 in
diesem Zustand, bis alle Skalierungsfaktoren 214 geändert sind,
wobei dann zu diesem Zeitpunkt der Zustand inkrementiert wird und
die Steuerung dann zu Block 324 geht, der die Anzahl der
Bytes für
die letzten verbleibenden geänderten
Skalierungsfaktoren 214 (entweder 1 oder 2) ausgibt.
-
Block 322 stellt
einen Zustand von 9 dar. In diesem Zustand führt der Verstärkungsänderungsprozess 102 keine
Funktionen aus. Folglich bleibt der Zustand unverändert und
die Steuerung geht dann zu Block 324, der das Eingangs-Byte
unverändert
ausgibt. Der Verstärkungsänderungsprozess 102 bleibt in
diesem Zustand, bis er von außen
zurückgesetzt wird.
Vorzugsweise wird der Verstärkungsänderungsprozess 102 extern
zurückgesetzt
basierend auf der Anzahl der Daten-Bytes und durch Lesen der Bit-Rate
und der Abtastfrequenzrate aus dem MPEG-Header.
-
Pegelerfassung
-
Zusätzlich zu
der Änderung
des Audiopegels in dem MPEG-Audiodatenstrom kann die vorliegende
Erfindung ebenfalls eine Pegelerfassung für das komprimierte Audiosignal
ausführen,
wobei die Pegelerfassung bestimmt, ob Audio überhaupt vorhanden ist. Dies
geschieht, da die Skalierungsfaktoren 214 in dem MPEG-Audiodatenstrom
einen Spitzenwert des Teilbandpegels über 24 ms jedes Pakets in dem
MPEG-Audiodatenstrom darstellen.
-
Die
Pegelerfassung für
das komprimierte Audiosignal umfasst: (1) Ausführen einer Quadratwurzeloperation
auf eine Summe von quadrierten Skalierungsfaktoren 214 über einen
Rahmen 202, 204, (2) Normieren der Quadratwurzel
basierend auf einer Anzahl von Kanälen, die in dem komprimierten
Audiosignal vorhanden sind; und (3) Vergleichen der normierten Quadratwurzel
gegenüber
einem Schwellenwert, um zu bestimmen, ob das komprimierte Audiosignal
einen bestimmten Wert überschreitet.
Die normierte Quadratwurzel einer Summe von Quadraten der Skalierungsfaktoren 214 liefert
eine gute Abschätzung
des Audiopegels.
-
Eine
solche Funktion ist nützlich
nicht nur als Mittel, um den Audiopegel genau zu messen, sondern
als ein Mittel, um zu bestimmen, ob Audiosignale überhaupt
vorhanden sind. Obgleich der gemessene Audiopegel nur auf etwa 5
dB genau ist, kann die vorliegende Erfindung bestimmen, dass ein
Audiosignal vorhanden ist. Falls der Audiopegel für eine Anzahl
von aufeinander folgenden Paketen im Wesentlichen unterhalb dem
bestimmt wird, was normalerweise zu erwarten gewesen wäre (beispielsweise mehr
als 30 dB darunter), kann dann deshalb eine Annahme getroffen werden,
dass etwas stromaufwärts
gestört
ist.
-
Um
diese Audiopegelerfassung zu erreichen, müssen eine Anzahl von Zusätzen zu
der Logik von 3 zuvor vorgenommen werden.
Diese Zusätze
sind nachfolgend beschrieben.
-
Block 320 benutzt
eine Tabelle, um einen ganzzahligen bzw. Integer-Wert für jeden
entsprechenden Skalierungsfaktor 214 zu bestimmen, der ein
Quadrat des erhaltenen analogen Spannungsspitzenwerts darstellt.
Block 320 speichert eine Summe dieser Quadrate über einen
Rahmen 202 oder 204.
-
Block 322 führt eine
Quadratwurzeloperation auf die Summe der Quadrate aus, die in Block 320 gespeichert
sind zu einem Zeitpunkt, an dem der Verstärkungsänderungsprozess 102 die
Verarbeitung eines Rahmens 202 oder 204 abgeschlossen
hat. Die Quadratwurzel wird dann normiert, abhängig von der Anzahl der in
dem komprimierten Audiosignal vorhandenen Kanäle, was das Quadrat der geschätzten Eingangsspannung
darstellt. Die normierte Quadratwurzel wird verglichen mit einem
Schwellenwert, um zu bestimmen, ob das komprimierte Audiosignal
einen spezifischen Wert übersteigt, über dem
ein Audiokanal als aktiv erklärt
werden kann.
-
Darüber hinaus
kann die Pegelerfassung selbst verwendet werden, um eine Änderung
der Audiopegel zu initiieren und damit eine einfache automatische
Verstärkungssteuerung
auszubilden. Falls über
einige Zeitperioden der Audiopegel beispielsweise als zu gering
oder zu hoch angesehen wird, kann dann der Verstärkungspegel eingestellt werden, indem
die Logik von 3 benutzt wird, um den Audiopegel
auf einen vorbestimmten Pegel zu bringen. Dies würde durch Blöcke 320 oder 322 ausgeführt werden,
die den Spitzenpegel über
einige Zeitperioden prüfen
und, falls der Pegel als zu niedrig oder zu hoch erkannt wird, dann
die Verstärkung
auf einen vorbestimmten Pegel ändern,
indem die Logik von 3 benutzt wird. Das Überprüfen des
Spitzenpegels über
eine lange Zeitdauer verringert die Fehler bei der Messung und der
Steuerung.
-
Vorteile
-
Die
vorliegende Erfindung umfasst eine Anzahl von einzigartigen Merkmalen
und Vorteilen:
- 1) Das Ändern des Audiopegels in einem MPEG-Audiodatenstrom
muss ohne wahrnehmbare Verzögerung
ausgeführt
werden. Allgemein benötigt
ein Decodieren und Codieren des MPEG-Audiodatenstroms zumindest
eine Verzögerung
von 48 ms. Zum Rundsenden wird jedoch das Audiosignal mit dem Videosignal
verknüpft und
solange nicht eine zusätzliche
Videoverzögerung
eingebracht wird, hat der Betrachter den Eindruck, dass sich die
Lippen vor dem gehörten
Ton bewegen, was ein Problem der "Lippensynchronisation" ergibt.
- 2) Die vorliegende Erfindung zeigt sich im Hinblick auf die
Berechnung sehr effizient. Beispielsweise variiert die Testsoftware,
die auf einem PC läuft, den
Audiopegel auf einem MPEG-Audiodatenstrom in mehr als 20facher Echtzeit,
wobei eine MPEG-Decodierung und Codierung nur in Echtzeit abläuft.
- 3) Beseitigen von Zwischendecodier-Quantisierungsfehlern. Im
Stand der Technik konnte, falls der Decodierer nur eine 16-Bit-Auflösung liefert, der
Decodierer selbst Quantisierungsfehler in den MPEG-Audiodatenstrom
einbringen. Dies gilt, falls der ursprüngliche MPEG-Audiodatenstrom mit
mehr als 16-Bit-Präzision
codiert wurde (typischerweise 20 oder 24 Bits). Die meisten Decodierer
sind aufgebaut, um zumindest eine Genauigkeit von 16 Bit aufrecht
zu erhalten. Falls der Audiopegel nach einer 16-Bit-Decodierung "hochgedreht" wird, sieht der
folgende Codierer einen angehobenen Rauschgrundpegel, der durch
Abbruchfehler im Decodierer verursacht wird. Bei dieser Erfindung
kann die Verstärkung,
falls die ursprüngliche
MPEG-Audio-Codierung
mit einer Präzision
von mehr als 16 Bit ausgeführt
wurde, erhöht
werden, während
das Grundrauschen an einem 16-Bit-Decodierer auf einem optimalen
Pegel erhalten wird und das Signal-Rausch-Verhältnis tatsächlich vergrößert.
-
Schlussfolgerung
-
Die
vorhergehende Beschreibung der bevorzugten Ausführungsform der Erfindung wurde
zum Zwecke der Erläuterung
und Beschreibung dargestellt. Es versteht sich, dass sie nicht erschöpfend oder
die Erfindung beschränkend
auf die präzise
offenbarte Form zu verstehen ist. Viele Modifikationen und Variationen
sind im Lichte der vorherigen Lehre möglich.
-
Während die
vorhergehende Offenbarung eine Ausführungsform der vorliegenden
Erfindung darstellt, wie sie bei einem Satellitenübertragungssystem
oder einem persönlichen
MPEG-Spieler angewendet wird, kann beispielsweise die vorliegende Erfindung
auch bei vielen Anwendungen eingesetzt werden, die MPEG-Audio benutzen.
Obgleich darüber
hinaus die vorliegende Erfindung im Hinblick auf MPEG-Audio beschrieben
ist, kann sie ebenfalls auf andere Kompressionsschemata angewendet
werden, wie beispielsweise Dolby® AC-3.
Schließlich wird
der Fachmann, obgleich spezifische Logiken hier beschrieben sind,
erkennen, dass eine andere Logik das gleiche Resultat erreichen
kann, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
-
Es
ist beabsichtigt, dass der Umfang der Erfindung nicht auf die detaillierte
Beschreibung zu begrenzen ist, sondern alleine durch die angehängten Ansprüche. Die
vorherige Beschreibung, die Beispiele und Daten liefern eine vollständige Beschreibung der
Herstellung und der Verwendung der Zusammensetzung der Erfindung.
Da viele Ausführungsformen der
Erfindung ausgeführt
werden können,
ohne den Rahmen der Erfindung zu verlassen, liegt die Erfindung
in den nachfolgend angehängten
Ansprüchen.