-
Die
vorliegende Erfindung bezieht sich auf das Codieren, Speichern und Übertragen
von Digitalsignalen.
-
In
den vergangenen Jahren wurden in vielen Fällen, wenn ein Bildsignal oder
ein Sprachsignal, welches auf einem Aufzeichnungsträger gespeichert wurde,
beispielsweise einer magnetooptischen Platte oder einem Magnetband,
davon reproduziert wurde, um das Videobild mit Ton anzuzeigen, oder über eine vorhandene Übertragungsleitung
von einer Sendeseite zu einer Empfangsseite übertragen wurde, wo das Videobild
oder der Ton reproduziert wird, wie dies bei einem Videokonferenzsystem,
Videotelefonsystem oder dgl. genutzt wird, diese Signale gemäß dem sogenannten
MPEG-System codiert, nachdem sie einer A/D-Umsetzung unterworfen
wurden.
-
Hier
stellt das oben genannte "MPEG" eine Abkürzung für Moving
Picture Experts Group dar, welche eine Organization ist, um das
Codieren eines dynamischen Bilds, welches gespeichert ist, zu erforschen,
welche zur ISO/IEC, JTC1/SC29 (International Organization for standardization/International Electrotechnical
Commission, Joint Technical Committee 1/Sub-Comittee 29) gehört. ISO11171
ist als MPEG1-Standard vorgeschrieben, während ISO13818 als MPEG2-Standard
vorgeschrieben ist. Bei diesen internationalen Standards ist der
Ausdruck "Multiplexen
von Multimedia" in
IS11172-1 und ISO13818-1 normiert, während der Ausdruck "Bild (picture image)" in ISO11172-3 und
ISO13818-3 normiert ist.
-
Da
das Bildsignal und das Sprachsignal üblicherweise im gleichen Zeitpunkt
gehandhabt werden, ist es allgemein, dass mehrere Daten einschließlich des
Bildsignals, des Sprachsignals und verwandte Informationsdaten verschachtelt
werden, um somit zusammen aufgezeichnet und übertragen zu werden. Wenn diese
Signale reproduziert werden, werden die Multiplexdaten getrennt
oder in individuelle Datenarten demultiplext und dann decodiert,
um diese Daten synchron zu reproduzieren.
-
In
dem Fall, wo diese Daten verschachtelt sind, ist die vorgegebene
Anzahl von Bildsignalen und Sprachsignalen individuell codiert,
um codierte Datenströme
zu erzeugen, und danach werden diese codierten Datenströme verschachtelt.
-
Der
Multiplex-Datenstrom ist im MPEG-System (ISO/IEC13818-1 oder ISO/IEC11172-1)
vorgeschrieben. Anschließend
wird die Struktur des Decoder-Modells und des Multiplex-Datenstroms,
die im MPEG-System vorgeschrieben sind, erläutert. Aus Einfachheitsgründen wird
die Erläuterung
im Zusammenhang von MPEG2-Programmdatenstrom (ISO/IEC13818-1) und
MPEG2-Systemdatenstrom (ISO/IEC11172-1) vorgenommen. Es soll jedoch
darauf hingewiesen werden, dass das Prinzip zum Decodieren des MPEG2-Programmdatenstroms
in gleicher Weise auf das Decodieren des MPEG2-Systemtransportstroms
anwendbar ist (ISO/IEC11172-1).
-
Im
MPEG-System ist ein virtuelles Decodermodell vorgeschrieben (STD:
system target decoder). Der Multiplexdatenstrom ist hier so definiert, dass
der Datenstrom durch den Systemzieldecoder (STD) korrekt decodiert
werden kann, d.h., er kann decodiert werden, ohne einen nicht geeigneten
Betriebszustand eines Puffers zu veranlassen, beispielsweise einen Überlauf
oder Unterlauf von Daten.
-
Anschließend wird
die Arbeitsweise des Systemszieldecoders (STD) beschrieben. 1 zeigt eine
schematische Anordnung eines Beispiels des Systemzieldecoders STD. 2A und 2B zeigen
die Strukturen des MPEG2-Programmdatenstroms bzw. des MPEG2-Transportdatenstroms.
-
Der
Systemzieldecoder STD 16 umfasst hier einen Referenztakt,
der als Systemzeittakt (STC) 16 bezeichnet wird, der mit
einem vorher festgelegten Inkrement nach oben gesetzt wird. Dagegen
besteht der MPEG2-Systemprogramm-Datenstrom aus mehreren Zugriffseinheiten.
Der Datenstrom besitzt eine Zeitinformation, die als Systemtakt-Referenz
(SCR) bezeichnet wird, die in einem Bereich codiert ist, der als
Stapel-Datenkopf bezeichnet wird, wie in 2A und 2B gezeigt
ist. Wenn die Zeit von STC 16 gleich der von SCR ist, liest
der Decoder einen entsprechenden Stapel, d.h., eine Einheit des
Programmdatenstroms mit einer vorher festgelegten Rate aus, d.h.,
einer Rate, welche im "Multiplexraten-Datenfeld" des Stapel-Datenkopfs
codiert ist.
-
Der
gelesene Stapel wird unmittelbar getrennt oder in entsprechende
Elementar-Datenströme, beispielsweise
einen Videodatenstrom und einen Audiodatenstrom mittels eines Demultiplexers 11 in Abhängigkeit
von einer Art jedes Pakets, welches eine Einheit des Stapels ist,
demultiplext. Die entsprechenden demultiplexten Elementar-Datenströme werden
entsprechenden Decoderpuffern zugeführt, d.h., einem Videopuffer 12 und
einem Audiopuffer 14.
-
Der
Paket-Datenkopf besitzt Datenfelder für die Zeitinformation, die
als Decodier-Zeit-Stempel (DTS)
oder als Darstellungszeitstempel (PTS) bezeichnet wird, wie in 2A und 2B gezeigt
ist. Die Zeitinformation zeigt die Decodierzeit und die Darstellungszeit
einer Decodiereinheit (Zugriffseinheit) eines jeden Elementarstroms.
Insbesondere zeigt der PTS eine Zeit, in welcher die Zugriffseinheit angezeigt
wird, und der DTS zeigt eine Zeit, in welcher die Zugriffseinheit
decodiert wird. Wenn bei der Zugriffseinheit der DTS und PTS einander
gleich sind, werden jedoch lediglich die Daten des PTS codiert.
Wenn der Wert des STC gleich dem Wert des DTS ist, werden das Zugriffseinheits-Eingangssignal in
den Videopuffer 12 oder in den Audiopuffer 14 daraus
gelesen und zu den entsprechenden Decodern geliefert, d.h., zu einem
Videodecoder 13 oder zu einem Audiodecoder 15,
um somit decodiert zu werden.
-
Somit
können
beim Systemzieldecoder STD, da die Decodierzeitinformation in Bezug
auf den allgemeinen Referenztakt (STC) 16 im Paket jedes
elementaren Datenstroms codiert ist, Videodaten, Audiodaten und
andere Daten in einer synchronen Art und Weise reproduziert werden.
-
Zusätzlich ist
es beim Multiplexen erforderlich, dass die Systemtaktreferenz SCR,
welche eine Zuführzeit
des Stapels zum Systemzieldecoder STD bestimmt, so bestimmt werden
sollte, dass kein Überlauf
oder Unterlauf von Daten in die Puffer für die jeweiligen Elementardatenströme im Systemziel-Decoder
STD bewirkt wird, und dass die Zugriffseinheiten paketiert sind. Überlauf
bedeutet übrigens,
dass die Daten, welche zum Decoder geliefert werden, eine Kapazität des Puffers übersteigen,
während
Unterlauf bedeutet, dass die Zugriffseinheit, die zu decodieren
ist, nicht vollständig
zum Puffer in dessen Decodierzeit geliefert wird.
-
Es
wurde oben der MPEG2-Programmdatenstrom, der in 2A gezeigt
ist, erläutert.
Der MPEG2-Transportdatenstrom, der in 2B gezeigt ist,
besitzt die gleiche Struktur wie die des MPEG2-Programmdatenstroms.
Ein Transport-Datenstromkopf besteht, wie in 2B gezeigt
ist, aus vier Bytes von einem Synchronbyte (syc_byte) zum Kontinuitätszähler, was
in der oben erläuterten ISO/IEC13818-1
vorgeschrieben ist. Die Taktreferenz und die Decodierzeit haben
die gleichen Bedeutungen wie diejenigen des MPEG2-Programmdatenstroms,
der in 2A gezeigt ist.
-
Die
MPEG-Videodaten haben eine Struktureinheit, die als Bildgruppe (GOP)
bezeichnet wird. Die Struktureinheit kann unabhängig codiert werden, d.h.,
das Codieren der GOP kann so durchgeführt werden, dass, wenn die
GOP decodiert wird, irgendein Bild, wel ches in der vorhergehenden
GOP beteiligt ist, nicht erforderlich ist. Wenn somit mehrere Videodatenströme vorhanden
sind, können
sie durch GOP oder GOPs wie eine Einheit zum Umschalten umgeschaltet
werden. Ein herkömmliches Verfahren
zum Aufspalten von MPEG-codierten
Videodatenströmen
ist in der EP-A 692 911 offenbart.
-
Nachfolgend
sei der Fall betrachtet, wo zwei unterschiedliche Programmdatenstromarten,
die unter den oben erwähnten
Zuständen
codiert sind, d.h., unter diesen Umständen, dass der Videodatenstrom für jede GOP
codiert ist, unabhängig
verschachtelt sind. Dabei gibt es jedoch eine Beschränkung, dass die
Grenze jeder GOP nicht innerhalb des Videopakets vorhanden ist,
nämlich,
dass Videodaten von Bildern unmittelbar vor und nach der Grenze
der GOP nicht innerhalb eines Videopakets existieren.
-
3A bis 3C zeigen
ein Beispiel des Falls, wo zwei Programmdatenströme unabhängig unter den oben erläuterten
Umständen
verschachtelt sind, und ein Beispiel des Falls, wo zwei Programmdatenströme selektiv
von einem zum anderen umgeschaltet und ausgegeben werden. Wie in 3A gezeigt
ist, werden die Daten der GOP0 im Videodatenstrom V0 über Stapel
PK0 und PK1 eines Programmdatenstroms PS0 verschachtelt, und die
Daten der GOP1 des Videodatenstroms V0 werden über Stapel PK2 und PK3 des
Programmdatenstroms PS0 verschachtelt. Dagegen werden, wie in 3B gezeigt ist,
die Daten der GOP0 im Videodatenstrom V1 über Stapel PK0 und PK1 und
PK2 des Programmdatenstroms PS1 verschachtelt, und die Daten der
GOP1 des Videodatenstroms V1 werden über einen Stapel PK3 des Programmdatenstroms
PS1 verschachtelt.
-
Die
beiden Programmdatenströme,
die unabhängig
verschachtelt sind, wie in 3A und 3B gezeigt
ist, werden auf einem gemeinsamen Aufzeichnungsträger gespeichert.
Wenn ein solches System, bei dem die derart gespeicherten beiden Programmdatenströme bei jedem
Stapel oder Stapeln ausgegeben werden, während selektiv dazwischen umgeschaltet
wird, beispielsweise unter Verwendung der Leseeinrichtung 10,
die in 1 gezeigt ist, nun betrachtet wird, ermöglicht es
die unabhängige
GOP-Anordnung, dass die Videodaten kontinuierlich in einer nahtlosen
Art und Weise reproduziert werden, wenn die Programmdatenströme, die ausgegeben
werden, in den Umschaltzeitpunkten umgeschaltet werden.
-
Wenn
beispielsweise, wie in 3C gezeigt ist, die Stapel PK0
und PK1 des Programmdatenstroms PS0 gelesen werden und danach der
Stapel 3 des Programmdatenstroms PS1 fortlaufend gelesen
wird, werden die GOP0 des Videodatenstroms V0 und danach die GOP1
des Videodatenstroms V1 dem Videopuffer 12 zugeführt, der
in 1 gezeigt ist, so dass das Videobild fortlaufend
reproduziert werden kann, sogar dann, wenn es zwischen den Videodatenströmen V0 und
V1 umgeschaltet wird. In diesem Fall sieht man, obwohl der Fall
beschrieben ist, wo die beiden unterschiedlichen Programmdatenströme auf dem
Aufzeichnungsträger
gespeichert sind, dass die gleichen Effekte erhalten werden können, wenn
drei oder mehrere Programmdatenströme verwendet werden. Danach
werden Stapel, die diesen Umschaltpunkten zwischen den GOPs entsprechen,
als Eintrittsstellen bezeichnet.
-
In
dem Fall, wo mehrere Programmdatenströme auf einem Aufzeichnungsträger gespeichert sind,
und eine Leseinrichtung eine Funktion hat, die Programmdatenströme zu lesen,
während
sie von einem zum anderen bei Eintrittsstellen umgeschaltet wird,
tritt gelegentlich eine Unannehmlichkeit auf, dass diese Programmdatenströme nicht
korrekt durch einen Decoder decodiert werden können, wenn solche mehreren
Programmdatenströme,
die auf dem Aufzeichnungsträger
zu speichern sind, unabhängig
verschachtelt sind, wie bei den herkömmlichen Verfahren. Dies wird
durch die folgenden beiden Gründe
verursacht.
-
Grund I: Unverträglichkeit
der Systemtaktreferenz (SCR):
-
Die
Systemtaktreferenz (SCR), die im Stapeldatenkopf codiert ist, stellt
eine Lesestapelzeit der Stapeldaten, die dem Decoder zugeführt sind,
dar. Aus diesem Grund werden die Systemtaktsreferenzen (SCR) von
zwei benachbarten Stapeln, die gelesen werden und dem Decoder zugeführt werden,
benötigt,
um den folgenden Zustand zu erfüllen:
(SCR-codiert
im letzteren Stapel) ≥ [(SCR-codiert
im früheren
Stapel) + Übertragungszeit
des früheren Stapels)],
nämlich,
(SCR-codiert
im letzteren Stapel) ≥ [(SCR-codiert
im früheren
Stapel) + Datenlänge
des früheren
Stapels)/(Leserate)]
-
Folglich
tritt, sogar, obwohl der oben erwähnte Zustand erfüllt werden
kann, wenn der Programmdatenstrom PS0 in der Reihenfolge PK0, PK1,
PK2, PK3 ... gelesen wird, (nämlich
sogar obwohl die individuellen Programmdatenströme verschachtelt sind, um so
den oben erwähnten
Zustand zu erfüllen), wenn
die Programmdatenströme
von einem zum anderen durch die Daten, die an den Eintrittsstellen
codiert sind, umgeschaltet werden, beispielsweise, dass die Stapel
PK0 und PK1 des Programmdatenstroms PS0 zunächst gelesen werden und dann
der Stapel PK3 des Programmdatenstroms PSI gelesen wird, wie in 3C gezeigt
ist, gelegentlich ein Problem auf, dass der oben erwähnte Zustand
nicht länger
erfüllt
wird, da die Programmdatenströme
PS0 und PS1 separat voneinander verschachtelt sind. Das heißt, wenn
die Programmdatenströme
in der oben erwähnten
Reihenfolge gelesen werden, wird die Systemzeittakt (STC) bei der
Beendigung des Lesens des früheren
Stapels größer als
der Wert der Systemtaktreferenz, die im letzteren Stapel codiert ist,
so dass es unmöglich
ist, die Daten des letzteren Stapels zu lesen.
-
Grund II: ungeeigneter
Betriebszustand des Pufferspeichers (Überlauf und/oder Unterlauf
von Daten im Puffer):
-
Wenn
die Programmdatenströme,
die zu lesen sind, von einem zum anderen durch die Leseinrichtung
umgeschaltet werden, ist es wahrscheinlich, dass ein nicht zureichender
Betriebszustand des Decoderpuffers, beispielsweise ein Überlauf
oder Unterlauf auftritt.
-
Der
oben erwähnte
Grund II wird ausführlich anschließend mit
Hilfe von 4A bis 4C erläutert. 4A bis 4C zeigen
den Übergang
in der Speichermenge des Videodecoderpuffers, der durch die Daten
belegt ist. 4A zeigt den Zustand des Decoderpuffers,
wo, wie beispielsweise in 3A gezeigt
ist, der Programmdatenstrom PS0 regulär in der Reihenfolge der Stapel
PK0, PK1, PK2, PK3 usw. gelesen wird. In 4A stellt
der Bereich (a) die Datenmenge im Puffer dar, welche durch die GOP0
des Videodatenstroms V0 besetzt ist, und der Bereich (b) zeigt die
Datenmenge im Puffer, welche durch die GOP1 des Videodatenstroms
V0 besetzt ist. 4B zeigt den Zustand des Decoderpuffers,
wo beispielsweise, wie in 3B gezeigt
ist, der Programmdatenstrom PS1 regulär in der Reihenfolge der Pakete PK0,
PK1, PK2, PK3 usw. gelesen wird. In 4B zeigt
der Bereich (c) die Datenmenge im Puffer, welch durch die GOP0 des
Videodatenstroms V1 besetzt ist, und der Bereich (d) zeigt die Datenmenge
im Puffer, welche durch die GOP1 des Videodatenstroms V1 besetzt
ist. Jeder der Programmdatenströme,
die in 4A und 4B gezeigt
sind, wird fortlaufend gebildet. Daher werden die Programmdatenströme verschachtelt,
so dass der Decoderpuffer keinen ungeeigneten Betriebszustand bewirkt,
beispielsweise ein Überlaufen
oder Unterlaufen. Wenn jedoch die verschachtelten Programmdatenströme gelesen
werden, während
sie von einem zum anderen durch die Leseeinrichtung umgeschaltet
werden, so dass die Stapel PK0 und PK1 des Programmdatenstroms PS0
zunächst
in dieser Reihenfolge gelesen werden und dann der Stapel PK3 des
Programmdatenstroms PS1 gelesen wird, wie in 3C gezeigt
ist, wird der Decoderpuffer zunächst
mit den Daten der GOP0 des Videodatenstroms V0 und dann mit den
Daten der FOP1 des Videodatenstroms V1 beliefert. Als Folge davon
ist die Datenmenge, welche durch diese GOP's im Decoderpuffer besetzt wird, der
Zustand, wie in 4C gezeigt ist. In 4C stellt
der Bereich (e) die Datenmenge dar, welche durch die GOP0 des Videodatenstroms
V0 eingenommen wird, und der Bereich (f) stellt die Datenmenge dar,
welche durch die GOP1 des Videodatenstroms V1 eingenommen wird.
-
Wenn
die Daten der GOP1 des Videodatenstroms V1 decodiert werden, werden
das Lesen von diesen durch die Systemtaktreferenz (SCR) bestimmt,
während
das Herausziehen der Daten vom Decoderpuffer durch den Decodierzeitstempel
(DTS) bestimmt wird, so dass der zeitliche Ablauf des Lesens und
des Herausziehens der Daten vom Decoderpuffer ähnlich dem von (f) ist, der
in 4C gezeigt ist, wodurch der Überlauf des Decoderpuffers verursacht
wird.
-
Verschiedene
entsprechende Merkmale sind der Erfindung sind in den angehängten Patentansprüchen definiert.
-
Folglich
können
Ausführungsformen
der Erfindung ein Verfahren und eine Vorrichtung bereitstellen,
um ein Digitalsignal zu codieren, und einen Aufzeichnungsträger, um
das Digitalsignal zu speichern, wobei verhindert wird, dass eine
Fehlausrichtung von Systemtaktreferenzen bewirkt wird, wenn mehrere Programmdatenströme gelesen
werden, während von
einem zum anderen an deren Eintrittstellen umgeschaltet wird, und
die in der Lage sind, die Programmdatenströme ohne einen nicht geeigneten
Betriebszustand eines Decoderpuffers, beispielsweise ein Überlaufen
oder Unterlaufen von Daten im Puffer, zu lesen.
-
Gemäß einem
Merkmal der vorliegenden Erfindung wird ein Verfahren zum Codieren
eines Digitalsignals bereitgestellt, wobei das Verfahren folgende
Schritte aufweist:
Empfangen von mehreren Digitalsignal-Bitströmen;
Ermitteln
von Größen von
Zugriffseinheiten als eine Codiereinheit der mehreren Digitalsignal-Bitströme und deren
Decodierzeiten;
Vergleichen der ermittelten Größen der
Zugriffseinheiten bei jeder Decodierzeit miteinander, um einen Maximalwert
davon auszuwählen;
Bereitstellen
eines virtuellen Datenstroms, der aus Zugriffseinheiten zusammengesetzt
ist, wobei jede eine Größe hat,
die dem ausgewählten
Maximalwert in jeder Decodierzeit identisch ist; und
Paketieren
eines jeden der mehreren Digitalsignal-Bitströme,
wobei die mehreren
Digitalsignal-Bitströme
unter Verwendung von Auffüllpaketen
paketiert wird, die jeweils eine Größe haben, die einer Differenz
bezüglich der
Größe zwischen
jeder Zugriffseinheit der mehreren Digitalsignal-Bitströme und der
des virtuellen Datenstroms entspricht, wenn die Größe der Zugriffseinheit
der mehreren Digitalsignal-Bitströme kleiner ist als die Größe der Zugriffseinheit
des virtuellen Datenstroms.
-
Gemäß einem
weiteren Merkmal der vorliegenden Erfindung wird eine Vorrichtung
bereitgestellt, um ein Digitalsignal zu codieren, welche aufweist:
ein
Empfangsendgerät
zum Empfangen von mehreren Digitalsignal-Bitströmen;
eine Zugriffseinheit-Ermittlungseinrichtung
zum Ermitteln von Größen von
Zugriffseinheiten als eine Codiereinheit der mehreren Digitalsignal-Bitströme und deren
Decodierzeiten;
eine Maximalwert-Ermittlungseinrichtung zum
Vergleichen der ermittelten Größen der
Zugriffseinheiten in jedem Decodierzeitpunkt miteinander, um einen Maximalwert
davon auszuwählen;
einen
Scheduler zum Bereitstellen eines virtuellen Stroms, der aus Zugriffseinheiten
zusammengesetzt ist, die jeweils eine Größe haben, die identisch dem ausgewählten Maximalwert
in jedem Decodierzeitpunkt ist; und
eine Paketierungseinrichtung
zum Paketieren jedes der mehreren Digitalsignal-Bitströme,
wobei die mehreren
Digitalsignal-Bitströme
unter Verwendung von Auffüllpaketen
paketiert werden, die jeweils eine Größe haben, die einer Differenz
bezüglich
der Größe zwischen
jeder Zugriffseinheit der mehreren Digitalsignal-Bitströme und der
des virtuellen Stroms entspricht, wenn die Größe der Zugriffseinheit der
mehreren Digitalsignal-Bitströme
kleiner ist als die Größe der Zugriffseinheit
des virtuellen Stroms.
-
Gemäß einem
weiteren Merkmal der vorliegenden Erfindung wird ein Aufzeichnungsträger bereitgestellt,
auf dem ein Aufzeichnungssignal gespeichert ist, wobei das Aufzeichnungssignal
durch das oben erläuterte
Codierverfahren erzeugt wird.
-
Die
Erfindung wird nun mittels eines Beispiels unter Bezugnahme auf
die beiliegenden Zeichnungen beschreiben, wobei gleiche Teile durchwegs mit
gleichen Bezugszeichen bezeichnet sind, und in denen:
-
1 ein
Blockdiagramm ist, welches schematisch eine Anordnung eines Systemzieldecoders (STD)
zeigt, der bei einem sogenannten MPEG-Standard vorgeschrieben ist;
-
2A und 2B Ansichten
sind, die Beispiele von Anordnungen eines Programmdatenstroms bzw.
eine Transportdatenstroms zeigen, die beide bei einem sogenannten
MPEG-Standard vorgeschrieben
sind;
-
3A bis 3C Ansichten
sind, welche Beispiele von Datenströmen zeigen, die durch abhängiges Multiplexen
von unterschiedlichen zwei Programmdatenströmen erhalten werden, und eines Datenstroms,
der durch Umschalten dieser beiden Programmdatenströme von einem
zum anderen erhalten wird;
-
4A bis 4C grafische
Darstellungen sind, die das Verhalten des Puffers erläutern, welches
beobachtet wird, wenn die Programmdatenströme von einem zum anderen umgeschaltet
werden;
-
5 ein
Blockdiagramm ist, welches schematisch eine Anordnung eines digitalen
Signalcodiergeräts
gemäß einer
bevorzugten Ausführungsform der
vorliegenden Erfindung zeigt;
-
6 eine
grafische Darstellung ist, die eine Art und Weise erläutert, um
Zugriffseinheiten eines virtuellen Video zu bestimmen;
-
7A bis 7E Ansichten
sind, welche ein Beispiel eines Programmdatenstroms zeigen, der gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung erzeugt wird;
-
8 eine
Ansicht ist, um ein Verhalten des Puffers zu erläutern, welches beobachtet wird,
wenn der Programmdatenstrom, der gemäß der bevorzugten Ausführungsform
der Erfindung erzeugt wird, decodiert wird; und
-
9A bis 9I Ansichten
sind, die einen Programmdatenstrom zeigen, der erhalten wird, wenn
die bevorzugte Ausführungsform
der vorliegenden Erfindung bei Videodaten angewandt wird, die an unterschiedlichen
zwei Kamerawinkeln bereitgestellt werden.
-
Die
bevorzugten Ausführungsformen
der vorliegenden Erfindung werden unten unter Bezugnahme auf die
beiliegenden Zeichnungen beschrieben.
-
5 zeigt
ein Blockdiagramm, welches eine Digitalsignalcodiereinrichtung gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung schematisch zeigt. Bei dieser Ausführungsform wird
angenommen, dass mehrere Videos, die von der gleichen Szene bereitgestellt
werden, jedoch mit unterschiedlichen Kamerawinkeln, beispielsweise
drei unterschiedliche Videodatenströme VS0 bis
VS2 codiert werden.
-
Da
diese Videodatenströme
von der gleichen Szene bereitstellt werden, können die anderen Daten, die über die
jeweiligen drei Videodatenströme VS0 bis VS2 verschachtelt
sind, die beispielsweise Audiodaten und überlagerte Daten (Audiodatenstrom-AS
oder zusätzlichen
Datenstrom, beispielsweise TS) enthalten, identisch zueinander sein.
Aus diesem Grund kann eine Art an Datenstrom für jedes der anderen Datenelemente
dazu verwendet werden, in Bezug zueinander der drei Videodatenströme VS0 bis VS2 verschachtelt
zu werden. Wenn die schließlich
erzeugten Programmdatenströme
PS0 bis PS2 auf
Seiten eines Decoders, während
sie von einer zur anderen zweiten GOP (Bildgruppe) oder GOP's umgeschaltet werden,
um einen fortlaufenden Wiedergabebetrieb bei jeden Umschaltpunkt
sicherzustellen, reproduziert werden, ist es erforderlich, dass
die Zeit und die Datenfeldparität
im Umschaltpunkt (d.h., ob diese von einem Kopffeld oder einem Bodenfeld
beginnt) zwischen den entsprechenden Videodatenströmen identisch
zueinander sind. Um das oben erwähnte
Erfordernis zu erfüllen,
können Bildarten,
ein erstes Kopffeldflag und ein erstes Wiederholungsfeldflag der
Videos, die bei unterschiedlichen Kamerawinkeln bereitgestellt werden,
identisch codiert werden. In Wirklichkeit werden diese nicht notwendigerweise ähnlich codiert.
-
Übrigens
sind das erste Kopffeldflag und das erste Wiederholungsfeldflag
in MPEG2 wie folgt definiert. Das erste Kopffeldflag bedeutet ein
Flag, welches zeigt, welches Feld zuerst ausgegeben werden sollte,
das Kopffeld oder das Bodenfeld, wenn eine Verflechtung auf einem
Monitor angezeigt wird. Dagegen bedeutet das erste Wiederholungsfeldflag
ein Flag, welches das Feld zeigt, welches ausgenommen wird, wenn
Signale, die durch das 3:2-Herunterziehverfahren erzeugt werden,
codiert werden, beispielsweise in dem Fall, wo die Filmquelle (24
Rahmen), beispielsweise Bewegtfilme in Verflechtungsvideosignale
(30 Rahmen) umgesetzt wird.
-
Bei
dieser Ausführungsform
nach der vorliegenden Erfindung können die Videodatenströme, die bei
unterschiedlichen Kamerawinkeln bereitgestellt werden, so verschachtelt
werden, dass der Videopuffer im gleichen Zustand gehalten wird,
nachdem die Zugriffseinheit aus dem Puffer gezogen ist und dann decodiert
wird, sogar, obwohl irgendeiner der Videodatenströme decodiert
werden sollte. Dies ermöglicht es,
den gleichen Zustand des Puffers beizubehalten, sogar wenn die Programmdatenströme von einer
zur anderen zweiten GOP oder GOP's
umgeschaltet werden. Als Ergebnis können die Videoströme in einer
nahtlosen Art und Weise ohne einen nicht geeigneten Betriebszustand
des Puffers reproduziert werden.
-
Anschließend wird
das System, welches bei der Ausführungsform
der vorliegenden Erfindung verwendet wird, beschrieben.
-
In 5 sind
Zugriffseinheiten-Detektoren 50, 51 und 52a bis 52c gezeigt,
die eine Größe jedes elementaren
Datenstroms und einer Decodierzeit (DTS) der Zugriffseinheit ermitteln
können
(wenn die Decodierzeit gegenüber
der Darstellungszeit (PTS) verschieden ist, wird die Darstellungszeit
ebenfalls ermittelt). In dem Fall, wo der Codierer für den elementaren
Datenstrom und der Multiplexer als Integralsystem ausgebildet sind,
ist es sehr wahrscheinlich, die oben erwähnte Information vom Codierer auszugeben.
In diesem Fall können
Ausgangswerte des Codierers für
die Ermittlung verwendet werden.
-
In 5 wird
ein Audiostrom AS zum Zugriffseinheitendetektor 50 geliefert.
Drei Videoströme VS0, VS1 und VS2, die bei unterschiedlichen Kamerawinkeln
bereitgestellt werden, werden zu den Zugriffseinheitendetektoren 52a, 52b bzw. 52c geliefert. Der
andere Datenstrom TS wird zu einem Zugriffseinheitendetektor 51 geliefert.
Die jeweiligen Zugriffseinheitendetektoren 50, 51 und 52a bis 52c können die Größe der Zugriffseinheit
jedes elementaren Datenstroms ermitteln und die Decodierzeit DTS,
und wenn notwendig, die Darstellungszeit PTS decodieren.
-
Die
Zugriffseinheitendetektoren 52a, 52b und 52c liefern
die Daten, welche die Größe jeder
Zugriffseinheit der drei Videodatenströme VS0,
VS1 und VS2 zeigen,
zu einem Maximalwert des Detektors 53, wo die Größen der
Zugriffseinheiten miteinander verglichen werden, um die Maximalgröße der Zugriffseinheiten
für jede
Decodierzeit auszuwählen.
-
6 zeigt
die Art und Weise, um die Maximalgröße der Zugriffseinheiten der
drei Videodatenströme
VS0, VS1 und VS2 zu bestimmen. Zur Erleichterung des Verständnisses
sind in 6 gruppierte Zugriffseinheiten
der entsprechenden Videodatenströme
VS0, VS1 und VS2 bei jeder Decodierzeit so gezeigt, dass
sie längs
der Richtung der Abszisse (Zeitachse) angezeigt werden. Wie man
jedoch offensichtlich sieht, zeigt jede Gruppe die Größen der Zugriffseinheiten,
welche im gleichen Zeitpunkt vorhanden sind, d.h., bei jeder der
Decodierzeit tn (n = 1, 2, ...). Bei jeder
Decodierzeit tn wird ein virtueller Videodatenstrom
PVS, dessen Zugriffseinheit eine Größe hat, die identisch der Maximalgröße der Zugriffseinheiten
der Videodatenströme
VS0, VS1 und VS2 ist, ausgewählt. Es sei angenom men, dass
der virtuelle Videodatenstrom PVS diese Decodierintervalle und die
Zugriffseinheitsgröße hat.
-
Ein
Abwickler (Scheduler) 54 empfängt von den Zugriffseinheitendetektoren 50 und 51 die
Dateninformation, welche die Größe der Zugriffseinheit
betrifft, und die Decodierzeit für
die anderen elementaren Datenströme,
die über
den virtuellen Videodatenstrom PVS zu verschachteln sind, die den
Audiostrom AS und den weiteren Datenstrom TS als Überlagerungsdaten
enthalten, und gibt eine Steuerinformation beispielsweise die Art
des elementaren Datenstroms, der zu paketieren ist, eine Größe des Pakets,
eine Systemtaktreferenz (SCR), die dem Paket hinzugefügt ist,
oder dgl. aus. Der Abwickler 54 kann der gleiche sein wie
der, welcher für übliche Multiplexsysteme
verwendet wird. Beispielsweise kann das Abwicklerverfahren verwendet
werden, welches in der Anmeldung und in den Zeichnungen der offengelegten
japanischen Patentanmeldung Nr. Hei-7-341951 offenbart ist. Es können außerdem weitere
Abwicklungsverfahren verwendet werden.
-
Die
Steuerungsinformation, die vom Abwickler 54 ausgegeben
wird, wird zu den Paketierungs-Einheiten 55a, 55b und 55c geliefert,
um die elementaren Datenströme
zu paketieren. In diesem Fall ist, da der Abwickler 54 den
virtuellen Videodatenstrom (virtuelles Video) PVS abwickelt, sogar, wenn
die Steuerinformation, die vom Abwickler erzeugt wird, verwendet
wird, aktuelle Videodatenströme
(aktuelles Video) zu paketieren, die belegte Menge des Puffers beim
Entnehmen der Zugriffseinheiten daraus nicht notwendigerweise die
gleiche. Es wird jedoch die folgende Beziehung eingerichtet:
[Größe der Zugriffseinheit
des aktuellen Video) = [Größe der Zugriffseinheit
des virtuellen Video]
-
Folglich
kann in dem Fall, wo die Größe der Zugriffseinheit
des aktuellen Video kleiner ist als die Größe der Zugriffseinheit des
virtuellen Video beim Paketieren, wenn ein Auffüllpaket paketiert wird, der Zustand
des Puffers nach dem Entnehmen (decodiert) der Daten davon unabhängig vom
Unterschied im Kamerawinkel zwischen den Videodatenströmen konstant
gehalten werden.
-
Die
Arbeitsweise dieser Paketierungseinheiten 55a bis 55c wird
mit Hilfe von 7A bis 7E erläutert.
-
7A zeigt
eine Größe einer
Zugriffseinheit PVAU des virtuellen Video und 7B zeigt
eine Größe einer
Zugriffseinheit VAU des Videos, welches aktuell verschachtelt werden
soll. In 7C zeigen die durchgezogenen
Linien im virtuellen Video Pakete, welche durch den Multiplexabwickler
unterteilt sind. Wenn das aktuelle Video in entsprechende Vi deopakete
VP unter Verwendung der Information, die vom Abwickler ausgegeben
wird, paketiert wird, ist es erforderlich, dass die Bereiche, die
gestrichelt in 7C gezeigt sind, kompensiert
werden, da die Größe der Zugriffseinheit
PVAU des virtuellen Videodatenstroms zu einem großen Ausmaß gegenüber der
der Zugriffseinheit VAU des aktuellen Videodatenstroms verschieden
ist. Die Paketierungseinheiten 55a bis 55c haben
eine Funktion, Auffüllpakete PP
zu erzeugen, in 7D gezeigt sind, in den Zeiten,
die den gestrichelten Bereichen entsprechen, die in 7C gezeigt
sind. Wenn der Videodatenstrom paketiert ist, wie in 7D gezeigt
ist, kann der Programmdatenstrom, wie in 7E gezeigt
ist, über den
die anderen elementaren Datenströme
verschachtelt sind, erzeugt werden. Bei dieser Ausführungsform
werden ein Datenstrom der Videodaten, ein Datenstrom der Audiodaten
und ein Datenstrom der Überlagerungsdaten
miteinander verschachtelt.
-
In
dem Fall außerdem,
wo der Unterschied der Größe der Zugriffseinheit
zwischen den virtuellen und aktuellen Videodatenströmen kompensiert
wird, wie oben erwähnt
wurde, und das Auffüllpaket
PP selbst einen Stapel bildet, wird, sogar dann, wenn das Auffüllpaket
PP nicht übertragen
wird, der Übergang
der entsprechenden elementaren Datenströme in die Puffer dadurch überhaupt
nicht beeinflusst. Um das Auftreten eines zusätzlichen Platzbedarfs beim Multiplexen
zu reduzieren, d.h., um unerwünschte Akkumulation
der Daten zu verhindern, haben die Paketierungseinheiten 55a bis 55c eine
Funktion, die Auffüllpakete
PP davor zurückzuhalten,
um paketiert zu werden.
-
Das
heißt,
dass bei dieser Ausführungsform, da
das Auffüllpaket
PP selbst, welches durch "x" in 7D angedeutet
ist, einen Stapel bildet, das Auffüllpaket PP nicht im Programmdatenstrom
paketiert wird, wie in 7E gezeigt ist. Wenn jedoch
beabsichtigt ist, die Hardware der Paketierungseinheit 55 zu
vereinfachen, können
alle Auffüllpakete
PP paketiert werden, obwohl dann der zusätzliche Platzbedarf in Verbindung
mit dem Multiplexen vergrößert wird.
-
Wenn
die Daten durch den Multiplexer gemäß der vorliegenden Ausführungsform
verschachtelt werden, wird die eingenommene Menge des Puffers variiert,
beispielsweise, wie in 8 gezeigt ist. In 8 zeigen
die gestrichelten Linien den Übergang
der belegten Höhe
des Videopuffers, was beobachtet wird, wenn das virtuelle Video
der Abwicklung unterworfen wird, während die durchgezogenen Linien
die belegte Höhe
des Videopuffers zeigen, was beobachtet wird, wenn das aktuelle
Video unter Verwendung der Information, welche durch Unterwerfen
des virtuellen Videodatenstroms dem Abwickeln erhalten wird, verschachtelt
wird. Nebenbei bemerkt zeigen die Zeiten t1, t2, t3, ... Decodierzeitpunkte.
-
Bis
der Zeitpunkt, der durch die Markierung "X" in 8 angedeutet
ist, erreicht ist, wird der Videopuffer mit dem gleichen Zeitablauf
wie dem des virtuellen Videos belastet. Im Bereich zwischen den Markierungen "x" und "O" wird
der Unterschied der Größe der Zugriffseinheit
zwischen den virtuellen und aktuellen Videos (aktueller Videodatenstrom)
durch das Auffüllpaket
ersetzt. In diesem Fall wird dem Videopuffer keine Belastung auferlegt,
so dass die Datenmenge im Videopuffer nicht geändert wird, bis der Belastungsinitialisierungspunkt
der nächsten
Zugriffseinheit, der durch die Markierung "O" oder
der nächste
Decodierzeitpunkt tn (n = 1, 2, ...) gezeigt
ist, erreicht ist.
-
Als
Ergebnis kann die folgende Beziehung bei jedem Decodierzeitpunkt
eingerichtet werden:
[belegte Höhe des Puffers durch aktuelles
Video] = [belegte Höhe
des Puffers durch virtuelles Video]
-
Wenn
folglich die Videodaten, die bei unterschiedlichen Kamerawinkeln
bereitstellt werden, durch das Verfahren nach der vorliegenden Erfindung
codiert und verschachtelt werden, um mehrere Programmdatenströme zu erzeugen,
können
alle somit erzeugten Programmdatenströme die oben erläuterte Beziehung
bei jeder Decodierzeit erfüllen.
Wenn daher das virtuelle Video verschachtelt wird, können, um
keinen nicht geeigneten Betriebszustand des Decoderpuffers zu verursachen,
diese Programmdatenströme
ebenfalls decodiert werden, während
sie von einem zum anderen bei Eintrittsstellen umgeschaltet werden,
ohne einen nicht geeigneten Betriebszustand des Videopuffers zu
verursachen.
-
Diese
Programmdatenströme
PS0, PS1 und PS2 können
auf einem Aufzeichnungsträger 56,
beispielsweise einer Platte gespeichert werden.
-
Anschließend zeigen 9A bis 9I den Fall,
wo Videodaten, die bei unterschiedlichen zwei Kamerawinkeln bereitgestellt
und codiert sind, verschachtelt sind. 9A zeigt
eine Größe jeder
Zugriffseinheit des Video V0, und 9B zeigt
eine Größe jeder
Zugriffseinheit des Video V1. Bei dieser Ausführungsform werden die GOP0
und GOP1 durch vier Zugriffseinheiten gebildet. Die GOP bedeutet "Bildgruppe", was in MPEG vorgeschrieben
ist. 9C zeigt eine Größe jeder Zugriffseinheit des
virtuellen Video, welches durch Vergleichen von Größen von
Zugriffseinheiten der Videos V1 und V2 erhalten wird, und das Auswählen der
größeren. 9D zeigt
den Paketierungszustand des virtuellen Video, welches von dem Abwickeln
des virtuellen Video resultiert. Wenn das aktuelle Video verschachtelt wird,
wird, wenn irgendein Unterschied zwischen den virtuellen und aktuellen
Videos verursacht wird, das Auffüllen
durchgeführt,
wie in 9E und 9F gezeigt
ist. In diesem Fall kön nen,
wenn ein Paket des virtuellen Videos in drei oder mehrere Pakete
paketiert ist, Auffüllpakete
zusammen auf einer hinteren Seite angeordnet sein, um die drei oder
mehreren Pakete zu zwei Paketen zu verschmelzen. Wenn man annimmt,
dass das virtuelle Video verschachtelt ist, was von dem Abwickeln
resultiert, um einen Programmdatenstrom zu erzeugen, wie in 9G gezeigt
ist, wird das aktuelle Video gemäß der vorliegenden
Ausführungsform
verschachtelt, um einen Programmdatenstrom zu erzeugen, wie in 9H und 9I gezeigt
ist.
-
Das
Videobild und der Ton können
in einer nahtlosen Weise ohne ungeeigneten Betriebszustand des Puffers
reproduziert werden, sogar in dem Fall, wo die so erzeugten Programmdatenströme decodiert
werden, während
sie optional von einem zum anderen umgeschaltet werden, wie durch
die Pfeile in 9H und 9I gezeigt
ist. Bei dieser Ausführungsform
ist übrigens
der Fall betrachtet, wo zwei Videos verschachtelt sind. Wie man
jedoch erkennt, kann die vorliegende Erfindung vorteilhaft auch
bei dem Fall angewandt werden, wo drei oder mehrere Videos verschachtelt
sind.
-
Bei
den oben erwähnten
Ausführungsformen wird
das Verfahren gemäß der vorliegenden
Erfindung bei einem Programmdatenstrom angewandt. Das Verfahren
gemäß der vorliegenden
Erfindung kann jedoch auch bei einem Transportdatenstrom angewandt
werden, der zum Zwecke der Übertragung
verwendet wird. Bei dem Transportdatenstrom wird ein Datenstrom
durch mehrere Kanäle
gebildet, und jeder Kanal entspricht einem unabhängigen Datenstrom. Außerdem hat
jeder Kanal unabhängig eine
Zeitbasis. Somit können
durch Anwenden des oben erwähnten
Verfahrens, welches für
mehrere Programmdatenströme
verwendet wird, bei den entsprechenden Kanälen die mehreren Kanäle, die
als Datenströme
dienen, über
einen Transportdatenstrom verschachtelt werden, um den damit verschachtelten
Transportdatenstrom zu übertragen,
so dass es möglich
ist, Videobilder die bei unterschiedlichen Kamerawinkeln bereitgestellt
werden, in einer nahtlosen Weise zu reproduzieren, wenn die mehreren
Kanäle
von einem zum anderen umgeschaltet werden. Außerdem wurde bei den oben erwähnten Ausführungsformen
der Fall betrachtet, wo die Videobilder, die von unterschiedlichen
Kamerawinkeln geliefert werden, verschachtelt werden. Wie man jedoch
deutlich sieht, kann die vorliegende Erfindung bei Bildern angewandt
werden, keine Beziehung zueinander haben. Außerdem kann die vorliegende
Erfindung bei Audiodaten oder anderen Daten wie auch bei Videos
angewandt werden.
-
Es
werden Größen von
Zugriffseinheiten als Codiereinheit mehrerer Bitdatenströme, die
aus Digitalsignalen bestehen, und Decodierzeiten ermittelt, und
die derart ermittelten Größen der
Zugriffseinheiten werden miteinander in jedem Decodierzeitpunkt vergli chen,
um deren Maximalwerte auszuwählen. Danach
wird ein virtueller Datenstrom so aufgebaut, dass dieser Zugriffseinheiten
hat, deren Größen einander
gleich dem oben ausgewählten
Maximalwert in jedem Decodierzeitpunkt sind. In dem Fall, wo die
jeweiligen Bitströme
der Digitalsignale paketiert sind, werden, wenn die Größe jeder
Zugriffseinheit kleiner ist als die des oben erwähnten virtuellen Datenstroms,
die Bitströme
unter Verwendung von Auffüllpaketen
paketiert, die eine Größe haben,
die einer Differenz der Größe zwischen
den Zugriffseinheiten identisch ist. Folglich können die mehreren Bitdatenströme in einer
fortlaufenden Art und Weise ohne einen ungenauen Betriebszustand
des Decoderpuffers reproduziert werden, sogar wenn sie decodiert
werden, während
sie von einem zum anderen umgeschaltet werden.
-
Das
heißt,
wenn das Multiplexen von Daten für
ein System durchgeführt
wird, welches eine Funktion hat, das in der Lage ist, mehrere Multiplexdatenströme zu reproduzieren,
während
von einem zum anderen umgeschaltet wird, werden die Größen von Zugriffseinheiten
jedes Datenstroms und die Decodierzeiten von jeder elementaren Einheit
bestimmt, um den Maximalwert der Zugriffseinheiten in jedem Codierzeitpunkt
auszuwählen,
um einen virtuelle Videodatenstrom einzurichten, der zum Abwickeln
des Multiplexens dient. In dem Fall, wo das aktuelle Video verschachtelt
wird, wird die Differenz zwischen den virtuellen und aktuellen Videos
durch Auffüllen
kompensiert, so dass die mehreren Multiplexdatenströme reproduziert
werden, während
sie von einem zum anderen umgeschaltet werden, ohne einen nicht
geeigneten Betriebszustand des Puffers und ohne Unterbrechung des
Videobilds und des reproduzierten Tons. Diese mehreren Multiplexdatenströme werden in
entsprechenden Bereichen eines Aufzeichnungsträgers gespeichert. Alternativ
können
die mehreren Multiplexdatenströme
zu einem Transportdatenstrom zum Zwecke des Sendens verschmolzen
werden.
-
Wie
man offensichtlich sieht, können
verschiedene Änderungen
und Modifikationen durchgeführt
werden, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
Folglich ist nicht beabsichtigt, dass die vorliegende Erfindung
auf lediglich die oben erwähnten
Ausführungsformen
beschränkt
ist.
-
Zusammengefasst
beziehen sich zumindest Ausführungsformen
der Erfindung auf ein Verfahren und eine Vorrichtung, um ein Digitalsignal
zu codieren, einen Aufzeichnungsträger, der zum Speichern des
Digitalsignals verwendet wird, und auf ein Verfahren und eine Vorrichtung,
das Digitalsignal zu übertragen,
die geeignet sind, ein dynamisches Bildsignal oder Tonsignal auf
einem Aufzeichnungsträger,
beispielsweise einer magneto-optischen Platte oder Magnetplatte
aufzuzeichnen und diese Signale vom Aufzeichnungsträger zu reproduzieren,
um ein Videobild auf einem Monitor anzuzeigen oder um das dynamische
Bildsignal oder das Tonsignal über
eine Übertragungsleitung
von einer Übertragungsseite
zu einer Empfangsseite zu übertragen,
wo das Videobild oder der Ton bei einem Videokonferenzsystem, einem
Videotelefonsystem, einer Sendeanlage oder dgl. reproduziert wird.