DE69919714T2 - Verfahren und vorrichtung zur verbindung von programmen - Google Patents

Verfahren und vorrichtung zur verbindung von programmen Download PDF

Info

Publication number
DE69919714T2
DE69919714T2 DE69919714T DE69919714T DE69919714T2 DE 69919714 T2 DE69919714 T2 DE 69919714T2 DE 69919714 T DE69919714 T DE 69919714T DE 69919714 T DE69919714 T DE 69919714T DE 69919714 T2 DE69919714 T2 DE 69919714T2
Authority
DE
Germany
Prior art keywords
data
transport stream
packets
stream
data packets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69919714T
Other languages
English (en)
Other versions
DE69919714D1 (de
Inventor
Roger Andersson
Lars Farm
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Pinnacle Systems Inc
Original Assignee
Pinnacle Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from SE9802316A external-priority patent/SE9802316D0/xx
Application filed by Pinnacle Systems Inc filed Critical Pinnacle Systems Inc
Publication of DE69919714D1 publication Critical patent/DE69919714D1/de
Application granted granted Critical
Publication of DE69919714T2 publication Critical patent/DE69919714T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23611Insertion of stuffing data into a multiplex stream, e.g. to obtain a constant bitrate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip

Description

  • 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.
  • Figure 00380001
  • Figure 00390001
  • Figure 00400001
  • Figure 00410001
  • Figure 00420001
  • Figure 00430001
  • Figure 00440001
  • Figure 00450001
  • Figure 00460001
  • Figure 00470001
  • Figure 00480001
  • Figure 00490001
  • Figure 00500001
  • Figure 00510001

Claims (23)

  1. Verfahren zum Verbinden von Datenströmen aus MPEG-komprimierten Programmen, wobei die Programmdaten in MPEG-Transportströmen aus Datenpaketen mit Programmtaktverweisen, die sich auf einen MPEG-Kodierersystemtakt beziehen, übertragen werden, die Datenpakete Anwendungsdaten, wie etwa Video- und Audiodaten, und einen Header, der mit Steuerdaten versehen ist, übertragen, das Verfahren die Schritte inkludiert: – Empfangen eines ersten Eingangstransportstroms aus ersten Datenpaketen (1); – Empfangen eines zweiten Eingangstransportstroms (1) aus zweiten Datenpaketen, um ausgewählte erste Datenpakete in dem ersten Strom zu ersetzen; – Extrahieren für jedes Datenpaket eines Zeitbezuges und Datenpaketstatusinformation, die die syntaktische Funktion des Datenpaketes anzeigen; gekennzeichnet durch die Schritte: – Herstellen für jedes Datenpaket eines Steuerdatenobjektes, das den Zeitbezug und die Datenpaketstatusinformation speichert; – Herstellen für geordnete Mengen von den Datenpaketen entsprechend geordneten Mengen von Steuerdatenobjekten; – Herstellen für die geordneten Mengen von Steuerdatenobjekten anderer Steuerdatenobjekte, die Information speichern, betreffend unterschiedliche logische Strukturen, wie etwa Rahmen, Sequenzen von Rahmen und paketierte Elementarstrompakete; – Einreihen der Steuerdatenobjekte in unterschiedlichen Schlangen abhängig von dem Datenpaketstatus oder dem Status einer Gruppe von Datenpaketen; – Auswählen aus den Schlangen von Steuerdatenobjekten, die zu Datenpaketen gehören, die in einem Ausgangstrom aus Datenpaketen auszugeben sind; – Zusammenbauen ausgewählter Steuerdatenobjekte zu einem Programm aus zugehörigen Datenpaketen von unterschiedlichen Arten von Daten; – Zusammenbauen von Datenpaketen, die zu den ausgewählten und zusammengebauten Steuerdatenobjekten gehören, zu einem Ausgangstrom (3) von Datenpaketen; – Ausgeben des zusammengebauten Stroms (3) aus Datenpaketen.
  2. Verfahren zum Verbinden von Programmen, wie in Anspruch 1 angeführt, wobei der Schritt zum Zusammenbauen von Datenpaketen zu einem Ausgangstrom den weiteren Schritt zum Generieren und Einfügen von Füllpaketen umfasst, um einen ungenutzten Raum im Sinne freier Bandbreite des Ausgangstransportstroms auszufüllen.
  3. Verfahren zum Verbinden von Programmen, wie in Anspruch 1 angeführt, wobei die Steuerobjekte verwendet werden, um Steuerinformation zum Anwenden in zugehörigen Datenpaketen zu generieren.
  4. Verfahren zum Verbinden von Programmen, wie in Anspruch 1 angeführt, wobei Datenpakete als verfügbar oder nicht verfügbar für einen Austausch markiert sind, und nicht verfügbare Datenpakete intakt gelassen und in den Ausgangstrom von Datenpaketen erneut zusammengebaut werden.
  5. Verfahren zum Verbinden von Programmen, wie in Anspruch 1 angeführt, wobei die Operationen in unterschiedlichen Schichten der Transportströme ausgeführt werden, die unterschiedliche Schichten einer Abstraktion von Steuerdatenobjekten generieren.
  6. Verfahren zum Verbinden von Programmen, wie in Anspruch 1 angeführt, ferner die Schritte umfassend: – Genlocking zu einem Kodierertakt eines empfangenen ersten Eingangstransportstroms (1), wobei einige Pakete einen Programmtaktverweis inkludieren; – Bestimmen gemäß dem Takt einer Ankunftszeit in der Form eines lokalen Taktverweises von jedem Transportstrompaket in dem eingehenden Transportstrom (1), wobei die lokalen Taktverweise Information über die Positionen innerhalb eines Transportstroms übertragen, in denen alle seine Transportstrompakete angekommen sind.
  7. Verfahren zum Verbinden von Programmen, wie in Anspruch 1 angeführt, ferner die Schritte umfassend: – Genlocking zu einem Kodierertakt eines empfangenen zweiten Eingangstransportstroms (2), worin einige Pakete einen Programmtaktverweis inkludieren; – Bestimmen gemäß dem Takt einer Ankunftszeit in der Form eines lokalen Taktverweises von jedem Transportstrompaket in dem eingehenden Mastertransportstrom, wobei die lokalen Taktverweise Information über die Positionen innerhalb eines Transportstroms übertragen, in denen alle seine Transportstrompakete angekommen sind.
  8. Verfahren zum Verbinden von Programmen, wie in Anspruch 1 angeführt, ferner den Schritt umfassend: – Übersetzen der Zeitbasis des zweiten Eingangstransportstroms zu der Zeitbasis des ersten Eingangstransportstroms.
  9. Verfahren zum Verbinden von Programmen, wie in Anspruch 1 angeführt, wobei Videobilder, die in den Transportströmen enthalten sind, in Gruppen-von-Bildern derart angeordnet sind, dass jedes I-Bild zu einer Gruppe-von-Bildern gehört, die nicht von beliebigen vorherigen Bildern als Verweis für ihre Dekodierung abhängen, die eine geschlossene Gruppe-von-Bildern genannt wird; ferner den Schritt umfassend: – Generieren für ein intra-kodiertes I-Bild einer Eigenschaft einer geschlossenen Gruppe-von-Bildern durch Eliminieren der unerwünschten B-Bilder, die eine frühere Darstellungszeit als das I-Bild haben.
  10. Verfahren zum Verbinden von Programmen, wie in Anspruch 1 angeführt, ferner die Schritte umfassend: – Auswählen eines von zwei Kandidaten-I-Bildern, in dem der erste Eingangstransportstrom abhängig von einer ak tuellen Programmverzögerung und dem Zeitabstand von einer gewünschten Umschaltzeit zu einem Darstellungszeitstempel von jedem Kandidaten-I-Bild erneut eingegeben wird.
  11. Verfahren zum Verbinden von Programmen, wie in Anspruch 1 angeführt, ferner umfassend den Schritt zum Steuern von Pufferverletzungen in dem Decoder durch Verwenden freier Bandbreite in der Form von leeren Paketen in dem Transportstrom des ersten Programms, um Transportpakete in dem Transportstrom erneut einzuplanen, wobei dadurch Überlauf oder Unterlauf in den Decoderpuffern nicht gestattet wird.
  12. Vorrichtung zum Verbinden von Datenströmen in MPEG-komprimierten Programmen, wobei die Programmdaten in MPEG-Transportströmen aus Datenpaketen mit Programmtaktverweisen, die sich auf einen MPEG-Kodierersystemtakt beziehen, übertragen werden, die Datenpakete Anwendungsdaten, wie etwa Video- und Audiodaten, und einen Header, der mit Steuerdaten versehen ist, übertragen, wobei die Vorrichtung aufweist – Mittel (4) zum Empfangen eines ersten Eingangstransportstroms (1) aus ersten Datenpaketen; – Mittel (5) zum Empfangen eines zweiten Eingangstransportstroms (2) aus zweiten Datenpaketen, um ausgewählte erste Datenpakete in dem ersten Strom (1) zu ersetzen; – Mittel zum Extrahieren für jedes Datenpaket eines Zeitverweises und Datenpaketstatusinformation, die die syntaktische Funktion des Datenpaketes anzeigen; gekennzeichnet durch – Mittel (6, 7, 8) zum Aufstellen für jedes Datenpaket eines Steuerdatenobjektes, das den Zeitbezug und die Datenpaketstatusinformation speichert; – Mittel (6, 7, 8) zum Aufstellen für geordnete Mengen von den Datenpaketen entsprechend geordneten Mengen von Steuerdatenobjekten; – Mittel (6, 7, 8) zum Aufstellen für die geordneten Mengen von Steuerdatenobjekten anderer Steuerdatenobjekte, die Information speichern, betreffend unterschiedliche logische Strukturen höherer Ebene als die Datenpakete, wie etwa Rahmen, Sequenzen von Rahmen und paketierte Elementarstrompakete; – Mittel (11, 12) zum Einreihen der Steuerdatenobjekte in unterschiedlichen Schlangen abhängig von dem Datenpaketstatus oder dem Status einer Gruppe aus Datenpaketen; – Mittel (13, 15) zum Auswählen aus den Schlangen von Steuerobjekten, die zu Datenpaketen gehören, die in einem Ausgangsstrom von Datenpaketen auszugeben sind; – Mittel (17) zum Zusammenbauen ausgewählter Steuerobjekte zu einem Programm aus zugehörigen Datenpaketen von unterschiedlichen Arten von Daten; – Mittel (25) zum Zusammenbauen von Datenpaketen, die zu den ausgewählten und zusammengebauten Steuerdatenobjekten gehören, zu einem Ausgangsstrom (3) von Datenpaketen; – Mittel (20) zum Ausgeben des zusammengebauten Stroms (3) von Datenpaketen.
  13. Vorrichtung zum Verbinden von Programmen, wie in Anspruch 12 angeführt, wobei das Mittel zum Zusammenbauen (25) von Datenpaketen zu einem Ausgangsstrom entworfen ist, Füllpakete zu generieren, um ungenutzten Raum im Sinne freier Bandbreite des Ausgangstransportstroms auszufüllen.
  14. Vorrichtung zum Verbinden von Programmen, wie in Anspruch 12 angeführt, umfassend Mittel zum Verwenden der Steuerobjekte, um Steuerinformationen zum Anwenden in zugehörigen Datenpaketen zu generieren.
  15. Vorrichtung zum Verbinden von Programmen, wie in Anspruch 12 angeführt, umfassend Mittel zum Markieren von Datenpaketen als verfügbar oder nicht verfügbar für einen Austausch, und Mittel, um nicht verfügbare Datenpakete intakt und in den Strom von Datenpaketen erneut zusammengebaut zu lassen.
  16. Vorrichtung zum Verbinden von Programmen, wie in Anspruch 12 angeführt, umfassend Mittel zum Ausführen von Operationen in unterschiedlichen Schichten der Transportströme, die unterschiedliche Ebenen einer Abstraktion von Steuerdatenobjekten generieren.
  17. Vorrichtung zum Verbinden von Programmen, wie in Anspruch 12 angeführt, ferner umfassend: – Mittel zum Genlocking zu einem Kodierertakt eines empfangenen ersten Eingangstransportstroms, wobei einige Pakete einen Programmtaktverweis inkludieren; – Mittel zum Bestimmen gemäß dem Takt einer Ankunftszeit in der Form eines lokalen Taktverweises von jedem Transportstrompaket in dem eingehenden ersten Eingangstransportstrom, wobei die lokalen Taktverweise Information über die Positionen innerhalb eines Transportstroms übertragen, in denen alle seine Transportstrompakete angekommen sind.
  18. Vorrichtung zum Verbinden von Programmen, wie in Anspruch 12 angeführt, ferner umfassend: – Mittel zum Genlocking zu einem Kodierertakt eines empfangenen zweiten Eingangstransportstroms, wobei einige Pakete einen Programmtaktverweis inkludieren; – Mittel zum Bestimmen gemäß dem Takt einer Ankunftszeit in der Form eines lokalen Taktverweises von jedem Transportstrompaket in dem eingehenden ersten Eingangstransportstrom, wobei die lokalen Taktverweise Information über die Positionen innerhalb eines Transportstroms übertragen, in denen alle seine Transportstrompakete angekommen sind.
  19. Vorrichtung zum Verbinden von Programmen, wie in Anspruch 12 angeführt, ferner umfassend: – Mittel zum Übersetzen der Zeitbasis des zweiten Ein gangstransportstroms zu der Zeitbasis des ersten Eingangstransportstroms.
  20. Vorrichtung zum Verbinden von Programmen, wie in Anspruch 12 angeführt, wobei Videobilder, die in den Transportströmen enthalten sind, in Gruppen-von-Bildern derart angeordnet sind, dass jedes I-Bild zu einer Gruppe-von-Bildern gehört, die nicht von beliebigen vorangehenden Bil dern als Verweis für ihre Dekodierung abhängen, die eine geschlossene Gruppe-von-Bildern genannt wird; ferner umfassend: – Mittel zum Generieren für ein intra-kodiertes I-Bild einer Eigenschaft einer geschlossenen Gruppe-von-Bildern durch Eliminieren der unerwünschten B-Bilder, die eine frühere Darstellungszeit als das I-Bild haben.
  21. Vorrichtung zum Verbinden von Programmen, wie in Anspruch 12 angeführt, ferner umfassend: – Mittel zum Auswählen eines von zwei Kandidaten-I-Bildern, in dem der erste Eingangstransportstrom abhängig von einer aktuellen Programmverzögerung und dem Zeitabstand von einer gewünschten Umschaltzeit zu einem Darstellungszeitstempel von jedem Kandidaten-I-Bild erneut eingegeben wird.
  22. Vorrichtung zum Verbinden von Programmen, wie in Anspruch 12 angeführt, ferner umfassend Mittel zum Steuern von Pufferverletzungen in dem Decoder durch Verwenden freier Bandbreite in leeren Paketen in dem ersten Eingangstransportstrom, um Transportepakete in dem Transportstrom erneut einzuplanen, wobei dadurch Überlauf oder Unterlauf in den Decoderpuffern nicht gestattet wird.
  23. Computerprogrammprodukt zum Verbinden von Datenströmen in MPEG-komprimierten Programmen, wobei die Programmdaten in MPEG-Transportströmen von Datenpaketen mit Programmtaktverweisen, die sich auf einen MPEG-Kodierersystemtakt beziehen, übertragen werden, die Datenpakete Anwendungsdaten, wie etwa Video- und Audiodaten, und einen Header, der mit Steuerdaten versehen ist, übertragen, das Compu terprogrammprodukt ein Aufzeichnungsmedium umfasst und durch Mittel gekennzeichnet ist, die auf dem Aufzeichnungsmedium aufgezeichnet sind, um einen Computer zu lenken, die Schritte und die Funktionen durchzuführen, wie in beliebigen der Ansprüche 1–22 angeführt.
DE69919714T 1998-06-29 1999-06-29 Verfahren und vorrichtung zur verbindung von programmen Expired - Fee Related DE69919714T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE9802316A SE9802316D0 (sv) 1998-04-06 1998-06-29 Image processing method and system
SE9802316 1998-06-29
PCT/SE1999/001177 WO2000001161A2 (en) 1998-06-29 1999-06-29 Method and apparatus for splicing

Publications (2)

Publication Number Publication Date
DE69919714D1 DE69919714D1 (de) 2004-09-30
DE69919714T2 true DE69919714T2 (de) 2005-09-15

Family

ID=20411886

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69919714T Expired - Fee Related DE69919714T2 (de) 1998-06-29 1999-06-29 Verfahren und vorrichtung zur verbindung von programmen

Country Status (5)

Country Link
US (1) US7027516B2 (de)
EP (2) EP1095520A2 (de)
AU (2) AU4944699A (de)
DE (1) DE69919714T2 (de)
WO (2) WO2000001160A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007001379A1 (de) * 2007-01-09 2008-07-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Konzept zum Encodieren einer Mehrzahl von Informationssignalen für eine gemeinsame Übertragung in einem Zeitmultiplex

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060093045A1 (en) * 1999-06-29 2006-05-04 Roger Anderson Method and apparatus for splicing
US6999424B1 (en) * 2000-01-24 2006-02-14 Ati Technologies, Inc. Method for displaying data
US7028071B1 (en) * 2000-01-28 2006-04-11 Bycast Inc. Content distribution system for generating content streams to suit different users and facilitating e-commerce transactions using broadcast content metadata
EP1217841A2 (de) * 2000-11-27 2002-06-26 Media Glue Corporation System, Vorrichtung, Verfahren und Computerprogrammprodukt zur Trennung und Mischung von Bitströmen
AU2002222097A1 (en) * 2000-11-29 2002-06-11 British Telecommunications Public Limited Company Transmitting and receiving real-time data
US6700932B2 (en) * 2001-03-06 2004-03-02 Sony Corporation MPEG video editing-cut and paste
KR20040041170A (ko) * 2001-09-21 2004-05-14 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 혼잡 제어를 위한 전송률을 계산하기 위해 수신 버퍼 크기를 사용하는 데이터 통신 방법 및 시스템
JP4116470B2 (ja) * 2002-03-06 2008-07-09 ヒューレット・パッカード・カンパニー メディア・ストリーミング配信システム
US8214741B2 (en) 2002-03-19 2012-07-03 Sharp Laboratories Of America, Inc. Synchronization of video and data
US20050120038A1 (en) * 2002-03-27 2005-06-02 Jebb Timothy R. Data structure for data streaming system
EP1359722A1 (de) * 2002-03-27 2003-11-05 BRITISH TELECOMMUNICATIONS public limited company System und Verfahren zur Übertragung von Datenströmen
US20030185238A1 (en) * 2002-04-01 2003-10-02 Strasser David A. System for maintaining original delivery times in transport packets and method thereof
US8312504B2 (en) 2002-05-03 2012-11-13 Time Warner Cable LLC Program storage, retrieval and management based on segmentation messages
US8443383B2 (en) 2002-05-03 2013-05-14 Time Warner Cable Enterprises Llc Use of messages in program signal streams by set-top terminals
US8392952B2 (en) * 2002-05-03 2013-03-05 Time Warner Cable Enterprises Llc Programming content processing and management system and method
US7610606B2 (en) * 2002-05-03 2009-10-27 Time Warner Cable, Inc. Technique for effectively providing various entertainment services through a communications network
JP3736504B2 (ja) * 2002-07-08 2006-01-18 ソニー株式会社 画像データ処理装置及び方法
FR2848766B1 (fr) * 2002-12-13 2005-03-11 Thales Sa Procede de commutation de signaux numeriques avant emission, commutateur et signal resultant
JP3883986B2 (ja) * 2003-06-17 2007-02-21 三洋電機株式会社 デジタルテレビ放送受信機
CA2475808A1 (en) * 2003-07-29 2005-01-29 Thomas M. Thorsteinson Pcr timing control in variable bit rate (vbr) transport streams
US7924921B2 (en) * 2003-09-07 2011-04-12 Microsoft Corporation Signaling coding and display options in entry point headers
US8213779B2 (en) * 2003-09-07 2012-07-03 Microsoft Corporation Trick mode elementary stream and receiver system
US7852919B2 (en) * 2003-09-07 2010-12-14 Microsoft Corporation Field start code for entry point frames with predicted first field
US7839930B2 (en) * 2003-11-13 2010-11-23 Microsoft Corporation Signaling valid entry points in a video stream
US7609762B2 (en) * 2003-09-07 2009-10-27 Microsoft Corporation Signaling for entry point frames with predicted first field
KR101102639B1 (ko) * 2003-11-12 2012-01-04 파나소닉 주식회사 기록매체, 재생장치 및 방법, 기록방법, 및 컴퓨터-판독가능한 기록매체
DE10355345A1 (de) * 2003-11-25 2005-06-23 Deutsche Thomson-Brandt Gmbh Verfahren und Vorrichtung zum Speichern oder Wiederfinden von definierten Positionen in einem Datenstrom
TW200845724A (en) * 2004-06-02 2008-11-16 Matsushita Electric Ind Co Ltd Multiplexing apparatus and demultiplexing apparatus
EP1786212A4 (de) * 2004-08-25 2011-08-17 Sony Corp Informationsverarbeitungseinrichtung, informationsverarbeitungsverfahren, aufzeichnungsmedium und programm
US8837599B2 (en) * 2004-10-04 2014-09-16 Broadcom Corporation System, method and apparatus for clean channel change
US8126312B2 (en) * 2005-03-31 2012-02-28 Apple Inc. Use of multiple related timelines
US7864840B2 (en) * 2005-04-15 2011-01-04 Inlet Technologies, Inc. Scene-by-scene digital video processing
JP4559927B2 (ja) * 2005-07-14 2010-10-13 パナソニック株式会社 通信データ処理装置及び方法
US20080155581A1 (en) * 2006-12-21 2008-06-26 General Instrument Corporation Method and Apparatus for Providing Commercials Suitable for Viewing When Fast-Forwarding Through a Digitally Recorded Program
US8171166B1 (en) * 2007-06-24 2012-05-01 Arris Group, Inc. Method and a computer program product for modifying or generating a multiple program transport stream
EP2247023B1 (de) * 2008-02-19 2018-05-09 Fujitsu Limited Stream-datenverwaltungsprogramm, verfahren und system
JP4987034B2 (ja) * 2008-12-26 2012-07-25 三菱電機株式会社 映像表示装置
US9319754B2 (en) * 2009-04-28 2016-04-19 Vubites India Private Limited Method and apparatus for coordinated splicing of multiple streams
US9398315B2 (en) * 2010-09-15 2016-07-19 Samsung Electronics Co., Ltd. Multi-source video clip online assembly
WO2012137428A1 (ja) * 2011-04-08 2012-10-11 パナソニック株式会社 データ処理装置、及びデータ処理方法
US9740377B1 (en) 2011-06-06 2017-08-22 Vuemix, Inc. Auxiliary information data exchange within a video environment
US9172982B1 (en) * 2011-06-06 2015-10-27 Vuemix, Inc. Audio selection from a multi-video environment
JP6032945B2 (ja) * 2012-05-28 2016-11-30 サターン ライセンシング エルエルシーSaturn Licensing LLC 信号処理装置、及び、信号処理方法
US9813325B2 (en) 2012-12-27 2017-11-07 Comcast Cable Communications, Llc Information stream management
US9607067B2 (en) 2013-01-25 2017-03-28 International Business Machines Corporation Synchronization of time between different simulation models
US9805143B2 (en) 2013-01-25 2017-10-31 International Business Machines Corporation Composite simulation modeling and analysis
US9201989B2 (en) * 2013-01-25 2015-12-01 Globalfoundries Inc. Interpolation techniques used for time alignment of multiple simulation models
US9654804B2 (en) * 2014-09-03 2017-05-16 Vigor Systems Inc. Replacing video frames in a transport stream
US20160173917A1 (en) * 2014-12-12 2016-06-16 International Datacasting Corporation System and method for intelligent packet replacement for motion picture expert group transport stream splicing
GB2543080A (en) 2015-10-08 2017-04-12 Starfish Tech Ltd Digital media splicing system and method
US10057654B2 (en) 2016-01-29 2018-08-21 Roku, Inc. Selection and alignment of video segments for adaptive streaming
US10122781B2 (en) * 2016-01-29 2018-11-06 Roku Inc. Selection of video segments for adaptive streaming
US10218755B2 (en) 2016-01-29 2019-02-26 Roku, Inc. Extended selection and alignment of video segments for adaptive streaming
US10651871B1 (en) * 2019-07-10 2020-05-12 Citrix Systems, Inc. Real-time history-based byte stream compression
CN113810628B (zh) * 2021-09-18 2023-07-21 南京巨鲨显示科技有限公司 一种低功耗视频拼接器及方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4646287A (en) * 1984-12-07 1987-02-24 At&T Bell Laboratories Idle period signalling in a packet switching system
US5534944A (en) * 1994-07-15 1996-07-09 Matsushita Electric Corporation Of America Method of splicing MPEG encoded video
GB9424429D0 (en) * 1994-12-02 1995-01-18 Philips Electronics Uk Ltd Audio/video timing discrepancy management
US6137834A (en) * 1996-05-29 2000-10-24 Sarnoff Corporation Method and apparatus for splicing compressed information streams
US5917830A (en) * 1996-10-18 1999-06-29 General Instrument Corporation Splicing compressed packetized digital video streams
US6038000A (en) * 1997-05-28 2000-03-14 Sarnoff Corporation Information stream syntax for indicating the presence of a splice point
WO1998032281A1 (en) * 1997-01-21 1998-07-23 Sarnoff Corporation Information stream syntax for indicating the presence of a splice point
US6151443A (en) * 1997-05-16 2000-11-21 Indigita Corporation Digital video and data recorder
US6101195A (en) * 1997-05-28 2000-08-08 Sarnoff Corporation Timing correction method and apparatus
US6141358A (en) * 1997-07-25 2000-10-31 Sarnoff Corporation Method and apparatus for aligning sub-stream splice points in an information stream
EP1013097A1 (de) 1997-09-12 2000-06-28 Imedia Corporation Nahtlose verbindung von komprimierten videoprogrammen
US6414998B1 (en) * 1998-01-27 2002-07-02 Sony Corporation Method and apparatus for inserting an image material
US7031348B1 (en) 1998-04-04 2006-04-18 Optibase, Ltd. Apparatus and method of splicing digital video streams
US6252873B1 (en) * 1998-06-17 2001-06-26 Gregory O. Vines Method of ensuring a smooth transition between MPEG-2 transport streams

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007001379A1 (de) * 2007-01-09 2008-07-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Konzept zum Encodieren einer Mehrzahl von Informationssignalen für eine gemeinsame Übertragung in einem Zeitmultiplex

Also Published As

Publication number Publication date
WO2000001161A3 (en) 2000-02-10
DE69919714D1 (de) 2004-09-30
EP1095521A2 (de) 2001-05-02
US7027516B2 (en) 2006-04-11
EP1095520A2 (de) 2001-05-02
EP1095521B1 (de) 2004-08-25
AU4944699A (en) 2000-01-17
US20020041628A1 (en) 2002-04-11
WO2000001160A3 (en) 2000-02-10
AU4947499A (en) 2000-01-17
WO2000001160A2 (en) 2000-01-06
WO2000001161A2 (en) 2000-01-06

Similar Documents

Publication Publication Date Title
DE69919714T2 (de) Verfahren und vorrichtung zur verbindung von programmen
DE69731865T2 (de) Verfahren zur Verbindung von komprimierten paketierten digitalen Videoströmen
DE69736031T2 (de) Transportdekodierer für MPEG-2
DE69929989T2 (de) Videokomponentanbindungsverfahren für zwei digitale bildtonprogramme mit duplikation von halbbildern
DE69736706T2 (de) Verfahren und gerät zum spleissen komprimierter datenflüsse
DE69814642T2 (de) Verarbeitung codierter videodaten
DE69722556T2 (de) Synchronisierung einer stereoskopischen Videosequenz
DE69535553T2 (de) Videokompression
DE69633475T2 (de) Aufnahme gewünschter Daten aus einem Strom paketierter Daten und Synchronisierung davon
DE69917971T2 (de) Verfahren und Vorrichtung zur Verarbeitung von komprimierten Videodatenströmen
DE69721847T2 (de) Bilddekoder, bildenkoder und bildkommunikationssystem
DE69829935T2 (de) Codier-/Decodiervorrichtung, Codier-/Decodiersystem und multiplexierter Bitstrom
DE69934085T2 (de) Rastergenaue editierung kodierter audiovisueller sequenzen
DE69333982T2 (de) Verfahren zum Anordnen komprimierter Videodaten zur Übertragung über einen verrauschten Kanal
DE69835211T2 (de) Umschaltung zwischen komprimierten videobitströmen
DE69633552T2 (de) Verfahren und vorrichtung zum bildgenauen zugriff auf digitale audiovisuelle information
DE69934095T2 (de) Vorrichtung und verfahren zum einfügen digitaler werbung in einen bitstrom
DE69937816T2 (de) Datenverarbeitungsgerät und Verfahren
EP1397918B1 (de) Verbinden von digitalen videotransportströmen
DE112012002526B4 (de) Medieninhalt-Übertragungsverfahren und Übertragungsvorrichtung unter Verwendung desselben
DE10392598T5 (de) Unterstützung von fortschrittlichen Codierungsformaten in Mediendateien
DE60123168T2 (de) MPEG-Dekoder
CA2370227A1 (en) Method and apparatus for compressing video sequences
WO2015162226A2 (en) Digital media splicing system and method
WO1999014955A1 (en) Seamless splicing of compressed video programs

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee