-
Technisches
Gebiet
-
Die
vorliegende Erfindung bezieht sich allgemein auf eine Verarbeitung
von digitalen Bilddaten, und insbesondere auf ein Verfahren und
ein System zum Verketten oder Verbinden (splicing) von Strömen digitaler Daten,
umfassend Bilddaten, die in Übereinstimmung
mit MPEG komprimiert sind, ebenso wie anderer Daten.
-
Hintergrund
-
Digitale
Komprimierungstechnologie hat beträchtliche Vorteile im Sinne
von Bandbreiteneinsparungen und dem Potenzial für verbesserte Bildqualität mit sich
gebracht, wenn sie telekommuniziert oder fernübertragen werden. Die Vorteile
werden jedoch durch Nachteile in der Form von Operationskomplexität ausgeglichen. Eine
einfache Videomanipulation, wie etwa ein Schnitt zwischen zwei Quellen,
ist in der MPEG-Domäne
beträchtlich
komplexer als mit unkomprimierten analogen Daten wegen u.a. wechselseitiger
Abhängigkeit
zwischen Daten in einem MPEG-kodierten Datenstrom.
-
Eine
Lösung
im Stand der Technik in der Fernsehindustrie besteht darin, von
komprimierten zu unkomprimierten Daten für Darstellung und Manipulation
zu konvertieren, und dann erneut zu komprimierten Daten für eine weitere Übertragung
zurück
zu schalten. Dies ist jedoch vergleichsweise aufwändig und
hat beträchtlichen
Einfluss auf Videoqualität.
Bis das Problem auf eine befriedigendere Art und Weise gelöst ist,
haben die Fernsehindustrie und Verbrauchernetze keine Option als
analog zu bleiben und viele Gelegenheiten für neue digitale Dienste werden
blockiert sein.
-
Das
Problem zum Verbinden war bisher eng an Daten gekoppelt, die gemäß dem MPEG-Standard (MPEG
= Moving Pictures Expert Group) gekoppelt. Dieser Standard für generische
Kodierung, d.h. Komprimierung, von beweglichen Bilddaten wird in
dem International Standard ISO/IEC 13818-1, erste Ausgabe 1996-04-15 und ISO/IEC
13818-2, erste Ausgabe 1996-05-15, beschrieben, die hiermit durch
Bezug für
ihre Unterweisungen der MPEG-Standards und Definitionen innerhalb
dieses technischen Gebietes einbezogen werden. Diese Literaturstellen
definieren das Rahmenwerk zum Kodieren von Daten innerhalb dessen,
was die MPEG-Domäne
genannt wird.
-
In
diesem Kontext ist eine Verbindung (splice) der Begriff innerhalb
von MPEG für
den Prozess zum Verbinden des Endes eines ersten MPEG-Stroms mit
dem Beginn eines zweiten MPEG-Stroms,
um einen Strom zu schaffen, der mit einem Minimum von Artefakten
in dem Verbindungspunkt dekodiert werden kann. Typischerweise wird
Verbinden in Programmen durchgeführt,
die in MPEG-Transportströmen
(TS) übertragen werden.
Ein Programm kann als eine Menge von Datenströmen beschrieben werden, wie
etwa Video, Audio und bezogene Daten, die eine gemeinsame Zeitbasis
gemeinsam nutzen, gekennzeichnet durch einen Programmtaktbezug (Programmverweis)
(PCR, Program Clock Reference). In der Tat definieren die MPEG-Standards
eine komplexe Syntax, die eine Mischung von Daten und Steuerinformation
enthält.
Viele Parameter eines MPEG-Bitstroms müssen geprüft oder gemanagt werden, um
eine Verbindung zu erreichen, die nicht erfassbar ist, wenn auf
einer Anzeige betrachtet. Dies ist als eine "nahtlose" Verbindung bekannt. Eine andere Definition
ist, dass eine nahtlose Verbindung zu einer ungebrochenen Sequenz
von Videorahmen führt.
-
Falls
nicht alle relevanten MPEG-Parameter gesteuert werden können, kann
es dennoch möglich
sein, auf eine derartige Art und Weise zu verbinden, dass der einzige
Anzeigeartefakt ein kurzes Einfrieren eines Rahmens ist. Dies wird
eine "nichtnahtlose" Verbindung genannt.
Falls Verbindungsregeln nicht beachtet werden, wird der MPEG-Standard
verletzt, was zu nicht vorhersehbarem Leistungsverhalten durch einen
Decoder führt.
Es können
ablenkende und äußerst merkliche
Artefakte auftreten, die sich für
eine ausgedehnte Periode fortsetzen können, während Bilddatenpuffer mit nicht-dekodierbaren
Daten überlaufen
und sich der Decoder resynchronisiert. Andere Probleme, die bei
Verbinden gemäß dem Stand
der Technik auftreten, ist Qualitätsverlust wegen Änderungen
der Information in der Videoschicht oder wegen Abstimmung von DCT-Quantisierung
oder derartiger Manipulation.
-
Die Übertragung
von Daten in der MPEG-Domäne
ist in Zugriffseinheiten unterteilt. Für Video wird die Zugriffseinheit
ein Bild genannt, das eine gewisse Periode einer Präsentation
darstellt. In MPEG-2, was einer der MPEG-Standards ist, werden die
drei unterschiedlichen Videobildtypen I-, P- bzw. B-Bilder genannt. Das
I bedeutet, dass ein I-Bild intra-kodiert ist, was wiederum bedeutet,
dass die gesamte Information, die benötigt wird, um ein derartiges
Bild zu dekodieren, in dem I-Bild enthalten ist. Im Gegensatz dazu
ist ein P-Bild voraussagend-kodiert, was bedeutet, dass es Daten über Bildänderungen
in Bezug auf ein vorausgehendes Bezugsbild enthält. Ein derartiges vorausgehendes
Bezugsbild kann ein I-Bild oder ein P-Bild sein. B-Bilder sind bidirektional
kodierte Bilder, die auch Änderungsdaten
enthalten. Die B-Bilder können
jedoch mit Vorhersage von sowohl vorausgehenden als auch nachfolgenden
Bildern kodiert sein. Für
Audio sind die Daten in Zugriffseinheiten angeordnet, die Rahmen
genannt werden, von denen gesagt werden kann, dass sie den Bildern
im Videostrom entsprechen. Audio ist beträchtlich leichter zu handhaben
als Video, da die Größen von
Audiorahmen nicht so sehr dazu tendiert zu variieren, und da alle
Rahmen getrennt dekodierbar sind (vgl. mit einem I-Bild).
-
Ein
Problem, das mit der Verarbeitung von komprimierten Videoströmen verbunden
ist, und insbesondere Verbinden von Programmen, die Video umfassen,
besteht darin, dass, anders als unkomprimiertes Video, Bildgrenzen
in dem Bitstrom nicht gleichmäßig beabstandet
sind. Übertragung
von P- und B-Bildern braucht häufig
nur einen Bruchteil der Zeit für
eine Übertragung
von I-Bildern. Synchronisieren von Bildgrenzen, um zwei Ströme zu verbinden,
ist ein Problem, das zur Zeit der Verbindung dynamisch gelöst werden
muss. Des weiteren können,
da nicht alle Bilder unabhängig
dekodierbar sind (wie ein I-Bild), nicht alle Bildgrenzen als Kandidaten
für einen
Verbindungspunkt genommen werden. Designer von Verbindern (splicer)
und Architekten von digitalen Fernsehsystemen müssen dies berücksichtigen.
Das meiste vom Stand der Technik, was Videoverbindungsoperationen
beschreibt, nimmt an, dass die Verzögerung durch einen Verbinder
für jeden
Bitstrom konstant ist und dass die Verbinderausgaberate gleich der
Eingaberate ist.
-
Um
weiter zu erkennen, warum nahtloses Verbinden nicht leicht zu erreichen
ist, sollte verstanden werden, dass:
Mehrere Programme in einem
Transportstrom (TS) übertragen
werden können,
und spezielle Daten, d.h. Video, Audio, Untertitel etc., die sich
auf jedes Programm beziehen, seriell in dem Transportstrom übertragen werden;
Rahmen
von Daten einer gewissen Art, d.h. Video, Audio etc., die mit dem
gleichen Programm in Verbindung stehen, im allgemeinen weder in
dem Transportstrom in der Reihen folge noch in der Rate übertragen
werden, in der sie gedacht sind, präsentiert zu werden;
Rahmen
von Daten der gleichen Art, besonders Videobildrahmen, die mit einem
Programm in Verbindung stehen, in der Größe (Bits) von einem Rahmen
zu einem anderen variieren;
Die Strukturen von unterschiedlichen
Schichten in einem Transportstrom nicht auf einem einzelnen Weg
gekoppelt sind;
Bitströme
von Daten in zwei Programmen, die Verbinden unterzogen werden, sich
allgemein nicht auf die gleiche Zeitbasis beziehen.
-
Ein
Weg zum Erreichen von nahtlosem Verbinden wurde in Proposed SMPTE
Standard For Television, Splice points for MPEG-2 Transport Streams
beschrieben, was hiermit durch Bezug auf seine Beschreibung des
SMPTE-Verbindungsverfahrens einbezogen wird. Weitere Hintergrundinformation über Verbinden
im allgemeinen und den SMPTE-Verbindungsstandardvorschlag ist in
den Veröffentlichungen
MPEG Splicing. Tutorial and Proposed SMPTE Standard und Splicing
FAQ. Frequently Asked Questions about MPEG Splicing and the SMPTE
Splicing Standard von Norm Hurst und Katie Cornog, die hiermit durch
Bezug für
die Beschreibungen des Problembereichs vom Verbinden einbezogen
werden, zu finden. Ein Aspekt des SMPTE-Vorschlags besteht darin,
den Dekodierungsverzögerungszeiten
von Videoelementarströmen
(VES) Beschränkungen
aufzuerlegen, sodass die Verzögerungszeit
zum Verlassen eines VES zu der Dekodierungsverzögerungszeit zum Eintreten in
einen anderen VES passt. In der Praxis hat dies eine Verringerung
der Bitrate oder eine Einschränkung
in der GOP-Struktur nahe zu den Verbindungspunkten zur Folge, was
wiederum zu verringerter Videokodierungseffizienz und einem Systemschichtoverhead
führt.
Ein anderer As pekt ist, dass Information, wann die Verzögerungszeitanpassung
erreicht werden kann, in sogenannten Ein-Punkten und Aus-Punkten
zum Eintreten und Verlassen eines VES in den zugehörigen Transportpaketen
angezeigt werden muss. Ein Nachteil bei dieser Technik besteht darin,
dass die erforderliche Vorverarbeitung von Programmmaterial aufwändig ist,
und ein anderer Nachteil ist die Tatsache, dass praktisch das gesamte
existierende Programmmaterial, das bereits in die MPEG-Domäne kodiert
ist, unmöglich
zu verbinden sein wird. Ein weiterer Nachteil besteht darin, dass
bestehende Kodierer und Multiplexer mit vorverarbeitetem Material
nicht verwendet werden können
und ersetzt werden müssen.
Die zwei Funktionen Videokodierung und Multiplexen können nicht
unabhängig
sein, da sie darüber übereinstimmen
müssen,
wo und wann die Verbindungspunkte in den unterschiedlichen Schichten
der Transportströme
eingefügt
werden sollten.
-
Ein
anderer Ansatz des Standes der Technik, um Verbinden durchzuführen, wird
in der Veröffentlichung
MPEG Splicing and Bandwidth Management, C.H. Birch, International
Broadcasting Convention, 12.–16.
September 1997. Conference Publication No. 447, IEE 1997 beschrieben,
die hiermit durch Bezug einbezogen wird. Der offengelegte Ansatz
besteht darin, sich an eine der Beschränkungen anzulehnen, z.B. die Rate
einer Zustellung von Videodaten in dem Ausgang eines Verbinders
und den Videostrom in dem Verbinder als Material variabler Bitrate
(VBR) zu behandeln. Die Technik erfordert, dass der Verbinder Zugriff
auf Dekodierungszeitstempel (DTS) und Kenntnis über die Größe der zugehörigen kodierten
Bilder hat. Mit dieser Information kann der Verbinder die Rate einer
Zustellung von Videodaten zu einem Decoder regeln, sodass sein Puffer
nicht überlaufen
wird, wobei aber sichergestellt wird, dass ausreichende kodierte
Daten zugestellt werden, um einen Pufferunterlauf zu vermeiden.
Um effektiv zu sein, erfordert diese Technik die Verfügbarkeit
zusätzlicher
Bandbreite, um sie den Videodaten zuzuweisen. Während ein Multiplex mit einem
einzelnen Videoprogramm etwas nicht-verwendete Bandbreite haben
kann (Null-Pakete, pre-emptable Nicht-Echtzeitdaten), wird diese
Technik wahrscheinlich in Multi-Videoprogramm-Multiplexen am erfolgreichsten
sein. Ein Vorteil dieser Technik besteht darin, dass die gleiche
Hardware als ein bandbreiteanpassender Multiplexer für statistisches
Multiplexen von vorkodierten Bitströmen programmiert werden kann.
-
Das
US-Patent Nr. 5,534,944 für
Egawa et al legt ein Verfahren zum Verbinden von MPEG-kodiertem Video
offen. Dieser Stand der Technik lehrt eine Vielfalt von Puffersteuerung,
wobei eine Menge von Null-Information bestimmt wird, um zwischen
die zwei Videosignale eingefügt
zu werden um sicherzustellen, dass ein Eingangspuffer eines MPEG-Decoders
nach Empfang des verbundenen Videosignals nicht überläuft. Der Datenstrom wird manipuliert
und es ist wahrscheinlich, dass es mehr oder weniger sichtbare Artefakte
in dem Bild als eine Folge der Informationseinfügung gibt.
-
Die
europäische
Patentanmeldung
EP
0 837 609 A2 zeigt ein System zum Verbinden komprimierter paketierter
digitaler Videoströme,
und die internationale Patentanmeldung mit der Veröffentlichungsnummer WO
97/45965 zeigt ein Verfahren und eine Vorrichtung zum Verbinden
komprimierter Informationsströme.
-
Ziel der Erfindung
-
Es
ist ein allgemeines Ziel der vorliegenden Erfindung, das Problem
zum Erreichen von nahtloser Verbindung zu lösen. Weitere Ziele der vorliegenden
Erfindung bestehen darin, die folgenden Aspekte des Problems zu
lösen:
- – Erreichen
eines nahtlosen Verbindens, ohne dass gefordert wird, dass eingehende
Transportströme
(TS) vorbereitet werden müssen,
um nahtloses Verbinden zu ermöglichen
oder zu erleichtern;
- – Beseitigen
der Einschränkung,
nahtloses Verbinden in vorbestimmten Zeitpunkten durchführen zu
müssen,
die in dem Transportstrom explizit signalisiert sind;
- – zeitliches
Abstimmen der Ein-Punktzeit eines zweiten neuen Programms, sodass
es zur Aus-Punktzeit eines ersten alten Programms passt;
- – Anordnen,
sodass jeder I-Rahmen in einem Videoelementarstrom (VES) als ein
Ein-Punkt verwendet werden kann, was bedeutet, dass die Gruppe von
Bildern (GOP, group of pictures) unmittelbar nach dem Ein-Punkt-I-Rahmen
ohne Bezug auf die vorangehende GOP dekodierbar ist;
- – Beseitigen
der Möglichkeit
von Pufferverletzungen bezüglich
Unterlauf und Überlauf
in den Empfangs-Decoder-Puffern als ein Ergebnis der Verbindungsoperation;
- – Realisieren
eines nahtlosen Verbinders ohne die Notwendigkeit übermäßiger Computerressourcen;
- – Beseitigen
der Abhängigkeit
von einem Programmtaktbezug (PCR, program clock reference), der
durch jedes Programmidentifizierungselement (PID) ausgeführt wird;
- – Umschalten
von einem ersten Programm, für
das der Programmtaktbezug (PCR) mit einer ersten Programmidentifikationszahl
(PID) in Verbindung steht, zu einem zweiten Programm, für das der
PCR mit einer anderen PID in Verbindung steht;
- – Erreichen
von Verbinden ohne Beeinflussen des Dateninhalts beliebiger Programme;
- – Erreichen
von nahtlosem Verbinden zwischen Programmen, wenn die Programme
nicht mit einem Rahmen pro paketiertem Elementarstrom- (PES) Paket
kodiert sind und wo die Programme keine Dekodierungszeitstempel
(DTS, decoding time-stamps) in jedem PES-Header aufweisen.
-
Zusammenfassung
-
Gemäß der vorliegenden
Erfindung wird das oben erwähnte
Ziel durch ein Verfahren und ein System zum Verbinden wie in den
begleitenden Ansprüchen
definiert erreicht. Genauer geschieht Editieren von Daten auf der
Transportebene. Um dies zu erreichen, werden alle Schichten des
Transportstroms TS, inkludierend Transportpakete, paketierte Elementarströme (PES)
Schicht und Elementarschicht, auf eine nicht-zerstörende Weise
innerhalb des ursprünglichen
Multiplex überwacht.
Dies ergibt ausreichendes Wissen über den Inhalt des TS, um Verbinden
durchzuführen.
Die PES-Schicht wird mit ihren Takten überwacht, eine Zahl von Zeitparametern
und Puffern werden überwacht
und der Verbindungsprozess wird derart gesteuert, dass keine Pufferverletzungen
auftreten. Genauer umfasst die Erfindung ein Verfahren und eine
Vorrichtung zum Verbinden von Programmen in der MPEG-Domäne, wobei
Programmdaten in MPEG-Transportströmen (TS) von Datenpaketen übertragen
werden. Die Datenpakete übertragen
Anwendungsdaten, z.B. Video- und
Audiodaten, und einen Header, der mit Steuerdaten versehen ist.
Gemäß der Erfindung
werden Steuerdatenobjekte für
jedes Datenpaket zum Speichern von Zeitbezügen und Datenpaket-Statusinformation
hergestellt. Es werden auch Steuerdatenobjekte auf einer höheren Ebene
für geordnete
Mengen der Steuerdatenobjekte zum Speichern von Informationen betreffend
unterschiedliche logische Strukturen, wie etwa Rahmen, Se quenzen
von Rahmen und paketierte Elementarstrom- (PES) Pakete, hergestellt.
Die Steuerdatenobjekte werden in unterschiedlichen Schlangen abhängig von
dem Datenpaketstatus oder dem Status einer Gruppe von Datenpaketen
eingereiht. Steuerdatenobjekte, die mit Datenpaketen in Verbindung
stehen, die in einem Ausgangsstrom von Datenpaketen auszugeben sind,
werden aus den Schlangen ausgewählt,
worauf ausgewählte
Steuerdatenpakete zu einem Programm von zugehörigen Datenpaketen unterschiedlicher
Arten von Daten assembliert (zusammengebaut) werden. Schließlich werden
Datenpakete, die mit den ausgewählten
und assemblierten Steuerdatenobjekten in Verbindung stehen, zu einem
Ausgangsstrom von Datenpaketen assembliert. Mit anderen Worten wird
an Stelle einer Manipulation realer Daten und somit Eingehen des
Risikos einer Einführung von
Artefakten in die Datenströme
eine Art von Metadaten mittels Steuerdatenobjekten geschaffen. Die
Steuerdatenobjekte können
wiederum manipuliert und mit ihnen kann experimentiert werden, bis
In-Punkte und Aus-Punkte gefunden sind und eine befriedigende Verbindung
angeordnet werden kann. Die Steuerdatenobjekte werden in der Reihenfolge
eingereiht, die für
die Verbindung ausgewählt
wird, und in der Ausgangsstufen werden Zeiger von Steuerdatenobjekten
verwendet, um korrekte Transportstrom-Datenpakete herauszusuchen
und einen korrekt verbundenen Strom von Daten auszugeben.
-
Vorteile
-
Verbinden
gemäß der Erfindung
hat unter anderem gegenüber
dem Stand der Technik die folgenden Vorteile. Die Schnitte sind
tatsächlich
nahtlos, das heißt
es werden keine Lücken
oder Diskontinuitäten
in die übertragene
Sequenz von Rahmen eingeführt.
Das erste Bild in dem neuen Strom wird unmittelbar folgend dem letzten
Bild in dem alten Strom angezeigt. Es erscheinen keine schwarzen
Rahmen oder andere Formen von eingefügtem Nicht-Programmmaterial
in dem editierten Strom. Die Videoschicht bleibt unverändert und
es gibt keinen Qualitätsverlust
in Schnittpunkten oder anderswo. Die Erfindung vermeidet ferner
Einführung
von Diskontinuitäten
in Takten.
-
Schnitte
zwischen verbundenem Material sind nahe Rahmen genau und akkumulierte
Programmverzögerung
bleibt in der Tat innerhalb einer halben GOP (1/4s). Im praktischen
Sinne bedeutet dies, dass die Länge
des eingefügten
Materials genau sein wird und die Verbindung rahmengenau sein wird,
solange wie der eingefügte
Strom ein vollständiger
Strom ist, wo alle Rahmen einzufügen
sind. Dies ist z.B. der gewöhnliche Fall
für lokale
Werbungseinfügung.
-
Ein
anderer Vorteil besteht darin, dass das Verbinden gemäß der Erfindung
ohne Zerstörung
des ursprünglichen
Multiplex ausgeführt
wird, wie es einfachere Verfahren tun. Das heißt es gibt keine Notwendigkeit, Elementarströme zu entpacken,
zu verbinden und dann erneut zu multiplexen.
-
Des
weiteren arbeitet eine Ausführungsform
der Erfindung mit nicht-modifizierten digitalen Videorundsendungs-/MPEG2-Transportströmen konstanter
Rate, die gegenwärtig
durch Industriestandardkodierer und Multiplexer erzeugt werden.
Es gibt keine speziellen Anforderungen für stromaufwärtige oder stromabwärtige Ausrüstung, wie
es der Fall für
sowohl einfachere als auch komplexere Verfahren ist. Es gibt keine
Notwendigkeit, stromaufwärtige
Kodierer und Multiplexer zu zwingen, Bandbreite für spezielle
Stromeigenschaften oder andere spezielle Behandlung des einen Transportstroms
zu verschwenden. Solange wie es Raum in dem Transportstrom für das eingefügte Material
gibt, ermöglicht
die Erfindung das Verbinden von Programmen unterschiedlicher Bitrate
miteinander.
-
Die
Erfindung managt Verbinden ohne SMPTE-Verbindungspunkte. Ausführungsformen
der Erfindung sind jedoch fähig,
die Strom eigenschaften zu nutzen, die durch SMPTE-Verbindungspunkte
erzwungen werden, wird aber ebenso ohne arbeiten. In der Tat unterscheidet
die Erfindung nicht zwischen Strömen
mit SMPTE-Verbindungspunkten
und normalen Strömen,
da die ersteren Ströme
nur eine Teilmenge aller zu MPEG-2 konformen Transportströme sind.
Die Erfindung erfordert weniger Berechnungskapazität als Verfahren
des Standes der Technik, da sie keine Kenntnis über Daten in der komprimierten
Domäne
erfordert und sie keinerlei Bilddaten ändert. Aus diesem Grund, d.h.
die Bilddaten verbleiben unverändert,
beeinträchtigt
das Verbinden in Übereinstimmung
mit der Erfindung die Videoqualität nicht.
-
Definitionen
-
Begriffe
und Ausdrücke,
die in diesem Text verwendet werden, abgesehen von Erläuterungen
in dem Text, werden entweder in den oben angeführten Veröffentlichungen gefunden oder
in der Liste von Definitionen in dem begleitenden Anhang A gefunden.
-
Kurze Beschreibung
der Zeichnungen
-
Die
Erfindung wird nun mittels beispielhafter Ausführungsformen und mit Verweis
auf die begleitenden Zeichnungen weiter erläutert, wobei:
-
1 ein
Blockdiagramm einer Vorrichtung in Übereinstimmung mit der Erfindung
zeigt;
-
2 ein
Diagramm zeigt, das Zeitzonenausrichtung gemäß einer Ausführungsform
der Erfindung veranschaulicht; und
-
3 ein
Diagramm zeigt, das einen GOP-Schließalgorithmus gemäß einer
Ausführungsform
der Erfindung veranschaulicht.
-
Detaillierte
Beschreibung der Ausführungsformen
-
Das
Verbindungsverfahren und System gemäß der Erfindung, hierin nachstehend
bezugnehmend auf das Verfahren ebenso wie auf die Vorrichtung auch
der Verbinder genannt, ist gedacht, für nahtloses Verbinden von Bilddatenströmen in der
MPEG-Domäne
verwendet zu werden. Der Verbinder empfängt als eine Eingabe einen
oder mehr Quellen-MPEG-Transportströme (TS) und liefert als eine
Ausgabe einen oder mehr resultierende MPEG-Transportströme.
-
In
einer Ausführungsform
der Erfindung wird der Verbinder in einer Station eines lokalen
Netzes angewendet. Dieses lokale Netz würde typischerweise TSs von
unterschiedlichen nationalen Rundfunk- und Fernsehsendern ebenso
wie lokale TSs empfangen. Es kann auch eine auswählbare Eingabe von TSs von Hardware
in der Netzstation geben.
-
Das
Problem vom Verbinden betrifft das Problem vom Verschachteln eines
Stroms von Daten, d.h. Video, Audio etc., in einem MPEG-Transportstrom
(TS) mit einem anderen Strom der gleichen Art von Daten in dem gleichen
TS oder in einem anderen TS. Isolierte Bits von Daten, die stark
zueinander gehören,
bilden einen Rahmen. In dem Fall von Video z.B. werden daher die
Daten, die benötigt
werden, um ein Bild zu reproduzieren, ein Bildrahmen genannt. Wie
oben fest gehalten wurde, besteht eine Charakteristik des MPEG-Systems
darin, dass Rahmen von Daten in einem Transportstrom nicht in der
Reihenfolge transportiert werden, um auf einer Anzeige präsentiert
zu werden. Auch werden die Rahmen nicht auf die Weise transportiert,
wie sie zu präsentieren
sind. Des weiteren tendieren die Rahmengrößen dazu, sowohl innerhalb
eines Programms als auch zwischen Programmen, in Strömen von
Daten einer gewissen Art zu variieren. Eine andere Sache, die zur
Schwierigkeit vom nahtlosen Verbinden beiträgt, besteht darin, dass sich
Datenströ me,
die sich auf unterschiedliche Programme beziehen, auf unterschiedliche
Zeitbasen beziehen. Nachstehend wird die allgemeine Struktur des
erfinderischen Verfahrens beschrieben, gefolgt durch detailliertere
Beschreibungen von unterschiedlichen Merkmalen der Erfindung.
-
1 zeigt
ein Funktionsblockdiagramm einer Vorrichtung gemäß einer Ausführungsform
der Erfindung. Das Blockdiagramm dient auch dem Zweck, den Fluss
von Ereignissen und Aktionen zu zeigen, die in der entsprechenden
Ausführungsform
des erfinderischen Verfahrens stattfinden. Die gezeigte Ausführungsform
veranschaulicht die Situation, wo ein erstes Programm, beinhaltet
in einem ersten Transportstrom (TS), in dieser Ausführungsform
der Master-TS 1 genannt, mit einem zweiten Programm zu
verbinden ist, beinhaltet in einem zweiten Transportstrom, hier
der Slave-TS 2 genannt. Zur Vereinfachung wird hier das
erste Programm des Master-TS das Masterprogramm genannt, und das
zweite Programm des Slave-TS wird hier das Slaveprogramm genannt.
Jeder von den ersten und zweiten Transportströmen kann ein einzelnes Programm oder
viele Programme umfassen, möglicherweise
zusammen mit anderen Daten, die in dem Transportstrom übertragen
werden. Auf einer allgemeinen Ebene umfasst die erfinderische Vorrichtung
einen Decoder 4 und 5 für jeden des Master-TS 1 und
des Slave-TS 2, Masterdecoder 4 bzw. Slavedecoder 5 genannt,
für Identifikation,
Dekodierung und Extraktion von zu verbindendem Programminhalt, eine
Verbindereinheit 24 zum Ausführen der Verbindungsoperation
und eine Assemblereinheit 25 zum Assemblieren des verbundenen
Programms mit dem Hauptteil des Master-TS. Die interne Struktur der erfinderischen
Vorrichtung kann in unterschiedlichen Ausführungsformen unterschiedlich
sein, und einige Komponenten können
in unterschiedlichen Teilen arbeiten. Jede Komponente ist steuerbar
und ist mit einem Steuerdateneingang 22 versehen.
-
Der
Masterdecoder 4 umfasst einen Master-TS-Eingang 26 zum
Empfangen des Mastertransportstroms 1, der zuerst in eine
Transportstromparser-, Registrations- und Verteilereinheit 6,
kurze TS-Parser 6 genannt, eintritt. Der TS-Parser 6 ist
wiederum kommunikativ mit einem programmspezifischen Informationsdecoder 7,
abgekürzt
PSI-Decoder 7, und einem Metadatenverzeichnis zum Speichern
von vorzugsweise vorbestimmten Metadaten, die verwendet werden,
um Steuerdatenobjekte zu erstellen, gekoppelt. Der TS-Parser 6 ist
ferner mit einer Videoverarbeitungseinrichtung 9 und einer
Audioverarbeitungseinrichtung 10 gekoppelt, wobei die zwei
letzteren mit dem Metadatenverzeichnis bidirektional gekoppelt sind.
Der Masterdecoder 4 ist ferner mit einem Steuersignal-
oder Steuerdateneingang 22 zum Steuern des Masterdecoders
und seiner Komponenten und einem Haupt-Master-TS-Ausgang 26 zum
Ausgeben der Teile des Master-TS, die nicht in die Verbindung involviert
sind, möglicherweise
zusammen mit Steuerdatenobjekten versehen. Der Haupt-Master-TS und
die möglicherweise
angefügten
Steuerdatenobjekte werden durch die Assemblereinheit 25 empfangen,
die nachstehend weiter erläutert
wird. Der Slavedecoder 5 umfasst die gleichen Funktionskomponenten
wie der Masterdecoder 4, mit einer möglichen Ausnahme des Haupt-Slave-TS-Ausgangs 23 zum
Ausgeben der Teile des Slave-TS, die nicht in das Verbinden involviert
sind. In einigen Anwendungen und Ausführungsformen ist dieser Haupt-Slave-Ausgang
nicht vorhanden, da jene Anwendung den Rest des Inhalts des Slave-TS
nicht benötigen
wird und die entsprechenden Daten einfach verfallen. In dem Fall,
dass ein erstes Programm mit einem zweiten Programm zu verbinden
ist, die beide in dem gleichen Transportstrom übertragen werden, wird dieser
Transportstrom in den Masterdecoder ebenso wie in den Slavedecoder
eingegeben.
-
Der
TS-Parser 6 ist erdacht, die syntaktische Funktion von
Datenpaketen zu analysieren, die im Eingangstransportstrom empfangen
werden, und ein Steuerdatenobjekt herzustellen, das einen Zeitbezug
und Datenpaketstatusinformation für jedes Datenpaket speichert.
Die Datenpakete gehören
gewöhnlich
zu geordneten Mengen, die unterschiedliche logische Strukturen betreffen,
wie etwa Rahmen, Sequenzen von Rahmen oder paketierte Elementarstrompakete
(PES-Pakete), und es werden auch Steuerdatenobjekte für unterschiedliche
derartige geordnete Mengen hergestellt. In der Ausführungsform
von 1 sind zwei derartige geordnete Mengen Videoinformation
und Audioinformation, die wiederum weitere Teilgruppen von geordneten Mengen
umfassen. Nach getrennter Videoverarbeitung und Audioverarbeitung
werden die Teilgruppen von Datenpaketen und Steuerdatenobjekte von
dem Masterdecoder 4 bzw. dem Slavedecoder 5 zu
Eingängen
der Verbindereinheit 24 ausgegeben.
-
In
der Verbindereinheit 24 werden eine oder mehr Teilgruppen
von der Videoverarbeitungseinrichtung 9 des Masterdecoders 4 in
einer Mastervideoteilgruppenschlange 11M empfangen, und
eine oder mehr Teilgruppen von der Videoverarbeitungseinrichtung 9 des
Slavedecoders 5 werden in Slavevideoteilgruppenschlange 11S empfangen.
Eine oder mehr Teilgruppen, hier in der Form von Rahmen, von der
Audioverarbeitungseinrichtung 10 des Masterdecoders 4 werden
in einer Masteraudioteilgruppenschlange 12M empfangen, und
eine oder mehr Teilgruppen, hier in der Form von Rahmen, von dem
Slavedecoder 5 werden in Slaveaudioteilgruppenschlange 125,
hier auch Rahmenschlangen genannt, empfangen. Die Videoinformationsteilgruppenschlangen 11M und 11S sind
mit einem Videoverbinder 13 gekoppelt, der erdacht ist,
aus den Schlangen Steuerdatenobjekte auszuwählen, die zu Videodatenpaketen
gehören,
die in einem Strom von Datenpaketen auszugeben sind, die ein Ergebnisprogramm
bilden. Der Videoverbinder ist auch mit einem Audioverbinder 15 kommunikativ
gekoppelt, der mit der Masteraudioteilgruppenschlange 12M und
der Slaveaudioteilgruppenschlange 12S gekoppelt ist. Ähnlich zu
dem Videoverbinder ist der Audioverbin der erdacht, um aus den Audioteilgruppenschlangen
Steuerdatenobjekte auszuwählen,
die zu Audiodatenpaketen für
die Videoinformation des Ergebnisprogramms gehören. Der Videoverbinder 13 und
der Audioverbinder 15 sind auch für eine Synchronisation von
Auswahl und anderen Operationen kommunikativ gekoppelt. Der TS-Parser 6 und/oder
die Verbinder 13, 15 sind auch erdacht, mögliche In-Punkte
und Aus-Punkte zwischen den Datenpaketen zu finden und die Datenpakete
zum Ermöglichen
von In-Punkten und/oder Aus-Punkten vorzubereiten.
-
Der
Videoverbinder 13 ist mit einer Videopufferverifizierungssteuerung 14,
genannt VBV-Puffersteuerung, gekoppelt, die eine Einrichtung zum
Steuern der Veränderlichkeit
der Datenrate ist, die in einem Programm auftritt, resultierend
aus dem vorangehenden Prozess. Die VBV-Puffersteuerung 14 und
der Audioverbinder 15 sind mit einem Programmassembler
gekoppelt, worin ausgewählte
Steuerdatenobjekte zu einem Ergebnisprogramm von zugehörigen Datenpaketen
der unterschiedlichen Arten von Daten, visualisierten Videodaten
und Audiodaten assembliert werden. Mittels der assemblierten Steuerdatenobjekte
wird dann ein Ausgangsstrom von Datenpaketen assembliert und zu
einer Programmschlange für
eine Pufferung des Ergebnisprogramms ausgegeben.
-
Die
Assemblereinheit 25 umfasst einen Haupt-Master-TS-Eingang 27 und
eine Hauptverzögerungsschlange
zum Puffern des Haupt-Master-TS,
einen Ergebnisprogrammeingang 28, der mit der Programmschlange 18 der
Verbindereinheit 24 gekoppelt ist, und einen Füllpaketeingang 29,
der mit einem Füllpaketgenerator 19 gekoppelt
ist, der in der Verbindereinheit oder sogar in der Assemblereinheit
selbst beinhaltet ist. Der Ergebnisprogrammeingang 28 ist
mit einer Auslaufpuffersteuerung 21 zum Beseitigen des
Risikos von Überlauf
in Puffern innerhalb der Verbindereinheit gekoppelt. Die Assemblereinheit
umfasst ferner einen Stromassembler 20, der erdacht ist,
einen Ausgangs transportstrom 3 zu assemblieren, umfassend
das Ergebnisprogramm, durch Nutzen der Steuerdatenobjekte und Auswählen von
Datenpaketen von einer Hauptverzögerungsschlange 16,
der Ergebnisprogrammschlange 18 und des Füllpaketgenerators
und Assemblieren der Pakete in Übereinstimmung
mit Steuerinformation, die in dem Prozess generiert wird.
-
Nachstehend
werden unterschiedliche Funktionen und Verfahrensschritte der Erfindung
mit Bezug auf 1 beschrieben.
-
Genlocking
und Programmtaktbezüge
-
Um
eine richtige Neuplanung von Datenpaketen in dem Stromassembler 20 durchführen zu
können, werden
die Zeitbezüge
der Pakete zu dem Takt des Eingangsmaster-TS genlocked. Heute ist
ein normaler Takt eines Transportstroms typischerweise bei 27 MHz
bemessen. Nach Auswahl eines Zielprogramms, das ein Programm in
dem Master-TS ist, was mit einem neuen Inhalt als eine Folge einer
Verbindungsoperation zu versehen ist, wird der Programmtaktbezug
(PCR) des Zielprogramms abgetastet und gespeichert. Basierend auf
den Abtastungen wird eine Ankunftszeit von jedem TS-Paket in dem
eingehenden Master-TS durch Interpolation oder Extrapolation der
Programmtaktbezugs-Abtastung kalkuliert. Diese Ankunftszeit wird
der lokale Taktbezug (LCR, local clock reference) genannt und steht
mit jedem Transportstrompaket und in einer Datenstruktur vorzugsweise
in der Form eines Steuerdatenobjektes in Verbindung. Die lokalen
Taktbezüge
der Steuerdatenobjekte übertragen
somit Information über
die zeitlichen Positionen innerhalb eines Transportstroms, in denen
alle seine Transportstrompakete in dem TS-Parser angekommen sind.
-
Zeitentkopplung, Integrität und Effizienz
-
Eine
Ausführungsform
der Erfindung umfasst Schritte und Mittel zum Unterstützen erhöhter Berechnungseffizienz
mit eingehaltener Datenintegrität
und Zeitentkopplung zwischen dem Zielprogramm und dem Rest des Mastertransportstroms.
Dies wird durch Trennen von TS-Paketen, die ihre Integrität benötigen, von TS-Paketen,
die hinsichtlich einer Änderung
von Inhalt oder Position in dem Mastertransportstrom weniger empfindlich
sind, bewerkstelligt. Die Trennung wird durch Erfassen des Paketidentifikators
(PID) der TS-Pakete, die Integrität benötigen, hier belegter_PID genannt,
und der TS-Pakete, die weniger Integrität benötigen, hier ungenutzter_PID
(idle_PID) genannt, und Markieren der Metadaten oder der Steuerdatenobjekte
von jedem der Datenpakete, als jeweils tätig oder ungenutzt, ausgeführt. Die
Positionen von allen TS-Paketen,
die zu der Menge von Paketen mit ungenutzten_PIDs gehören, werden
als frei zu nutzen betrachtet, wenn der Ausgangsstrom assembliert
wird, und die Folge ist die, dass die ungenutzten_PID-Pakete in
dem Ausgangstransportstrom verzögert
werden und somit Bandbreite verlagert wird. Die ungenutzten_PIDs
umfassen typischerweise möglich
auftretende Füllungs-PIDs
und die PIDs, die das Zielprogramm übertragen. Sie können auch
PIDs für
Pakete inkludieren, die Programme übertragen, die gänzlich aus
dem Mastertransportstrom entfernt sind oder werden, und für Pakete,
die private Daten übertragen,
die nicht echtzeitkritisch sind, z.B. IP-Verkehr. Die ungenutzten
Markierungen deklarieren die Positionen als frei für eine Wiederverwendung
für Pakete von
dem Zielprogramm oder, während
eines Einfügungszyklus,
von dem verbundenen Programm, ungeachtet ihres ursprünglichen
Inhalts oder Zeiteinstellung. Für
TS-Pakete mit ungenutzten_PIDs schiebt der Decoder eine ungenutzt
markierte Metadatenstruktur in die Hauptverzögerungsschlange. In dem speziellen
Fall, dass das ungenutzte Paket ein Null-Paket ist, wird ein anderer
Bezug zu ihm in einer getrennten Metadatenstruktur gespeichert,
die in eine spezielle Schlange für
weitere Metadatensammlung und Verarbeitung geschoben wird. Höchstens
ein Paket pro Umschaltung zwischen ursprünglichem Programminhalt und
eingefügtem
Programminhalt und pro Elementarstrom ES wird seinen Inhalt geändert haben.
Das heißt,
falls es Daten von zwei Zugriffseinheiten (vgl. Anhang A) inkludiert
und nur eine von ihnen in dem resultierenden Strom verwendet werden
sollte. Derartige Pakete werden in zwei Pakete gesplittet, sodass
jedes Paket, in seiner Gesamtheit, mit den anderen Paketen der jeweiligen
Zugriffseinheiten in Verbindung stehen kann. Es wird auch ein anderes zusätzliches
Paket, für
den Zweck einer Übertragung
eines paketierten Elementarstromheaders (PES-Header) in dem Umschaltpunkt erstellt.
Darüber
hinaus werden die Pakete von den ungenutzten_PIDs auch unverändert gelassen,
wenn es zu den Bilddaten kommt. Zeitstempel, zeitlicher_Bezug und
VBV_Verzögerungsfelder werden
jedoch wie angemessen geändert.
-
Die
belegte Markierung deklariert das Erfordernis von bewahrter Datenintegrität, d.h.
jene Pakete werden von der Assemblereinheit unverändert und
in genau den gleichen Positionen in dem Transportstrom ausgegeben,
d.h. mit den gleichen lokalen Taktbezügen (LCRs), wie sie eingetreten
sind. Für
TS-Pakete mit belegten_PIDs schiebt der Masterdecoder eine Metadatenstruktur
in die Hauptverzögerungsschlange.
Die Metadatenstruktur enthält
den LCR, die belegte Markierung und einen Bezug auf das TS-Paket
selbst. Am anderen Ende der Schlange holt der Stromassembler die
Struktur hervor, erkennt die belegte Markierung und überträgt nur das
TS-Paket, auf das verwiesen wird. Es wird nicht ein einzelnes Bit
des Paketes geändert,
oder von dort bewegt, wo es ursprünglich innerhalb des Transportstroms
gespeichert wurde, und dadurch wird ein minimaler Betrag von Verarbeitungsressourcen
den Paketen mit belegtem PID zugeordnet.
-
Es
ist wichtig zu vermerken, dass alle Pakete des Zielprogramms, oder
mindestens ihre Metadaten, verarbeitet und neu geplant werden, ob
eine Einfügung
in Kraft ist oder nicht. So kann das Zielprogramm in einem beliebigen
verzögerten
Punkt starten, d.h. zeitversetzt. Des weiteren müssen dieser Zeitversatz und
die Zustellungsrate des Programms durch den Transportstrom nicht
konstant sein. Sie können
für unterschiedliche Abschnitte
des Zielprogramms variieren, da auch die Mux-Rate in Übereinstimmung
mit der Erfindung mindestens zu dem Ausmaß gesteuert wird, was verfügbare Bandbreite
und T-STD-Puffereinschränkungen
erlauben werden. Der T-STD ist ein Systemzieldecoder mit einer Puffereinschränkung, die
während
Editieroperationen geprüft
werden muss, um Pufferüberlauf
zu vermeiden, wenn das verbundene Programm des editierten Transportstroms
dekodiert wird. Die konstante Verarbeitung von Metadaten in dem
Mastertransportstrom ermöglicht, was
in der Erfindung Zeitentkopplung genannt wird.
-
Die
TS-Parser der Decoder tragen zur Effizienz mittels der Weise zu,
wie sie erdacht sind, in den unterschiedlichen syntaktischen Schichten
in den Transportströmen
zu arbeiten. Gemäß einer
Ausführungsform der
Erfindung wird ein Teilaudiodecoder zum Parsen von Audiodaten verwendet.
Die Suche danach, wo sich die Audiorahmengrenzen befinden, wird
dann durch Lesen von nur vier Bytes pro Rahmen bewerkstelligt, was die
Audiozugriffseinheit ist. In einer weiteren Ausführungsform ist der Boyer-Moore-Zeichenketten-Suchalgorithmus,
oder ein ähnlicher
Algorithmus, zum Lokalisieren von Startcodes in Videodaten implementiert,
was es ausreichend macht, nur jedes dritte Byte der Elementarvideodaten
zu lesen. Es wird auch nur eine kleine Auswahl von anderen relevanten
Daten, die sich nahe zu jenen Startcodes befinden, aus den Videodaten
gelesen. Darüber
hinaus wird relevante Information normalerweise aus TS-Paketheadern
und aus allen PES-Headern bis zu und einschließlich ihren Dekodierungszeitstempeln
(DTSs) extrahiert.
-
Zeitzonenausrichtung
-
Vom
Slave-Transportstrom, der das einzufügende Programm umfasst, wird
angenommen, richtige interne Synchronisation aufzuweisen, die durch
eine zum Masterstrom unterschiedliche Zeitbasis getaktet ist. Gemäß der Erfindung
wird die Zeitbasis des einzufügenden
Programms in die gleiche Zeitbasis wie das ursprüngliche Zielprogramm ohne irgendeine
Programmtaktbezugsdiskontinuität übersetzt.
Wenn zwischen Dateninhalt des Masterstroms und des Slavestroms umgeschaltet
wird, wird ein Videorahmen von jedem Strom, einer von jeder Zeitzone,
in dem Schaltungspunkt in der Dekodierungszeitdomäne an Stelle
von in der Transportzeitdomäne
umgeschaltet. Alle anderen benötigten
Puffersteuerabstimmungen werden zur Ausführung in der Transportzeitdomäne gelassen.
Diese Schritte sieht der Rest des Algorithmus im erfinderischen
Verfahren mit einer gemeinsamen Zeitbasis vor und deckt alle Steuervariablen
auf, die benötigt
werden, eine Verbindung ohne Diskontinuitäten durchzuführen. In
dieser Anmeldung wird diese Prozedur Zeitzonenausrichtung genannt.
Um die Zeitausrichtung in der Dekodierungszeitdomäne an Stelle
von in der Transportzeitdomäne
auszuführen,
wird sie als eine Folge der zuvor beschriebenen Zeitentkopplung
aktiviert. Die Zeitzonenausrichtung ermöglicht den Puffersteuerfunktionen
der Erfindung (nachstehend beschrieben), die unterschiedlichen Videodekodierungsverzögerungen
zu managen, d.h. die unterschiedlichen Decoderpufferbelegungen,
der neuen und alten Videoströme
durch Umplanung aller Transportpakete vor, während und nach einem Einfügungszyklus.
-
Wenn
eine Umschaltungsentscheidung durchgeführt wird, ist bekannt, welcher
Rahmen des neuen Ergebnisstroms in der Deko dierungszeit des ersetzten
Rahmens dekodiert werden sollte. Um eine Dekodierungsdiskontinuität zu vermeiden,
oder mit anderen Worten eine aufeinanderfolgende Sequenz von Dekodierungszeiten
vorzusehen, erbt der erste Rahmen des neuen Stroms den Dekodierungszeitstempel
(DTS) von dem ersten Rahmen, der ersetzt wird. Gemäß der Erfindung
wird dies vorzugsweise durch Versehen der entsprechenden Steuerdatenobjekte
mit dem aktuellen DTS implementiert. Der Betrag einer Zeitverschiebung, die
benötigt
wird, um die DTS-Vererbung zu bewerkstelligen, wird durch einen
Zeitzonendifferenzparameter time_zone_diff definiert, wobei time_zone_diff
= DTS_master – DTS_slave
ist. DTS_master ist der Dekodierungszeitstempel für den ersten
ersetzten Ankerrahmen und DTS_slave ist der ursprüngliche
Dekodierungszeitstempel für
den neuen Ersetzungs-I-Rahmen.
Alle Takte, PTS/DTSs und LCRs, des Slavestroms werden durch Hinzufügen des
time_zone_diff zu jedem von ihnen neu kalkuliert. Diese Operation
stellt sicher, dass die ursprüngliche
relative Zeiteinstellung, die durch einen stromaufwärtigen Multiplexer
eines Slavestrom-Decoders erstellt wurde, aufrechterhalten wird,
und die Videoverzögerung,
die durch den Slavestrom-Kodierer und Multiplexer beabsichtigt wird,
wird in der gleichen "Zeitzone" wie der einen widergespiegelt,
die durch den Masterstrom-Kodierer und Multiplexer verwendet wird.
-
2 zeigt
zwei Fälle,
die wegen den unterschiedlichen Videoverzögerungen oder Pufferbelegungen des
Masterstroms bzw. des Slavestroms auftreten können. Die Figur zeigt einen
Schaltungspunkt in Dekodierungszeitstempel- (DTS) Position 2 in
der Dekodierungszeitdomäne,
veranschaulicht durch die Zeitlinie 202. Die Rahmengrößen werden
durch die Breiten von Sektionen 1-7 in dem alten Strom 204 veranschaulicht.
Der alte Strom 204 wird auch in der Transportzeitdomäne mittels
des lokalen Taktbezugs überwacht,
veranschaulicht durch die untere Zeitlinie 206. Der neue
Strom wird nur in der Trans portzeitdomäne überwacht, d.h. mit Bezug auf
die untere Zeitlinie 206. Die Figur veranschaulicht einen
ersten neuen Strom 208 mit einem früheren lokalen Taktbezug im
Vergleich zu dem alten Strom, somit überlappend den und führend zu
dem Parameter LCR diff, dem ein neuer Wert < 0 zugewiesen wird. Ferner hat somit
ein zweiter neuer Strom 210 mit einem späteren lokalen
Taktbezug eine Lücke
bezüglich
des alten Stroms und folglich wird dem Parameter LCR diff ein Wert > 0 zugewiesen. In Übereinstimmung
mit der Erfindung arbeitet die Puffersteuerfunktion (nachstehend
beschrieben) in dem Wert und dem Vorzeichen des Parameters LCR diff.
-
Programmtaktbezüge (PCR)
-
Die
Erfindung arbeitet in einem Programm mit einem Transportstrom, der
mehrere Programme enthalten kann. Ein Programm besteht typischerweise
aus mehreren Teilströmen,
die durch eine Programmidentifikationsnummer PID identifiziert werden,
wobei jeder Teilstrom einen Elementaraudio- oder Videostrom oder andere
Daten enthält.
Den Teilströmen
von jedem Programm wird eine gemeinsame Zeitbasis durch Programmtaktbezüge PCR gegeben,
woraus eine Decoderzeiteinstellung abgeleitet wird. Eine und nur
eine PID kann den PCR eines Programms enthalten. Es gibt eine Programmabbildungstabelle
(PMT, Program Map Table) für
jedes Programm in dem Transportstrom und die PMT enthält Information
darüber,
welche PID den PCR überträgt. Diese
Tatsache hat ein bestimmtes Problem zur Folge, wenn Programme mit
unterschiedlichen Programmtaktbezügen verbunden werden, da der
Strom oder das Programm, das/der einzufügen ist, den PCR in der Audio-PID übertragen
kann und das Programm des Masterstroms ihn in der Video-PID übertragen
kann. Des weiteren können
einer von beiden oder beide Ströme
den PCR in einer getrennten PID speziell für den PCR übertragen. Wenn dies nicht
korrigiert wird und PCR-Behandlung für die zwei Ströme vereinheitlicht
wird, wird dies einen stromabwärtigen
Decoder verwirren.
-
Gemäß der Erfindung
wird das Problem durch die folgenden Schritte gelöst:
- – Die
Programmabbildungstabelle PMT wird intakt gelassen, was bedeutet,
dass welche PCR-PID auch immer für
den Masterstrom oder das Masterprogramm spezifiziert ist, auch die
PCR-PID während
der Einfügung
des Slaveprogramms in das Masterprogramm bleiben wird;
- – Alle
PCR-Zeitstempel werden in den Paketen durch den TS-Decoder/Parser der
Eingangsstufe gelassen und die Information folgt dem Paket durch
den erfinderischen Prozess und die Vorrichtung ungeachtet einer PID;
- – Der
Endstufe der Einrichtung, d.h. dem Stromassembler, wird Information
darüber
gegeben, welche PID den PCR übertragen
sollte, d.h. die PCR-PID für
den Ausgangsstrom;
- – Jedes
Paket in jeder PID des Programms wird in der Assemblerstufe inspiziert;
- – Die
ursprünglichen
PCRs, die in der richtigen PID sind, werden mit einem neuen korrekten
PCR umgestempelt. Dieser Wert wird dem LCR des Hauptstroms für das Paket
entnommen, welches das gegenwärtige
Paket ersetzen wird, oder wird berechnet, falls benötigt;
- – Alle
anderen PCRs werden ungeachtet einer PID entfernt;
- – Es
werden neue PCRs eingefügt,
falls ein gewisses vorbestimmtes Intervall seit dem letzten PCR
in der PCR-PID vergangen ist, z.B. durch Einfügen eines Paketes mit nur einem
Anpassungsfeld, das den PCR enthält.
Dies ist eine Art von Rückfallmechanismus,
der PCRs zuführen
wird, falls der PCR während
einer Einfügung
in der falschen PID ist. Er kann auch verwendet werden, um ein minimales
PCR-Intervall nach Bedarf
durch MPEG (100 ms) oder wie durch DVB (40 ms) empfohlen zu erzwingen.
-
Austreten
aus einem und Eintreten in einen Datenstrom
-
Austreten
aus und Eintreten in Datenströme(n)
auf eine Weise, die nahtlose Verbindungen ermöglicht, erfordert geeignete
In-Punkte und Aus-Punkte
in dem Masterstrom ebenso wie in den Slaveströmen. Ein geeigneter Aus-Punkt
ist dadurch gekennzeichnet, dass die letzten Bilder vor dem Aus-Punkt
eine vollständige Teilgruppe
von Bildern bilden, d.h. jedes Bild in der Teilgruppe sollte unabhängig von
nachfolgenden Bildern dekodierbar sein. Ein geeigneter Aus-Punkt
wird wiederum dadurch gekennzeichnet, zu einer Gruppe von Bildern
(GOP) zu gehören,
die unabhängig
von beliebigen vorangehenden Bildern dekodierbar sind. Eine derartige
GOP wird eine geschlossene GOP genannt. Die vorliegende Erfindung
umfasst eine Funktionalität,
die derartige In-Punkte und Aus-Punkte erfasst und/oder erstellt,
z.B. durch Erreichen geschlossener GOPs, wenn erforderlich. In Übereinstimmung
mit der Erfindung wird ein Aus-Punkt durch Auswählen einer geeigneten Aus-Gruppe
ausgewählt,
die die letzte Gruppe ist, um in dem Strom zu senden, der zu verlassen
ist. Die Eigenschaft der Aus-Teilgruppe ist die, dass bidirektional
kodierte Bilder mittels der Information der Bilder innerhalb der
ausgewählten
Teilgruppe dekodierbar sind. Die Eigenschaft einer geeigneten In-Teilgruppe ist die, dass
sie mit einem I-Bild beginnen muss, da der Schwanz des letzten Bildes
oder das Bild von dem alten Strom mit dem Start eines geeigneten
I-Bildes von dem neuen Strom ausgerichtet werden muss. Ein derartiges
I-Bild ist ge wöhnlich
innerhalb einer Hälfte
einer GOP verfügbar,
und es wird eine In-Teilgruppe gemäß der Erfindung durch Beseitigen
der nächsten
vorangehenden B-Bilder erstellt, die eine frühere Präsentationszeit als das I-Bild
haben, das für
den In-Punkt ausgewählt ist.
Um den In-Punkt auszurichten, wird der Start eines ausgewählten I-Bildes
mittels Puffer, die in der Erfindung beinhaltet sind, verzögert oder
vorgerückt.
Eine Auswahl von einem von zwei Kandidaten-I-Bildern, in denen der
Masterstrom wieder betreten wird, wird abhängig von einer gegenwärtigen Programmverzögerung und
dem Zeitabstand von einer gewünschten
Umschaltzeit zu einem Präsentationszeitstempel
(PTS) von jedem Kandidaten-I-Bild derart ausgeführt, dass die akkumulierte
variable Programmverzögerung
minimiert wird.
-
Puffersteuerung
-
Eine
Anforderung in dem resultierenden Transportstrom besteht darin,
dass er niemals die Regeln verletzen sollte, die in dem T-STD- (Transportstrom – Systemzieldecoder)
Modell festgehalten sind. [MPEG2 Systems 2.4.2, P 8] In Übereinstimmung
mit der Erfindung werden Pufferverletzungen in dem Decoder durch
Verwenden freier Bandbreite in der Form von leeren Paketen in dem
Mastertransportstrom, der das Programm umfasst, das vollständig oder
teilweise zu ersetzen ist gesteuert. Die leeren Pakete werden verwendet,
um Transportpakete in dem Transportstrom neu zu planen, und es werden Überlauf
oder Unterlauf in den Decoderpuffern vermieden oder nicht gestattet.
-
Der Stromassembler
-
Der
Stromassembler nutzt die ungenutzt markierten Positionen für Pakete
des verbundenen Programms. Alle Bezüge zu den ungenutzten PID-Paketen
ebenso wie zu belegten PID-Paketen, ihre LCRs und die Markierungen
vom ungenutzten oder belegten Status werden in Steuerdatenobjekten
gespeichert, die durch die Hauptverzögerungsschlange zu dem Stromassembler
weitergeleitet werden. Eine Kopie des Bezugs auf ungenutzte_PID-Pakete
wird mittels eines anderen Steuerdatenobjektes, das über eine
kompliziertere Route weitergeleitet wird, zusammen mit anderen wichtigen
Metadaten aus den unterschiedlichen Syntaxschichten des Paketes
extrahiert. Diese Metadaten werden nach Bedarf durch die unterschiedlichen
Komponenten der Erfindung auf ihrem Weg durch die Decoder, Verbinder,
den Programmassembler und die Programmschlange gesammelt, aktualisiert
und gespeichert. Zwei der Schlangen, die Metadaten in Steuerdaten puffern,
d.h. die Hauptverzögerungsschlange
und die Programmschlange, treffen sich in den Eingängen des Stromassemblers,
der auch Zugriff auf eine unbegrenzte Versorgung von Füllpaketen
(PID = 0×1FFF)
von dem Füllpaketgenerator
hat.
-
Die
LCRs von ungenutzten_PIDs werden in unterschiedlichen Algorithmen
der Erfindung geändert, z.B.
in Verbindung mit Zeitzonenausrichtung, GOP-Schließung, Puffersteuerung
und variabler Programmverzögerung.
Die modifizierten LCRs, beeinflusst durch die unterschiedlichen
obigen Algorithmen, werden durch den Stromassembler verwendet um
zu bestimmen, wann die TS-Pakete auszugeben sind, die das verbundene Zielprogramm übertragen.
In einer Ausführungsform
der Erfindung holt der Stromassembler ein Element aus der Hauptverzögerungsschlange
hervor, untersucht die ungenutzte/belegte Markierung, und falls
als belegt markiert, wird das TS-Paket, das durch das hervorgeholte
Element referenziert wird, in dem Ausgangsstrom befördert. Falls
als ungenutzt markiert, wird es gelöscht und durch ein Füllpaket
oder durch ein Paket von der verbundenen Programmschlange ersetzt.
Die LCRs eines gegenwärtigen
Programmelementes aus der Programmschlange und das ungenutzt markierte
Element werden verglichen. Falls der Programm-LCR gleich oder später zu dem
Haupt-LCR ist, dann wird das TS-Paket, das mit dem Programmelement
in Verbindung steht, in dem Ausgangsstrom ausgeliefert. Falls der
LCR für
das aktuelle Programm-TS-Paket zu klein ist, wird stattdessen ein
Füllpaket übertragen,
um die Lücke
zu füllen.
Der Prozess wird durch Hervorholen des nächsten Elementes aus der Hauptschlange
wiederholt usw.
-
Der Videoverbinder
-
Teilgruppen
(SGs, subgroups) von Steuerdatenobjekten und Datenpakete der Master-
und Slaveströme
werden vor dem Videoverbinder in den Teilgruppenschlangen eingereiht.
Ihre vorderen Elemente werden in den Videoverbinder für eine Untersuchung
hervorgeholt, eines von dem ungenutzten Strom und eines von dem
tätigen
Strom.
-
Ein
Strom, der tätig
ist, d.h. der Strom, der gegenwärtig
zu dem Stromassembler weitergegeben wird, wird durch eine Programmverzögerungsschlange
variabler Länge
(VPD) ausgegeben. Falls der ungenutzte Strom dynamisch ist, kann
er der Master oder der Slave sein, dann werden die vorderen ungenutzten
Teilgruppen hervorgeholt, und durch ihre VPD-Schlange geschoben.
Da ungenutzte SG und tätige
SG eine unterschiedliche Zahl von Rahmen enthalten können, wird
ein Zeitsperrmechanismus für
den Fall vorgesehen, wenn beide Ströme dynamisch sind. Dieser Sperrmechanismus
stellt sicher, dass sich ungenutzte SG und tätige SG einander ausreichend überlappen,
um synchronisiert zu werden. Diese Synchronisation geschieht in der
Dekodierungszeitdomäne,
falls der Slave gerade tätig
auf einen switch out (herausschalten) wartet, oder in der Transportzeitdomäne, falls
der Slave gerade ungenutzt auf einen switch in (hineinschalten)
wartet. Zur Zeit, wenn eine Umschaltung gerade auftritt, d.h. ein
dynamischer ungenutzter Strom wird der tätige, wird seine VPD-Schlange
inspiziert, um einen geeigneten I-Rahmen zu finden. Falls andererseits
der ungenutzte Strom statisch ist, wobei er ein lokal gespeicherter
Slavestrom ist, dann wird die erste ungenutzte SG eingereiht, bis sie
an der Reihe ist hervorgeholt und eine tätige SG zu werden. In dem Fall
eines ungenutzten statischen Slavestroms ist im voraus bekannt,
dass die ungenutzte SG die Anforderungen für einen Video-In-Punkt erfüllt.
-
Transportstromstruktur
-
Ein
Transportstrom (TS) hat eine komplexe Struktur, die in dem MPEG-Standard
beschrieben wird, auf den in dem obigen Hintergrund verwiesen wird,
dennoch folgt nachstehend eine vereinfachte und es sehr kurze Beschreibung
für das
Verständnis
von einigen der Merkmale der Erfindung. In der Elementarstrom- (ES) Ebene
ist ein Videorahmen ein Bild-Header, gefolgt durch kodierte Videodaten.
Der Bild-Header teilt u.a. mit, ob er ein I-, ein P- oder ein B-Rahmen
ist. P- und B-Rahmen
hängen
von anderen Rahmen ab, wohingegen I-Rahmen unabhängig sind. Videorahmen können eine
stark variierende Größe aufweisen.
Es gibt auch Daten, die sich nicht direkt auf Rahmen beziehen, wie
etwa Sequenz-Header; ihre Erweiterungen und Information über eine
Gruppe von Bildern (GOP), die zwischen Videorahmen verschachtelt
sind. Eine Sequenz von Videorahmen mit den ergänzenden Daten ist ein Videoelementarstrom
(VES). Eine Audioelementarsequenz (AES) hat eine ähnliche,
aber einfachere Struktur. In Audio ist jeder Rahmen eigenständig, und
es gibt keine anderen Daten als Rahmen. Ein Audiorahmen ist auch
in einen Header und kodierte Audiodaten unterteilt. Ein ES ist entweder
eine AES oder ein VES.
-
Ein
ES ist in Stücke
geschnitten, die in einem paketierten Elementarstrom (PES) gespeichert
sind. Es wird keine strukturelle Korrelation zwischen PES-Paketen
und Rahmen benötigt.
Ein PES-Paket besteht aus einem Header variabler Größe, der
unter anderen Dingen Zeitstempel (PTS und DTS) und ein Längenfeld (PES_Paket_Länge) enthält. Die
Zeitstempel können
von einigen PES-Paketen fehlen und von anderen Rahmen in PES-Pa keten
enthalten sein. Fehlende Zeitstempel können von früheren Zeitstempeln abgeleitet
werden. Ein Fragment des Elementarstroms folgt dem PES-Header. Dieses
ES-Fragment kann Teile von mehr als einem Rahmen enthalten. Ein
PES-Paket kann eine fixierte oder variable Länge aufweisen. Die Transportschicht
von einem Teilstrom (PID) eines Transportstroms wird durch Schneiden
des PES in kleine Transportpakete fixierter Größe (188 Bytes) aufgebaut. Diese
Transportpakete enthalten auch einen Header variabler Größe, gefolgt
durch die tatsächlichen
PES-Daten, die als die Nutzlast bezeichnet werden.
-
Schließlich sind
Transportpakete von allen PIDs in dem Transportstrom in eine Mehrschichtstruktur verschachtelt.
Die Daten, die als eine Eingabe in der erfinderischen Vorrichtung
empfangen werden, sind die Transportschicht, aber die Umschaltung
muss in der Elementarschicht geschehen. Ein Transportpaket kann Fragmente
von zwei Rahmen enthalten, von denen nur eines gesendet werden sollte,
d.h. in einem Umschaltpunkt zwischen Strömen, oder wenn eine offene
GOP geschlossen wird. Bloßes
Umschalten zwischen Transportpaketen würde die umgebenden PES-Pakete
ungültig
machen. Ihre Länge
würde falsch
werden und die Zeitstempel (PTD/DTS) würden auf den falschen Rahmen
verweisen. Des weiteren kann ein Rahmen einen impliziten DTS haben,
der nicht länger
korrekt abgeleitet werden kann.
-
Parser
-
Die
Video- und Audioverarbeitungsblöcke
der Erfindung inspizieren alle drei Schichten und extrahieren relevante
Information aus jeder Schicht. Diese Information wird in einer getrennten
Datenstruktur, einem Steuerdatenobjekt, außerhalb der Transportpakete
gespeichert. Alle Pakete werden intakt und unverändert gelassen. Die Transportpakete,
die zu einem Rahmen gehören,
werden zusammen mit zugehöriger
Information gespeichert. Z.B. Bild Kodierungs Typ (I-, P- oder B-Bild)
aus dem Bild-Header ebenso wie PTS und DTS von dem PES-Header. Zeitstempel
werden berechnet und gespeichert, falls nicht bereits vorhanden.
Andere relevante Information wird auch in der getrennten Datenstruktur
gespeichert, z.B. ein Bezug auf das Transportpaket, das einen potenziellen
Schnittpunkt enthält,
d.h. eine Rahmengrenze, und wo in diesem Paket die Grenze ist, und
die Rahmengröße. Diese
Anordnung erlaubt der Verbindungsvorrichtung gemäß der Erfindung, auf einer
hohen Abstraktionsebene zu arbeiten. Der Rest der Vorrichtung kann
in einer Sequenz von Rahmen arbeiten, und kann meist Transportpakete
ignorieren, obwohl alle Transportstromdaten noch unverändert sind und
sich in Transportpaketen befinden.
-
Für Video
speichert und verfolgt der Parser auch einige der sequenz-bezogenen
Daten aus dem Sequenz-Header und seinen Erweiterungen, dem GOP-Header,
falls es einen gibt, und derartige Daten, die für die Verbindungskomponenten
nutzbar sein können.
Die Pakete, die die sequenz-bezogenen Daten übertragen, sind mit den Bildpaketen
in Verbindung, die ihnen in dem Strom folgen. Es gibt auch einen
Bezug auf das Paket und wo in dem Paket der Startcode für den ersten
von Sequenz-Header, GOP oder I-Bild ist, sodass ein sauberer Schnitt
durchgeführt
werden kann.
-
ES-Rahmen
und PES-Pakete sind strukturell ohne Bezug, sodass der Parser parallel
eine andere Datenstruktur unterhält.
Alle Transportpakete, die zu einem PES-Paket gehören, sind in einer getrennten
Struktur gemeinsam gruppiert, durch die sequenziell hin und zurück navigiert
werden kann, beginnend in einem beliebigen Paket, z.B. dem Paket,
das die Rahmengrenze enthält.
-
Video
unterscheidet sich von Audio in einer anderen Hinsicht. Die Videoverbindungskomponente
arbeitet nicht in Videorahmen, sondern vielmehr in Gruppen von Videorahmen.
Ein I- oder P-Bild
(Anker-Bild), gefolgt durch eine Zahl von B-Bildern, wird eine Anker-Gruppe
oder eine Teilgruppe genannt. Der Parser sammelt Bilder in Anker-Gruppen.
Eine Anker-Gruppe wird dann als eine eigenständige Einheit behandelt. Diese Schlange
von Gruppen wird danach als eine Eingabe zu der Videokomponente
präsentiert.
-
Abtastung
der Elementarströme
nach Startcodes geschieht vorzugsweise durch Verwenden unterschiedlicher
Algorithmen für
AES und VES. Für
Audio wird ein Teil-MPEG-Audio-Rahmen-Header-Decoder in einer Ausführungsform
für eine
Berechnung vorgesehen, wo der nächste
Rahmen starten sollte. In diesem Punkt beginnt eine lineare Suche
nach dem MPEG-Audio-Rahmen-Startbitmuster.
Es sei denn, es gibt ergänzende
Daten nach dem Audiorahmen, ist dies dort, wo der nächste Rahmen
starten wird, und die Suche wird sofort erfolgreich sein. Es müssen nur
vier ES-Bytes pro Audiorahmen inspiziert werden. Wie oben erwähnt, kann
für Videoelementardaten
eine Variation des gut bekannten Boyer-Moore-Zeichenkettensuchalgorithmus verwendet
werden, um relevante Startcodes zu finden. Dies reduziert die Zahl
von Bytes, die aus dem gesamten VES zu inspizieren sind, auf ungefähr ein Drittel.
Die gesamte ES-Information, die die Verbindungseinrichtung benötigt, kann
nahe Startcodes gefunden werden.
-
Saubere Schnitte
im PES
-
Wenn
die Sequenz von Rahmen oder Anker-Gruppen unterbrochen werden muss,
d.h. Umschalten zwischen Sequenzen oder Schließen einer offenen GOP, muss
besondere Fürsorge
getroffen werden, die oben erwähnten
Steuerdatenstrukturen richtig aufrechtzuerhalten und sicherzustellen,
dass die resultierende Sequenz von Transportpaketen der MPEG-Spezifikation
entspricht. Z.B. werden die PES-Pakete geändert, sodass sie auf beiden
Seiten des Schnittes korrekt sind. Es werden PES-Zeitstempel für ein möglicherweise
neues PES-Paket vorgesehen. Das Transportpakete, das den Schnittpunkt
enthält,
wird in zwei gesplittet. Dies geschieht in einer Ausführungsform
auf die folgende Art und Weise:
Beginnend von der Datenstruktur,
die einen Rahmen hält,
wird durch die Struktur navigiert, um sowohl das Transportpaket,
wo der Schnitt sein muss, als auch den entsprechenden PES zu finden.
Es werden die folgenden Schritte ausgeführt.
- -
Trennen von Rahmen-B;
- – Einfügen eines
Transportpaketes nach dem Schnittpaket, Kopieren des Anteils, der
Rahmen-B-Daten enthält,
zu dem neuen Paket. Nach Bedarf Füllen über ein Transportpaket-Anpassungsfeld.
Einfügen eines
Transportpaketes zwischen dem Schnittpaket und dem neuen Paket,
das einen neuen gültigen PES-Header
mit Zeitstempeln enthält.
Dies macht in dem Schnittende Rahmen-B PES-sauber.
- – Aufräumen von
Rahmen-A
- – Finden
des PES-Headers und Berechnen einer neuen PES_Paket_Länge. Dies
macht das alte PES-Paket kürzer,
aber vollständig.
- – Falls
der alte PES einen PTS/DTS enthält,
der auf den nächsten
Rahmen verweist, werden die Zeitstempel entfernt.
- – Verschieben
der Daten bezüglich
Rahmen-A nach unten zu dem Ende des Schnitttransportpaketes, Füllung durch
ein Anpassungsfeld nach Bedarf hinzufügen.
- - Dies macht Rahmen-A in seinem Schnittende PES-sauber.
-
Diese
PES-Säuberungsoperationen
werden durch die Struktur vorgesehen, die einen Rahmen hält, und
dient anderen Teilen der Erfindung. Der Befehl, einen beliebigen
Rahmen PES-sauber zu machen, kann durch eine beliebige Komponente
der Vorrichtung und in einer beliebigen Stufe des erfinderischen
Prozesses angeordnet werden. Die PES-Säuberung ist in jedem Rahmen
oder nur in einem Minimum durchführbar,
z.B. in den tatsächlichen
Schnittpunkten, wie gewünscht.
-
Der GOP-Schließalgorithmus
-
Der
GOP-Schließalgorithmus
wird durch das Zeitentkopplungsmerkmal der Erfindung erleichtert.
Er erbringt die Möglichkeit,
einen beliebigen I-Rahmen als einen Eintrittspunkt in einen Strom
zu verwenden, selbst wenn er nicht zu einer ursprünglich geschlossenen
GOP gehört.
Die Schritte des GOP-Schließalgorithmus
werden mit Bezug auf 3 erläutert. Der Algorithmus umfasst
die folgenden Schritte oder Phasen:
Phase 0: Die unerwünschten
B-Rahmen werden identifiziert und gelöscht. (b1 und b2)
Phase
1: Die Dekodierungszeit des I-Rahmens, DTS(i0), wird um die Zahl
von gelöschten
B-Rahmen mal der Rahmen_Dauer verschoben. Oder anders ausgedrückt, DTS(i0)
wird um: delta_DTS = [PTS(i0) – Rahmen_Dauer]-
DTS(i0) erhöht.
Alle TS-Pakete, die zu dem I-Rahmen gehören, werden durch Erhöhung ihrer
LCRs um delta_DTS neu geplant.
Phase 2: Das nächste zu
planende TS-Paket ist das erste Paket des P-Rahmens p3 in der nächsten SG.
Dieses Paket wird höchstwahrscheinlich
einen früheren
LCR als das letzte Paket des neu geplanten I-Rahmens aufweisen.
Der Grund dafür
besteht darin, dass B-Rahmen normalerweise schneller als ihre Dauer
transportiert werden, da sie normalerweise kleiner als die mittlere
Rahmengröße sind.
-
Dieser
Unterschied, delta_LCR, wird kalkuliert und dem LCR aller folgenden
TS-Pakete hinzugefügt, bis
ihr neu kalkulierter Wert den neuen DTS(i0) erreicht, der in Phase
1 kalkuliert wird. Dieser Schritt wird vorgesehen um sicherzustellen,
dass der Videopuffer nicht über
der Ebene gefüllt
wird, auf der der stromaufwärtige
Kodierer/Multiplexer ursprünglich
erwartet hat, dass der I-Rahmen zu dekodieren ist. Das delta_LCR
wird stets kleiner als delta_DTS sein, solange wie B-Rahmen kleiner
als die mittlere Rahmengröße sind.
So werden jene TS-Pakete, die dem I-Rahmen bis zu der Dekodierungszeit
des gleichen I-Rahmens folgen, später geplant als sie es ursprünglich waren,
aber nicht um so viel wie der I-Rahmen.
-
Phase
3: Nun wurde der I-Rahmen aus dem Puffer extrahiert, was genügend Raum
für neue
Videobytes übrig
lässt.
Die Gefahr eines Pufferüberlaufs
ist vorüber,
aber ein Unterlauf ist sehr viel wahrscheinlicher. Insbesondere
da der nächste
Rahmen, der zu extrahieren ist, der P-Rahmen p3 ist, der vermutlich
größer als B-Rahmen
ist, von dem der Kodierer erwarten würde, dass sie helfen würden, den
Puffer aufzufüllen,
indem sie ihn weniger leeren. Der GOP-Schließalgorithmus wird deshalb versuchen,
die Mux-Rate so weit wie möglich
zu erhöhen,
um den Pufferfüllstand
rasch anzuheben und die erwartete Unterlaufsituation zu verhindern. Der
LCR des TS-Paketes, das als Nächstes
zu planen ist, wird in diesem Punkt delta_LCR und Ticks zurück sein,
da es noch keinerlei Behandlung erfahren hat, wie sie die Pakete
in Phase 2 erhalten haben. Es wird jedoch die gleiche Behandlung
gestellt, d.h. es wird einen Wert LCR_Phase3 erhalten, der größer als
DTS(i0) ist. Den LCRs der folgenden Pakete wird dieser LCR_Phase3-Wert
solange zugewiesen, wie ihr ursprünglicher LCR-Wert kleiner als
LCR_Phase3 ist, was ausreichend ist sie davon abzuhalten, mit den
Paketen von Phase 2 zu konkurrieren. Phase 4: GOP-Schließung ist
abgeschlossen und die anderen Algorithmen der Erfindung können nun
die geschlossene GOP-Eigenschaft verwenden.
-
Das
Verfahren der Erfindung ist gemäß unterschiedlichen
Ausführungsformen
als Hardware implementiert, ferner umfassend eine zentrale Verarbeitungseinheit,
eine Datenspeichereinrichtung und Eingabe-/Ausgabe-Schnittstellen.
Eine Ausführungsform
ist als ein Computerprogramm mit Mitteln, die auf einem Aufzeichnungsmedium
aufgezeichnet sind, zum Durchführen
von jedem der Schritte des erfinderischen Verfahrens und jeder der
Funktionen der Funktionskomponenten implementiert.
-
-
-
-
-
-
-
-
-
-
-
-
-
-