-
HINTERGRUND
DER ERFINDUNG
-
1. GEBIET DER
ERFINDUNG:
-
Die
vorliegende Erfindung bezieht sich auf eine Decodierungsvorrichtung
zum Decodieren z. B. eines durch MPEG2-Multichannel, Layer II, definierten
Bitstroms oder zum Decodieren sowohl eines durch MPEG2-Multichannel
definierten Bitstroms als auch eines durch MPEG1 definierten Bitstroms.
-
2. BESCHREIBUNG DES TECHNISCHEN
GEBIETS:
-
In
einer Decodierungsvorrichtung zum Decodieren eines durch im ISO-IEC
13818-3.2 festgelegten MPEG2-Multichannel definierten Bitstroms
wird die Decodierung eines erweiterten MPEG2-Multichannel-Bereichs
eines durch MPEG2-Multichannel definierten
Bitstroms üblicherweise
nur begonnen, nachdem die Decodierung eines MPEG1-kompatiblen Bereichs
von ihm abgeschlossen ist. Es ist deshalb erforderlich, dass für eine derartige
herkömmliche
MPEG2-Multichannel-Decodierungsvorrichtung ein
Speicher von wenigstens [2 × 1152 × (die Anzahl der
nach der inversen Quantisierung einem Abtastwert gegebenen Bytes)]
Bytes sichergestellt ist.
-
Andererseits
wird in einer herkömmlichen Decodierungsvorrichtung
zum Decodieren sowohl eines durch MPEG2-Multichannel definierten
Bitstroms als auch eines durch MPEG1 definierten Bitstroms in der
folgenden Weise bestimmt, ob ein Bitstrom ein durch MPEG2-Multichannel
definierter Bitstrom ist oder nicht. Ein im ISO-IEC 13818-3 festgelegtes MPEG2-Multichannel-Bestimmungsverfahren
verwendet z. B. die zyklische Blockprüfung (CRC). Entsprechend diesem
Verfahren wird die Decodierung für
Multichannel-Ströme
ausgeführt,
falls der Bitstrom die CRC (die Fehlerprüfung) besteht, selbst wenn
der Bitstrom ein durch MPEG1 definierter Bitstrom ist, der keinen
erweiterten MPEG2-Multichannel-Bereich enthält. Dies verursacht einen fehlerhaften
Betrieb.
-
Ein
weiteres Problem ist, dass in einem im ISO-IEC 13818-3 festgelegten
Decodierungsverfahren die Decodierung z. B. fortgesetzt wird, selbst wenn
eine Länge
des Bitstroms, die eine Rahmenlänge überschreitet,
decodiert worden ist. Dies verursacht ebenfalls einen fehlerhaften
Betrieb.
-
Wie
oben beschrieben worden ist, besitzt die herkömmliche MPEG2-Multichannel-Decodierungsvorrichtung
das Problem, dass sie einen Pufferspeicher mit einer großen Kapazität erfordert
und dadurch die Größe der Vorrichtung
vergrößert.
-
Die
herkömmliche
Decodierungsvorrichtung, die sowohl durch MPEG2-Multichannel als
auch durch MPEG1 definierte Bitströme decodiert, besitzt außerdem das
Problem, dass das Decodieren für MPEG2-Multichannel-Ströme für einen
MPEG1-Bitstrom ausgeführt wird,
falls der Bitstrom die CRC für MPEG2-Multichannel-Ströme besteht,
was einen fehlerhaften Betrieb verursacht.
-
Ein
allgemeiner und umfassender Überblick über die
im MPEG2 verwendete Audiocodierungstechnik ist in dem Aufsatz von
E. F. Schröder
u. a.: "DER MPEG-2-STANDARD: GENERISCHE
CODIERUNG FÜR
BEWEGTBILDER UND ZUGEHÖRIGE AUDIO-INFORMATION.
AUDIOCODIERUNG (TEIL 4)",
FERNSEH-UND KINOTECHNIK,
DE, VDE VERLAG GMBH, BERLIN",
Bd.48, Nr.7/08, 30. August 1994 (1994-08-30), Seiten 364-368, 370-373, XP000460964,
ISSN: 0015-0142, beschrieben.
-
Es
ist die Aufgabe der vorliegenden Erfindung, eine Decodierungsvorrichtung
zu schaffen, die einen MPEG2-Multichannel-Bitstrom unter Verwendung
eines Pufferspeichers mit einer kleinen Kapazität decodieren und in dem Fall,
in dem die Decodierungsvorrichtung sowohl durch MPEG1 als auch durch
MPEG2-Multihannel definierte Bitströme decodiert, richtig bestimmen
kann, ob in einem Bitstrom ein erweiterter MPEG2-Multichannel-Bereich
vorhanden ist oder nicht.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Folglich
betrifft die vorliegende Erfindung eine Decodierungsvorrichtung
zum Decodieren eines durch MPEG2-Audio-Multichannel definierten
Bitstroms, wie sie in den beigefügten
Ansprüchen
dargelegt ist.
-
Folglich
wird gemäß der Decodierungsvorrichtung
der vorliegenden Erfindung die Position des Kopfes des erweiterten
MPEG2-Multichannel-Bereichs auf dem Wege zur Decodierung des MPEG1-kompatiblen
Bereichs berechnet, sodass die Decodierung des erweiterten MPEG2-Multichannel-Bereichs
begonnen wird, bevor die Decodierung des MPEG1-kompatiblen Bereichs
abgeschlossen ist. Danach werden der MPEG1-kompatible Bereich und
erweiterte MPEG2-Multichannel-Bereich abwechselnd decodiert, um
die Multichannel-Strom-Decodierung auszuführen.
-
Alternativ
wird gemäß der vorliegenden
Erfindung in der Decodierungsvorrichtung, die sowohl durch MPEG1
als auch durch MPEG2-Multichannel definierte Bitströme decodiert,
die Decodierung für einen
erweiterten MPEG2-Multichannel-Bereich für einen Bitstrom dann, wenn
die Anzahl der Kanäle
im erweiterten MPEG2-Multichannel-Bereich
null ist, selbst wenn der Bitstrom die CRC für den erweiterten MPEG2-Multichannel-Bereich
besteht, nicht ausgeführt,
sondern es wird nur der MPEG1-kompatible Bereich decodiert. Außerdem wird
die Decodierung des erweiterten MPEG2-Multichannel-Bereichs beendet,
falls eine Länge
eines Bitstroms, die eine Rahmenlänge überschreitet, decodiert worden
ist, wobei nur der MPEG1-kompatible
Bereich decodiert wird. Dies unterdrückt ein Auftreten eines fehlerhaften
Betriebs.
-
Folglich
macht die hierin beschriebene Erfindung den Vorteil des Schaffens
einer Decodierungsvorrichtung möglich,
die einen MPEG2-Multichannel-Bitstrom unter Verwendung eines Pufferspeichers
mit einer kleinen Kapazität
decodieren und in dem Fall, in dem die Decodierungsvorrichtung sowohl
durch MPEG1 als auch durch MPEG2-Multichannel definierte Bitströme decodiert,
richtig bestimmen kann, ob in einem Bitstrom ein erweiterter MPEG2-Multichannel-Bereich
vorhanden ist oder nicht.
-
Diese
und weitere Vorteile der vorliegenden Erfindung werden für die Fachleute
auf dem Gebiet beim Lesen und Verstehen der folgenden ausführlichen
Beschreibung unter Bezugnahme auf die beigefügten Figuren offensichtlich
werden.
-
KURZBESCHREIBUNG
DER ZEICHNUNG
-
1 ist
ein Blockschaltplan einer Decodierungsvorrichtung einer Ausführungsform
gemäß der vorliegenden
Erfindung;
-
2 ist
eine schematische Ansicht, die die Erfassung eines Multichannel-Kopfes
veranschaulicht; und
-
3 ist
ein Ablaufplan, der eine Prozedur zum Lokalisieren des Multichannel-Kopfes zeigt.
-
BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Eine
Ausführungsform
der vorliegenden Erfindung wird unter Bezugnahme auf die 1 bis 3 beschrieben,
wobei der Fall des Decodierens eines Bitstroms eines Formats, das
keinen durch MPEG2-Multichannel, Layer II, definierten Erweiterungsstrom
besitzt, genommen wird.
-
1 ist
ein Blockschaltplan einer Decodierungsvorrichtung 100 einer
Ausführungsform
gemäß der vorliegenden
Erfindung, der die Decodierung eines Bitstroms 1 des Formats,
das keinen durch MPEG2-Multichannel, Layer II, definierten Erweiterungsstrom
besitzt, schematisch veranschaulicht. In 1 enthält die Decodierungsvorrichtung 100 dieser
Ausführungsform:
einen MPEG1-Decodierungsabschnitt 21, um einen MPEG1-kompatiblen
Bereich 1A des Bitstroms 1 zu decodieren; einen
Multichannel-Decodierungsabschnitt (MC-Decodierungsabschnitt) 22,
um einen MC-Bereich 1B des Bitstroms 1 zu decodieren;
einen MC-Kopferfassungsabschnitt 23,
um eine Kopfposition (POS) des MC-Bereichs 1A zu lokalisieren
und um einen Stromlesezeiger für
das Lesen des Bitstroms 1 zur Kopfposition (POS) des MC-Bereichs 1B zu
verschieben; einen Datenhaltepuffer 41, um die Berechnungsdaten
zu halten; und einen Pulsecodemodulation-Ausgabepuffer (PCM-Ausgabepuffer) 42,
um die decodierten PCM-Daten zu halten und um die Daten nach außen auszugeben.
-
In 1 enthält der durch
MPEG2-Multichannel, Layer II, definierte Bitstrom 1 die MPEG1-seitigen
Informationen 11, die MC-seitigen Informationen 12,
einen MPEG1-Abtastwert
und einen MC-Abtastwert. Der MPEG1-Abtastwert ist in sechs Blöcke unterteilt,
die einen ersten MPEG1-Abtastwertinformationsblock 13 und
einen zweiten MPEG1-Abtastwertinformationsblock 15 enthalten. Der
MC-Abtastwert ist in sechs Blöcke
unterteilt, die einen ersten MC-Abtastwertinformationsblock 14 und einen
zweiten MC-Abtastwertinformationsblock 16 enthalten.
-
Obwohl
die jeweiligen Abtastwerte in dieser Ausführungsform für die Decodierung
in sechs Blöcke
unterteilt sind, ist die Anzahl der Blöcke für die vorliegende Erfindung
nicht wesentlich. Der Abtastwert kann in irgendeine Anzahl von Blöcken unterteilt werden,
oder er kann sogar nicht unterteilt werden.
-
Es
wird in dieser Ausführungsform
angenommen, dass als die Medien sowohl zum Speichern des Bitstroms 1 als
auch für
den Datenhaltepuffer 41 und den PCM-Ausgabepuffer 42 RAMs verwendet werden.
Die für
die Puffer verwendeten Medien sind für die vorliegende Erfindung
nicht wesentlich, sondern es kann irgendein Medium verwendet werden, solange
wie es die Eingabe/Ausgabe der Informationen verwirklichen kann.
-
In
dieser Ausführungsform
sind der Datenhaltepuffer 41 und der PCM-Ausgabepuffer 42 als
separate Puffer gezeigt. Die Konstruktion der Puffer ist für die vorliegende
Erfindung nicht wesentlich. Diese Puffer können sich z. B. einen Speicher
teilen.
-
Die
Operation der Decodierungsvorrichtung 100 dieser Ausführungsform
wird beschrieben.
-
Der
MPEG1-Decodierungsabschnitt 21 empfängt zuerst die MPEG1-seitigen
Informationen 11, die die Kopfinformationen, die Zuordnungsinformationen
und die Skalierungsfaktor-Auswahlinformationen enthalten, decodiert
dieselben Informationen und gibt die decodierten Informationen an
den Datenhaltepuffer 41 aus. Der MC-Kopferfassungsabschnitt 23 berechnet
eine Kopfadresse der MC-seitigen Informationen 12 anhand
der Kopfinformationen, der Zuordnungsinformationen und der Skalierungsfaktor-Auswahlinformationen
der im Datenhaltepuffer 41 gehaltenen MPEG1-seitigen Informationen 11 und verschiebt
den Stromlesezeiger zur Kopfadresse.
-
Der
MC-Kopferfassungsabschnitt 23 wird unter Bezugnahme auf 2 ausführlicher
beschrieben.
-
In 2 empfängt der
MC-Kopferfassungsabschnitt 23 die Kopfinformationen 51,
die Zuordnungsinformationen 52 und die Skalierungsfaktor-Auswahlinformationen 53,
die im Halteabschnitt 31 für die MPEG1-seitigen Informationen
des Datenhaltepuffers 41 gehalten werden, und hält dieselben Informationen
in einem Unterabschnitt 54 für die Berechnung der Stromlänge des
MPEG1-Skalierungsfaktors, um eine Stromlänge eines MPEG1-Skalierungsfaktors
zu berechnen. Die Kopfinformationen 51 und die Zuordnungsinformationen 52 werden
außerdem
in einen Unterabschnitt 55 für die Berechnung der Stromlänge des
MPEG1-Abtastwerts eingegeben, um eine Stromlänge des MPEG1-Abtastwerts zu
berechnen. Die Stromlänge
des MPEG1-Skalierungsfaktors und die Stromlänge des MPEG1-Abtastwerts werden
dann in einen Unterabschnitt 56 für die Berechnung des Zeigerverschiebungsbetrags
eingegeben, um den Verschiebungsbetrag des Stromlesezeigers zu berechnen.
Der durch den Unterabschnitt 56 für die Berechnung des Zeigerverschiebungsbetrags
berechnete Verschiebungsbetrag des Stromlesezeigers wird in einen
Zeigerverschiebungs-Unterabschnitt 57 eingegeben, sodass
der Stromlesezeiger verschoben werden kann.
-
Die
Prozedur der Berechnung des Verschiebungsbetrags des Stromlesezeigers
durch den Unterabschnitt 56 für die Berechnung des Zeigerverschiebungsbetrags
wird unter Bezugnahme auf 3 beschrieben.
-
Die
Schritte S301 bis S309 repräsentieren die
Berechnung anhand der Ausgabe vom Unterabschnitt 54 für die Berechnung
der Stromlänge
des MPEG1-Skalierungsfaktors. Die Schritte S310 bis S316 repräsentieren
die Berechnung anhand der Ausgabe vom Unterabschnitt 55 für die Berechnung der
Stromlänge
des MPEG1-Abtastwerts.
-
Der
Unterabschnitt 56 für
die Berechnung des Zeigerverschiebungsbetrags initialisiert einen Verschiebungsbetrag
(jump_bit) des Stromlesezeigers und ein Unter band (sb) (Schritt
S301) und initialisiert einen Kanal (ch) (Schritt S302). Der Unterabschnitt 56 für die Berechnung
des Zeigerverschiebungsbetrags bestimmt dann, ob die Skalierungsfaktor-Auswahlinformationen
(scfsi[sb][ch]) 0 sind oder nicht (Schritt S303).
-
Falls
bestimmt wird, dass die Skalierungsfaktor-Auswahlinformationen (scfsi[sb][ch])
0 sind, vergrößert der
Unterabschnitt 56 für
die Berechnung des Zeigerverschiebungsbetrags den Verschiebungsbetrag
(jump_bit) des Stromlesezeigers um 6 (Schritt S306). Falls bestimmt
wird, dass die Skalierungsfaktor-Auswahlinformationen
(scfsi[sb][ch]) nicht 0 sind, bestimmt der Unterabschnitt 56 für Berechnung
des Zeigerverschiebungsbetrags dann, ob die Skalierungsfaktor-Auswahlinformationen
(scfsi[sb][ch]) 2 sind oder nicht (Schritt S304).
-
Falls
bestimmt wird, dass die Skalierungsfaktor-Auswahlinformationen (scfsi[sb][ch])
nicht 2 sind, oder nachdem der Verschiebungsbetrag (jump_bit) des
Stromlesezeigers im Schritt S306 um 6 vergrößert worden ist, vergrößert der
Unterabschnitt 56 für
die Berechnung des Zeigerverschiebungsbetrags den Verschiebungsbetrag
(jump_bit) des Stromlesezeigers um 12 (Schritt S307).
-
Falls
bestimmt wird, dass die Skalierungsfaktor-Auswahlinformationen (scfsi[sb][ch])
2 sind, vergrößert der
Unterabschnitt 56 für
die Berechnung des Zeigerverschiebungsbetrags den Verschiebungsbetrag
(jump_bit) des Stromlesezeigers um 6 (Schritt S305). Nachdem der
Verschiebungsbetrag (jump_bit) des Stromlesezeigers im Schritt S305
um 6 vergrößert worden
ist oder nachdem der Verschiebungsbetrag (jump_bit) des Stromlesezeigers
im Schritt S307 um 12 vergrößert worden
ist, bestimmt der Unterabschnitt 56 für die Berechnung des Zeigerverschiebungsbetrags,
ob der um 1 vergrößerte Kanal
(ch) kleiner als 2 ist oder nicht (Schritt S308).
-
Falls
bestimmt wird, dass der um 1 vergrößerte Kanal (ch) kleiner als
2 ist, bestimmt der Unterabschnitt 56 für die Berechnung des Zeigerverschiebungsbetrags,
ob die Skalierungsfaktor-Auswahlinformationen (scfsi[sb][ch]) 0
sind oder nicht (Schritt S303). Falls bestimmt wird, dass der um
1 vergrößerte Kanal
(ch) nicht kleiner als 2 ist, bestimmt der Unterabschnitt 56 für die Berechnung
des Zei gerverschiebungsbetrags, ob das um 1 vergrößerte Unterband
(sb) kleiner als eine Untergrenze (sblimit) ist oder nicht (Schritt
S309).
-
Falls
bestimmt wird, dass das um 1 vergrößerte Unterband (sb) kleiner
als die Untergrenze (sblimit) ist, initialisiert der Unterabschnitt 56 für die Berechnung
des Zeigerverschiebungsbetrags den Kanal (ch) (Schritt S302).
-
Die
Skalierungsfaktor-Auswahlinformationen (scfsi[sb][ch]) können einen
Wert von 0, 1, 2 oder 3 besitzen. Wie aus der obigen Beschreibung
selbstverständlich
ist, wird der Verschiebungsbetrag (jump_bit) des Stromlesezeigers
für jede
Schleife um 18 vergrößert, wenn
der Wert der Skalierungsfaktor-Auswahlinformationen (scfsi[sb][ch])
0 ist. Wenn der Wert der Skalierungsfaktor-Auswahlinformationen
(scfsi[sb][ch]) 1 ist, wird der Verschiebungsbetrag (jump_bit) des
Stromlesezeigers für
jede Schleife um 12 vergrößert. Wenn
der Wert der Skalierungsfaktor-Auswahlinformationen (scfsi[sb][ch])
2 ist, wird der Verschiebungsbetrag (jump_bit) des Stromlesezeigers
für jede
Schleife um 6 vergrößert. Wenn
der Wert der Skalierungsfaktor-Auswahlinformationen (scfsi[sb][ch])
3 ist, wird der Verschiebungsbetrag (jump_bit) des Stromlesezeigers
für jede
Schleife um 12 vergrößert.
-
Falls
bestimmt wird, dass das um 1 vergrößerte Unterband (sb) nicht
kleiner als die Untergrenze (sblimit) ist, initialisiert der Unterabschnitt 56 für die Berechnung
des Zeigerverschiebungsbetrags eine Gruppe (gr) (Schritt S310) und
initialisiert das Unterband (sb) (Schritt S311).
-
Dann
addiert der Unterabschnitt 56 für die Berechnung des Zeigerverschiebungsbetrags
den Wert einer Zuordnungsgröße eines
L-Kanals (alc_size[gr][sb][0]) zum Verschiebungsbetrag (jump_bit)
des Stromlesezeigers (Schritt S312).
-
Der
Unterabschnitt 56 für
die Berechnung des Zeigerverschiebungsbetrags bestimmt, ob das Unterband
(sb) kleiner als ein Gemeinschaftsunterband (joint_sb) ist oder
nicht (Schritt S313). Falls bestimmt wird, dass das Unterband (sb)
kleiner als das Gemeinschaftsunterband (joint_sb) ist, addiert der Unterabschnitt 56 für die Berechnung
des Zeigerverschiebungsbetrags den Wert einer Zuordnungsgröße eines
R-Kanals (alc_size[gr][sb][1]) zum Verschiebungsbetrag (jump_bit)
des Stromlesezeigers (Schritt S314).
-
Nachdem
im Schritt S314 der Wert der Zuordnungsgröße eines R-Kanals (alc_size[gr][sb][1]) zum
Verschiebungsbetrag (jump_bit) des Stromlesezeigers addiert worden
ist oder falls im Schritt S313 bestimmt worden ist, dass das Unterband
(sb) nicht kleiner als das ein Gemeinschaftsunterband (joint_sb)
ist, bestimmt der Unterabschnitt 56 für die Berechnung des Zeigerverschiebungsbetrags,
ob das um 1 vergrößerte Unterband
(sb) kleiner als die Unterbandgrenze (sblimit) ist oder nicht (Schritt S315).
Falls bestimmt wird, dass das um 1 vergrößerte Unterband (sb) kleiner
als die Unterbandgrenze (sblimit) ist, addiert der Unterabschnitt 56 für die Berechnung
des Zeigerverschiebungsbetrags den Wert einer Zuordnungsgröße des L-Kanals (alc_size[gr][sb][0])
zum Verschiebungsbetrag (jump_bit) des Stromlesezeigers (Schritt
S312).
-
Wenn
bestimmt wird, dass das um 1 vergrößerte Unterband (sb) nicht
kleiner als die Unterbandgrenze (sblimit) ist, bestimmt der Unterabschnitt 56 für die Berechnung
des Zeigerverschiebungsbetrags, ob die Gruppe (gr) kleiner als 12
ist oder nicht (Schritt S316). Falls bestimmt wird, dass die Gruppe
(gr) kleiner als 12 ist, initialisiert der Unterabschnitt 56 für die Berechnung
des Zeigerverschiebungsbetrags das Unterband (sb) (Schritt S311).
Falls bestimmt wird, dass die Gruppe (gr) nicht kleiner als 12 ist,
schließt der
Unterabschnitt 56 für
die Berechnung des Zeigerverschiebungsbetrags die Berechnung des
Zeigerverschiebungsbetrags ab.
-
Indem
der oben beschriebenen Prozedur gefolgt wird, wird die Position
des Kopfes des erweiterten MPEG2-Multichannel-Bereichs anhand der MPEG1-seitigen
Informationen lokalisiert.
-
In 1 werden
die MC-seitigen Informationen 12 an der Position (POS)
des vom MC-Kopferfassungsabschnitt 23 verschobenen Stromlesezeigers
gelesen und in den MC-Decodierungsabschnitt 22 eingegeben.
Der MC-Decodierungsabschnitt 22 führt zuerst die CRC (Fehlerprüfung) für die eingegebenen
MC-seitigen Informationen 12 aus.
-
Falls
die Ergebnisse der CRC annehmbar sind, gibt der MC-Decodierungsabschnitt 22 die
an der Position des Stromlesezeigers gelesenen MC-seitigen Informationen 12 des
Bitstroms 1 aus, damit sie im Datenhaltepuffer 41 gehalten
werden, wobei er dann den Stromlesezeiger zur Kopfposition des Skalierungsfaktors
der MPEG1-seitigen
Informationen 11 verschiebt.
-
Der
MPEG1-Decodierungsabschnitt 21 liest den Bitstrom an der
Position des Stromlesezeigers, decodiert den Skalierungsfaktor der
MPEG1-seitigen Informationen 11 und den ersten MPEG1-Abtastwertinformationsblock 13 und
gibt die decodierten Informationen an den PCM-Ausgabepuffer 42 aus,
falls die anhand der MC-seitigen Informationen 12 berechnete
Anzahl der Kanäle
im MC-Bereich 1B nicht null ist. Der MPEG1-Decodierungsabschnitt 21 verschiebt
dann den Stromlesezeiger zum Kopf des ersten MC-Abtastwertinformationsblocks 14.
-
Der
MC-Decodierungsabschnitt 22 liest anschließend den
ersten MC-Abtastwertinformationsblock 14 an der Position
des Stromlesezeigers, decodiert den ersten MC-Abtastwertinformationsblock 14 und
gibt die decodierten Informationen an den PCM-Ausgabepuffer 42 aus.
Dann verschiebt der MC-Decodierungsabschnitt 22 den Stromlesezeiger zum
Kopf des zweiten MPEG1-Abtastwertinformationsblocks 15.
-
Eine
Folge der Operationen, wie sie oben beschrieben worden ist, d. h.
das Decodieren des n-ten MPEG1-Abtastwertinformationsblocks, das
Ausgeben der decodierten Informationen an den PCM-Ausgabepuffer 42 und
das Verschieben des Stromlesezeigers durch den MPEG1-Decodierungsabschnitt 21 und
das Decodieren des n-ten MC-Abtastwertinformationsblocks, das Ausgeben
der decodierten Informationen an den PCM-Ausgabepuffer 42 und
das Verschieben des Stromlesezeigers durch den MC-Decodierungsabschnitt 22,
wird im Bereich von 2 ≤ n ≤ 6 (n ist
eine ganze Zahl) wiederholt. Dann verschiebt der MC-Decodierungsabschnitt 22 den Stromlesezeiger
zum Kopf der MPEG1-seitigen Informationen 11 des nächsten Rahmens.
-
Der
MPEG1-Decodierungsabschnitt 21 liest im Gegenteil den Bitstrom
an der Position des Stromlesezeigers, decodiert den Skalierungsfaktor
der MPEG1-seitigen Informationen 11 und den ersten MPEG1-Abtastwertinformationsblock 13 und
gibt die decodierten Informationen an den PCM-Ausgabepuffer 42 aus,
nachdem der Stromlesezeiger durch den MC-Decodierungsabschnitt 22 zur
Kopfposition des Skalierungsfaktors der MPEG1-seitigen Informationen 11 verschoben
worden ist, falls die anhand der MC-seitigen Informationen 12 berechnete
Anzahl der Kanäle
im MC-Bereich 1B null ist. Diese Folge der Operationen,
d. h. das Decodieren des n-ten MPEG1-Abtastwertinformationsblocks
und das Ausgeben der decodierten Informationen an den PCM-Ausgabepuffer 42,
wird im Bereich von 2 ≤ n ≤ 6 (n ist
eine ganze Zahl) wiederholt. Dann verschiebt der MPEG1-Decodierungsabschnitt 21 den
Stromlesezeiger zum Kopf der MPEG1-seitigen Informationen 11 des
nächsten
Rahmens.
-
Außerdem wird
die folgende Verarbeitung während
der Operationen durch den oben beschriebenen MC-Decodierungsabschnitt 22 ausgeführt. Falls
die Länge
eines Stroms vom Kopf eines Rahmens bis zur Position des Stromlesezeigers,
an der das Lesen im Gange ist, größer als ein Wert wird, der durch
das Subtrahieren einer Länge
von n_ad_bytes der MC-seitigen Informationen 12 von der
Länge des Rahmens,
für den
die Operation im Gange ist, erhalten wird, beendet der MC-Decodierungsabschnitt 22 die
Decodierung des MC-Bereichs 1B. Der MC-Decodierungsabschnitt 22 verschiebt
dann den Stromlesezeiger zu einer Position, die entweder einem Abschnitt
der MPEG1-seitigen Informationen 11 oder einem MPEG1-Abtastwertinformationsblock,
der einem Abschnitt der MPEG1-seitigen Informationen 11 oder
dem durch den MPEG1-Decodierungsabschnitt 21 zuletzt decodierten
MPEG1-Abtastwertinformationsblock folgt, entspricht. Danach wird
nur das Decodieren durch den MPEG1-Decodierungsabschnitt 21 ausgeführt.
-
Falls
die Ergebnisse der CRC nicht annehmbar sind, verschiebt der MC-Decodierungsabschnitt 22 den
Stromlesezeiger zum Kopf des ersten MPEG1-Abtastwertinformationsblocks 13,
um zu ermöglichen,
dass der erste MPEG1-Abtastwertinformationsblock 13 durch
den MPEG1-DecodierungsAbschnitt 21 decodiert und an den
PCM-Ausgabepuffer 42 ausgegeben wird. Dann wird der zweite MPEG1-Abtastwertinformationsblock 15 decodiert. In
dieser Weise wird nur der MPEG1-kompatible
Bereich 1A decodiert.
-
Folglich
kann in dieser Ausführungsform
der Kopf des MC-Bereichs 1B analysiert werden, ohne zuvor
die Decodierung des ganzen MPEG1-kompatiblen Bereichs 1A abzuschließen, was
andernfalls wie beim im ISO-IEC 13818-3 festgelegten Decodierungsverfahren
notwendig ist. Dies ermöglicht
die Verringerung der Vorrichtungsgröße.
-
Außerdem kann
das folgende Problem, das sich in der herkömmlichen Vorrichtung ergibt,
wie oben beschrieben worden ist, überwunden werden. Das heißt, wenn
ein Bitstrom, der nur den MPEG1-kompatiblen Bereich 1A ohne
den MC-Bereich 1B besitzt, eingegeben wird, wird die Decodierung
eines Abschnitts des Bitstroms, der dem MC-Bereich 1B entspricht,
der tatsächlich
nicht der MC-Bereich 1B ist, begonnen, falls der Bitstrom
zufällig
die CRC für
den MC-Bereich 1B besteht, was einen fehlerhaften Betrieb
verursacht. In dieser Ausführungsform
wird jedoch die Decodierung des MC-Bereichs 1B beendet,
falls die Anzahl der Kanäle im
MC-Abschnitt 1B null
ist oder falls versucht wird, den MC-Bereich 1B über eine
Länge zu
decodieren, die eine Rahmenlänge überschreitet,
selbst wenn der Bitstrom die CRC für den MC-Bereich 1B besteht, wobei
dadurch die Wahrscheinlichkeit eines Auftretens eines fehlerhaften
Betriebs weiter verringert wird.
-
In
dieser Ausführungsform
wird die Erfassung des MC-Kopfs (der MC-seitigen Informationen 12)
zu einem Zeitpunkt ausgeführt,
bevor der Skalierungsfaktor des MPEG1-kompatiblen Bereichs 1A erfasst
wird. Im Hinblick auf die Aufgabe der vorliegenden Erfindung, die
darin besteht, zu bestimmen, ob die Decodierung des MC-Bereichs 1B möglich ist, indem
die Position des MC-Kopfs lokalisiert wird, bevor der ganze MPEG1-kompatible
Bereich 1A decodiert wird, kann sich der Zeitpunkt, zu
dem der MC-Kopf erfasst wird, an irgendeinem Punkt nach der Decodierung
der Skalierungsfaktor-Auswahlinformationen 53, falls der
Bitstrom 1 entsprechend der Layer II ist, oder nach der
Decodierung der Zuordnungsinformationen 62, falls der Bitstrom 1 entsprechend
der Layer I ist, befinden.
-
In
dieser Ausführungsform
wurde ein Bitstrom ohne einen Erweiterungsstrom als der Bitstrom 1 verwendet.
Bei der Bestimmung anhand des Vergleichs der Stromlängen, ob
die Multichannel-Decodierung zulässig
ist, ist die vorliegende Erfindung dadurch gekennzeichnet, dass,
wenn die Länge
des decodierten Stroms eine Länge
eines Stroms der codierten Toninformationen eines Rahmens überschreitet,
der MC-Bereich 1B nicht
länger
erfasst wird, sondern nur der MPEG1-kompatible Bereich 1A erfasst wird.
Im Hinblick auf das Obige können
im Wesentlichen die gleichen Wirkungen wie diejenigen, die oben
beschrieben worden sind, für
einen Strom, der einen Erweiterungsstrom besitzt, erhalten werden, indem
eine Verarbeitung, die zu der oben beschriebenen ähnlich ist,
unter Verwendung wenigstens einer Länge von (Basisrahmenlänge) + (Erweiterungsstromlänge) – (n_ad_bytes)
als die obere Grenze der für
die Decodierung wirksamen Stromlänge
ausgeführt
wird.
-
Folglich
wird gemäß der vorliegenden
Erfindung ein durch MPEG2-Multichannel definierter Bitstrom für die separate
Decodierung in mehrere Blöcke
unterteilt. Dies ermöglicht,
dass die Decodierung unter Verwendung eines Pufferspeichers mit
einer kleineren Kapazität
als der, die üblicherweise
verwendet wird, ausgeführt
wird. Außerdem
kann gemäß der vorliegenden
Erfindung genauer als im herkömmlichen
Fall anhand der Anzahl der Kanäle
im erweiterten Multichannel-Bereich und der verbleibenden Menge
des Bitstroms in einem Rahmen festgestellt werden, ob der erweiterte
MPEG2-Multichannel-Bereich tatsächlich
vorhanden ist oder nicht, selbst wenn ein Bitstrom die CRC für den erweiterten MPEG2-Multichannel-Bereich
irrtümlich
besteht. In dieser Weise kann eine Decodierungsvorrichtung mit verringertem
Auftreten des fehlerhaften Betriebs verwirklicht werden.
-
Für die Fachleute
auf dem Gebiet werden verschiedene andere Modifikationen offensichtlich sein
und können
von ihnen leicht ausgeführt
werden, ohne vom Umfang dieser Erfindung abzuweichen. Demzufolge
ist nicht vorgesehen, dass der Umfang der hierzu beigefügten Ansprüche auf
die Beschreibung, wie sie hierin dargelegt ist, eingeschränkt wird, sondern
es ist stattdessen vorgesehen, dass die Ansprüche weit ausgelegt werden.