DE69814642T2 - Verarbeitung codierter videodaten - Google Patents

Verarbeitung codierter videodaten Download PDF

Info

Publication number
DE69814642T2
DE69814642T2 DE69814642T DE69814642T DE69814642T2 DE 69814642 T2 DE69814642 T2 DE 69814642T2 DE 69814642 T DE69814642 T DE 69814642T DE 69814642 T DE69814642 T DE 69814642T DE 69814642 T2 DE69814642 T2 DE 69814642T2
Authority
DE
Germany
Prior art keywords
frame
output
sequence
bit stream
decoder
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 - Lifetime
Application number
DE69814642T
Other languages
English (en)
Other versions
DE69814642D1 (de
Inventor
Dominic Nicholas Brighton WELLS
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.)
British Broadcasting Corp
Original Assignee
British Broadcasting Corp
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
Application filed by British Broadcasting Corp filed Critical British Broadcasting Corp
Application granted granted Critical
Publication of DE69814642D1 publication Critical patent/DE69814642D1/de
Publication of DE69814642T2 publication Critical patent/DE69814642T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/036Insert-editing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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/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/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2665Gathering content from different sources, e.g. Internet and satellite

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Systems (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf die Verarbeitung von kodierten Videosignalen und insbesondere, aber nicht ausschließlich, auf komprimierte Videosignale im MPEG-Format. Die Erfindung betrifft insbesondere, aber nicht ausschließlich, die Editierung von Videosignal in Echtzeit.
  • Ein Problem bei der Übertragung und Speicherung von Videosignalen eines komprimierten oder kodierten Videodatenstromes ist, dass es normalerweise für einen Decoder nicht möglich ist, sofortig das Dekodieren eines neuen Datenstromes zu beginnen, sondern es normalerweise eine Verzögerung um mehrere Rahmen bzw. Datenrahmen gibt, während der Decoder eine Synchronisation einrichtet. Zum Beispiel wird mit einem MPEG-Datenstrom eine Videoabfolge als eine Reihe von Gruppen von Bildern ("GOP") gesandt, wobei jede GOP einen intern kodierten Rahmen ("I-Rahmen") und einen oder mehrere Rahmen aufweist, die von dem I-Rahmen vorhergesagt worden sind, entweder durch die Vorhersage in Vorwärtsrichtung ("P-Rahmen") oder durch die bidirektionale Vorhersage ("B-Rahmen"). Ein Decoder kann eine Dekodierung der Sequenz nicht beginnen bzw. fortsetzen, bis er einen I-Rahmen empfängt. Zusätzlich werden Rahmen bzw. Datenrahmen gepuffert und innerhalb eines Decoders verarbeitet, so dass es dort eine annehmbare und unvorhersagbare Verzögerung zwischen der Zufuhr eines Videodatenstromes zu einem Decoder und der Ausgabe der Sequenz der Videorahmen bzw. -bildrahmen geben kann.
  • Aus praktischen Zwecken ergibt dies nur ein Problem, wenn der Decoder zuerst ein neues Signal empfängt; sobald synchronisiert ist, sollte der Decoder beginnen bzw. weiter machen, einen verlässlichen Ausgang zu erzeugen. Jedoch werden Schwierigkeiten ermittelt, wenn es gewünscht wird, von einer kodierten Videoquelle zu einer anderen zu schalten. Insbesondere kann ein Decoderpuffer überlaufen oder zu leer werden, falls der Datenstromeingang zu dem Decoder einfach von einer Quelle zur anderen geschaltet wird.
  • Die mit dem Schalten zwischen kodierten Videoquellen verknüpften Probleme sind erkannt worden und Technologien zum Schalten zwischen komprimierten Bitströmen mit minimaler Ausgangsverschlechterung an dem Schaltpunkt sind vorgeschlagen worden. Ein Beispiel einer solchen Technologie wird in unserer internationalen Anmeldung Nr. WO 97/08898 beschrieben.
  • Technologien nach dem Stand der Technik haben sich allgemein auf die Bewältigung von Problemen konzentriert, die am oder über dem Schaltpunkt auftreten, und zielen allgemein darauf ab, eine Lösung mit einem "guten Kompromiss" zur Verfügung zu stellen.
  • In einer allgemeinen Ausdrucksweise hat der Erfinder vorgeschlagen, dass ein kodiertes Videoquellmaterial, falls nötig, modifiziert wird, um die Ausgabe von Rahmen bzw. Bildrahmen von einem stromabwärtigen Decoder zeitlich zu steuern bzw. zu takten, und um eine gewünschte Synchronisation eines stromabwärtigen Decoders einzurichten und aufrecht zu erhalten. Dies kann erzielt werden, indem die zeitliche Steuerung bzw. Taktung des Videoquellmaterials auf der Grundlage (z. B. durch explizites Einstellen von Werten von Zeitabstimmungs- bzw. Zeitsteuerungsfeldern, die in dem Datenstrom enthalten sind, oder durch Ändern der Zeit, zu der die Daten tatsächlich zu dem Decoder ausgegeben werden, oder beides) eines Studioreferenztaktes eingestellt wird. Dies kann (zusätzlich oder alternativ) auch durch Einsetzen "synthetischer" Rahmen bzw. Bildrahmen oder Datenrahmen (Rahmen, die erzeugt worden sind und zu dem ursprünglichen Videoquellmaterial hinzugefügt worden sind) innerhalb des Ausgabedatenstromes eingesetzt werden, so dass ein bestimmter Rahmen zu einer bestimmten Zeit wiedergegeben wird. Es wird bemerkt, dass, falls eine Decodersynchronisation auf diese Weise aufrecht erhalten wird, die zeitliche Steuerung der Anzeige der bestimmten Rahmen bzw. Bildrahmen nicht explizit spezifiziert werden muss.
  • Von einer anderen Warte aus betrachtet, kann die zeitliche Steuerungsinformation bzw. die zeitliche Taktungsinformation, die in dem Videoquellmaterial enthalten ist (diese ist normalerweise enthalten, um eine zuverlässige Wiedergabe des Materials, wie angestrebt, zu ermöglichen), freiheitlich geändert werden oder können zusätzliche Rahmen bzw. Datenrahmen hinzugefügt werden. Üblicherweise wird es nicht allgemein als wünschenswert angesehen, sich an der internen, selbst konsistenten Zeitsteuerungs- bzw. Taktungsinformation zu schaffen zu machen, die in den kodierten Videodaten enthalten sind. Jedoch kann diese neue grundlegende Technologie zahlreiche Vorteile zur Verfügung stellen, wie es deutlich wird, wenn in der Beschreibung vorangeschritten wird. Überraschenderweise ist es, obwohl die Erfindung in ihrer allgemeinsten Ausdrucksweise nicht spezifisch auf das Schalten von Bitströmen gerichtet ist, ein Vorteil, dass das Schalten von einer Videoquelle auf eine andere vereinfacht werden kann, falls beide Quellen synchronisiert werden. Ein anderer Vorteil ist, dass das Ausspielen von kodiertem Videomaterial leichter gesteuert werden kann, z. B. zum Starten oder Unterbrechen zu einer bestimmten Zeit.
  • Gemäß einem ersten Gesichtspunkt stellt die Erfindung eine Vorrichtung zum Synchronisieren der Ausgänge von zumindest zwei Echtzeitdecodern zur Verfügung, die jeweils angepasst sind, um einen jeweiligen komprimierten, kodierten Videobitstrom zu empfangen, den Bitstrom zu dekodieren und eine Sequenz bzw. Abfolge von Bildern zu Ausgangszeiten auszugeben, die durch Werte in dem Bitstrom bestimmt werden, wobei die Vorrichtung aufweist, Mittel zum Empfangen jedes kompressions-kodierten Videobitstromes, Mittel zum Ausgeben jedes kompressions-kodierten Videobitstromes, gekennzeichnet dadurch, dass Mittel zum Empfan gen eines Studioreferenztaktes, Mittel zum Spezifizieren einer vorbestimmten Ausgangszeitsteuerung im Hinblick auf den Studioreferenztakt, Mittel zum Verarbeiten jedes kompressions-kodierten Videobitstromes in Abhängigkeit von Taktungsinformationen bzw. Zeitsteuerungsinformationen, die von dem Studioreferenztakt erhalten worden sind, umfasst, so dass ein Decoder, der den ausgegebenen kodierten Videobitstrom empfängt, dekodierte Bilder zu den vorbestimmten Ausgabezeiten bzw. Ausgabetaktungen erzeugt.
  • Auf diese Weise kann im Gegensatz zu herkömmlichen komprimierten Videoquellen die Taktungs- bzw. Zeitsteuerungsinformation, die innerhalb des ursprünglichen Bitstromes oder der ursprünglichen Sequenz enthalten ist, oder die tatsächliche Zeit der Ausgabe frei auf der Grundlage von externen Kriterien gesteuert werden, eher als abhängig von den Taktungs- bzw. Zeitsteuerungsdaten, die innerhalb der Videosequenz enthalten sind. Dies vereinfacht die Synchronisation von mehreren Videoquellen.
  • Der Videoeingabebitstrom oder die Videoeingabesequenz wird typischerweise von einem Speicher, wie etwa einer Festplatte, z. B. als ein Computerdatenfeld, empfangen und kann über ein Computernetzwerk geschickt werden. Jedoch kann die Sequenz bzw. Abfolge in Realzeit empfangen werden, z. B. in Sendepausen, und kann in einem Mehrfach-Transportstrom enthalten sein, der verschiedene bzw. mehrere Sequenzen und andere Daten enthält. Wo die Daten in Echtzeit empfangen werden, werden die Eingangsdaten üblicherweise gepuffert werden müssen, um Unterschiede der Taktung bzw. zeitlichen Steuerung zwischen Eingang und Ausgang zu ermöglichen, und natürlich kann der Ausgang nicht auftreten, bevor die Daten empfangen worden sind. Wie es bevorzugt werden wird, wird die Unterscheidung, wenn die Größe des Puffers ansteigt, zwischen dem Empfang der "Echtzeitdaten" und dem Zugriff auf gespeicherte Sequenzen verschwinden.
  • Der Studioreferenztakt wird bevorzugt als eine relativ hohe Taktfrequenz-Zähleinrichtung vorgesehen, die einen relativ großen Maximalwert hat, bevorzugt zumindest 50 kHz und zumindest ungefähr eine "Breite" von 32 binären Bits (mit welcher der Informationsgehalt gemein ist; der Taktwert kann in einem anderen Format zugeführt werden, wie etwa einer binär kodierten Dezimalzahl (Binary Coded Decimal), in welchem Falle ungefähr 9 oder 10 Nibbles oder Digits erforderlich sein würden). Bei einer bevorzugten praktischen Verwirklichung ist der Takt in einem Format, der einfach oder direkt in das Format der Zeitsteuerungs- bzw. Taktungsfelder innerhalb der Videosequenz wandelbar ist. Zum Beispiel kann der Studiotakt unmittelbar als MPEG-PCR-Werte zugeführt werden.
  • Die Vorrichtung kann Mittel zum Bestimmen einer effektiven Taktfrequenz für die ausgegebene kodierte Videosequenz auf der Grundlage der Änderungsrate bzw. Änderungsgeschwindigkeit von Taktwerten (z. B. PCR-Felder innerhalb einer MPEG-Videosequenz), die innerhalb der Ausgangsdaten enthalten sind, und Mittel enthalten, um die effektive Taktfrequenz mit der Studioreferenztaktfrequenz zu vergleichen oder zu synchronisieren. Dies kann es ermöglichen, Fehler in der ursprünglichen Zeitsteuerungs- bzw. Taktungsinformation zu identifizieren und zu korrigieren, um eine Wiedergabe bei einer genau gesteuerten Rate bzw. Geschwindigkeit zu erzielen.
  • Die Vorrichtung kann auch Mittel zum Eingeben von Informationen enthalten, die eine gewünschte Bildausgabezeit von zumindest einem Rahmen oder Feld einer Videosequenz spezifizieren, wobei die Verarbeitung und/oder Einstellung auf der Grundlage der gewünschten Bildausgabezeit und des Studioreferenztaktes ausgewählt wird, so dass der zumindest eine Rahmen oder das zumindest eine Feld von einem Decoder zur der gewünschten Bildausgabezeit ausgegeben wird. Auf diese Weise ist die Vorrichtung dazu in der Lage, voraus zu schauen und eine Videosequenz vom Ausgang zu einer genau definierten Zeit zu bereiten, was ein allgemeines Problem bei der Live-Wiedergabe von Videosequenzen löst. Es ist bevorzugt worden, dass Lösungen für Probleme des Hochfahrens der Leistung oder der Zuführung, die in analogen Speichersystemen eingesetzt werden (Aufzeichnen einer Zufuhrsequenz von 5 Sekunden vor dem ersten erforderlichen Rahmen und Fortsetzen bzw. Beginnen des Abspielens der Sequenz von 5 Sekunden zwei Sekunden bevor der Rahmen erforderlich ist), nicht zuverlässig bei kodierten Sequenzen verwendet werden kann, weil es eine etwas unvorhersagbarere Verzögerung gibt, bevor ein Decoder die Synchronisation einrichtet.
  • Eine Weise, auf die eine Bildausgabezeit durch Ändern eines oder mehrerer Werte in den Zeitsteuerungsfeldern bzw. Taktungsfeldern, die in der Videosequenz enthalten sind (z. B. PCR- (Programmtaktreferenz (Programme Clock Rreference)) oder PTS- (Abspielzeitstempel (Presentation Time Stamp)) oder DTS- (Decoderzeitstempel (Decoding Time Stamp)) oder vbv_Verzögerungs-(Videopuffer mit variabler Verzögerung (video Buffer variable delay))-Felder in einem MPEG-Datenstrom), anstatt die Ausgabezeit unmittelbar zu spezifizieren, kann eine Messung der Ausgangszeit spezifiziert werden oder ein PTS- oder DTS-Wert kann explizit spezifiziert werden.
  • Weil einige Decoder nicht auf die explizit in sämtlichen der PCR-, PTS- oder DTS-Feldern explizit eingestellt sind, erwidern können, kann die Vorrichtung (zusätzlich oder alternativ) die zeitliche Steuerung bzw. Taktung, bei welcher die Datenausgabe beginnt, einstellen, um sicherzustellen, dass die Dekodierung stattfindet und zu einer gewünschten Zeit vervollständigt ist. Dies kann erzielt werden, indem die erforderliche Verzögerung zwischen der Übertragung von Daten und der Fortsetzung bzw. dem Beginn der Bildausgabe abgeschätzt wird und die Datenausgabezeit auf der Grundlage dieser abgeschätzten Verzögerung relativ zu der gewünschten Bildausgabezeit eingestellt wird. Die Verzögerung kann eine Versatzzeit enthalten, um Verzögerungen in einem Decoder und auch Fortbewegungsverzögerungen bzw. Ausbreitungsverzögerungen in Kabeln und dergleichen in dem Videosignalpfad und eine variable Verzögerung für den betroffenen Rahmen, z. B. gleich dem ursprünglich spezifizierten oder berechneten vbv Verzögerungswert oder basierend darauf, in Betracht zu ziehen bzw. zu berücksichtigen. Die Vorrichtung kann Mittel enthalten, um charakteristische Fortpflanzungs- bzw. Fortbewegungsverzögerungen für mehrere verschiedene Typen von Decodern zu speichern, und kann auch Mittel enthalten, um Fortpflanzungs- bzw. Fortbewegungsverzögerungen für eine bekannte Kabellänge zu bestimmen. Die Vorrichtung kann angeordnet sein, um einen PTS-Wert zu einer Zeit im Voraus zu einer gewünschten Ausgabezeit auf der Grundlage einer Decoderfortbewegungsverzögerung bzw. -fortpflanzungsverzögerung einzustellen.
  • Zusätzlich zu Mitteln zum Eingeben eines Studioreferenztaktes oder anstelle davon kann die Vorrichtung Mittel zum Erzeugen einer Abfolge von einem oder mehreren Rahmen enthalten, die in die Ausgangssequenz einzufügen sind, wobei die Mittel zum Verarbeiten Mittel zum Einsetzen der erzeugten Sequenz in die kodierte Videosequenz enthalten, um die zeitliche Steuerung bzw. Taktung der Bildausgabe von Rahmen der kodierten Videosequenz einzustellen, wobei die erzeugte Sequenz ausgewählt wird, um die Synchronisation eines Puffers eines Decoders, der die Ausgangssequenz empfängt, aufrecht zu erhalten oder einzurichten. Mit diesem Merkmal kann es möglich werden, Zeiteinstellungen über längere Zeitdauern zu bewirken und eine Decodersynchronisation aufrecht zu erhalten, während eine Sequenz unterbrochen ist. Andere Auswirkungen, wie etwa eine Zeitlupenwiedergabe, können auch möglich sein und das Schneiden von einer Sequenz zu einer anderen kann vereinfacht sein. Mit diesem Merkmal braucht die Decoderausgabezeitsteuerung bzw. -taktung nicht explizit ausgewählt sein; die Aufrechterhaltung der Decodersynchronisation ist zu Zwecken dieser Beschreibung als äquivalent zur impliziten Auswahl der Decoderausgangszeitsteuerung bzw. -taktung in Betracht gezogen.
  • Die Vorrichtung kann angeordnet sein, um die erzeugte Sequenz einzufügen, bevor ein gegebener Rahmen der kodierten Videosequenz, die Größe des erzeugten Rah mens und/oder die Zeitsteuerungs- bzw. Taktungsinformation, die damit verknüpft ist, oder die Übertragungszeit von dem erzeugten und/oder dem gegebenen Rahmen ausgewählt ist, so dass zu Beginn der Dekodierung des gegebenen Rahmens, der der Dekodierung der erzeugten Sequenz folgt, die Pufferbesetzung eines Decoders, der die Ausgangsvideosequenz empfängt, im Wesentlichen bei einem gewünschten Wert sein wird. Auf diese Weise werden Probleme der Puffer Unterbelastung oder des Überlaufs des Puffers vermieden, und die Synchronisation des Puffers wird eingerichtet und aufrecht erhalten.
  • Die erzeugte Abfolge kann vor dem gegebenen Rahmen und nach zumindest einem vorangehenden Rahmen in der kodierten Videosequenz eingefügt werden, wobei der gewünschte Wert der Pufferbesetzung eingestellt ist, um im Wesentlichen gleich der Pufferbesetzung zu sein, die erwartet wird, falls keine erzeugte Sequenz zwischen dem vorangehenden Rahmen und dem gegebenen Rahmen eingefügt worden wäre. Dies ermöglicht, die Puffersynchronisation während einer Unterbrechung aufrecht zu erhalten.
  • Es wird bevorzugt, dass die Erfindung eine Vorrichtung wirksam zur Verfügung stellen kann, die dazu in der Lage ist, einen Echtzeitbitstrom (eine "Videopumpe") zur Verfügung zu stellen, in welcher eine Synchronisation des Bitstromes unabhängig von der Videodatenquelle gesteuert werden kann. Folglich ist es ein weiterer Vorteil, den die Erfindung zur Verfügung stellen kann, dass eine Quelle von Videodaten, z. B. eine Reihe von computerlesbaren Feldern auf einer Festplatte oder ein aufgezeichneter MPEG-Übertragungsstrom, getrennt bzw. separiert werden kann, z. B. über ein Computernetzwerk, von der Vorrichtung zum Ausgeben eines Echtzeitbitstromes. Dies wird in einem weiteren Aspekt in einem System zur Zufuhr von kodierten Echtzeitvideodaten zur Verfügung gestellt, das aufweist, Mittel zum Speichern der kodierten Videodaten; eine Datenübertragungszwischenleitung bzw. eine Datenübertragungsleitungseinrichtung zum Zuführen der gespeicherten kodierten Videodaten in Reaktion auf eine Anfrage nach Daten; eine Vor richtung gemäß dem ersten Gesichtspunkt bzw. Aspekt, die angeordnet ist, um Daten über die Datenübertragungsverbindungsleitung bzw. -zwischenverbindungseinrichtung anzufragen und zu empfangen und um synchronisierte, kodierte Echtzeitvideodaten davon auszugeben.
  • Die Erfindung erstreckt sich auf darauf bezogene Betriebsverfahren.
  • Ausführungsformen der Erfindung werden nun lediglich beispielhaft unter Bezugnahme auf die Darstellungen beschrieben, in welchen:
  • 1 ein Blockdiagramm eines Studiosystems mit mehreren Quellen ist, das die Erfindung verkörpert;
  • 2 ein Blockdiagramm einer Videoausgabevorrichtung ist, die in dem Studiosystem nach 1 eingesetzt wird;
  • 3 einen Decoderpuffer zeigt, der auf eine Decoderinitialisierung unter Verwendung eines synthetischen Bitstromes im CBR-Modus gerichtet ist (CBR: konstante Bitrate (Constant Bit Rate));
  • 4 einen Decoderpuffer zeigt, der sich der Decoderinitialisierung unter Verwendung eines synthetischen Bitstromes widmet, in dem ein synthetischer Bitstrom im VBR-Modus verwendet wird (VBR: variable Bitrate, (Variable Bit Rate));
  • 5 einen Decoderpuffer zeigt, der auf eine Decoderunterbrechung unter Verwendung eines synthetischen Bitstromes im VBR-Modus gerichtet ist; und
  • 6 einen Decoderpuffer zeigt, der auf eine Verbindung eines Bitstromes unter Verwendung eines synthetischen Bitstromes gerichtet ist.
  • Bei der nachfolgenden Diskussion wird insbesondere Bezug auf MPEG-Sequenzen genommen; es ist zu verstehen, dass die verschiedenen Merkmale, die vorgestellt werden, bei anderen kodierten Videosequenzen angewandt werden können, es sei denn, es wird etwas Anderes ausgesagt. Als Hintergrund beginnen wir durch die Betrachtung bestimmter Merkmale von MPEG-Sequenzen; dies ist nützlich zum Erläutern eines bestimmten Problems, welches durch verschiedene bevorzugte Merkmale der Ausführungsformen gelindert wird, und um eine Führung zu einer breiteren Anwendung der spezifischen Merkmale bei anderen Videosequenzen zur Verfügung stellt.
  • Wie oben aufgezeigt, kann das Dekodieren einer neuen Sequenz nur begonnen bzw. fortgesetzt werden, wenn ein neuer I-Rahmen vollständig empfangen worden ist; I-Rahmen stellen Eintrittspunkte für eine Sequenz zur Verfügung. Kodierte Rahmen sind von einer variablen Länge, wobei I-Rahmen normalerweise viel größer als P- und B-Rahmen sind. Falls die Daten über eine Zwischenverbindungsleitung übertragen werden, deren Kapazität ausreichend ist, um sicherzustellen, dass die mittlere Datenrate groß genug ist, um Rahmen mit einer gewünschten Rahmenrate zuzuführen, ist es wahrscheinlich, dass ein I-Rahmen mehrere Rahmenperioden bzw. -zeitdauern brauchen wird, um übertragen zu werden, wobei während dieser Zeit der Decoder nichts zum Anzeigen bzw. Wiedergeben haben wird. Es gibt eine wesentliche, aber unvorhersagbare Verzögerung vor der anfänglichen Ausgabe einer dekodierten Sequenz, einer Zufuhr einer Sequenz zu einem Decoder folgend. Sobald die Synchronisation des Decoders eingerichtet ist, wird der Decoder anfangen, zuverlässig zu arbeiten, wobei regulär bzw. regelmäßig Rahmen erzeugt werden. Eine Ausnahme tritt auf, falls aus irgendeinem Grund der Puffer unzureichend Rahmen enthält, um die Decoderversorgung aufrecht zu erhalten, während ein Rahmen (z. B. ein großer I-Rahmen) beschrieben wird; der Decoder wird aus dem Rahmen laufen, um wiederzugeben, und diese Bedingung ist als eine Pufferunterbesetzung bzw. -unterschreitung bekannt. Es ist ein anderes Problem, dass eine Signalverarbeitung innerhalb des Decoders eine endliche Zeit einnimmt, die im Allgemeinen im Wesentlichen konstant für einen vorgegebenen Decoder ist, aber von Decoder zu Decoder variieren kann.
  • Es wird bevorzugt, dass die Ausführungsform nach der Erfindung einfach auf andere kodierte Videosequenzen angewandt werden kann, die einen oder mehrere analoge Eigenschaften haben; z. B. spezifische Eintrittspunkte, bei welchen ein De kodieren begonnen werden bzw. fortgesetzt werden kann, variable Rahmengröße, Zeitsteuerungs- bzw. Taktungsfelder, die spezifizieren, wann Rahmen ausgegeben werden, oder ein Bedürfnis, eine Decodersynchronisation einzurichten oder aufrecht zu erhalten.
  • Die obige Zusammenfassung hat sich auf den Dateninhalt eines einzigen Videoprogramms konzentriert. In der Praxis kann die Vorrichtung Computerdatenfelder empfangen oder kann einen MPEG-Transportstrom empfangen, der mehrere Programme oder ein einzelnes Programm enthält, und andere Anfangsinformationen. Wenn ein Transportstrom empfangen wird, können andere Felder und Informationen (z. B. PATs, PMTs usw.) auch durch die Vorrichtung verarbeitet werden. Eine solche Verarbeitung ist jedoch nicht zu der vorliegenden Erfindung gehörig und zu Zwecken der nachfolgenden Erörterung wird angenommen, dass die Daten einer Vorverarbeitung unterzogen worden sind und, wenn nötig, für eine korrekte Dekodierung eines einzelnen Programms gepuffert worden sind. Natürlich kann eine einzelne Vorrichtung dazu in der Lage sein, mehr als eine Videosequenz parallel zu verarbeiten.
  • Es wird bemerkt, dass die oben aufgezeigten Probleme, die sich auf eine anfangliche Decodersynchronisation beziehen, häufig toleriert werden können, falls es lediglich erforderlich ist, eine einzige Sequenz anzuschauen; die Probleme werden in Videosystemen mit mehreren Quellen kritisch, z. B. in einem Rundfunkstudio, in dem häufige Änderungen zwischen Videosequenzquellen erforderlich sind. Eine Videoausgabevorrichtung, die die Erfindung einsetzt, wird folglich in dem Kontext eines Mehrfachquellensystems beschrieben, wobei es jedoch bevorzugt wird, dass die Vorrichtung nicht auf solch eine Anwendung beschränkt ist.
  • Videosystem mit mehreren Quellen
  • Bezugnehmend auf 1, weist ein Videosystem mit mehreren Quellen auf, eine Videopumpe bzw. -fördereinrichtung 10a, die ein kodiertes Echtzeitvideo zu einem Decoder 20a zuführt und die kodierte Videodaten von einem Speichermedium 30a empfängt. Bei dieser Ausführungsform sind die Videopumpe 10a und eine zweite Videopumpe 10b, die einen zweiten Decoder 20b versorgt, beide an das Speichermedium 30a (z. B. über einen Computer-Fileserver) über ein Computernetzwerk angeschlossen. Diese Ausführungsform enthält auch eine dritte Videopumpe bzw. -zuführeinrichtung 10c, die einen dritten Decoder 20c versorgt und Daten von einer zugeordneten Datenquelle 30b empfängt, und eine vierte Videopumpe 10d, die ein "live" kodiertes Video über einen nicht sendenden bzw. eine Sendepause machenden Empfänger empfängt, der einen Demultiplexer, um einen einzelnen Programmstrom aus den empfangenen Daten zu entnehmen, und einen Puffer 34 enthält, der eine Kapazität hat, die ausreicht, um mehrere Minuten (hier ungefähr 30 Minuten) von Videodaten zu speichern, wobei die vierte Videopumpe bzw. -zuführeinrichtung einen vierten Decoder 20d versorgt. Die Ausgänge von sämtlichen Decodern sind an einen Selektor 40 angeschlossen, der einen Ausgang von einem der Decoder auswählt; der Ausgang kann gesendet werden (entweder in analoger oder digitaler Form), oder kann gespeichert oder wieder kodiert werden. Bei dieser Ausführungsform erzeugen die Decoder einen Ausgang in einer dekodierten digitalen Form, die Informationen enthält, die Kodierungsentscheidungen auf der Grundlage des ursprünglichen kodierten Videos (MOLE-Format) betreffen, um eine neuerliche Kodierung mit einem minimalem Verlust an Qualität zu ermöglichen. Jedoch kann auch eine andere Dekodierung, um z. B. vollständig analog zu sein, eingesetzt werden. Eine weitere Videoquelle 22, die ein unkodiertes Signal mit einem ähnlichen oder gleichen Format für den Decoderausgang erzeugt, z. B. von eine Studiofernsehkamera, wird auch als ein Eingang zu dem Selektor 40 zugeführt.
  • Zu Synchronisationszwecken (wird ferner unten erläutert) empfängt jede Videozuführeinrichtung bzw. -pumpe ein Zeitsteuerungs- bzw. Taktungssignal von einer Studioreferenztakteinrichtung 12. Der Studioreferenztakt führt typischerweise einen SSTC-Zählwert mit 42 Bit auf der Grundlage eines Taktes mit 27 MHz zu, der einen 90kHz-Grundwert mit 33 Bit (gleich der Taktfrequenz, geteilt durch 300) und einen Erstreckungswert mit 9 Bit (Modulo 300), getaktet bei 27 MHz aufweist. Bei dieser Ausführungsform wandelt die Takteinrichtung 12 die Studioreferenztaktzeiten mit 42 Bit in SMPTE-Zeitkodes und führt beide über einen gemeinsamen Bus mit bzw. bei regulären Intervallen zu. Jede Videozuführeinrichtung empfängt auch Abspielentscheidungsinformationen von einer Editier-/Abspielsteuerung 14. Die Editier-/Abspielsteuerung spezifiziert typischerweise Editier/Abspielzeiten in SMPTE-Kodes. Die SSTC- und bezüglichen SMPTE-Zeitwerte können getrennt zugeführt werden, wobei aber bevorzugt der SSTC-Bus Informationen zur Verfügung stellt, die das Korrelieren der zwei ermöglichen. Natürlich sind auch andere Abwandlungen möglich; z. B. können die Studiotaktwerte in SMPTE-Werte umgewandelt werden und es ist nicht nötig, SMPTE-Werte zuzuführen, falls die entsprechenden Studiotaktzählwerte durch die Abspielsteuerung zugeführt werden.
  • Editier- oder Abspielentscheidungen können im Voraus spezifiziert werden, z. B. als ein Abspielplan für eine Zeitdauer (z. B. "Um 9.00 Uhr und 15 Sekunden, spiele die Videosequenz ab, die mit "Film A" betitelt ist, die bei Rahmen 0 beginnt, über die Videozuführeinrichtung 10a"), oder kann verändert werden oder in Echtzeit eingestellt werden. Zum Beispiel kann eine Zwischenanfrage zum Abspielen einer Sequenz in eine Anfrage übersetzt werden, um in einer genauen Zeit von 5 Sekunden das Abspielen zu beginnen.
  • Die Editier- oder Abspielentscheidungsinformation wird sowohl zu dem Selektor 40 als auch den Videopumpen bzw. -zuführeinrichtungen 10 gesandt. Wo eine Videozuführeinrichtung nur Zugriff auf eine einzelne kodierte Videoquelle hat, z. B. die Videozuführeinrichtung 10d, die eine einzelne gepufferte, nicht gesendete Videosequenz empfängt, wobei die Editierungsinformationen die Beschreibung der Quelle nicht spezifizieren müssen; ansonsten kann die Beschreibung der Quelle zu der Videozuführeinrichtung gesandt werden, die die passenden Daten von dem Speichermedium anfordern kann, oder direkt zu dem Speichermedium gesendet werden können.
  • Der Selektor schaltet lediglich den Ausgang von einer Quelle zu einer bestimmten Zeit zu einer anderen und kann vollkommen üblich sein. Die passende Videopumpe bzw. Videozuführeinrichtung bestimmt, wann die kodierte Videosequenz abgespielt werden muss und wie die Synchronisation sichergestellt werden kann, so dass der Decoder den korrekten Ausgang zu der Zeit des Schaltens erzeugt. Dies kann auf eine Anzahl von Arten erzielt werden, wie es nachfolgend in weiteren Einzelheiten beschrieben wird.
  • Videoausgangsvorrichtung
  • Nun wird, bezugnehmend auf 2, eine Vorrichtung zum Ausgeben eines kodierten Videos von einer kodierten Videoquelle (einer "Videopumpe" bzw. "Videozuführeinrichtung") 10 beschrieben werden. Programm- oder Videodaten werden von einem Dateneingang empfangen, z. B. einem Computernetzwerk, und werden in einen Netzwerkpuffer 110 eingespeist, der Diskontinuitäten der Ankunftszeit der Daten glättet, die sich aus der Latenz des Servers und des Netzwerkes ergeben. Das genaue Fahren zum Zuführen bzw. Einspeisen von Daten in den Netzwerkpuffer ist nicht kritisch und bildet selbst keinen Teil der Erfindung; irgendein zweckmäßiges Protokoll, das in ähnlichen Computernetzwerken verwendet wird, kann eingesetzt werden, natürlich vorausgesetzt, dass der Puffer immer genug Daten für den Ausgang enthält, der aufrecht zu erhalten ist. Typischerweise wird die Vorrichtung durch einen Computer gesteuert, der auch die Einspeisung von Daten von einem Netzwerkserver oder einer Festplatte steuert. Die Daten werden in eine Parsereinrichtung bzw. eine Analysealgorithmuseinrichtung 111 für einen Bitstrom bzw. Bitströme eingespeist, die angemessene Felder in dem Video und Systemebenen bzw. -schichten erfasst, zum neu Prägen und zum Schalten zu synthetischen Strömen. Die Daten werden auch einer Verzögerungseinrichtung 112 eingegeben, die die Verzögerung in dem Bitstromparser 111 aufhebt. Ein Speicher 113 für einen synthetischen Bitstrom enthält Versionen von synthetischen Videobitströmen in einer passenden Form. Ein Schalter 114 wird mit den Daten von der Verzögerungseinrichtung 112 und von dem Speicher 113 für synthetische Bitströme gespeist und wählt zwischen diesen Quellen aus, das heißt zwischen dem Eingang und den synthetischen Bitströmen.
  • Ein Studiosystemzeittakt (SSTC) 120 stellt einen Zählwert zur Verfügung, der in die PCR-Felder eingesetzt werden kann, so dass der Decoder zu der Studiozeit synchronisiert wird. Der Bitstrom, der von dem Schalter 114 herkommt, wird in eine Einheit 121 eingespeist, die die oben aufgezeigten Felder neu prägt, einschließlich insbesondere der PTS-/DTS-Felder. Die Bitströme gehen dann zu einer Einheit 122 durch, die die PCR-Felder neu prägt. Dies wird als ein getrennter abschließender Block in dem Bitstrom gezeigt, weil es ein Minimum an zeitlichen Schwankungen zwischen dem Einfügen der PCR-Felder und dem Empfang dieser Felder durch den Decoder geben muss.
  • Eine Steuerung 123 wird mit Befehlen von einer Ausspielsteuerliste und durch die lokale SSTC-Steuereinrichtung 120 gespeist. Die Steuerung steuert die folgenden Funktionen:
    die zeitliche Steuerung bzw. Taktung des Schalters zwischen den synthetischen Bitströmen und Bildbitströmen;
    die Neuprägung bzw. wiederholte Prägung von PTS-/DTS-Feldern wie auch der anderen zuvor aufgeführten Felder; und
    die Neuprägung bzw. abermalige Prägung von PCR-Feldern.
  • Die Schnittstellen-Hardware 121 und 122 prägt PCR- und PTS-/DTS-Felder neu sowohl für synthetische Bitströme als auch Bildbitströme. Die in die PCR-Felder eingefügten Werte sind so, dass der folgende Decoder einen internen Taktwert haben wird, der zu einem ähnlichen bzw. gleichen Zählwert in dem Studio synchronisiert ist. Dies ermöglicht Präsentations-/Wiedergabezeiten von bestimmten dekodierten Rahmen, die zu genauen Studiozeiten zu synchronisieren sind.
  • Die PTS-/DTS-Werte werden neu mit passenden Werten geprägt, wie es vollständiger unten beschreiben wird, im Verhältnis zu dem Decodertaktzählwert (DCC), so dass:
    es eine Kontinuität von PTS-/DTS-Werten zwischen synthetischen Bitströmen und Bildbitströmen gibt;
    der Decoderpuffer läuft nicht über oder wird nicht zu leer; und
    wenn der DCC zu dem Studiosystemzeittakt synchronisiert wird, entsprechen dann die PTS-Werte zu den Zeiten, zu welchen es gewünscht ist, bestimmte Rahmen der Bildsequenz wiederzugeben (z. B. gemäß einer Ausspiel- bzw. Abspielliste).
  • Die Kontinuität von PTS-/DTS-Werten kann eingestellt werden, indem ein Versatz zu den Werten in der ursprünglichen kodierten Videosequenz hinzugefügt wird; z. B. wenn der erste PCR-/PTS-/DTS-Wert von einem Wert × (gespeichert in dem kodierten Video auf der Grundlage von dem ursprünglichen Kodierungszählwert) zu einem Wert y (basierend auf dem Studioreferenztakt) verändert wird, wobei sämtliche nachfolgenden Werte einfach durch Hinzufügen eines Versatzes (der positiv oder negativ sein kann) (von x–y) zu den hereinkommenden Werten modifiziert wird.
  • Zusätzlich zu dem Einstellen von Zeitwerten muss die Datenausgaberate oder die zeitliche Steuerung bzw. Taktung der Ausgabe von kodierten Rahmendaten so eingestellt werden, dass der Decoderpuffer nicht überläuft oder zu leer wird.
  • Es wird bemerkt, dass bei vereinfachten Versionen der Vorrichtung einige Merkmale weggelassen werden können; z. B. können, falls es lediglich gewünscht ist, die Ausgangstaktfrequenz zu einem Studioreferenztakt zu synchronisieren, die Mittel zum Erzeugen synthetischer Rahmen weggelassen werden. Falls eine genaue zeitliche Steuerung bzw. Taktung des Decoderausganges nicht erforderlich ist, kann gleichermaßen der Studioreferenztakteingang weggelassen werden, wobei die Vorrichtung immer noch dazu in der Lage ist, Bitströme zu erzeugen, die zur Vorsynchronisation eines Decoders oder zum Unterbrechen oder einer Zeitlupenwiedergabe angepasst sind. Die größte Flexibilität wird jedoch sichergestellt, wenn die obigen Merkmale gemeinsam vorhanden sind.
  • Zeitsteuerungs- bzw. Taktfeldwerte
  • Es gibt eine Anzahl von Arten, auf welche eine Synchronisation bewirkt werden kann, und diese werden einer Erörterung der Funktion von verschiedenen Zeitsteuerungs- bzw. Taktungsfeldern innerhalb einer MPEG-Sequenz folgend erläutert; andere Felder, die diesbezügliche Funktionen haben, können in anderen kodierten Videosequenzen eingesetzt werden.
  • Jeder Decoder hat seinen eigenen Takt, der typischerweise bei 27 MHz läuft, wobei ein Decodertaktzielwert (Decoder Clock Count: DCC) erzeugt wird, der sich mit einer ähnlichen Rate bzw. Geschwindigkeit zu den PCR-Werten in den ursprünglichen Daten inkrementiert. Infolge von Toleranzen kann es eine graduelle Abweichung bzw. Drift zwischen einem DCC-Wert und den ursprünglichen Kodierungstaktwerten geben, die sich akkumulieren können. Durch Übertragung von PCR-Werten bei Intervallen in einem kodierten Datenstrom kann ein Kodierer in einem Transmitter bzw. einer Übertragungseinrichtung eine Synchronisation eines Decodertaktes zu seinem eigenen Takt bewirken und aufrecht erhalten. Folglich werden herkömmlicherweise DCC-Werte in Synchronisation zu dem ursprüngli chen Datenstrom eingestellt, haben aber keine externe Anwendbarkeit. Der Kodierer kann mit einem Rahmen einen DTS-Wert, der die Zeit, bei welcher der Rahmen aus dem Decoderpuffer zum Dekodieren entnommen werden sollte, spezifiziert, und einen PTS-Wert senden, der die Zeit spezifiziert, zu welcher der dekodierte Rahmen wiedergegeben werden sollte. Für B-Rahmen, die in dem Empfänger nicht gespeichert werden, sind der DTS und der PTS identisch; für I- und P-Rahmen, die in dem Decoder gespeichert sind, geht die DTS dem PTS voran.
  • In der oben beschriebenen Vorrichtung werden die PCR-Werte in dem ursprünglichen Datenstrom durch Werte auf der Grundlage des Studioreferenztaktes ersetzt. Auf diese Weise können die DTS- und PTS-Felder verwendet werden, um eine absolute Zeit anzugeben bzw. zu spezifizieren. Folglich kann im Prinzip die Wiedergabe eines Rahmens zu einer bestimmten Zeit einfach durch Einstellen des PTS-Feldes zu der passenden Zeit bewirkt werden (in der Praxis kann dies von der tatsächlichen Ausgabezeit auf Grund der Ausgabeverzögerung in einem praktischen Decoder abweichen, so dass die Vorrichtung Mittel enthalten kann, um einen Versatzwert zu speichern, der zu den Werten hinzugefügt oder von diesen abgezogen werden kann, die in dieses Feld geschrieben werden).
  • Die Komplikation ist, dass die PTS- und DTS-Felder nicht für jeden Rahmen obligatorisch sind und nicht sämtliche Decoder diesen verwenden können, insbesondere, nachdem die Synchronisation zuerst eingerichtet worden ist.
  • Folglich kann ein weiterer Parameter des vbv Verzögerungsfeldes verwendet werden; dies gibt die Verzögerung vor einem Rahmen an, insbesondere ein I-Rahmen kann aus dem Decoderpuffer gelesen werden. Es wird zu erkennen sein, dass die vbv Verzögerung tatsächlich aus dieser allgemeineren zeitlichen Steuerung bzw. Taktung bestimmt werden kann; diese Zeit ist der Unterschied zwischen der Zeit, wenn der Rahmen empfangen wird, und der Zeit, wenn der Rahmen aus dem Puffer zum Dekodieren entfernt wird. Folglich haben wir:
    vbv Verzögerung = DTS – DCC(Rahmenschreibung) (Gleichung 1)
  • Der Decoder sollte den DTS verwenden, um die vbv_Verzögerung zu bestimmen, falls die DTS verfügbar ist; falls kein DTS verfügbar ist, sollte er den vbv_Verzögerungswert aus dem Rahmenanfang verwenden. Folglich kann der vbv_Verzögerungswert nicht genau (in einer MPEG-Sequenz bedeutet ein vbv_Verzögerungsfeld, das 0×FF enthält durchweg keinen bestimmten bzw. vorgeschriebenen Wert, in der Videoschicht bzw. der Videoebene angegeben werden, wobei in diesem Fall eine effektive vbv Verzögerung auf der Grundlage des DTS-Feldes in der PES-Schicht und der tatsächlichen Zeit des Schreibens des Rahmens berechnet werden kann. Über diese Beschreibung hinweg, bezwecken Bezugnahmen auf einen effektiven vbv Verzögerungswert beliebige derartige Parameter oder Kombinationen von Parametern zu umfassen, welche die Verweilzeit eines Rahmens innerhalb eines Decoderpuffers bestimmen.
  • Mit den obigen Informationen wird es zu erkennen sein, dass die Abspielung eines gewünschten Rahmens zu einer gewünschten Zeit im Prinzip ohne Hinzufügung von synthetischen Rahmen erzielt werden kann, einfach durch Einstellen der passenden Zeitsteuerungs- bzw. Taktungsfeldwerte, und die Ausgabe der Daten kann entsprechend dem ersten I-Rahmen der gewünschten Sequenz der gewünschten Bildausgabezeit um einen Betrag voran, der gleich der vbv Verzögerung für diesen Rahmen plus einer zusätzlichen Versatzverzögerung beginnen. Ein potenzieller Nachteil dieses Verfahrens ist, dass der Decoder nur eine Chance zum Synchronisieren hat und dann sofort stabilisieren muss; falls aus irgendeinem Grund die Daten unterbrochen werden, wird der Anfang der Sequenz verloren gehen bzw. vermisst werden. Folglich wird es üblicherweise bevorzugt, eine Synchronisation durch Voranstellen einer Anfangssequenz bzw. Initialisierungssequenz von erzeugten oder synthetischen Rahmen zu der ursprünglichen Sequenz zu bewirken, wie es im Weiteren unten erörtert wird. Betrachtungen, die die Auswahl der synthetischen Rahmen beeinflussen bzw. beeinträchtigen, werden nun erörtert werden.
  • Inhalt der synthetischen Rahmen
  • Allgemein ausgedrückt, wird es bevorzugt, dass zumindest einige der erzeugten Rahmen bevorzugt von einem relativ geringen Informationsgehalt sind (verglichen mit einem typischen Bildrahmen), so dass Schreiben und Lesen der Rahmen eine relativ geringe Zeit erfordert. Insbesondere wird es bevorzugt, wenn der mittlere Datengehalt von jedem erzeugten Rahmen zumindest gleich zu dem Betrag bzw. der Menge an Daten ist, die in einer einzigen Rahrnenwiedergabedauer geschrieben werden kann, und bevorzugt wesentlich weniger (z. B. höchsten die Hälfte).
  • Genauer gesagt, können in einer MPEG-Sequenz ein schwarzer I-Rahmen oder ein I-Rahmen, der ein einfaches Logo enthält (womit ein Bild gemeint ist, dessen Kodierung relativ wenig Daten verglichen mit einer mittleren realen Bildszene erfordert, bevorzugt eine Datenmenge, die in näherungsweise einer einzigen Rahmenperiode oder weniger übertragen werden kann), oder ein P-Rahmen, der keine Bewegung kodiert, verwendet werden. Wenn ein statisches oder einfach bewegendes Logo bzw. klischiertes Wort übertragen wird, kann der anfängliche I-Rahmen mehr Daten enthalten als in einer einzelnen Rahmenperiode bzw. -dauer gesendet werden können, wobei jedoch die mittlere Datenrate für eine Sequenz bzw. Abfolge, die den I-Rahmen und einen oder mehrere P-Rahmen enthält, unterhalb der erforderlichen Rate sein wird. Auf diese Weise können Rahmen bei einer mittleren Rate von einem Rahmen pro Rahmendauer bzw. -periode ausgegeben werden und es gibt eine Flexibilität, um erzeugte Rahmen für verlängerte Perioden einzufügen, ohne in Probleme einer Pufferunterbesetzung oder eines Pufferüberlaufs hineinzukommen und ohne Zuflucht zu komplexeren Bestimmungsverfahren der Pufferbelegung.
  • Darüber hinaus kann es die Ausgabe der erzeugten Sequenz möglich machen, "Zeit zu kaufen", in der Daten für einen größeren Rahmen auszugeben sind. In anderen Worten kann es, der Ausgabe der erzeugten Sequenz folgend, möglich sein, die Ausgabe von Daten für den nächsten Rahmen der ursprünglich kodierten Videofrequenz (z. B. ein I-Rahmen) zu beginnen, die eine große Menge an Daten der gewünschten Wiedergabezeit voraus enthält, während der Decoderpuffer Daten für mehrere synthetische Rahmen, die auszugeben sind, enthält, so dass der Decoderpuffer immer Rahmen zur Wiedergabe enthält. Folglich kann durch Steuern der Größe der synthetischen Rahmen (die üblicherweise klein sein wird), und/oder durch Einstellen der Zeit, zu welcher die Rahmen ausgegeben werden und/oder durch Einstellung der Zeitwerte, die die Verweilzeit für die Rahmen in dem Decoderpuffer angeben, eine gewünschte Pufferbelegung erzielt werden.
  • Bestimmte Beispiele von synthetischen Rahmen, die für verschiedene Zwecke eingefügt werden können, werden nun beschrieben.
  • Schwarzer I-Rahmen
  • Die relevanten Eigenschaften/Parameter eines einfachen synthetischen schwarzen I-Rahmens können wie folgt zusammengefasst werden:
    Vorhersagemodus intern
    Rahmen-/Feld-DCT-Modus Koeffizientwerte Rahmenmodus (jeglicher könnte verwendet werden) sämtliche Null einschließlich DC-Koeffizient (für schwarzen I-Rahmen)
    Bildgröße Wert wird von verbundener Bildsequenz genommen
    vbv_Verzögerung Wert wird von erstem I-Rahmen der Folgesequenz genommen
    elementare Strombitrate Wert wird als maximal von verbundenen Bildsequenzen genommen
    temporäre Referenz auf Null eingestellt, wobei angenommen ist, dass der I-Rahmen dem GOP-Anfang folgt
  • Alternativ könnte der I-Rahmen als ein schwarzes I/P-Feldpaar kodiert sein.
  • Synthetischer P-Rahmen
  • Die relevanten Parameter, die für jeden synthetischen P-Rahmen einzustellen sind, wären wie folgt:
    Vorhersagemodus Rahmenvorhersage
    Bewegungsvektor null, vorwärts, Rahmenvektor
    Rahmen-/Feld-DCT-Modus Rahmenmodus (jeder könnte verwendet werden)
    differenzielle Koeffizientwerte alle Null
    Bildgröße Werte von verbundenen Bildsequenzen genommen
    vbv_Verzögerung Werte von erstem I-Rahmen der folgenden Sequenz genommen Nicht passend, wenn ein Decoder unter Verwendung eines synthetischen P-Rahmens unterbrochen wird - wie unten
    elementare Strombitrate Wert als maximal von verbundenen Bildsequenzen genommen
    temporäre Referenz bzw. Bezug Inkremente monoton (mononically) für aufeinander folgend kodierte Rahmen
  • Zur Ausgabe wird, wie bekannt, der Videoelementarstrom zunächst in PES-Paket portioniert. Diese können viele optionale Felder in dem Anfang von jedem PES-Paket haben. Für den synthetischen Bitstrom ist der PES-Paketanfang bevorzugt so einfach wie möglich mit so wenigen optionalen Feldern wie möglich. Auch wäre es bequem, jeden kodierten Rahmen (Zugriffseinheit) innerhalb eines einzigen bzw. einzelnen PES-Paketes zu beinhalten.
  • An der PES-(portionierter Elementarstrom: Packetised Elementary Stream)Schicht bzw. -Ebene ist es erforderlich, die folgenden Feldei in den PES-Portions- bzw. -Paketanfängen insbesondere passend einzustellen:
    PTS-/DTS-Felder
    Strom-ID-Feld
  • Dies ist eine relativ geradlinige Angelegenheit; die Betrachtungen, die PTS- und DTS-Werte beeinträchtigen, werden allgemein oben erörtert und in weiteren Einzelheiten im Verhältnis zu spezifischen synthetischen Bitströmen unten, und das Strom-ID-Feld muss auf das Gleiche eingestellt werden, wie das des ursprünglichen Videostromes.
  • Es werden nun, nachdem zweckmäßige grundlegende synthetische Rahmen beschrieben worden sind, Funktionen, die unter Verwendung der synthetischen Rahmen erzielbar sind, zusammen mit weiteren Einzelheiten der spezifischen zweckmäßigen Sequenzen beschrieben.
  • Anfängliche Decodersynchronisation
  • Ein zweckmäßiger synthetischer Bitstrom, um eine anfängliche Synchronisation eines Decoders zu bewirken, besteht aus einem schwarzen I-Rahmen, gefolgt durch eine Sequenz bzw. Abfolge von synthetischen (Null) P-Rahmen. Der anfängliche Rahmen muss nicht schwarz sein, kann aber ein einfaches Logo enthalten. Um die Synchronisation sicherzustellen, können verschiedene derartige Sequenzen (einschließlich mehreren I-Rahmen) übertragen werden. Obwohl eine derartige Sequenz nur wenige Rahmen oder wenige Sekunden, bevor der Beginn der gewünschten Sequenz bzw. Abfolge erforderlich ist, übertragen werden kann, ist es gleichermaßen möglich, eine derartige Sequenz über fortgesetzte Zeitperioden zu übertragen, z. B. mehrere Stunden, um einen Decoder über eine lange Zeitdauer synchron zu halten. In solchen Fällen kann der Decoder auch in dem synchronisierten Zustand (wie weiterhin unten erörtert wird) "unterbrochen" werden. Zu einer passenden Zeit (sobald der Decoder blockiert ist bzw. blockiert hat) wird eine Schaltung zu dem ersten I-Rahmen eines Bildsequenzbitstromes vorgenom men. Zum Beispiel:
    Figure 00240001
  • Die synthetischen Rahmen sind in Kursivschrift gezeigt. Aus diesem Beispiel kann erkannt werden, dass für jeden synthetischen I- und P-Rahmen gilt PRS = DTS + T (Gleichung 2), wobei T die Videorahmenperiode bzw. -dauer ist. Wie zuvor aufgezeigt, werden B-Rahmen in dem Decoder nicht gespeichert und werden ohne Verzögerung dekodiert und ausgegeben, während I- und T-Rahmen dekodiert werden müssen und B-Rahmen normalerweise der Wiedergabezeit voraus ausgegeben werden. Folglich sind in den obigen Sequenzen bzw. Abfolgen B-Rahmen nicht nummeriert worden; jeder B-Rahmen in der Wiedergabesequenz entspricht unmittelbar dem B-Rahmen vertikal darüber in der Bitstromsequenz.
  • Man nehme an, dass es erforderlich ist, den ersten I-Rahmen (I0), der Bildsequenz zur Zeit tdisp(I0) im Verhältnis zu der SSTC wiederzugeben. Wenn das PTS-Feld für diesen Rahmen gleich zu tdisp(I0) vermindert um einen Versatz eingestellt werden sollte, welcher unabhängig vom Decoder ist und von der Zeit abhängt, die für die sequenziell-zu-Einflechungswandlung usw. benötigt wird, das heißt: PTS(I0) = tdisp(I0) – Versatz (Gleichung 3)
  • Der DTS für diesen Rahmen wird von der Anzahl n von B-Rahmen abhängen, die diesem I-Rahmen in dem Bitstrom vor dem nächsten kodierten P-Rahmen folgen. Das heißt DTS(I0) = PTS(I0) – (n + 1).T (Gleichung 4), wobei T die Videorahmenperiode bzw. -dauer ist.
  • Wird angenommen, dass der Decoder synchronisiert ist, wird die Zeit, zu der begonnen werden sollte, Daten für diesen Rahmen zu dem Decoder zu senden, gegeben durch: ttrans(I0) = DTS(I0) – vbv Verzögerung(I0) (Gleichung 5), das heißt, die Schnittstelle sollte beginnen, den ersten Rahmen der Bildsequenz zu dem Decoder auszugeben, wenn SSTC = ttrans(I0) = tdisp(I0) – Versatz – (nB + 1).T – vbv_Verzögerung(I0) (6)
  • Falls wir annehmen, dass der synthetische Bitstrom in den Decoder mit einer mittleren Rate von einem kodierten Rahmen pro Rahmenperiode bzw. Rahmendauer eingespeist wird, dann sollte der erste Rahmen des synthetischen Bitstromes in den Decoder zu einer Zeit eingespeist werden, die gegeben ist durch: SSTC = ttrans(I0) – nsynth.T (Gleichung 7), wobei nsynth die Zahl von synthetischen Rahmen ist, die in dem anfänglichen bzw. initialisierenden synthetischen Bitstrom gesandt worden ist.
  • Videodaten können zu dem Decoder entweder als ein Strom mit konstanter Bitrate (CBR-Strom) oder als ein Strom mit variabler Bitrate (VBR-Strom) gesandt werden. In VBR-Videoströmen kann die Gesamtbitrate des Transportstromes bei einer konstanten Rate aufrecht erhalten werden, indem "null" Transportstrompakete gesendet werden, wie es erforderlich ist.
  • Da der synthetische Bitstrom nur eine kleine Bitrate im Vergleich mit richtigen Videosequenzdaten erfordert, um einen CBR-Betrieb aufrecht zu erhalten, ist es nötig, eine große Anzahl von füllenden Bytes pro Rahmen den kodierten synthetischen Rahmen hinzuzufügen. Diese werden in den Decoderpuffer geschrieben und ausrangiert, wenn die Daten aus dem Puffer zu einer Zeit entsprechend zu dem DTS gelesen werden.
  • Ein Diagramm, das ein Beispiel der Schreib- und Leseadressen des Decoderpuffers bei der CBR-Operation wiedergibt, ist in 3 gezeigt. Wie es bevorzugt werden wird, wird auf einen Puffer in der Wirklichkeit zyklisch zugegriffen mit zyklischer Adressfolge im Kernspeicher; wenn ein Lesezeiger oder ein Schreibzeiger das Ende des Puffers erreicht (Adresse B, wobei B die Puffergröße ist), kehrt er zu dem Anfang zurück. Zur Vereinfachung des Verständnisses werden die Pufferadressen als linear anwachsend in 3 (und den nachfolgenden Figuren) gezeigt; die tatsächlichen Adressen werden gleich zu dem angezeigten Adressmoduln B sein (das heißt, eine Adresse von N.B + x ist äquivalent zu einer Adresse von x, wobei N eine ganze Zahl bzw. ein Integer ist und x < B ist).
  • In dem in 3 gezeigten Beispiel ist jeder kodierte synthetische Rahmen mit Polster- bzw. Füllbytes aufgefüllt bzw. gepolstert, so dass jeder Rahmen ein Rahmenintervall einnimmt, um in den Decoder bei der CBR-Bitrate eingespeist zu werden.
  • Die vbv_Verzögerung wird für den ersten synthetische Rahmen arrangiert, um gleich zu der vbv Verzögerung des ersten I-Rahmens in der Bildsequenz zu sein. Dies ermöglicht es dem CBR-Modus, aufrecht erhalten zu werden.
  • Als ein Beispiel einer VBR-Operation können wir den Fall in Betracht ziehen, in dem die vorkodierte Bildsequenz eine feste und konstante Bitrate hat, wobei es aber der Bitrate der synthetischen Videodaten, die in den Videodecoder eingespeist werden, erlaubt wird, niedriger als dieser konstante Wert zu sein. Um Probleme der zu geringen Besetzung und des Überlaufs des Decoderpuffers zu vermeiden, ist es ein einfacher Ansatz, es zu arrangieren, dass die synthetischen Daten bei einer Rate von einem synthetischen Rahmen pro Rahmenperiode in den Decoder eingespeist werden.
  • Dies wird in 4 dargestellt. Die Daten für den ersten synthetischen Rahmen sind einem passenden DTS-Wert zugeordnet und werden in den Decoderpuffer zu einer Zeit (gegeben durch Gleichung 7) eingespeist, so dass sein vbv Verzögerungswert gleich zu der vbv Verzögerung des ersten I-Rahmens der Sequenz ist. Dann werden die verbleibenden synthetischen Rahmen bei einer Rate eines Rahmens pro Rahmenperiode bzw. Rahmendauer eingespeist. Zur Zeit ttrans(0) wird der erste I-Rahmen der Sequenz gesendet und der vbv Verzögerungswert für diesen Rahmen wird zutreffend sein. Die 4 zeigt, dass der Decoderpuffer nicht zu leer wird.
  • Man bemerke, dass es für sämtliche Rahmen (synthetisch und Bild) keine Unterschiede in den vbv Verzögerungswerten für jeden Rahmen zwischen dem CBR-Modus und dem VBR-Modus gibt, wie es in den 3 und 4 gezeigt wird.
  • Unterbrechung eines Decoders
  • Ein synthetischer Bitstrom kann verwendet werden, um einen Decoder an bestimmten Punkten in der Sequenz zu unterbrechen. Eine zweckmäßige synthetische Sequenz weist eine Nullserie von P-Rahmen auf. Man nehme z. B. an, dass eine Reihe von synthetischen P-Rahmen vor einem P-Rahmen, wie unten gezeigt, eingefügt wird.
  • Ursprüngliche Sequenz
    Figure 00280001
  • Sequenz mit eingefügten synthetischen P-Rahmen
    Figure 00280002
  • Während der Decoder die synthetischen P-Rahmen dekodiert, wird er beginnen, den letzten dekodierten "Anker"-Rahmen wiederzugeben, der in diesem Beispiel der Rahmen P1 ist. Da die B-Rahmen in dem Decoder nicht gespeichert sind, können diese nicht wiederholt werden. Der Abfolge von synthetischen P-Rahmen folgend, kann die Bildsequenz fortgesetzt werden.
  • Einfache "Regeln", denen gefolgt werden kann, um einen solchen Unterbrechnungsbitstrom einzufügen, sind:
    • – Der DTS und die "Startzeit zum Einspeisen in den Decoder" des ersten synthetischen P-Rahmen sind gleich zu jenen des P-Rahmens, den er ersetzt (das heißt, vbv Verzögerungen sind gleich).
    • – Für jeden synthetischen P-Rahmen gilt, PTSi (DTSi + T) und DTSi+1 = (DTSi + T).
    • – Die synthetischen P-Rahmen werden in den Decoder mit einer Rate eines synthetischen P-Rahmens pro Rahmendauer bzw. -periode eingespeist. Dies stellt sicher, dass die vbv Verzögerung für den ersten kodierten Bildrahmen, der der synthetischen Sequenz folgt, durch die Gegenwart des synthetischen Bitstromes unbeeinträchtigt ist. Dies wird in 5 für einen Betrieb im VBR-Modus dargestellt.
    • – Der PTS und der DTS der kodierten Bildrahmen, die dem synthetischen Bitstrom folgen, müssen um eine Menge bzw. einen Betrag inkrementiert werden, der gleich N Rahmenperioden bzw. -dauern ist, wobei N die Anzahl von synthetischen Rahmen ist, die in den Bitstrom eingefügt worden ist.
  • Eine synthetische P-Rahmensequenz kann in einer ähnlichen Weise zum Unterbrechen eines Decoders nach einem I-Rahmen verwendet werden, wodurch ein Mittel zur Verfügung gestellt wird, um ein stehendes bzw. ruhendes Bild wiederzugeben. Sollte es erforderlich sein, einen Decoder über eine fortgesetzte Zeitdauer zu unterbrechen (z. B. mehrere Stunden), insbesondere wo es kritisch ist, den letzten Rahmenausgang aufrecht zu erhalten, kann es wünschenswert sein, I-Rahmen in die Sequenz einzufügen, z. B. schwarze I-Rahmen, um sicherzustellen, dass die Synchronisation nicht unwiederherstellbar verloren geht.
  • Eine wiederholte (regelmäßige) Einfügung von synthetischen Rahmen kann verwendet werden, um eine Zeitlupenwiedergabe zu bewirken. Es wird bevorzugt, dass, um eine sanfte Zeitlupenwiedergabe zu bewirken, eine Bewegung in den umgebenden Rahmen in Betracht zu ziehen ist, eher, als einfach die vorangehenden Rahmen zu wiederholen, wobei aber nichtsdestotrotz eine hohe Verringerung der Wiedergabegeschwindigkeit einfach bewirkt werden kann. Wenn die Bewegung in Betracht gezogen wird, wird es bevorzugt, dass die Größe der synthetischen Rahmen nicht mehr vernachlässigbar sein kann, es aber immer noch in den meisten Fällen möglich sein sollte, synthetische P- oder B-Rahmen auf der Grundlage des Gehaltes der ursprünglichen Sequenz zu erzeugen und sie innerhalb einer einzigen Rahmendauer zu übertragen, wobei Probleme einer Pufferunterbelegung bzw. eines Pufferüberlaufs vermieden werden.
  • Zusammenfügung von Bitströmen
  • Synthetische Sequenzen können auch verwendet werden, um behilflich zu sein, verschiedene Bitströme unter Verwendung eines Ansatzes zusammenzufügen, der dem sehr ähnlich ist, der für die Initialisierung und Unterbrechung eines Decoders beschrieben worden ist; eine Zusammenfügung, die diesen Ansatz verwendet, kann als ähnlich zum Unterbrechen eines Decoders und Einrichtung einer Synchronisation zu einem neuen Bitstrom in einer kombinierten Operation betrachtet werden. Jedoch wird die "Regel" zum Senden eines synthetischen Rahmens pro Rahmenperiode für diese Anwendung nicht aufrecht erhalten.
  • Dies kann eine einfache, weniger wirksame bzw. zweckmäßige, aber günstigere Lösung zur Verfügung stellen, um MPEG-2-Bitströme zusammenzufügen, als herkömmliche Vorrichtungen. Ein allgemeines Erfordernis könnte es sein (in Echtzeit), zu einem zweiten Sequenzbitstrom an irgendeinem lediglich willkürlichen Punkt in einer ersten Bitstromsequenz zu schalten, ohne irgendeine wesentliche Störung für einen stromabfertigenden Decoder zu verursachen. Das Hauptproblem ist es hier, die Decoderpufferbelegung an dem Punkt des Verlassens der ersten Sequenz an die Pufferbelegung anzupassen, die für den ersten kodierten Rahmen der zweiten Sequenz erforderlich ist. Falls diese nicht passen, wird der Decoderpuffer zu gering belegt sein oder überlaufen, was eine signifikante Stöiung für die dekodierte Bildsequenz verursachen wird.
  • Diese Anpassung von vbv Verzögerungswerten kann unter Verwendung synthetischer Bitströme erzielt werden. Das folgende Beispiel sei in Betracht gezogen:
    Figure 00310001
  • Es ist wahrscheinlich, dass, um eine zu geringe Belegung des Decoderpuffers für den ersten Rahmen des Bitstromes 2 zu vermeiden, der vbv Verzögerungswert für I0 des Bitstromes 2 größer sein wird als der vbv Verzögerungswert für den Rahmen P2 des Bitstromes 1. Weil jedoch die synthetischen Bitströme eine nahezu vernachlässigbare Anzahl von Bits enthalten, ist es möglich, diese in einer kurzen Zeitdauer zu übertragen und dann die Zeit voranschreiten zu lassen, zu welcher das erste Byte des Rahmens I0 in den Decoder eingespeist wird. Auf diese Weise ist es möglich, den korrekten vbv Verzögerungswert für I0 zu erzielen. Dies wird in 6 dargestellt.
  • In 6 werden die drei synthetischen Rahmen in den Decoder eingespeist (vernachlässigbare Bits werden genommen). Gegeben sei, dass die Dekodierzeit von I0 wahrscheinlich gemäß einem Wiedergabeplan so bestimmt ist, wobei dann die Schnittstelle beginnen sollte, zu dem Decoder den ersten Rahmen der Bildsequenz zu einer Zeit auszugeben, die gegeben ist durch:
    ttrans(I0) = tdisp(I0) – Versatz – (nB + 1).T – vbv_Verzögerung(I0)
    wie in Gleichung 6.
  • Die folgenden Betrachtungen sind in diesem Beispiel anwendbar:
    • – Die relativen Werte des PTS und des DTS werden für jeden Rahmen aufrecht erhalten, da die synthetischen Rahmen anstelle eines P-Rahmens in der Sequenz 1 eingeführt werden.
    • – Die PTS-/DTS-Werte der Sequenz 2 müssen einen Versatzwert haben, der diesen hinzugefügt wird, um die Kontinuität dieser Felder über die Zusammenfügung aufrecht zu erhalten.
    • – Der DTS-Wert und die "Startzeit zum Einspeisen in den Decoder" des ersten synthetischen Rahmens sind gleich zu jenem des P-Rahmens, den er in der Sequenz 1 ersetzt.
    • – Für jeden synthetischen P-Rahmen gilt, PTSi = (DTSi + T) und DTSi + 1 = (DTSi + T).
  • Die folgenden Punkte sollten auch beachtet werden:
    • – Der erste synthetische Rahmen könnte gleichermaßen ein synthetischer I-Rahmen sein, welcher schwarze Rahmen zwischen den Sequenzen ergeben würde.
    • – Die minimale Anzahl von synthetischen Rahmen, die über die Zusammenfügung erforderlich ist, hängt von der Größe der vbv_Verzögerungseinstellung, die erforderlich ist, ab.
    • – Der erste Rahmen der Sequenz 2 muss ein I-Rahmen sein.
  • Zusätzlich zu den oben aufgezeigten Merkmalen kann die Videoausgangsvorrichtung andere Funktionen zur Verfügung stellen. Selbst z. B. ohne die Mittel zum Erzeugen synthetischer Rahmen, kann die Synchronisation mit einem Studioreferenztakt, wie unten erörtert, bewirkt werden.
  • Erfassen und Einstellen einer Videoausgangsrate
  • Eine gespeicherte MPEG-Videosequenz enthält eine Reihe von PCR-Feldern, wobei jedes Feld einen Taktwert enthält, der zu der Taktrate (typischerweise 27 MHz) des ursprünglichen Aufnahmeapparates inkrementiert, wenn die Sequenz bei der korrekten Bitrate abgespielt wird. Die korrekte Bitrate wird üblicherweise mit den gespeicherten Daten angegeben, und herkömmlicherweise spielt eine Videoquelle einfach die Daten mit der angegebenen Rate ab. Zum Beispiel kann eine Sequenz bei 4 Mbit/Sekunde aufgenommen worden sein und eine herkömmliche Videoquelle wird die Daten bei dieser Rate einfach auf der Grundlage ihrer eigenen Taktquelle ausgeben. Wenn jedoch bei 4 Mbit/Sekunde abgespielt wird, kann ermittelt werden, dass die PCR-Werte bei einer Rate inkrementiert werden, die leicht größer oder geringer als 27 MHz ist, z. B. auf Grund von Ungenauigkeiten in der Taktfrequenz des Aufzeichnungsapparates. Dies kann durch Vergleichen der Rate, bei welcher PCR-Werte anwachsen, mit einer Studiotaktreferenzfrequenz erfasst werden, und kann durch Einstellen der Datenausgangsrate korrigiert werden, so dass ein Zählwert bzw. eine Zähleinrichtung, die bei der gleichen Rate wie die PCR-Werte, in der aufgezeichneten Videosequenz aktualisiert ist, die Synchronisation mit dem Studioreferenztakt aufrecht erhält.
  • Es wird erkannt, dass die Erfindung viele Anwendungen hat und auf andere Anwendungen als jene, die oben beschrieben sind, erstreckt werden kann. Ein Beispiel einer anderen Anwendung der Erfindung ist die "Reparatur" oder Editierung von unterwanderten Videosequenzen durch Neuerzeugung bzw. durch Wiedererzeugung von Zeitsteuerungs- bzw. Taktungsfeldwerten oder durch Einflicken von synthetischen Rahmen, um unterwanderte bzw. verdorbene Daten zu überschreiben. Es wird auch hervorgehoben, dass, während in dem Kontext der Videoverar beitung beschrieben, die gleichen Technologien auf andere kodierte Daten, die als eine Sequenz von kodierten Rahmen zugeführt werden, angewendet werden können; insbesondere synthetische kodierte Audiorahmen und eine Synchronisation von kodierten (z. B. MPEG) Audio kann bewirkt werden. Insbesondere kann die Erfindung, obwohl das MPEG-Format das allgemeinste ist, das eingesetzt wird, um Daten zu übertragen, die Videodaten enthalten, in einer MPEG-Audio-/Visuell/Datensequenz, die kein Video enthält, eingesetzt werden, um eine Synchronisation zu den Zwecken der Abspielung von Audio oder Daten einrichten, die innerhalb der Sequenz enthalten sind. Das Format der synthetischen Rahmen wird sich natürlich ändern; insbesondere werden üblicherweise Null-Rahmen als Füllung bzw. Polsterung eingesetzt. In solchen Fällen kann jedoch der Ausdruck Video, wie er über die Beschreibung und die Ansprüche hinweg verwendet wird, durch Audio oder Daten ersetzt werden, wie es erforderlich ist. Jedes Merkmal der Beschreibung oder der Ansprüche kann unabhängig zur Verfügung gestellt werden, es sei denn, es wird anders behauptet.

Claims (40)

  1. Vorrichtung zur Synchronisierung der Ausgänge von zumindest zwei Echtzeitdekoder, die jeweils angepasst sind, um jeweilige zur Kompression kodierten Videobitströme zu empfangen, um die Bitströme zu dekodieren und um eine Abfolge von Bildern zu Ausgabe- bzw. Ausgangszeiten auszugeben, die durch Werte in den Bitströmen bestimmt sind, wobei die Vorrichtung aufweist: Mittel (110), um jeden zur Kompression kodierten Videobitstrom zu empfangen; Mittel (122), um jeden zur Kompression kodierten Videobitstrom auszugeben; gekennzeichnet durch: Mittel (120), um einen Studioreferenztakt zu empfangen; Mittel, um eine vorbestimmte Ausgangs- bzw. Ausgabezeit im Hinblick auf den Studioreferenztakt zu spezifizieren; Mittel, um jeden kompressionskodierten Videobitstrom in Abhängigkeit von Zeitabstimmungsinformationen bzw. Taktgabeinformationen, die von dem Studioreferenztakt erhalten worden sind, zu verarbeiten, so dass ein Dekoder, der den ausgangskodierten bzw. ausgegebenen kodierten Bitstrom empfängt, dekodierte Bilder zu der vorbestimmten Ausgabezeit erzeugt.
  2. Vorrichtung nach Anspruch 1, wobei die Mittel zum Verarbeiten dazu dienen, einen oder mehrere der Werte zu ändern.
  3. Vorrichtung nach Anspruch 1, wobei die Mittel zum Verarbeiten dazu dienen, um die Zeit des Ausgebens auf der Grundlage von einem oder mehreren der Werte einzustellen.
  4. Vorrichtung gemäß Anspruch 2, wobei die Abfolge eine MPEG-Videosequenz bzw. abfolge ist, wobei die Verarbeitung die Änderung von Werten von zumindest einem PCR-, PTS- und DTS-Feld aufweist.
  5. Vorrichtung gemäß Anspruch 3, wobei die Abfolge eine MPEG-Videosequenz ist, und wobei die Einstellung auf Werten basiert, die zumindest eines aufweist von einer vbv_- Verzögerung oder einer Kombination von Parametern, was die Verweilzeit eines Rahmens bzw. Bildrahmens innerhalb des Dekoderpuffers bestimmt.
  6. Vorrichtung gemäß Anspruch 2, die Mittel zum Bestimmen einer Verzögerung zwischen einem Beginn der Ausgabe von Daten entsprechend zu einem Rahmen bzw. Bildrahmen durch die Ausgabemittel und der Wiedergabe des Rahmens bzw. Bildrahmens durch einen Dekoder enthält, wobei die Mittel zum Einstellen in Abhängigkeit zu der bestimmten Verzögerung gesteuert werden.
  7. Vorrichtung nach Anspruch 6, wobei die Mittel zum Einstellen der zeitlichen Steuerung bzw. der Taktgabe angeordnet sind, um die Ausgabe von Daten entsprechend zu dem Rahmen bzw. Bildrahmen zu einer Zeit, die gleich der gewünschten Anzeigezeit für den Rahmen minus einer bestimmten Verzögerungszeit ist, zu beginnen.
  8. Vorrichtung nach Anspruch 7, die Mittel enthält, um die Verzögerungszeit auf der Grundlage eines vorbestimmten Versatzwertes entsprechend einer Messung der Verzögerungsfortsetzung bzw. -fortpflanzung durch den Dekoder und einem variablen Wert zu bestimmen, der der Verzögerung vor der Dekodierung für den Rahmen bzw. Bildrahmen entspricht.
  9. Vorrichtung nach einem der vorgehenden Ansprüche, die Mittel hat, um Informationen einzugeben, die eine Messung der gewünschten Bildausgabezeit von zumindest einem Rahmen bzw. Bildrahmen oder Feld einer Videosequenz oder einem DTS- oder PTS-Wert spezifiziert, wobei die Verarbeitung auf der Messung der gewünschten Bildausgabezeit und dem Studioreferenztakt basiert, so dass zumindest ein Rahmen bzw. Bildrahmen oder Feld von einem Dekoder zu der gewünschten Bildausgabezeit ausgegeben wird.
  10. Vorrichtung gemäß Anspruch 2 und Anspruch 3.
  11. Vorrichtung nach einem der vorangehenden Ansprüche, die Mittel zum Bestimmen einer effektiven Taktfrequenz für den ausgegebenen kodierten Videobitstrom basierend auf der Rate der Änderung der Taktwerte hat, die innerhalb der ausgegebenen Daten enthalten sind, und Mittel, um die effektive Taktfrequenz mit der Studioreferenztaktfrequenz zu vergleichen oder zu synchronisieren.
  12. Vorrichtung nach einem der Ansprüche 1 bis 10, die Mittel zum Erzeugen einer Abfolge bzw. Sequenz von einem oder mehreren Rahmen bzw. Bildrahmen enthält, um in den ausgegebenen Bitstrom eingesetzt zu werden, und Mittel, um die erzeugte Abfolge bzw. Sequenz in den kodierten Videobitstrom einzusetzen, um die Zeitsteuerung bzw. die Taktgabe von ausgegebenen Bildern bzw. Ausgangsbildern einzustellen, wobei die erzeugte Abfolge bzw. Sequenz ausgewählt wird, um eine Synchronisation eines Puffers eines Dekoders, der den ausgegebenen Bitstrom bzw. Ausgangsbitstrom empfängt, aufrecht zu erhalten oder einzurichten.
  13. Vorrichtung nach Anspruch 12, die angeordnet ist, um die erzeugte Abfolge bzw. Sequenz vor einem gegebenen Rahmen bzw. Bildrahmen des kodierten Videobitstromes einzusetzen, wobei die Größe des erzeugten Rahmens bzw. Bildrahmens und/oder die Zeitsteuerungs- bzw. Taktgabeinformation, oder die Zeit zum Ausgeben von Daten, verknüpft mit den erzeugten und/oder dem gegebenen Rahmen bzw. Bildrahmen so ausgewählt ist, dass zum Beginn der Dekodierung des gegebenen Rahmens bzw. Bildrahmens gefolgt durch das dekodieren der erzeugten Sequenz bzw. Abfolge die Pufferbesetzung bzw. -Belegung eines Dekoders, der den ausgegebenen Videobitstrom empfängt, im Wesentlichen bei einem gewünschten Wert sein wird.
  14. Vorrichtung nach Anspruch 13, die angeordnet ist, um die erzeugte Abfolge bzw. Sequenz vor dem gegebenen Rahmen bzw. Bildrahmen und nach zumindest einem vorangehenden Rahmen bzw. Bildrahmen in den kodierten Videobitstrom einzusetzen, wobei der gewünschte Wert der Pufferbesetztheit bzw. -Belegung im Wesentlichen gleich zu der Pufferbelegung eingestellt ist, die erwartet wird, wenn keine erzeugte Sequenz bzw. Abfolge zwischen dem vorangehenden Rahmen und dem gegebenen Rahmen eingesetzt worden wäre.
  15. Vorrichtung nach Anspruch 13 oder 14, die angeordnet ist, um eine Abfolge zu erzeugen, die aufweist, einen oder mehrere Rahmen bzw. Bildrahmen mit vergleichsweise niedrigem Informationsgehalt, und wobei eine Zeitsteuerungs- bzw. Taktgabeinformation so eingestellt ist, dass Daten für den ersten erzeugten Rahmen in den Dekoderpuffer vor dem Dekodieren über im Wesentlichen die Zeit verbleiben, die in dem kodierten Videobitstrom für Daten für den gegebenen Rahmen bzw. Bildrahmen der Videoabfolge spezifiziert ist, und nachfolgend erzeugte Rahmen werden bei einer mittleren Rate zugeführt, die im Wesentlichen gleich der Rate der Anzeige bzw. Wiedergabe jener Rahmen ist, wobei bevorzugt die Videosequenz eine MPEG-Sequenz ist, wobei der effektive vbv_-Verzögerungswert für den ersten erzeugten Rahmen gleich zu dem effektiven vbv_-Verzögerungswert für den gegebenen Rahmen ist.
  16. Vorrichtung nach Anspruch 13, 14 oder 15, die angeordnet ist, um eine anfängliche Dekodersynchronisation zu einer kodierten Videosequenz einzurichten, die eine MPEG-Sequenz aufweist, wobei die erzeugte Sequenz zumindest einen I-Rahmen bzw. -Bildrahmen aufweist.
  17. Vorrichtung nach Anspruch 13, 14, oder 15, die angeordnet ist, um ein Pausieren oder eine Zeitlupenwiedergabe einer kodierten Videosequenz zu bewirken, die eine MPEG-Sequenz aufweist, wobei die erzeugte Sequenz einen oder mehrere P-Rahmen bzw. Bildrahmen aufweist.
  18. Vorrichtung gemäß Anspruch 13, 14 oder 15, die angeordnet ist, um das Schalten eines Ausgabevideobitstromes von einem ersten kodierten Videobitstrom zu einem zweiten kodierten Videobitstrom zu erleichtern, wobei die Größe der erzeugten Bildrahmen bzw. Rahmen und/oder die Zeitsteuerungs- bzw. Taktgabeinformation verknüpft mit dem erzeugten Rahmen bzw. Bildrahmen und/oder Rahmen bzw. Bildrahmen des ersten und zweiten kodierten Videobitstromes ausgewählt wird, so dass bei Beginn des Dekodierens des zweiten kodierten Videobitstromes gefolgt durch das Schalten die Pufferbelegung eines Dekoders, der die ausgegebenen Videobitströme empfängt, im Wesentlichen bei einem gewünschten Wert sein wird.
  19. Vorrichtung nach Anspruch 18, wobei der gewünschte Wert der Pufferbelegung auf der Grundlage einer Abschätzung der Pufferbelegung bestimmt wird, falls der Dekoder den zweiten kodierten Videobitstrom anstelle des ersten kodierten Videobitstromes und den erzeugten Bitstrom empfangen hatte.
  20. Vorrichtung nach einem der voranstehenden Ansprüche, die ferner Mittel enthält, um Aufbereitungs- bzw. Editierungslisteninformationen zu empfangen, die eine gewünschte Bildausgabezeit spezifizieren.
  21. Vorrichtung nach einem der voranstehenden Ansprüche, der ferner enthält, Mittel zum Empfangen von Editierungs- oder Abspielinformationen, die eine zeitliche Steuerung bzw. Taktgebung von Änderungen zwischen Videosequenzquellen spezifizieren; Mittel, um eine ausgewählte Videosequenzquelle einem Videoausgangskanal basierend auf der Editierungs- oder Wiedergabeinformationen zuzuführen; und Mittel, um gewünschte Bildausgabezeitinformationen der Ausgabevorrichtung oder jeder Ausgabevorrichtung auf der Grundlage der Editierungsinformationen zuzuführen.
  22. Verfahren zur Synchronisierung der Ausgänge von zumindest zwei Echtzeitdekodern, die jeweils angepasst sind, um einen jeweiligen zur Kompression kodierten Videobitstrom zu empfangen, um den Bitstrom zu dekodieren und eine Abfolge von Bildern zu Ausgangszeiten auszugeben, die durch die Werte in dem Bitstrom bestimmt sind, wobei das Verfahren die Schritte aufweist: jeder kodierte Videobitstrom wird empfangen; ein Studioreferenztakt wird empfangen; ein kodierter Videobitstrom wird in Abhängigkeit zu der Zeitsteuerungs- bzw. Taktgabeinformation verarbeitet, die von dem Studioreferenztakt erhalten worden ist, so dass ein Dekoder, der den ausgegebenen kodierten Videobitstrom empfängt, einen dekodierten Bildausgang bei der vorbestimmten Ausgabezeitsteuerung bzw. -Taktgabe erzeugt.
  23. Verfahren nach Anspruch 22, wobei die Verarbeitung die Änderung von einem oder mehreren der Werte aufweist.
  24. Verfahren nach Anspruch 22, wobei die Verarbeitung aufweist, dass die Zeit der Ausgabe auf der Grundlage des einen oder der mehreren Werte eingestellt wird.
  25. Verfahren nach Anspruch 23, wobei der Bitstrom ein MPEG-Videobitstrom ist, wobei die Verarbeitung die Änderung von Werten von zumindest einem eines PCR-, PTS- und DTS-Feld aufweist.
  26. Verfahren nach Anspruch 22, das die Bestimmung einer Verzögerung zwischen dem Beginn der Ausgabe von Daten entsprechend zu einem Rahmen bzw. Bildrahmen und der Wiedergabe des Rahmens bzw. Bildrahmens durch einen Dekoder enthält, wobei die Verarbeitung in Abhängigkeit zu der bestimmten Verzögerung gesteuert wird.
  27. Verfahren nach Anspruch 22, wobei der Bitstrom ein MPEG-Videobitstrom ist, wobei die Zeit, zu welcher Daten entsprechend zu zumindest einem Rahmen bzw. Bildrahmen oder Feld ausgegeben werden, auf der Grundlage von Werten eingestellt wird, die zumindest eines von einer vbv_--Verzögerung oder einer Kombination von Parametern aufweisen, die die Verweilzeit eines Rahmens bzw. Bildrahmens innerhalb des Dekoderpuffers bestimmen.
  28. Verfahren nach Anspruch 27, wobei die Einstellung der Zeitsteuerung bzw. der Taktgabe arrangiert ist, um die Ausgabe von Daten entsprechend zu zumindest einem Rahmen bzw. Bildrahmen zu einer Zeit begonnen wird, die gleich der gewünschten Wiedergabezeit für den Bildrahmen minus einer bestimmten Verzögerungszeit ist.
  29. Verfahren nach Anspruch 28, das ferner die Bestimmung der Verzögerungszeit auf der Grundlage eines vorbestimmten Versatzwertes entsprechend zu einer Messung der Fortpflanzungsverzögerung durch den Dekoder und zu einem variablen Wert entsprechend zu der Verzögerung vor der Dekodierung des Bildrahmens enthält.
  30. Verfahren gemäß einem der Ansprüche 22 bis 29, das die Bestimmung einer effektiven Taktfrequenz für den ausgegebenen kodierten Videobitstrom basierend auf der Rate der Änderung der Taktwerte, die in den Ausgangsdaten enthalten sind, und dem Vergleich oder der Synchronisierung der effektiven Taktfrequenz mit der Studioreferenztaktfrequenz enthält.
  31. Verfahren nach einem der Ansprüche 22 bis 30, das die Erzeugung einer Sequenz von einem oder mehreren Bildrahmen enthält, die in den Ausgabebitstrom einzufügen sind, und die erzeugte Sequenz wird in den kodierten Videobitstrom eingefügt, um die Zeitsteuerung bzw. Taktgabe des Bildausgangs einzustellen, wobei die erzeugte Sequenz ausgewählt ist, um eine Synchronisation eines Puffers eines Dekoders, der den Ausgabebitstrom empfängt, aufrecht zu erhalten oder einzurichten.
  32. Verfahren nach Anspruch 31, wobei die erzeugte Sequenz vor einem gegebenen Bildrahmen des kodierten Videobitstromes eingefügt wird, wobei die Größe der erzeugten Bildrahmen und/oder die Zeitsteuerungs- bzw. Taktgabeinformationen, oder die Zeit der Ausgabe von Daten, verknüpft mit dem erzeugten und/oder dem gegebenen Bildrahmen ausgewählt ist, so dass beim Beginn der Dekodierung des gegebenen Bildrahmens die der Dekodierung der erzeugten Sequenz folgt, die Pufferbelegung eines Dekoders, der den Ausgabevideobitstrom empfängt, im Wesentlichen bei einem gewünschten Wert sein wird.
  33. Verfahren nach Anspruch 32, wobei die erzeugte Sequenz vor dem gegebenen Bildrahmen und nach zumindest einem vorangehenden Bildrahmen in den kodierten Videobitstrom eingesetzt wird, wobei der gewünschte Wert der Pufferbelegung im Wesentlichen gleich zu der Pufferbelegung eingestellt wird, die erwartet wird, wenn keine erzeugte Sequenz zwischen dem vorangehenden Bildrahmen und dem gegebenen Bildrahmen eingesetzt wäre.
  34. Verfahren nach Anspruch 32 oder 33, wobei eine Sequenz, die einen oder mehrere Bildrahmen mit relativ geringem Informationsgehalt aufweist, erzeugt wird, und wobei Zeitsteuerungs- bzw. Taktgabewerte eingestellt werden, so dass Daten für den ersten er zeugten Bildrahmen in dem Dekoderpuffer vor dem Dekodieren über im Wesentlichen die Zeit verbleiben, die in dem kodierten Videobitstrom für Daten für den gegebenen Bildrahmen des Videobitstromes spezifiziert ist, und nachfolgend erzeugte Bildrahmen werden mit einer mittleren Rate zugeführt, die im Wesentlichen gleich der Rate der Wiedergabe dieser Rahmen bzw. Bildrahmen ist.
  35. Verfahren nach Anspruch 34, wobei der Videobitstrom ein MPEG-Bitstrom ist, wobei der effektive vbv_-Verzögerungswert für den ersten erzeugten Bildrahmen gleich zu dem effektiven vbv_-Verzögerungswert für den gegebenen Bildrahmen eingestellt ist.
  36. Verfahren nach einem der Ansprüche 31 bis 35, um die anfängliche Dekodersynchronisation mit einem kodierten Videobitstrom einzurichten, der einen MPEG-Bitstrom aufweist, wobei die erzeugte Sequenz zumindest einen I-Bildrahmen bzw. -Rahmen aufweist.
  37. Verfahren nach irgendeinem der Ansprüche 31 bis 35, um eine Unterbrechung oder Zeitlupenwiedergabe eines kodierten Videobitstromes zu bewirken, der einen MPEG-Bitstrom aufweist, wobei die erzeugte Sequenz einen oder mehrere P-Rahmen bzw. - Bildrahmen aufweist.
  38. Verfahren nach einem der Ansprüche 31 bis 35, um das Schalten eines Ausgangsvideobitstromes von einem ersten kodierten Videobitstrom zu einem zweiten kodierten Videobitstrom zu vereinfachen bzw. zu erleichtern, wobei die Größe der erzeugten Bildrahmen und/oder die Zeitsteuerungs- bzw. Taktgabeinformationen, die mit den erzeugten Bildrahmen und/oder Bildrahmen des ersten und des zweiten kodierten Videobitstromes verknüpft sind, ausgewählt werden, so dass beim Beginn der Dekodierung des zweiten kodierten Videobitstromes, der dem Schalten folgt, die Pufferbelegung eines Dekoders, der den Ausgangsvideobitstrom empfängt, im Wesentlichen bei einem gewünschten Wert sein wird.
  39. Verfahren nach Anspruch 38, wobei der gewünschte Wert der Pufferbelegung auf der Grundlage einer Abschätzung der Pufferbelegung bestimmt wird, wenn der Dekoder den zweiten kodierten Videobitstrom anstelle des ersten kodierten Videobitstromes und der erzeugten Sequenz empfängt.
  40. Verfahren zum Steuern eines Videosystems mit mehreren Quellen, das eine Vorrichtung gemäß einem der Ansprüche 1 bis 21 und zumindest zwei Dekoder enthält, die daran angeschlossen sind, wobei das Verfahren aufweist: ein Studioreferenztakt wird der Vorrichtung zugeführt; Editierungs- oder Ausgabe- bzw. Wiedergabeinformationen werden empfangen, die die zeitliche Steuerung bzw. Taktgabe von Änderungen zwischen Videosequenzquellen spezifizieren; einer der Dekoder wird als eine Videoquelle ausgewählt, um einem Videoausgabekanal auf der Grundlage der Editierungsinformationen zugeführt zu werden; gewünschte Bildausgabezeitinformationen werden der oder jeder Ausgabevorrichtung auf der Grundlage der Editierungs- oder Ausgabe- bzw. Wiedergabeinformationen zugeführt; und die Vorrichtung wird basierend auf dem Studioreferenztakt und der gewünschten Bildausgabezeit gesteuert, so dass ein gewünschter Bildausgang von jedem der Dekoder zu der Zeit verfügbar ist zu der der Dekoderausgang als die Videoquelle ausgewählt wird.
DE69814642T 1997-08-08 1998-08-10 Verarbeitung codierter videodaten Expired - Lifetime DE69814642T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB9716896A GB2328099B (en) 1997-08-08 1997-08-08 Processing coded video
GB9716896 1997-08-08
PCT/GB1998/002397 WO1999008441A2 (en) 1997-08-08 1998-08-10 Processing coded video

Publications (2)

Publication Number Publication Date
DE69814642D1 DE69814642D1 (de) 2003-06-18
DE69814642T2 true DE69814642T2 (de) 2004-03-18

Family

ID=10817258

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69814642T Expired - Lifetime DE69814642T2 (de) 1997-08-08 1998-08-10 Verarbeitung codierter videodaten

Country Status (9)

Country Link
US (1) US6741290B1 (de)
EP (1) EP1002424B1 (de)
JP (1) JP2001513606A (de)
AU (1) AU754879B2 (de)
CA (1) CA2300389A1 (de)
DE (1) DE69814642T2 (de)
ES (1) ES2194338T3 (de)
GB (1) GB2328099B (de)
WO (1) WO1999008441A2 (de)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2795272B1 (fr) 1999-06-18 2001-07-20 Thomson Multimedia Sa Procede de commutation de flux mpeg
US6970510B1 (en) * 2000-04-25 2005-11-29 Wee Susie J Method for downstream editing of compressed video
JP4734690B2 (ja) * 2000-04-28 2011-07-27 ソニー株式会社 信号送出方法及び信号送出装置
JP2004505513A (ja) * 2000-07-25 2004-02-19 エイジルビジョン・エル・エル・シー ネットワークフィードの固定タイムスロットに圧縮されたローカルビデオセグメントをスプライシングすること
US6766376B2 (en) 2000-09-12 2004-07-20 Sn Acquisition, L.L.C Streaming media buffering system
US6594316B2 (en) 2000-12-12 2003-07-15 Scientific-Atlanta, Inc. Method and apparatus for adaptive bit rate control in an asynchronized encoding system
JP3605110B2 (ja) * 2001-07-27 2004-12-22 松下電器産業株式会社 放送システム、放送装置、同期情報差替装置、同期情報差替方法、プログラム及びそのプログラムを記録した記録媒体
US6959044B1 (en) * 2001-08-21 2005-10-25 Cisco Systems Canada Co. Dynamic GOP system and method for digital video encoding
US20030066094A1 (en) * 2001-09-29 2003-04-03 Koninklijke Philips Electronics N.V. Robust method for recovering a program time base in MPEG-2 transport streams and achieving audio/video sychronization
EP1333677A1 (de) * 2002-01-31 2003-08-06 BRITISH TELECOMMUNICATIONS public limited company Videokodierung
US7764863B1 (en) * 2002-03-06 2010-07-27 Bigband Networks Inc. System and method for providing trick modes
US7315622B2 (en) * 2002-06-27 2008-01-01 Nxp B.V. Robust method for achieving audio/video synchronization in MPEG decoders in personal video recording applications
US7693399B2 (en) * 2002-07-11 2010-04-06 Lg Electronics Inc. Method for providing program specific information recorded on high density disc medium
US7787539B2 (en) * 2002-07-17 2010-08-31 Broadcom Corporation Decoding and presentation time stamps for MPEG-4 advanced video coding
JP3513148B1 (ja) * 2002-10-11 2004-03-31 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、動画像符号化プログラム、及び動画像復号プログラム
JP3909704B2 (ja) * 2003-04-04 2007-04-25 ソニー株式会社 編集システム
US9456243B1 (en) 2003-06-06 2016-09-27 Arris Enterprises, Inc. Methods and apparatus for processing time-based content
US7680155B2 (en) * 2003-08-14 2010-03-16 Zenith Electronics Llc PCR jitter reduction in a VSB and/or EVSB multiplexer system
US7983835B2 (en) 2004-11-03 2011-07-19 Lagassey Paul J Modular intelligent transportation system
US8190680B2 (en) * 2004-07-01 2012-05-29 Netgear, Inc. Method and system for synchronization of digital media playback
ES2401964T3 (es) * 2004-07-01 2013-04-25 Oy Gamecluster Ltd Método y dispositivo para suministrar datos a un descodificador
US8233540B2 (en) * 2005-03-10 2012-07-31 Qualcomm Incorporated Method of time base reconstruction for discrete time labeled video
KR100638138B1 (ko) * 2005-05-24 2006-10-24 주식회사 픽스트리 비디오/오디오 부호화 및 다중화 기능을 가진 하드웨어장치 및 그 작동 방법
TWI294085B (en) * 2005-07-12 2008-03-01 Realtek Semiconductor Corp Method and apparatus for synchronizing multimedia data stream
WO2007072252A2 (en) * 2005-12-23 2007-06-28 Koninklijke Philips Electronics N.V. Creation of 'trick-play' streams for plaintext, partially, or fully encrypted video streams
WO2008036949A2 (en) * 2006-09-22 2008-03-27 Eg Technology. Inc. Methods and systems for transport stream time base correction
US20080129361A1 (en) * 2006-12-05 2008-06-05 Rajesh Mamidwar Method and system for programmable delays on transport outputs
US8966103B2 (en) * 2007-12-21 2015-02-24 General Instrument Corporation Methods and system for processing time-based content
US8194756B2 (en) * 2008-05-28 2012-06-05 Broadcom Corporation Using program clock references to assist in transport of video stream to wireless device
US20100043038A1 (en) * 2008-08-14 2010-02-18 Zoran Corporation System and method for efficient video and audio instant replay for digital television
CN101500117A (zh) * 2009-02-18 2009-08-05 腾讯科技(深圳)有限公司 一种视音频数据播放的控制方法及装置
US8606073B2 (en) 2010-05-12 2013-12-10 Woodman Labs, Inc. Broadcast management system
US8643696B2 (en) * 2011-01-19 2014-02-04 Broadcom Corporation Synchronizing media streams using time signal(s) from an independent time source
KR20130003544A (ko) * 2011-06-30 2013-01-09 한국전자통신연구원 단말 장치들 사이의 콘텐츠 동기화 방법 및 시스템
US20150062353A1 (en) * 2013-08-30 2015-03-05 Microsoft Corporation Audio video playback synchronization for encoded media
KR20170068946A (ko) * 2015-12-10 2017-06-20 삼성전자주식회사 방송 수신 장치 및 방송 수신 장치의 제어 방법
CN106507202B (zh) * 2016-11-11 2019-12-17 传线网络科技(上海)有限公司 播放控制方法及装置
US11736755B2 (en) * 2018-04-24 2023-08-22 Google Llc Methods, systems, and media for synchronized media content playback on multiple devices

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4947256A (en) 1989-04-26 1990-08-07 The Grass Valley Group, Inc. Adaptive architecture for video effects
KR0121301B1 (ko) * 1992-09-30 1997-11-17 사또오 후미오 편집신호 디코딩 장치
JPH07212766A (ja) * 1994-01-18 1995-08-11 Matsushita Electric Ind Co Ltd 動画像圧縮データ切り換え装置
EP0692911B1 (de) * 1994-07-15 2000-03-08 Matsushita Electric Industrial Co., Ltd. Verfahren zur Verbindung von MPEG-Videosequenzen
US5534944A (en) * 1994-07-15 1996-07-09 Matsushita Electric Corporation Of America Method of splicing MPEG encoded video
JP3371174B2 (ja) * 1994-09-22 2003-01-27 ソニー株式会社 パケット受信装置
US5652627A (en) * 1994-09-27 1997-07-29 Lucent Technologies Inc. System and method for reducing jitter in a packet-based transmission network
US5828841A (en) 1994-10-31 1998-10-27 Sony Corporation Video signal recording and reproduction apparatus
JP3575100B2 (ja) * 1994-11-14 2004-10-06 ソニー株式会社 データ送信/受信装置及び方法並びにデータ記録/再生装置及び方法
GB9424429D0 (en) 1994-12-02 1995-01-18 Philips Electronics Uk Ltd Audio/video timing discrepancy management
JPH09139937A (ja) * 1995-11-14 1997-05-27 Fujitsu Ltd 動画ストリーム変換装置
KR100308704B1 (ko) 1996-07-04 2001-10-19 모리시타 요이찌 다중화 데이터 생성 장치, 부호화 데이터 재생 장치, 클럭 변환 장치, 다중화 데이터 생성 방법, 부호화 데이터 재생 방법 및 클럭 변환 방법
US6061399A (en) * 1997-05-28 2000-05-09 Sarnoff Corporation Method and apparatus for information stream frame synchronization
US6101195A (en) * 1997-05-28 2000-08-08 Sarnoff Corporation Timing correction method and apparatus

Also Published As

Publication number Publication date
AU8738198A (en) 1999-03-01
JP2001513606A (ja) 2001-09-04
ES2194338T3 (es) 2003-11-16
GB9716896D0 (en) 1997-10-15
CA2300389A1 (en) 1999-02-18
EP1002424B1 (de) 2003-05-14
AU754879B2 (en) 2002-11-28
GB2328099A (en) 1999-02-10
DE69814642D1 (de) 2003-06-18
WO1999008441A8 (en) 1999-06-10
WO1999008441A3 (en) 1999-05-06
EP1002424A2 (de) 2000-05-24
GB2328099B (en) 2002-07-03
US6741290B1 (en) 2004-05-25
WO1999008441A2 (en) 1999-02-18

Similar Documents

Publication Publication Date Title
DE69814642T2 (de) Verarbeitung codierter videodaten
DE69825526T2 (de) Korrektur der vorgegebenen Zeit
DE69736537T2 (de) Ratenregelung für stereoskopische digitale Videokodierung
DE69535553T2 (de) Videokompression
DE69838869T2 (de) Vorrichtung und Verfahren zum Spleißen von codierten Datenströmen sowie Vorrichtung und Verfahren zur Erzeugung von codierten Datenströmen
DE69929989T2 (de) Videokomponentanbindungsverfahren für zwei digitale bildtonprogramme mit duplikation von halbbildern
DE69736706T2 (de) Verfahren und gerät zum spleissen komprimierter datenflüsse
DE69814725T2 (de) Verfahren und Vorrichtung zur Aufzeichnung unterschiedlich formatierter komprimierter Ton- und Videodaten
DE69633552T2 (de) Verfahren und vorrichtung zum bildgenauen zugriff auf digitale audiovisuelle information
DE60207381T2 (de) Verfahren und system zum puffern von stream-daten
DE69722556T2 (de) Synchronisierung einer stereoskopischen Videosequenz
US6459811B1 (en) Bursty data transmission of compressed video data
DE60104013T2 (de) Transkodierung von progressiv-kodierten i-slice-aufgefrischten mpeg datenströmen für trickmodi
DE602004000879T2 (de) Bildwiedergabegerät
DE69835211T2 (de) Umschaltung zwischen komprimierten videobitströmen
DE60123168T2 (de) MPEG-Dekoder
DE19860507A1 (de) Videocodierverfahren, Videodecoder und digitales Fernsehsystem unter Verwendung eines solchen Verfahrens und eines solchen Decoders
WO2015162226A2 (en) Digital media splicing system and method
DE69836899T2 (de) Datenvermittlungsvorrichtung zum Schalten erhaltener Daten ohne die Codiereinheit zu verändern
WO2013007395A1 (de) Verfahren und vorrichtungen zum verzögerungsarmen ein- oder umschalten auf ein digitales videosignal
EP2127382B1 (de) Verfahren und system zum störungsfreien umschalten zwischen programmkanälen in einer videoumgebung
DE69629442T2 (de) Verfahren und Einrichtung zur Kodierung digitaler Videosignale
DE60122649T2 (de) Verfahren zur Übertragungssteuerung von kodierten Daten und Aufnahme- und Wiedergabe-System
DE112011101955B4 (de) Videoanzeigevorrichtung
EP0774867B1 (de) Verfahren zur Erzeugung von Bildsequenzen für einen schnellen Suchvorgang bei einem Filmabspielgerät und Vorrichtung zur Durchführung des Verfahrens

Legal Events

Date Code Title Description
8364 No opposition during term of opposition