DE60032841T2 - Signalprozessor zum nahtlosen Zusammenfügen von MPEG-2 Bitströmen in einem Videokoder - Google Patents

Signalprozessor zum nahtlosen Zusammenfügen von MPEG-2 Bitströmen in einem Videokoder Download PDF

Info

Publication number
DE60032841T2
DE60032841T2 DE60032841T DE60032841T DE60032841T2 DE 60032841 T2 DE60032841 T2 DE 60032841T2 DE 60032841 T DE60032841 T DE 60032841T DE 60032841 T DE60032841 T DE 60032841T DE 60032841 T2 DE60032841 T2 DE 60032841T2
Authority
DE
Germany
Prior art keywords
bitstream
gop
frames
frame
bit stream
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
DE60032841T
Other languages
English (en)
Other versions
DE60032841D1 (de
Inventor
Nicholas Ian Basingstoke Saunders
Robert Mark Stefan Windsor Porter
James Edward Basingstoke Burns
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.)
Sony Europe Ltd
Original Assignee
Sony United Kingdom Ltd
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 Sony United Kingdom Ltd filed Critical Sony United Kingdom Ltd
Publication of DE60032841D1 publication Critical patent/DE60032841D1/de
Application granted granted Critical
Publication of DE60032841T2 publication Critical patent/DE60032841T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf einen Signalprozessor. Die Erfindung betrifft das Verbinden, hier anschließend als Zusammenfügen bezeichnet, von digitalen Bitströmen, die komprimiert sind. Ausführungsformen der Erfindung, die hier beschrieben sind, betreffen das Zusammenfügen digitaler Videobitströme, welche gemäß der MPEG-2-Norm komprimiert sind.
  • Die Erfindung und deren Hintergrund werden mittels eines Beispiels in Bezug auf MPEG-2-Videobitströme beschrieben. Die Erfindung ist jedoch nicht auf MPEG-2 begrenzt.
  • MPEG-2 ist aus beispielsweise ISO/IEC/13818-2 bekannt und wird hier nicht ausführlich beschrieben. Das Zusammenfügen von Video ist ebenfalls bekannt. Das Zusammenfügen analoger Signale ist relativ unkompliziert und kann an der Grenze zwischen benachbarten Rahmen ausgeführt werden, da jeder analoge Rahmen die Gesamtheit der Videoinformation dieses Rahmens unabhängig von anderen Rahmen enthält. Das Zusammenfügen kann ähnlich auf dem digitalen Gebiet für sowohl komprimierte als auch nichtkomprimierte Videodaten durchgeführt werden, wenn alle Rahmen die gesamte Videoinformation des Rahmens enthalten.
  • MPEG-2-komprimiertes Video umfasst Gruppen von I-, P- und/oder B-Rahmen, die als GOPs (Bildgruppen) bekannt sind. I-, P- und B-Rahmen sind ebenfalls bekannt. Ein I- oder intra-codierter Rahmen enthält die gesamte Information des Rahmens unabhängig von jedem anderen Rahmen. Ein P-Rahmen in einer GOP hängt schließlich von einem I-Rahmen ab und kann von anderen P-Rahmen abhängen. Ein B-Rahmen einer GOP hängt schließlich von einem I-Rahmen ab und kann von P-Rahmen in der GOP abhängen. Ein P-Rahmen muss nicht von einem anderen B-Rahmen abhängen.
  • Eine GOP weist üblicherweise 12 oder 15 Rahmen auf, die zumindest einen I-Rahmen und mehrere P- und B-Rahmen umfassen. Um eine GOP korrekt zu decodieren, erfordert dies alle Rahmen der GOP, da ein großer Teil der Videoinformation, die erforderlich ist, einen B-Rahmen in der GOP zu decodieren, in einem vorhergehenden und/oder nachfolgenden Rahmen der GOP ist. Ebenso ist ein großer Teil der Videoinformation, die erforderlich ist, einen P-Rahmen zu decodieren, in einem vorhergehenden Rahmen der GOP.
  • Wenn somit zwei unterschiedliche Bitströme zusammen in einem komprimierten Bereich zusammengefügt werden, ist es wahrscheinlich, dass die Information, die notwendig ist, Rahmen jeder Seite vom Zusammenfügungspunkt zu decodieren, verloren wird.
  • Viele Abhandlungen wurden betreffs des Zusammenfügens komprimierter Bitströme geschrieben, was ein bekanntes Problem bei MPEG ist. Eine Abhandlung "Flexible Switching and Editing of MPEG-2 Video Bitstreams" von P. J. Brightwell, S. J. Dancer und M. J. Knee wurde veröffentlicht in "Atlantic Technical Papers 1996/1997", dessen Einleitung mit September 1997 datiert ist.
  • Die Abhandlung erläutert die Probleme des Zusammenfügens von MPEG-2-Videobitströmen. Zwei Bitströme A und B, die zusammenzufügen sind, werden in entsprechenden Decodern decodiert. Ein Codierer wird vom Decoder A zum Decoder B am Zusammenfügungspunkt umgeschaltet. Diese offenbart, dass in der Nähe eines Zusammenfügungspunkts, wo ein Bitstrom A durch einen Bitstrom B ersetzt wird, die folgenden Modifikationen durchgeführt werden.
  • Die Bildart kann geändert werden, um eine geeignetere Auffrischstrategie rundum den Schaltpunkt bereitzustellen. Im Beispiel unten wird der erste P-Rahmen im Bitstrom B nach dem Schalten in einem I-Rahmen umgesetzt, um volles Auffrischen in der neuen Szene früh bereitzustellen. Ein Bitstrom A enthält außerdem einen I-Rahmen unmittelbar vor dem Schaltpunkt – da dies nicht notwendig ist, wird dieser als ein P-Rahmen aufgezeichnet, um Bits zu sparen. Schaltpunkt
    Figure 00020001
  • Vorhersagemoden und Bewegungsvektoren können Modifikation erfordern, um jegliche Änderungen in der Bildart beim Umcodieren in Betracht zu ziehen, oder um jegliche Vorhersagen zu verhindern, welche über das Schalten beim Umcodieren gemacht werden. Im Beispiel oben werden Makroblöcke, welche ursprünglich für vorwärts- oder bidirektionale Vorhersage für den B-Rahmen verwendet werden, der auf den Schaltpunkt folgt, unter Verwendung des Intra-Modus bzw. der Rückwärtsvorhersage umcodiert. Außerdem sind Vektoren für den I-Rahmen erforderlich, der als ein P-Rahmen umcodiert wird – diese können von den Vektoren in umgebenden Rahmen geschätzt werden oder von I-Rahmen-Verbergungsvektoren genommen werden, welche viele MPEG-2-Bitströme tragen.
  • Die Quantisierungsparameter werden als Teil der Ratensteuerstrategie von Umcodierern geändert. Wie bei einem herkömmlichen Codierer bezweckt dies, die Puffer-Trajektorie eines stromabwärtigen Decoders zu steuern, um Unterlaufen oder Überlaufen zu verhindern und um die Bildqualität so hoch wie möglich beizubehalten. Außerdem verwendet der Ratensteueralgorithmus für das Atlantik-Umschalten die Vbv-Verzögerungswerte in Bitströmen A und B (welche im Info-Bus befördert werden), um zu bewirken, dass die Puffer-Trajektorie für den geschalteten Bitstrom identisch ist mit der für den Bitstrom B in einiger Zukunft (d.h., der eine wird umgeschaltet). In Abhängigkeit von den relativen vbv_Verzögerungswerten kann dies bald nach dem Schalten vorkommen, oder es kann eine Erholungsperiode von wenigern GOPs erforderlich sein. Wenn dies erreicht ist, werden Quantisierungsparameter des Umcodierers auf die des Bitstroms B verriegelt, und das Schalten wird transparent.
  • Die Quantisierungsparameter können ebenfalls geändert werden, um den Vorteil des Effekts zu nutzen, der als temporäres Maskieren bekannt ist. Dies bezieht sich auf die Unfähigkeit der Augen, moderat zu sehen, oder sogar auf große Mengen an Rauschen rundum eine Szenenänderung – üblicherweise 5 dB einer Verschlechterung im Rahmen nach dem Umschalten können nicht gesehen werden – und erlaubt, welche die Anzahl von Bits für Rahmen sehr nahe am Schaltpunkt verwendet werden, reduziert, wodurch eine kürzere Wiederherstellungsperiode zugelassen wird.
  • "Vbv-Verzögerungswerte" sind Messgrößen der Anzahl von Bits im Puffer des stromabwärtigen Decoders. Die Art und Weise, mit der die "Puffer-Trajektorie" für den umgeschalteten Bitstrom identisch zu der für den Bitstrom B gemacht wird, ist in der Abhandlung nicht offenbart. Außerdem kann die Zeitraum, über welchem dies passiert, "bald nachdem dem Umschalten" oder nach wenigen GOPs sein.
  • Wie oben erwähnt kann Zusammenfügung in dem digitalen Bereich für einen komprimierten Bitstrom ausgeführt werden, wenn alle Rahmen die gesamte Videoinformation des Rahmens enthalten. Somit wurde für MPEG vorgeschlagen, komprimierte Bitströme zu editieren, die lediglich I-Rahmen. Das ist Standardpraxis in Studios geworden, um das Editieren zu erleichtern.
  • Die vorliegende Erfindung schlägt das Umsetzen von zwei Bitströmen, die zusammenzufügen sind, vor, und umfasst beispielsweise GOPs von 12 oder 15 Rahmen, für alle I-Rahmen das Zusammenfügen der I-Rahmen von zwei Bitströmen; und das Umcodieren der zusammengefügten Bitströme als GOPs von I- und P- und/oder B-Rahmen.
  • Das Umsetzen aller Rahmen, gleich ob I-, P- und/oder B in I-Rahmen, um diese in I-, P- und B-Rahmen zusammenzufügen und erneut umzusetzen, hat nach dem Zusammenfügen einen Verlust der Bildqualität zur Folge.
  • Es wird gewünscht, die Bildqualität so hoch wie möglich beizubehalten.
  • Gemäß der vorliegenden Erfindung wird ein Signalprozessor zum Zusammenfügen eines komprimierten Videobitstroms B0 mit einem komprimierten Videobitstrom A0 bereitgestellt, um einen komprimierten Videobitstrom C zu bilden, wobei die Bitströme A0, B0 und C GOPs haben, die I-Rahmen und P- und/oder B-Rahmen enthalten, wobei die Bitströme A0 und B0 Codierparameter haben, welche für das Codieren bezeichnend sind, welches durchgeführt wird, um die Bitströme A0 bzw. B0 zu erzeugen, wobei der Prozessor aufweist:
    einen ersten und einen zweiten Eingang zum Empfangen der Bitströme A0 bzw. B0;
    eine erste Einrichtung zum erneuten Codieren der Bitströme A0 und B0, um erneut – codierte Bitströme AI bzw. BI zu bilden, die lediglich I-Rahmen haben, wobei die Codierparameter der Rahmen der Bitströme A0 und B0 unverändert in Verbindung mit den entsprechenden Rahmen der Bitströme AI und BI gespeichert sind;
    eine Einrichtung zum Zusammenfügen des Bitstroms AI mit dem Bitstrom AI an einem Zusammenfügungspunkt, um einen zusammengefügten I-Rahmen-Bitstrom (AI/BI) zu erzeugen;
    eine zweite Einrichtung zum erneuten Codieren des zusammengefügten I-Rahmen-Bitstroms (AI/BI), um den Bitstrom C zur Lieferung zu einem stromabwärtigen Decoder zu bilden, der einen stromabwärtigen Puffer hat, wobei eine Belegung eines derartigen stromabwärtigen Puffers abhängig ist von der Anzahl von Bits, mit denen Rahmen des zusammengefügten I-Rahmen-Bitstroms (AI/BI) durch die zweite Einrichtung erneut codiert sind, wobei eine stromabwärtige Pufferbelegung des Bitstroms C über einen Übergangsbereich gesteuert wird, der eine Übergangs-GOP hat, die den Zusammenfügungspunkt aufweist, so dass die stromabwärtige Pufferbelegung des Bitstroms C sich über die Dauer des Übergangsbereichs von einer stromabwärtigen Pufferbelegung äquivalent zu der eines Bitstroms A0 zu einer stromabwärtigen Pufferbelegung äquivalent zu der des Bitstroms B0 ändert; und
    wobei die Rahmen des Bitstroms AI vor dem Übergangsbereich unter Verwendung der gespeicherten Codierparameter der jeweiligen Rahmen des Bitstroms A0 erneut codiert werden und die Rahmen des Bitstroms BI nach dem Übergangsbereich unter Verwendung der gespeicherten Codierparameter der jeweiligen Rahmen des Bitstroms B0 erneut codiert werden.
  • Durch erneutes Codieren von Parametern der Rahmen vor und nach dem Übergangsbereich (der den Zusammenfügungspunkt umfasst) wird die Reduzierung der Bildqualität minimiert. Aufgrund von Differenzen der vbv-Belegung der ursprünglichen Bitströme A0 und B0 kann der stromabwärtige Puffer jedoch überlaufen oder unterlaufen. Durch Steuern der Belegung des zusammengefügten Bitstroms im Übertragungsbereich kann Überlaufen oder Unterlaufen des stromabwärtigen Puffers vermieden werden.
  • Um die vorliegende Erfindung besser zu verstehen, wird nun beispielhaft auf die beiliegenden Zeichnungen bezuggenommen, in denen:
  • 1 ein Zeitablaufdiagramm ist, welches das Zusammenfügen eines Bitstroms B0 mit einem Bitstrom A0 gemäß einem Beispiel der vorliegenden Erfindung zeigt;
  • 2 einen Bereich R des Flussdiagramms von 1 ausführlicher zeigt;
  • 3A ein schematisches Blockdiagramm eines Signalprozessorbeispiels nach der vorliegenden Erfindung ist;
  • 3B eine Modifikation von 3A zeigt;
  • 4 beispielhafte GOPs in Anzeigereihenfolge und die Anwendung der beispielhaften Bildartentscheidungen zeigt;
  • 5 die GOPs von 4 in Verarbeitungsreihenfolge zeigt;
  • 6 und 7 jeweils beispielhafte Werte der VBV-Belegung und der verbleibenden Bit-GOP für die GOPs von 4 für eine Ausführungsform der Erfindung zeigt;
  • 8 beispielhafte Werte der VBV-Belegung und der Restbit-GOP für die GOPs von 4 für eine andere Ausführungsform der Erfindung zeigt;
  • 9 beispielhafte Werte der VBV-Belegung für die GOPs von 4 für eine weitere Ausführungsform der Erfindung zeigt; und
  • 10A, B und C ein Flussdiagramm ist, welches die Art und Weise zeigt, mit der die Belegung im Übergangsbereich bei einer weiteren Ausführungsform der Erfindung gesteuert wird.
  • Umcodierungsparameter
  • I-Rahmen haben die folgenden Umcodierungsparameter, die bei MPEG bekannt sind.
  • DCT_Art, Q und Q_Matrix, welche bei Ausführungsformen der vorliegenden Erfindung erneut verwendet werden, sind unten beschrieben. Diese Parameter werden beim Aufzeichnen von I-Rahmen unter erneuter Verwendung von Parametern erneut verwendet.
  • P- und B-Rahmen haben die Parameter DCT_Art, Q, Q_Matrix, Pred_Art, MB-Modus und Bewegungsvektoren. Diese Parameter werden beim erneuten Codieren von P- und B-Rahmen unter erneuter Verwendung von Parametern erneut verwendet. Diese Parameter werden erneut berechnet, wenn alle Rahmen völlig umcodiert werden.
  • Überblick
  • Gemäß 1, 3A und 4 sind zwei Bitströme A0 und B0 MPEG-2-codiert mit GOPs, die 12 Rahmen umfassen. In diesem Beispiel haben die Bitströme A0 und B0 die GOP-Struktur:
    IBBPBBPBBPBB
    wie in 4 gezeigt ist. Die Bitströme können jedoch eine andere GOP-Struktur, welche durch MPEG-2 zugelassen ist, haben. Die beiden Bitströme A0 und B0 haben unterschiedliche GOP-Strukturen. Um die Erläuterung zu vereinfachen, wird angenommen, dass die Bitströme A0 und B0 die gleiche GOP-Struktur – wie in 4 gezeigt – haben.
  • Es wird gewünscht, den Bitstrom A0 durch den Bitstrom B0 zu ersetzen. Wie in 1 und 3A gezeigt ist, werden zunächst A0 und B0 decodiert. Wenn A0 und B0 als AI und BI decodiert und umcodiert werden, werden die MPEG-Parameter aller Rahmen der ursprünglichen Bitströme A0 und B0 in Verbindung mit den umcodierten entsprechenden Rahmen von AI und BI gespeichert. I-Rahmen von A0 und B0 werden als I-Rahmen der Bitströme AI und BI unter Verwendung der gleichen Umcodierungsparameter, welche sie in A0 und B0 hatten, gespeichert. P- und B-Rahmen von A0 und B0 werden als I-Rahmen in AI und BI umcodiert, wobei jedoch deren ursprüngliche MPEG-Parameter gespeichert werden. Die MPEG-Parameter werden im umcodierten Bitstrom AI, BI als beispielsweise Benutzerdaten gespeichert.
  • Wenn ein Bediener entscheidet, die umcodierten Bitströme BI und AI zusammenzufügen, betätigt der Bediener den Schalter S1, so dass AI zu einem Speicher 12 bis zum Zusammenfügungspunkt geleitet wird und BI zum Speicher 12 nach dem Zusammenfügungspunkt geleitet wird, so dass der Speicher 12 einen zusammengefügten Bitstrom AI/BI speichert, mit einem Zusammenfügungspunkt zwischen einem Rahmen AI und einem Rahmen BI.
  • Der zusammengefügte Bitstrom AI/BI wird zum Basisband decodiert und in einem Codierer 4 als eine GOP C der Form, die in 4 gezeigt ist, rückcodiert.
  • Bei einer bevorzugten Ausführungsform, welche in 3B gezeigt ist, werden die Bitströme in entsprechenden Speichern 14 und 16 stromaufwärts vom Schalter S1 gespeichert, bevor sie zusammengefügt werden. Der zusammengefügte Bitstrom AI/BI wird in ei nem weiteren Speicher 12 gespeichert. Die Speicher 14, 16 und 12 können beispielsweise digitale Videobandrekorder, I-Rahmenserver und/oder Plattenrekorder sein. Aktuell geeignete VTRs arbeiten mit einer Datenübertragungsrate von 50 Mbit/s zur Kompatibilität mit I-Rahmen.
  • In 1 ist der Zusammenfügungspunkt SPLICE gezeigt. Am Zusammenfügungspunkt schaltet der Schalter S1 beispielsweise den Bitstrom AI auf den Bitstrom BI. Wenn die zusammengefügten Bitströme umzucodieren bzw. rückzucodieren sind, werden sie zum Codierer 4 geführt. Im Beispiel von 1 und 4 findet volles Umcodieren, d.h., ohne erneutes Verwenden der MPEG-Parameter in einem Übergangsbereich beginnend in Bezug auf den Bitstrom AI fünf Rahmen vor dem Zusammenfügungspunkt SPLICE statt. Der Grund dafür wird unten erläutert.
  • Vor dem Beginn des Übergangsbereichs (d.h., mehr als 5 Rahmen vor SPLICE) wird der Bitstrom AI unter erneuter Verwendung der MPEG-Parameter, welche vom ursprünglichen Bitstrom A0 hergeleitet werden, umcodiert.
  • Nach dem Zusammenfügungspunkt SPLICE wird der Bitstrom BI für den Rest der Übergangsperiode völlig umcodiert, während der VBV_Verriegelung erlangt wird, wie unten erläutert wird. Wenn VBV_Verriegelung erlangt wird, fährt das Umcodieren des Bitstroms BI fort, jedoch mit der erneuten Verwendung der MPEG-Parameter, welche vom ursprünglichen Bitstrom B0 hergeleitet werden.
  • Der zusammengefügte und der umcodierte Bitstrom C, der durch den Prozessor P und den Codierer 4 erzeugt wird, wird zu einem stromabwärtigen Decoder 2 geführt, wo der Bitstrom C beispielsweise zur Anzeige decodiert wird. Der stromabwärtige Decoder 2 kann beispielsweise in einem Heimfernsehempfänger sein. Der Prozessor P kann in einem Studio sein.
  • In 3A und 3B wird der zusammengefügte Bitstrom AI/BI im I-Rahmenspeicher 12 gespeichert, bevor er umcodiert wird. Ein Markierer, der den Zusammenfügungspunkt markiert, wird im Bitstrom beispielsweise in Benutzerbits aufgezeichnet.
  • Zeitliche Referenz
  • Eine zeitliche Referenz, bekannt bei MPEG, ist eine Referenz, welche jeden Rahmen von einem GOP-Datenkopf inkrementiert. Es gibt üblicherweise einen GOP-Datenkopf pro GOP, und die zeitliche Referenz inkrementiert bezüglich jeden Rahmen der GOP. Alternativ gibt es einen Datenkopf am Kopf einer Sequenz von GOPs, und die zeitliche Referenz inkrementiert von diesem Datenkopf einmal pro Rahmen. Dies erlaubt, dass Positionen von Rahmen in einer GOP nachgeführt werden können. Die zeitlichen Referenzen für die GOPs der Bitströme A0 und B0 sind in den I-Rahmen-Bitströmen AI und BI gespeichert.
  • Bildartentscheidungen
  • Im Übergangsbereich, der in 1 gezeigt ist, werden folgende Bildart-Entscheidungsregeln angewandt. Die Regeln werden bei dem Umcodieren der I-Rahmen AI und BI angewandt und definieren die Rahmenarten, für welche die I-Rahmen erneut zu codieren sind. Die Entscheidungen werden auf Basis der Rahmenart, die der in Frage stehenden I-Rahmens im ursprünglichen Bitstrom A0 oder B0 hatte, getroffen. Die Information wird im Bitstrom mit den I-Rahmen der Bitströme AI und BI erhalten.
  • Somit wird ein I-Rahmen des Bitstroms AI auf dessen frühere Art bezogen, beispielsweise I0, P0 oder B0, wie in 4 gezeigt ist.
  • Der Bitstrom wird – in diesem Beispiel AI – vor dem Zusammenfügen umcodiert, so dass:
    • (1) die beiden "I0"- oder "P0"-Rahmen vor der Zusammenfügung umgesetzt werden auf "P";
    • (2) wenn der letzte Rahmen vor dem Zusammenfügen ein "B0"-Rahmen ist, wird dieser umgesetzt auf "P". Der Bitstrom wird – in diesem Beispiel BI – nach der Zusammenfügung umcodiert, so dass:
    • (3) der erste "I0"- oder "P0"-Rahmen nach dem Zusammenfügen umgesetzt wird auf "I"; und
    • (4) wenn die erste GOP nach dem Zusammenfügen und nach der Anwendung der Regeln (3) weniger als drei "P"-Rahmen enthält, der erste "I0"-Rahmen der nachfolgenden GOP auf "P" umgesetzt wird, wodurch die GOP bezüglich der Länge erweitert wird.
  • Eine neue Übergangs-GOP beginnt mit einem I-Rahmen bei der Zusammenfügung, und die neue GOP kann bezüglich der Länge anders sein als die vorhergehenden (und nachfolgenden) GOPs im Bitstrom B0. Die neue GOP ist in Wirklichkeit eine Vorhersage, wo VBV_Verriegelung zu erzielen ist. Die Anwendung dieser Regeln ist in 4 bei (1), (2), (3) und (4) gezeigt.
  • In 4 ist:
    A der Bitstrom A0 (vor Umcodierung wie alle I-Rahmen AI),
    B der Bitstrom B0 (vor Umcodieren wie alle I-Rahmen BI),
    C der zusammengefügte Bitstrom (nach Umcodieren aller I-Rahmen des zusammengefügten Bitstroms AI/BI am Ausgang C des Codierers 4), als ob die Bildartentscheidungen nicht getroffen wurden, und
    C' der zusammengefügte Bitstrom am Ausgang C des Codierers 4, wobei die Bildartentscheidungen dafür angewandt sind.
  • Durch Anwendung von Regel (2) wird der "B0"-Rahmen von AI unmittelbar vor der Zusammenfügung auf P umgesetzt. Durch Anwendung von Regel (1) auf den I0-Rahmen von AI vor der Zusammenfügung ebenfalls auf P umgesetzt.
  • Durch Anwendung von Regel (3) wird der erste "P0"-Rahmen des Stroms BI nach der Zusammensetzung auf I im Strom CI umgesetzt.
  • Durch Anwendung von Regel (4) hat die GOP des Bitstroms BI nach der Zusammenfügung (nach Umsetzung des ersten P-Rahmens auf I) weniger als 3 "P0"-Rahmen. Dafür wird der nächste "I0"-Rahmen auf "P" umgesetzt. Die Anwendung dieser Regeln ergibt eine GOP, welche einen Vorhersage-VBV_Verriegelungs-Punkt gibt, wie unten erläutert wird.
  • Verarbeitungsreihenfolge
  • 4 zeigt die Rahmen der Bitströme in der Reihenfolge, in welcher sie angezeigt werden oder angezeigt werden würden. 5 zeigt die Reihenfolge, mit der die Rahmen verarbeitet werden. Beispielsweise sind in 4 (Anzeigereihenfolge) der Rahmen 0, 1 und 2 des Bitstroms A0 in dieser Reihenfolge gezeigt. Sogar, obwohl die B-Rahmen 0 und 1 vor dem I-Rahmen 2 angezeigt würden, hängen sie vom I-Rahmen 2 ab, der zu decodieren ist. Somit muss, um diese zu decodieren, der I-Rahmen 2 den B-Rahmen, wie in 5 gezeigt ist, vorhergehen. In gleicher Weise hängen die B-Rahmen 3 und 4 von 4 vom P-Rahmen 5 von 4 ab; somit wird in 5 der P-Rahmen 5 von 4 zum P-Rahmen 3, der den beiden B-Rahmen vorhergeht.
  • Konstante Bitrate
  • Das Beispiel des Prozessors von 3A oder 3B hat eine konstante Bitrate. Die Bitströme A0, B0 haben eine feste Bitrate, und der Codierer 4 erzeugt am Ausgang C des Codierers 4 eine konstante Bitrate.
  • Stromabwärtiger Decoder und Puffer
  • Der stromabwärtige Decoder 2 hat einen Puffer 8. Das Codieren, welches im Codierer 4 des Prozessors stattfindet, ist so eingerichtet, dass der Puffer 8 des stromabwärtigen Decoders 2 weder überläuft noch unterläuft. 6, 7 und 8 zeigen die Arbeitsweise des stromabwärtigen Puffers 8 des stromabwärtigen Decoders 2.
  • (Der Codierer 4 hat einen entsprechenden Puffer und arbeitet wie der inverse Puffer, der in 6, 7 und 8 gezeigt ist).
  • Folgendes sind bekannte MPEG-Ratensteuerparameter.
  • VBV
  • VBV ist ein virtueller Pufferverifizierer. Dieser ist eine Messgröße der Anzahl von Bits, welche im stromabwärtigen Puffer 8 sein würden.
  • Restbit-GOP
  • Am Beginn einer GOP ist diese ein Ziel für die gesamte GOP. Diese ist eine Zielzahl für die gesamte Anzahl von Bits für den Rest der aktuellen GOP. Sie wird reduziert, wenn die GOP fortschreitet.
    Komplexität X, Konstanten Kp, Kb und N, Np, Nb
    N ist die Anzahl von Bildern in einer GOP
    Np ist die Anzahl von P-Rahmen, die in einer GOP verbleiben
    Nb ist die Anzahl von B-Rahmen, welche in einer GOP verbleiben
  • Kp und Kb sind "universelle" Schätzungen in Abhängigkeit von Quantisierungsmatrizen. Sie definieren (indirekt) die Relativgrößen von I-, P- und B-Rahmen. Xi, Xp, Xb sind "Komplexitätsmessgrößen" für I-, P- und B-Rahmen.
  • Diese Parameter werden in einer bekannten Art und Weise verwendet, um die Bits einer GOP unter I-, P- und B-Rahmen zu verteilen.
  • Sie werden weiter erläutert in "Test Model 5", veröffentlicht durch "International Organisation for Standardisation Organisation Internationale De Normalisation Coded Representation of Picture and Audio Information ISO/IEC JTCI/SC29/WG11/N0400".
  • Erzielung von VBV-Verriegelung
  • Wie oben erläutert soll der stromabwärtige Puffer weder unterlaufen noch überlaufen. Bei MPEG-2 wird der Puffer normalerweise ungefähr halbvoll gehalten. Eine Diskontinuität im Bitstrom kann veranlassen, dass der Puffer unterläuft oder überläuft. VBV ist die Messgröße der Pufferbelegung.
  • 6, 7 und 8 zeigen als einen extremen Fall die Pufferbelegung VBV für zwei Bitströme A0 und B0. A0 hat eine typische Belegung, und B0 hat eine unübliche hohe Bele gung. Bei der vorliegenden Ausführungsform der Erfindung wird der ursprüngliche Bitstrom B0, der als BI umcodiert wurde, in den ursprünglichen Bitstrom A0 zusammengefügt, der als AI umcodiert wurde. Der zusammengefügte AI/BI Bitstrom wird umcodiert unter Verwendung – außerhalb des Übergangsbereichs – der ursprünglichen Umcodierungsparameter Q, DCT-Art, Q-Matrix, Pred-Art, MB-Modus und Bewegungsvektoren umcodiert. Somit werden die Bitströme außerhalb des Übergangsbereichs auf die gleiche Form umcodiert und somit ungefähr auf die gleiche VBV wie in ihren ursprünglichen Formen A0, B0. Die VBV-Werte der ursprünglichen Bitströme A0, B0 können sehr unterschiedlich sein. Folglich, sogar obwohl die Bitströme ebenso wie alle I-Rahmen wie einem Zwischenschritt zum Editieren umcodiert werden, hat der VBV des zusammengefügten Bitstroms eine Diskontinuität rundum den Zusammenfügungspunkt. Somit zeigen die 6, 7 und 8 die VBV-Diskontinuität, die vorgefunden wird, wenn die I-Rahmen-Bitströme AI und BI zusammengefügt werden und diese als Bitstrom C aufgezeichnet werden.
  • In der Situation, wo der Bitstrom mit A mit typischer Belegung und der Bitstrom B mit hoher Belegung auf A am Zusammenfügungspunkt zusammengefügt werden, ist es im Übergangsbereich notwendig:
    • a) Kontinuität bereitzustellen, obgleich Änderung der VBV-Belegung; und
    • b) die VBV-Belegung von dem Wert des Stroms A unmittelbar vor der Zusammenfügung zu einem Zielwert zu ändern, der der Wert von VBV für den Strom B ist.
  • Wie am besten in 7 oder 8 zu sehen ist, beginnt der VBV des Bitstroms C identisch mit A und ändert sich dann progressiv in Richtung auf den VBV von B.
  • Der Punkt, bei dem die VBV-Belegung von C identisch zu der des Stroms B wird, ist der VBV-Verriegelungspunkt.
  • Wie oben erwähnt zeigen die 6, 7 und 8 die Belegung des stromabwärtigen Puffers 8. Um die VBV-Verriegelung zu erzielen, wird der Codierer 4 gesteuert.
  • 6 und 7 zeigen ein zweites Verfahren zum Erlangen der VBV-Verriegelung. 8 zeigt ein erstes Verfahren, bei dem die ersten Bildart-Entscheidungsregeln wie oben festgelegt verwendet werden.
  • Erstes Verfahren (Lange Wartezeit)
  • Das erste Verfahren nutzt die Bildart-Entscheidungsregeln (1) bis (4) oben unverändert.
  • a) Einstellen der Restbit-GOP
  • Die Länge der Übergangs-GOP ist aus dem Einstellergebnis der GOP-Länge unter Verwendung der Bildentscheidungsregeln bekannt.
  • Der Wert der Restbit-GOP wird auf null am Zusammenfügungspunkt zurückgesetzt, der durch den Zusammenfügungsmarkierer markiert wird. Der Wert der Restbit-GOP wird in normaler Weise für die neue GOP erneut berechnet, welche dem Zusammenfügungspunkt folgt, und
    ein Extrawert-Bit wird dem Ergebnis hinzugefügt, wobei Extra-Bits sind
    [VBV_C_Splice-VBV_B_Lock]
    wobei VBV_C_Splice die VBV-Belegung des Stroms C unmittelbar vor der Zusammenfügung ist, welche immer das Ende der vorherigen (eingestellten) GOP wegen der Bildentscheidungsregeln ist und VBV_B_Lock die VBV-Belegung des Stroms B am Ende der neuen GOP ist. Dieser Wert ist bekannt da die Rahmen des B-Stroms gespeichert sind und die Länge der neuen GOP bekannt ist.
  • Extra Bits können negativ sein.
  • Der Anfangswert der Restbit-GOP, der auf diese Weise berechnet wird, wird um einen Faktor α reduziert, wobei α kleiner als 1 ist. Der Faktor α wird gewählt, um den Wert der Restbit-GOP um einen kleinen Betrag, beispielsweise 5% oder weniger zu reduzieren, so dass Reservebits zulassen, dass zusätzliche Bits (Füllbits) hinzugeführt werden, um eine exakte Verriegelung zu erzielen. Die Notwendigkeit dafür wird unten erläutert. Der Faktor α wird empirisch bestimmt. In der folgenden Erläuterung wird angenommen, dass dieser fest ist. Es kann jedoch variiert werden.
  • b) Komplexität
  • Der Datenstrom A wird decodiert und vor dem Zusammenfügen erneut codiert. Dieses Codieren tritt mit Komplexitätswerten auf, die für den Strom A geeignet sind. Jedoch sind diese Werte nicht für den Strom B geeignet. Komplexitätswerte XI, XP, XB der I-, P- und B-Rahmen des Stroms B werden berechnet auf der Basis von
    X = S·Q
    wobei X = Komplexitätswert
    S = Anzahl von Bits, welche durch Codieren des Bilds erzeugt werden
    Q = Durchschnittsquantisierungsparameter aller Makroblöcke in einem Bild
    X = S·Q ist eine Standardgleichung zur Ratensteuerung bei MPEG
  • Da die zusammenzufügenden Bitströme AI und BI lediglich I-Rahmen aufweisen, werden die Komplexitätsschätzungen wie folgt hergeleitet:
    • a) für P- und B-Rahmen von den ersten Erzeugungsumcodierungsparametern (die in Verbindung mit den Rahmen gespeichert wurden) der I-Rahmen des Bitstroms BI nach dem Zusammenfügungspunkt; und
    • b) für die I-Rahmen von irgendeinem I-Rahmen des Stroms BI nach dem Zusammenfügungspunkt. Vorzugsweise wird ist der gewählte I-Rahmen ein Rahmen, der als I-Rahmen im Strom C umcodiert wird.
  • Diese Rahmen können am Zusammenfügungspunkt aufgrund der 3-Rahmen-Umordnungsverzögerung verfügbar sein. Andernfalls kann eine 3-Rahmenverzögerung vorgesehen werden.
  • Am Zusammenfügungspunkt ersetzen diese Komplexitätswerte die existierenden Werte (des Stroms A). Somit werden nach der Zusammenfügung Komplexitätswerte, welche für den Strom B geeignet sind, verwendet. Bei der vorliegenden Ausführungsform, wo zunächst der zusammengefügte Bitstrom AI/BI im I-Rahmenspeicher als I-Rahmen gespeichert ist, werden die Komplexitätswerte vom Bitstrom BI nach dem Zusammenfügungspunkt hergeleitet. Sie können unter Verwendung einer geeigneten Verzögerung hergeleitet werden. Die Verzögerung kann aufgrund der Verzögerung, die für Umordnung der Rahmen erforderlich ist, anhaften.
  • Die Komplexitätswerte steuern die Verteilung von Bits unter I-, P- und B-Rahmen. Das Erzielen guter subjektiver Qualität hängt von den Komplexitätswerten ab.
  • c) Virtuelle Puffermodifikation
  • Die virtuellen Puffer werden verwendet, die Q-Referenzskala für jeden Makroblock zu berechnen. Eine Verbesserung der Qualität kann durch Einstellen der virtuellen Puffer auf geschätzte B-Stromwerte beim Zusammenfügungspunkt erlangt werden. Dies stellt sicher, dass der resultierenden Q-Skalen ähnlich denjenigen sind, welche im Strom B in der vorherigen Generation verwendet werden, anstelle mit den Q-Stromskalen für Strom A weiterzufahren.
  • Virtuelle Pufferwerte für den B-Strom werden geschätzt und am Zusammenfügungspunkt erzwungen.
  • Für den I-Rahmen wird der Wert berechnet so:
    geschätzter_buf_i = (Q·Bit_Rate)/(31·Rahmenrate), wobei Q der Durchschnittsquantisierungsparameter ist. Die Werte für die P- und B-Rahmen werden ähnlich berechnet.
  • Da die Bitströme, welche zusammenzufügen sind, lediglich I-Rahmen umfassen, werden virtuelle Pufferschätzungen wie folgt hergeleitet:
    • a) für P- und B-Rahmen von den Umcodierungsparametern für die erste Generation (welche in Verbindung mit den Rahmen gespeichert sind) der I-Rahmen des Bitstroms BI nach dem Zusammenfügungspunkt; und
    • b) für die I-Rahmen für irgendeinen I-Rahmen des Stroms BI nach dem Zusammenfügungspunkt. Vorzugsweise wird der I-Rahmen als ein Rahmen gewählt, der als ein I-Rahmen im Strom C umcodiert wird.
  • Diese Rahmen können am Zusammenfügungspunkt aufgrund der 3-Rahmenumordnungsverzögerung verfügbar sein. Ansonsten kann eine 3-Rahmenverzögerung vorgesehen sein.
  • Das Codieren im Codierer 4 wird gemäß der Restbit-GOP im Übergangsbereich zwischen der Zusammenfügung und VBV-Verriegelung gesteuert, so dass auf die Belegung des stromabwärtigen Puffers eine fortlaufende jedoch sich ändernde Trajektorie von vor dem Zusammenfügen beim Bitstrom A Belegung zu VBV Verriegelung bei der B-Bitstrombelegung folgt. Die Steuerung wird auch dazu verwendet, die Komplexität und virtuelle Puffer wie oben beschrieben zu zwingen.
  • Um die Belegung des stromabwärtigen Puffers wie in 8 gezeigt zu vergrößern, wird der Puffer im Codierer gesteuert, um Bilder mit einer kleineren Anzahl von Bits auszugeben, so dass dessen Belegung abnimmt. Bilder mit einer kleineren Anzahl von Bits werden durch vergrößerte Kompressions-/gröbere Quantisierung erzeugt.
  • Wenn die Trajektorie von hoher Belegung des stromabwärtigen Puffers zu unterer Belegung des stromabwärtigen Puffers läuft, wird der Codierer gemäß der höheren Restbit-GOP gesteuert, um die Belegung von dessen Puffer zu steigern, wodurch größere Bilder durch weniger Kompression/feinere Quantisierung erzeugt werden.
  • Verschiedene Modifikationen können bei dem ersten Verfahren ausgeführt werden. Die VBV-Werte eines Bitstroms, beispielsweise des Stroms B, neigen dazu, konstante Spitzenwerte grob beizubehalten. Anstelle des Findens des Spitzenwerts VBV des Stroms B beim vorhergesagten Verriegelungspunkt VBV-Verriegelung könnte der VBV-Wert des Stroms B am I-Rahmen, der am nächsten zum Zusammenfügungspunkt ist, als Vorhersagebelegung bei VBV-Verriegelung verwendet werden.
  • Der Wert kann periodisch über die GOP eingestellt werden.
  • Zweites Verfahren (kurze Wartezeit)
  • Das zweite Verfahren modifiziert das erste Verfahren wie folgt:
    Das zweite Verfahren verwendet die Bildentscheidungsregeln (1) bis (4) oben, jedoch mit der folgenden Modifikation:
    Regel (1) wird geändert auf
    (1') der letzte "I0"- oder "P0"-Rahmen des Bitstroms (AI) vor dem Zusammenfügen wird umgesetzt in "P".
  • Die Komplexität und die virtuelle Puffermodifikation werden mit der gleichen Weise wie beim ersten Verfahren behandelt.
  • Einstellung von Restbit-GOP
  • Um die Belegung des stromabwärtigen Puffers wie in 6 gezeigt zu steigern, wird der Puffer im Codierer gemäß der Restbit-GOP gesteuert, um Bilder mit einer kleineren Anzahl von Bits auszugeben, so dass dessen Belegbarkeit abnimmt. Bilder mit einer kleineren Anzahl von Bits werden durch vergrößerte Kompressions-/gröbere Quantisierung vergrößert.
  • Wenn die Trajektorie von hoher Belegung des stromabwärtigen Puffer zu niedriger Belegung des stromabwärtigen Puffers läuft, wird der Codierer gemäß der höheren Restbit-GOP gesteuert, um dessen Puffer zu vergrößern, wodurch größere Bilder durch geringere Kompressions-/feinere Quantisierung erzeugt werden.
  • Die Restbit-GOP ist das Ziel für die Anzahl von Bits, welche in der GOP bleiben.
  • Die Länge der Übergangs-GOP ist aus dem Ergebnis zum Einstellen der GOP-Länge bekannt, wobei die Bildentscheidungsregeln verwendet werden.
  • Der Wert der Restbit-GOP wird am Zusammenfügungspunkt auf null zurückgesetzt. Der Wert der Restbit-GOP wird in normaler Weise für die neue Übergangs-GOP, welche auf den Zusammenfügungspunkt folgt, erneut berechnet. Der Wert der Restbit-GOP bei der Zusammenfügung wird geändert um einen Wert VBV_diff, wobei
    VBV_diff = VBV_C_Zusammenfügung-VBV_B_nächste_I oder P
  • Das heißt, die Restbit-GOP wird anfangs auf die Summe gesetzt von [die Normalzuteilung von Bits für die GOP] und [die Differenz zwischen (dem VBV-Wert des Stroms C bei der Zusammenfügung) und (dem VBV-Wert beim ersten I- oder P-Rahmen im Anschluss an die Zusammenfügung des Stroms B)]. Dies ist eine Vorhersage des VBV des Bitstroms B am VBV-Verriegelungspunkt. Der Wert der Restbit-GOP wird dann um einen Faktor α < 1 für die Übergangs-GOP reduziert.
  • Der Faktor reduziert die Restbit-GOP für die Übergangs-GOP um einen empirischen-bestimmten Betrag von beispielsweise 5% oder weniger. Es sei hier angenommen, dass α fest ist. Dieser kann variiert werden.
  • Die Restbit-GOP wird für jeden Rahmen mit der Anzahl von Bits aktualisiert, die verwendet werden, diesen Rahmen zu codieren. Zusätzlich geschieht die folgende Aktualisierung.
  • Am Zusammenfügungspunkt basiert VBV_diff auf VBV_C_Zusammenfügen-VB_B_nächste I oder P. Nachfolgend gilt bei jedem nachfolgenden I- und P-Rahmen des Stroms B VBV_Diff = VBV_B_aktuell_I oder P-VBV_B_nächste_I oder P. Wenn VBV_diff positiv ist, wird die Änderung durch die Anzahl von I- und P-Rahmen im Rest der Übergangs-GOP geteilt und der Rest zur Restbit-GOP bei jeder nachfolgenden Aktualisierung addiert. Wenn VBV_diff negativ ist, wird die Restbit-GOP um VBV_diff reduziert. Im Strom von 6 und 7 wird somit die Restbit-GOP alle 3 Rahmen aktualisiert. Dies läuft weiter, bis VBV-Verriegelung erzielt ist.
  • Der Anfangswert der Restbit-GOP wird um den Faktor α reduziert. α wird gewählt, um den Wert der Restbit-GOP zu reduzieren, so dass Reservebits bei VBV-Verriegelung verfügbar sind. Die Reservebits erlauben, dass Zusatzbits ("Auffüllbits") hinzugefügt werden, um exakte Verriegelung zu erreichen. Die Notwendigkeit dafür wird unten erläutert.
  • Die Differenzen VBV_diff können berechnet werden, da die Rahmen gespeichert sind.
  • Bei der obigen Erläuterung des ersten und des zweiten Verfahrens wird angenommen, dass VBV-Verriegelung am Ende der ersten Übergangs-GOP nach dem Zusammenfügungspunkt erzielt wird. VBV-Verriegelung kann nicht in dem Fall von extremen Differenzen zwischen zwei Bitströmen auftreten. Bei dem zweiten Verfahren wird der Wert von Restbit-GOP bei jedem dritten Rahmen auf einen I- oder P-Rahmen aktualisiert, und der Prozess zum Versuchen, VBV-Verriegelung zu erzielen, läuft weiter, bis Verriegelung erzielt ist.
  • Drittes Verfahren (Reduzierungsgrenzen)
  • Ein drittes Verfahren, welches anschließend erläutert wird, bezweckt, dieses Problem zu reduzieren. Dies erlaubt außerdem die automatische Bestimmung, ob der Übergangsbereich zwischen den Bitströmen A und B zu erweitern ist. Das dritte Verfahren modifiziert das zweite Verfahren auf die Weise, dass die Restbit-GOP gesteuert wird. Es verwendet die Bildentscheidungsregeln des zweiten Verfahrens und wird mit der Komplexität und virtuellen Puffermodifikation in der gleichen Weise wie beim ersten Verfahren fertig.
  • Die Restbit-GOP wird bei jedem Rahmen mit der Anzahl von Bits aktualisiert, die verwendet werden, diesen Rahmen zu codieren, wie dies bei MPEG-2 normal ist. Zusätzlich wird diese gemäß 10A, B und C am Start der Übergangs-GOP und bei jedem I- oder P-Rahmen darin aktualisiert, wie mit Hilfe von 10A bis C beschrieben wurde.
  • d) Einstellen von Restbit-GOP
  • Um die Belegung des stromabwärtigen Puffers zu vergrößern, wie in 9 gezeigt ist, wird der Puffer im Codierer gemäß der Restbit-GOP gesteuert, um Bilder mit einer kleineren Anzahl von Bits auszugeben, so dass dessen Belegung abnimmt. Bilder mit einer kleineren Anzahl von Bits werden durch vergrößerte Kompressions-/gröbere Quantisierung erzeugt.
  • Wenn die Trajektorie von hoher Belegung des stromabwärtigen Puffers zu niedrigerer Belegung des stromabwärtigen Puffers verläuft, wird der Codierer gemäß der höheren Restbit-GOP gesteuert, um die Belegung dieses Puffers zu steigern, wodurch größere Bilder durch geringere Kompressions-/feinere Quantisierung erzeugt werden.
  • Die Restbit-GOP ist das Ziel für die Anzahl von Bits, welche in der GOP verbleiben.
  • Die Länge der Übergangs-GOP ist aus dem Ergebnis des Einstellens der GOP-Länge bekannt, wobei die Bildentscheidungsregeln (1) bis (4) oben verwendet werden.
  • Die Restbit-GOP wird in der folgenden Weise eingestellt. Sie wird nach jedem Rahmen um die Anzahl von Bits reduziert, die verwendet werden, diesen Rahmen zu codieren, wie dies bei MPEG-2 normal ist. Zusätzlich wird gemäß 10A, B und C diese am Start der Übergangs-GOP und bei jedem I- oder P-Rahmen aktualisiert, wie hier mit Hilfe von 10A bis C beschrieben wurde.
  • Am Zusammenfügungspunkt wird die Restbit-GOP auf die normale Zuteilung von Bits für die Übergangs-GOP gesetzt, welche durch die Bildentscheidungsregeln definiert ist, wobei die Zuteilung vorzugsweise um den Faktor α reduziert wird, ein variabler Überlauf auf null gesetzt wird und ein variabler Reduktionsüberlauf (Reduktions-Überlauf) auf null gesetzt wird. [Schritt S1]. (Überlauf ist ein positiver Wert von VBV_diff, gemittelt über die verbleibenden I- und P-Rahmen der GOP, und Reduzierungsüberlauf ist der Überschuss von VBV_diff über dem Reduktionslimit).
  • Ein variables Verkleinerungslimit wird zu Anfang gesetzt auf
    minus (Bitrate·remain_num_total·max_red_%)/ Rahmenrate)
    wobei remain_num_total die Anzahl von Rahmen ist, welche in der GOP verbleiben, und
    max_red_% eine Zahl ist, welche empirisch gewählt wird, welche eine gewünschte maximale Reduzierung in der Bitrate zeigt, welche während der Übergangs-GOP zugelassen wird. [Schritt S2]. Reduzierungslimit zeigt die maximale Menge, mit der die Bitrate bei jeder Aktualisierung in Bezug auf einen I- oder P-Rahmen reduziert werden kann.
  • Die VBV_diff für den Start der Übergangs-GOP wird berechnet als
    (VBV_C_Zusammenfügen) – (VBV_B_nächste_I oder P)
    d.h., als die Differenz zwischen dem VBV-Wert des Bitstroms C am Zusammenfügungspunkt und dem VBV-Wert des Bitstroms B beim unmittelbar folgenden I- oder P-Rahmen. [Schritt S31].
  • Man wird es würdigen, dass Reduzierungslimit eine negative Zahl in diesem Beispiel ist. Auch die Schritt S1, S2 und S31 richteten Anfangwerte, die verwendet werden, lediglich am Start der Übergangs-GOP ein.
  • Im Schritt 4 bestimmt Schritt S4, ob der Anfangswert von VBV_diff am Start der GOP positiv oder negativ ist, wie durch den Schritt S31 berechnet wurde. Wenn die Aktualisierung auf einem I- oder P-Rahmen nicht am Start der GOP stattfindet, wird VBV_diff durch Schritt S32 berechnet als
    VBV_diff = (VBV_B_laufende I oder P) – (VBV_B nächste I oder P) + Reduzierungsübertrag.
  • Das heißt, VBV_diff wird durch die Differenz zwischen dem laufenden VBV-Wert des Bitstroms B und dem nächsten VBV_Wert (auf einem I- oder P-Rahmen) zusätzlich eines Reduzierungs-Übertrags aktualisiert.
  • Aktualisierungen finden dann in der folgenden Weise statt, welche gleich auf den Start der GOP und auf nachfolgende Aktualisierungen in Bezug auf einen I- oder P-Rahmen angewandt wird.
  • VBV_diff positiv im Schritt S4 (siehe 10B).
  • Wenn VBV_diff positiv ist, inkrementiert danach der Schritt S5 den variable Übertrag durch
    (VBV_diff)/(Anzahl von I- oder P-Rahmen, die in der GOP verbleiben)
    und danach inkrementiert der Schritt S6 die Restbit-GOP mit dem Übertrag. Danach mitteln die Schritt S5 und S6 positive Werte von VBV_diff über die verleihenden I- und P-Rahmen in der GOP. Bei jeder Gelegenheit, wo es eine positive VBV_diff gibt, wird die Restbit-GOP um den Übertrag inkrementiert.
  • Der Schritt S7 legt die Reduzierungs-Grenze fest auf:
    (Reduzierungs-Grenz-Übertrag)·(next_remain_num_total)/(remain_num_total), wobei next_remain_num_total die Gesamtzahl von Rahmen ist, welche in der GOP bei der nächsten Aktualisierung verbleiben (bei einem I- oder P-Rahmen) einschließlich des nächsten I- oder P-Rahmens, und remain_num_total die Anzahl von Rahmen ist, welche in GOP einschließlich des aktuellen Rahmens verbleiben. Das heißt, dass die Negativwert-Reduzierungsgrenze durch den Übertrag vergrößert wird, da die positive Änderung in der Restbit-GOP eine größere Änderung der VBV in einer nachfolgenden Aktualisierung zulässt.
  • Der Schritt S8 setzt den Reduzierungsübertrag auf null: Reduzierungsübertrag wird bei jeder Aktualisierung in Bezug auf einen I- oder P-Rahmen erneut berechnet, um eine Akkumulation von deren Werte zu vermeiden.
  • VBV_diff negativ im Schritt S4 (siehe 10B).
  • Wenn VBV_diff im Schritt S4 negativ ist, dann wird in einem Schritt S10 der variable Überlauf (der der kumulative gemittelte positive Wert von VBV_diff von vorherigen Aktualisierungen ist, welche im Schritt S5 berechnet wurden) zu VBV_diff addiert, um einen neuen Wert von VBV_diff zu erzeugen. Das heißt, der Überlauf wird zu VBV_diff addiert, um diesen weniger negativ zu machen, um somit eine entsprechend höhere Änderung zuzulassen, damit sie in Rest-Bit-GOP auftritt, da mehr Bits verfügbar sind. Das Ergebnis, wie im Schritt S11 getestet, ist folgendes, dass der neue Wert von VBV_diff mehr oder weniger negativ sein kann als Reduzierungsgrenze, welche die maximale Änderung ist, welche in der Restbit-GOP zugelassen ist.
  • Wenn der neue Wert von VBV_diff negativer ist als die Reduzierungsgrenze, wird die Restbit-GOP um die Reduzierungsgrenze reduziert (Schritt S15). Der Reduzierungsübertrag wird im Schritt S16 als Überschuss des neuen Werts von VBV_diff über der Reduzierungsgrenze berechnet. Wenn die Reduzierungsgrenze in der GOP überstiegen ist, wird diese auf null im Schritt S17 gesetzt.
  • Wenn der neue Wert von VBV_diff weniger negativ ist als die Reduzierungsgrenze, wird im Schritt S12 die Restbit-GOP um den Wert von VBV_diff geändert. Dann wird es als vorteilhaft ansehen, dass der neue Wert von VBV_diff in diesem Fall positiv oder negativ sein könnte. Wenn VBV_diff positiv ist, wird die Restbit-GOP um VBV_diff vergrößert, und wenn VBV_diff negativ ist, wird die Restbit-GOP um VBV_diff reduziert.
  • Im Schritt S13 wird die Reduzierungsgrenze festgelegt auf:
    (Reduzierungsgrenze-VBV_diff)·(next_remain_num-total)/(remain_num_total),
    wobei next_remain_num_total und remain_num_total definiert sind für den Schritt S7. Das heißt, die Reduzierungsgrenze wird verkleinert (d.h., weniger negativ gemacht), da die GOP fortschreitet, wenn VBV_diff negativ ist, da weniger Bits in der GOP verfügbar sind; und dem Skalierungseffekt von (next_remain_num_total)/(remain_num_total) unterworfen, die vergrößert wird (d.h., mehr negativ gemacht wird), wenn VBV_diff positiv ist, da mehr Bits in der GOP verfügbar sind.
  • Der Reduzierungsüberlauf wird auf null im Schritt S14 aus dem gleichen Grund wie im Schritt S8 festgelegt.
  • Der Algorithmus läuft dann weiter zur nächsten I- oder P-Aktualisierung im Schritt S9. Wenn im Schritt S18 das Ende der Übergangs-GOP, wie durch die Bildentscheidungsregeln bestimmt, nicht aufgetreten ist, kehrt die Verarbeitung zurück zum Schritt S32 und wiederholt, bis zum Ende der Übergangs-GOP.
  • Am Ende der GOP bestimmt der Schritt S19, ob der Reduzierungsübertrag negativer ist als der Schwellenwert-Reduzierungsübertrag-Schwellenwert. Man wird als vorteilhaft sehen, dass dieser nur auftreten wird, wenn VBV_diff negativer (nach einem positiven Versetzen um den kumulativen Übertragswert) als die Reduzierungsgrenze ist.
  • Wenn der Reduzierungsübertrag weniger negativ ist als der Schwellenwert, zeigt dies, dass VBV-Verriegelung erzielt werden kann, wobei Füllbits wie im Schritt S22 verwendet werden. Die nächste GOP wird dann unter erneuter Verwendung der Umcodierungsparameter begonnen, um die Bildqualität beizubehalten.
  • Ein Reduzierübertrag, der negativer ist als der Schwellenwert, zeigt, dass VBV_Verriegelung nicht erzielt wurde, und es wird eine neue Übergangs-GOP begonnen, jedoch unter erneuter Verwendung der I-Rahmen-Umcodierungsparameter und Umcodierung der P- und B-Rahmen. [Schritt S20]. Für die neue Übergangs-GOP werden die folgenden Variablen auf Anfangswerte am Beginn der GOP gesetzt.
  • Die Restbit-GOP wird auf ihre normale Zuordnung festgelegt. Die Länge der GOP wird nicht durch die Bildentscheidungsregeln bestimmt, sondern als normale Länge für eine GOP bestimmt. Der Übertrag wird auf null festgelegt. Die Reduzierungsgrenze wird auf minus festgelegt.
    (bitrate·remain_num_total·max_red_%)/(frame_rate).
  • Der Wert des Reduzierungsübertrags von der vorherigen GOP wird auf die neue GOP übertragen.
  • Die Prozedur zum Aktualisieren der Restbit-GOP der Schritte S32 und S4 bis S18 beginnt wiederum, bis die Belegung der Übergangs-GOP gleich ist wie der Bitstrom B. Vor zugsweise verwendet die neue Übergangs-GOP Umcodierungsparameter für ihre I-Rahmen erneut.
  • Bei einer Version wird der Schwellenwert auf null gesetzt. Wenn der Reduzierungsübertrag null ist, endet die Übergangs-GOP, da es erscheint, dass die VBV-Verriegelung nicht aufgetreten ist. Wenn der Übertrag nicht null ist, läuft das volle Codieren in einer anderen GOP weiter, die eine normal lange GOP ist, jedoch gemäß der Prozedur von 10, bis VBV-Verriegelung erreicht ist.
  • Bei einer anderen Version wird der Schwellenwert auf einen Wert K% gesetzt. Wenn der Reduzierungsübertrag kleiner ist als K, werden irgendeine Differenz zwischen den VBVs der Übergangs-GOP und dem Bitstrom B klein und werden mit Füllbits ausgerüstet. Die Reservefüllbits sind von der Zuteilung von Reservebits, welche durch Verminderung der Normalzuteilung für die Restbit-GOP um den Faktor α am Beginn der GOP bereitgestellt werden. Der Schwellenwert K% ist die normale Bitzuteilung für eine lange GOP. K kann im Bereich von 0% bis 8% liegen, jedoch vorzugsweise ungefähr 5% betragen. Der maximale Verminderungsprozentsatz kann 25% sein.
  • Das Anwenden der Reduzierungsgrenze stellt sicher, dass während der Übergangs-GOP die Bitrate nicht unterhalb einer vorher festgelegten normalen Rate läuft oder äquivalent die Änderungsrate der Belegung eine maximale Rate nicht übersteigt. Das Teilen positiver Änderungen in der Restbit-GOP über dem Rest der I- und P-Rahmen in der GOP tendiert dazu, die Änderungen in der Restbit-GOP über der GOP auszugleichen. Wenn VBV_diff negativ ist, jedoch nicht die Reduzierungsgrenze übersteigt, wird die Grenze progressiv reduziert, wenn die GOP fortschreitet. Somit reduziert die zulässige maximale Änderung das Verhindern unproportional-langer Änderungen in der Restbit-GOP am Ende der GOP. Das Verfahren von 10 erlaubt, dass der Übergangsbereich unmittelbar vor der Zusammenfügung beginnt und bei VBV_Verriegelung endet, um in der Länge wenn notwendig variiert zu werden, (wie durch die Reduzierungsgrenze bestimmt), um so wirksam VBV-Verriegelung zu erzielen.
  • VBV-Verriegelungspunkt-Anwendungen auf erste, zweite und dritte Verfahren
  • Die Periode, über welcher VBV-Verriegelung vorhergesagt wird, um eine (oder mehrere) GOP zu erzielen, wenn auch eine GOP, deren Länge durch die Bildart-Entscheidungsregeln geändert wurde. In diesem Beispiel beträgt sie ungefähr 30 Rahmen.
  • In 2, 3, 4, 5 und 6 wird eine Annahmeverriegelung beim I-Rahmen 52 in der Anzeigereihenfolge erzielt (4). In Wirklichkeit wird die VBV-Verriegelung in der Verar beitungsreihenfolge erzielt, so dass sie in einem umgeordneten I-Rahmen 50 auftritt (5). Die folgenden B-Rahmen 52 und 52 in 5 sind völlig umcodierte Rahmen vor der VBV-Verriegelung und stören die Verriegelung. Somit werden Reservebits im zweiten B-Rahmen 52 verwendet, um den Bitstrom zu füllen, um exakte Verriegelung zu erzielen.
  • Wenn der Faktor α null ist, sind keine Reservebits verfügbar, so dass das System versucht, exakte Verriegelung beim I-Rahmen unmittelbar nach dem Ende der Übergangs-GOP zu erzielen. Die Ratensteuerung darunter oder darüber führt üblicherweise zur Erzeugung zu vieler Bits. Sogar, wenn exakte Verriegelung erreicht wird, wird die Verriegelung im I-Rahmen bei dem B-Rahmen gestört. Damit wird die Rest-Bit-GOP um den Faktor α reduziert, so dass die Ratesteuerung übersteuert wird, so dass Reservebits am Ende der GOP verfügbar sind. Diese Reservebits werden verwendet, um exakte Verriegelung im zweiten B-Rahmen zu erzielen.
  • Der I-Rahmen 50 wird durch erneutes Verwenden von dessen Parametern verarbeitet, welche vom ursprünglichen Bitstrom B0 hergeleitet werden. Nach den völlig umcodierten B-Rahmen 51 und 52 wird die erneute Verwendung von Parameter wieder aufgenommen.
  • Dies wird auf das erste, zweite und dritte Verfahren angewandt.
  • Verschiedene Modifikationen können für das erste und das zweite Verfahren durchgeführt werden:
    Beim ersten Verfahren wird innerhalb der Übergangs-GOP nach dem Zusammenfügungspunkt Verriegelung mit dem geeigneten Wert α erzielt. α wird gewählt, so dass die Verriegelung erzielt wird, mit Ausnahme für den extremen Fall. α kann verfügbar sein.
  • Die Bildart-Entscheidungsregel (4) kann auf (41) geändert werden:
    (41) wenn die erste GOP nach der Zusammenfügung lediglich einen "P"-Rahmen enthält, werden die Rahmenarten von der nächsten GOP von "I" auf "P" und "P" auf "I" geändert, um zwei "P"-Rahmen in einer GOP zu ergeben.
  • Dies hat zwei kürzere GOPs zwischen dem Zusammenfügungspunkt und der VBV-Verriegelung zur Folge.
  • In diesem Fall wird Extra Bits unterteilt zwischen zwei GOPs in geeigneten Pro portionen.
  • Bewegungsvektoren
  • Bewegungsvektoren für die Rahmen der Übergangs-GOP können durch völliges Umcodieren erzeugt werden oder können aus Vektoren in benachbarten Rahmen geschätzt werden.
  • Bitzunahme bezüglich Rahmen außerhalb des Übergangsbereichs
  • Die VBV der umcodierten Rahmen sind lediglich ungefähr gleich wie ihre ursprünglichen Formen, da die Anzahl von Bits im Laufe des Decodierens und Umcodierens schrumpfen oder wachsen kann.
  • Die Rahmen außerhalb des Übergangsbereichs sind ursprünglich als lange GOPs codiert, decodiert auf Basisband, umcodiert als I-Rahmen, decodiert auf Basisband und umcodiert als lange GOPs. Bei diesen Prozessen werden die Umcodierungsparameter des ursprünglichen Codierens erneut verwendet, um maximale Qualität beizubehalten. Die DCT- und die inversen DCT (IDCT)-Prozesse sind jedoch nicht transparent, d.h., es treten Fehler auf. Zusätzlich ist das ursprüngliche Basisband nicht das gleiche wie die decodierten I-Rahmen auf Grund von Quantisierungseffekten. Als Ergebnis kann die Anzahl von Bits in den Rahmen schrumpfen oder wachsen. Wenn das Schrumpfen oder das Wachstum groß genug ist, kann der Puffer überlaufen oder unterlaufen. Somit werden die Rahmen überwacht.
  • Wenn übermäßiges Schrumpfen auftritt, wird das Bitauffüllen verwendet. Wenn übermäßiges Wachstum auftritt, werden die Rahmen umcodiert bzw. rückcodiert. Das Bitfüllen und Umcodieren wird verwendet, um die Belegung innerhalb von normalen MPEG-2-Grenzen beizubehalten. Vorzugsweise verwendet das Umcodieren erneut die Umcodierungsparameter der I-Rahmen, um die Bildqualität beizubehalten.
  • Um die Bildqualität beizubehalten, können die Umcodierungsparameter der I-Rahmen des Bitstroms B0 erneut verwendet werden, wenn diese Rahmen in der Übergangs-GOP erneut codiert werden.

Claims (26)

  1. Signalprozessor zum Zusammenfügen eines komprimierten Videobitstroms B0 mit einem komprimierten Videobitstrom A0, um einen komprimierten Videobitstrom C zu bilden, wobei die Bitströme A0, B0 und C GOPs haben, die I-Rahmen und P- und/oder B-Rahmen enthalten, wobei die Bitströme A0 und B0 Codierparameter haben, welche für das Codieren bezeichnend sind, welches durchgeführt wird, um die Bitströme A0 bzw. B0 zu erzeugen, wobei der Prozessor aufweist: einen ersten und einen zweiten Eingang zum Empfangen der Bitströme A0 bzw. B0; eine erste Einrichtung (1, 8; 3, 10) zum erneuten Codieren der Bitströme A0 und B0, um erneut – codierte Bitströme AI bzw. BI zu bilden, die lediglich I-Rahmen haben, wobei die Codierparameter der Rahmen der Bitströme A0 und B0 unverändert in Verbindung mit den entsprechenden Rahmen der Bitströme AI und BI gespeichert sind; eine Einrichtung (141, 142, S1, 12) zum Zusammenfügen des Bitstroms AI mit dem Bitstrom AI an einem Zusammenfügungspunkt (SPLICE), um einen zusammengefügten I-Rahmen-Bitstrom (AI/BI) zu erzeugen; eine zweite Einrichtung (4) zum erneuten Codieren des zusammengefügten I-Rahmen-Bitstroms (AI/BI), um den Bitstrom C zur Lieferung zu einem stromabwärtigen Decoder (2) zu bilden, der einen stromabwärtigen Puffer (8) hat, wobei eine Belegung eines derartigen stromabwärtigen Puffers abhängig ist von der Anzahl von Bits, mit denen Rahmen des zusammengefügten I-Rahmen-Bitstroms (AI/BI) durch die zweite Einrichtung erneut codiert sind, wobei eine stromabwärtige Pufferbelegung des Bitstroms C über einen Übergangsbereich gesteuert wird, der eine Übergangs-GOP hat, die den Zusammenfügungspunkt aufweist, so dass die stromabwärtige Pufferbelegung des Bitstroms C sich über die Dauer des Übergangsbereichs von einer stromabwärtigen Pufferbelegung äquivalent zu der eines Bitstroms A0 zu einer stromabwärtigen Pufferbelegung äquivalent zu der des Bitstroms B0 ändert; und wobei die Rahmen des Bitstroms AI vor dem Übergangsbereich unter Verwendung der gespeicherten Codierparameter der jeweiligen Rahmen des Bitstroms A0 erneut codiert werden und die Rahmen des Bitstroms BI nach dem Übergangsbereich unter Verwendung der gespeicherten Codierparameter der jeweiligen Rahmen des Bitstroms B0 erneut codiert werden.
  2. Prozessor nach Anspruch 1, wobei die Codierparameter Q, DCT-Typus und Q-Matrix sind.
  3. Prozessor nach Anspruch 1 oder 2, wobei I-Rahmen des Bitstroms A0 oder B0 durch die erste Umcodierungseinrichtung als I-Rahmen in den Bitstrom AI oder BI erneut codiert werden, die die gleichen Codierparameter im Bitstrom AI oder BI wie im Bitstrom A0 oder B0 haben.
  4. Prozessor nach Anspruch 1 oder 2, wobei die I-Rahmen des Bitstroms A0 oder B0 ohne Decodierung durch die erste Umcodierungseinrichtung als I-Rahmen des Bitstroms AI oder BI erneut verwendet werden.
  5. Prozessor nach Anspruch 1, 2, 3 oder 4, wobei die Rahmen des zusammengefügten I-Rahmen-Bitstroms (AI/BI), welche den I-Rahmen des Bitstroms A0 oder B0 entsprechen, vor und nach dem Übergangsbereich durch die zweite Umcodierungseinrichtung als I-Rahmen, welche die gleichen Codierparameter im Bitstrom C wie im Bitstrom A0 oder B0 haben, erneut codiert sind.
  6. Prozessor nach Anspruch 1, 2, 3 oder 4, wobei Rahmen des zusammengefügten I-Rahmen-Bitstroms (AI/BI), die den P- oder B-Rahmen des Bitstroms A0 oder B0 entsprechen, vor und nach dem Übergangsbereich durch die zweite Umcodierungseinrichtung als P- oder B-Rahmen, welche entsprechend die gleichen Codierparameter im Bitstrom C wie im Bitstrom A0 oder B0 haben, erneut codiert sind.
  7. Prozessor nach einem der vorhergehenden Ansprüche, wobei die stromabwärtige Pufferbelegung des Bitstroms C im Übergangsbereich gemäß der Differenz zwischen einer stromabwärtigen Pufferbelegung äquivalent zu der des Bitstroms A0 unmittelbar vor dem Zusammenfügungspunkt und einer Vorhersage einer stromabwärtigen Pufferbelegung des Bitstroms C am Ende des Übergangsbereichs gesteuert wird.
  8. Prozessor nach Anspruch 7, wobei im Übergangsbereich ein Bereich der Übergangs-GOP im Bitstrom C durch erneutes Codieren der Rahmen des Bitstroms BI entsprechend Rahmen des Bitstroms B0, die auf den Zusammenfügungspunkt folgen, erzeugt wird, so dass in Bezug auf die Rahmen und die GOPs des Bitstroms B0 a) der erste I- oder P-Rahmen nach dem Zusammenfügungspunkt zu einem I-Rahmen umgesetzt wird; und b) wenn die GOP, welche aus a) resultiert, nach dem Zusammenfügungspunkt weniger als 3 Rahmen enthält, der erste I-Rahmen der nächsten GOP in einen P-Rahmen umgesetzt wird.
  9. Prozessor nach Anspruch 7, wobei im Übergangsbereich ein Bereich der Übergangs-GOP des Bitstroms C durch erneute Codierung der Rahmen des Bitstroms BI, die den Rahmen des Bitstroms B0 entsprechen, im Anschluss an den Zusammenfügungspunkt erzeugt wird, so dass in Bezug auf die Rahmen und die GOPs des Bitstroms B0, wenn die erste GOP nach dem Zusammenfügungspunkt lediglich einen P-Rahmen enthält, die Rahmenarten der nächsten GOP von I-Rahmen auf P-Rahmen und von P-Rahmen auf I-Rahmen geändert werden.
  10. Prozessor nach Anspruch 8 oder 9, wobei im Übergangsbereich ein Bereich der Übergangs-GOP des Bitstroms C durch erneute Codierung der Rahmen des Bitstroms AI, die den Rahmen des Bitstroms A0 entsprechen, vor dem Zusammenfügungspunkt erzeugt wird, so dass bezugnehmend auf die Rahmen der GOP des Bitstroms A0 unmittelbar vor dem Zusammenfügungspunkt c) zumindest der letzte I- oder P-Rahmen des Bitstroms A0 vor dem Zusammenfügungspunkt in einen P-Rahmen umgesetzt wird, und d) wenn der letzte Rahmen vor dem Zusammenfügungspunkt des Bitstroms A0 ein B-Rahmen ist, dieser in einen P-Rahmen umgesetzt wird.
  11. Prozessor nach Anspruch 10, wobei e) die beiden I- oder P-Rahmen des Bitstroms A0 vor dem Zusammenfügungspunkt in P-Rahmen im Bitstrom C umgesetzt werden.
  12. Prozessor nach Anspruch 7, 8, 9, 10 oder 11, wobei die zweite Codiereinrichtung für die Übergangs-GOP einen Anfangswert für die Zielzahl von Bits (Restbit-GOP) für die Übergangs-GOP berechnet und die stromabwärtige Pufferbelegung des Bitstroms C innerhalb der Übergangs-GOP in Abhängigkeit von der Restbit-GOP steuert.
  13. Prozessor nach Anspruch 12, wobei der Anfangswert der Restbit-GOP berechnet wird als Summe von: a) der Differenz zwischen einer stromabwärtigen Pufferbelegung des Bitstroms C am Zusammenfügungspunkt und der Vorhersage einer stromabwärtigen Pufferbelegung des Bitstroms C am Ende des Übergangsbereichs; und b) der Anzahl von Bits, welche für die GOP berechnet wird, als ob die Differenz (a) null wäre.
  14. Prozessor nach Anspruch 7, 8, 9, 10, 11, 12 oder 13, wobei die Vorhersage einer stromabwärtigen Pufferbelegung des Bitstroms C am Ende des Übergangsbereichs eine stromabwärtige Pufferbelegung äquivalent zu der des Bitstroms B0 in der Vorhersageposition ist.
  15. Prozessor nach Anspruch 7, 8, 9, 10, 11, 12 oder 13, wobei die Vorhersage einer stromabwärtigen Pufferbelegung des Bitstroms C am Ende des Übergangsbereichs eine stromabwärtige Spitzenpufferbelegung äquivalent zu der des Bitstroms B0 an einem Punkt benachbart dem Zusammenfügungspunkt ist.
  16. Prozessor nach Anspruch 12, wobei der Anfangswert der Restbit-GOP berechnet wird als Summe von: a) der Differenz zwischen der stromabwärtigen Pufferbelegung des Bitstroms C am Zusammenfügungspunkt und einer stromabwärtigen Pufferbelegung äquivalent zu der des Bitstroms B0 am nächsten I- oder P-Rahmen des Bitstroms B0 im Anschluss an den Zusammenfügungspunkt; und b) der Anzahl von Bits, welche für die GOP berechnet wird, als ob die Differenz (a) null wäre.
  17. Prozessor nach Anspruch 16, wobei in Bezug auf die Rahmen des Bitstroms B0 die Restbit-GOP nachfolgend bei jedem I- und P-Rahmen geändert wird durch die Differenz zwischen a) einer stromabwärtigen Pufferbelegung des Bitstroms B0 bei dem laufenden I- oder P-Rahmen; und b) einer stromabwärtigen Pufferbelegung des Bitstroms B0 bei dem nachfolgenden I- oder P-Rahmen.
  18. Prozessor nach einem der Ansprüche 11 bis 17, wobei der Anfangswert der Restbit-GOP um einen vorher festgelegten Prozentsatz reduziert wird.
  19. Prozessor nach Anspruch 18, wobei Zusatzbits dem Bitstrom C nach der Position hinzugefügt werden, bei der eine stromabwärtige Pufferbelegung des Bitstroms C ungefähr gleich ist einer stromabwärtigen Pufferbelegung eines Bitstroms B0, um Gleichheit zu erzielen.
  20. Prozessor nach Anspruch 11, wobei jegliche Reduzierung bei der Restbit-GOP auf einen Grenzwert begrenzt ist.
  21. Prozessor nach Anspruch 20, wobei der Grenzwert reduziert wird, wenn die Übergangs-GOP fortschreitet.
  22. Prozessor nach Anspruch 20 oder 21, wobei, wenn am Ende der Übergangs-GOP des Bitstroms C der Überschuss der Reduzierung in der Restbit-GOP über dem Grenzwert (Reduzierungs-Übertrag) einen vorher festgelegten Wert übersteigt, dann, bezugnehmend auf die Rahmen des Bitstroms B0, die Restbit-GOP bei jedem I- und P-Rahmen der nächsten GOP des Bitstroms B0 geändert wird und die Rahmen des Bitstroms B0 durch die zweite Codiereinrichtung erneut codiert werden, bis der Reduzierungs-Übertrag geringer oder gleich als der vorher festgelegte Wert ist.
  23. Prozessor nach Anspruch 22, wobei der vorher festgelegte Wert null ist.
  24. Prozessor nach Anspruch 23, wobei der vorher festgelegte Wert ein vorher festgelegter Prozentsatz von Normal-GOP-Bitzuteilung wie hier definiert ist.
  25. Prozessor nach Anspruch 22, 23 oder 24, wobei die Codierparameter der I-Rahmen des Bitstroms B0 erneut verwendet werden, wenn diese Rahmen in der nächsten GOP erneut codiert werden.
  26. Prozessor nach einem der vorhergehenden Ansprüche, wobei die Codierparameter der I-Rahmen des Bitstroms B0 erneut verwendet werden, wenn diese Rahmen in der Übergangs-GOP erneut codiert werden.
DE60032841T 1999-08-26 2000-08-07 Signalprozessor zum nahtlosen Zusammenfügen von MPEG-2 Bitströmen in einem Videokoder Expired - Lifetime DE60032841T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9920276 1999-08-26
GB9920276A GB2353655B (en) 1999-08-26 1999-08-26 Signal processor

Publications (2)

Publication Number Publication Date
DE60032841D1 DE60032841D1 (de) 2007-02-22
DE60032841T2 true DE60032841T2 (de) 2007-10-25

Family

ID=10859887

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60032841T Expired - Lifetime DE60032841T2 (de) 1999-08-26 2000-08-07 Signalprozessor zum nahtlosen Zusammenfügen von MPEG-2 Bitströmen in einem Videokoder

Country Status (5)

Country Link
US (1) US6529555B1 (de)
EP (1) EP1079630B1 (de)
JP (1) JP2001103477A (de)
DE (1) DE60032841T2 (de)
GB (1) GB2353655B (de)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69841897D1 (de) * 1997-07-25 2010-10-28 Sony Corp Bearbeitungsanlage, bearbeitungsverfahren, spleissungsanlage, spleissungsverfahren, kodieranlage und kodierverfahren
GB9908809D0 (en) * 1999-04-16 1999-06-09 Sony Uk Ltd Signal processor
WO2001039502A1 (en) * 1999-11-23 2001-05-31 Koninklijke Philips Electronics N.V. Seamless switching of mpeg video streams
US6920175B2 (en) * 2001-01-03 2005-07-19 Nokia Corporation Video coding architecture and methods for using same
US20020122491A1 (en) * 2001-01-03 2002-09-05 Marta Karczewicz Video decoder architecture and method for using same
US6765963B2 (en) * 2001-01-03 2004-07-20 Nokia Corporation Video decoder architecture and method for using same
GB2372657B (en) * 2001-02-21 2005-09-21 Sony Uk Ltd Signal processing
US6700932B2 (en) * 2001-03-06 2004-03-02 Sony Corporation MPEG video editing-cut and paste
CN101499305B (zh) * 2001-06-15 2012-11-14 夏普株式会社 数据记录方法
US7693220B2 (en) * 2002-01-03 2010-04-06 Nokia Corporation Transmission of video information
FR2848766B1 (fr) * 2002-12-13 2005-03-11 Thales Sa Procede de commutation de signaux numeriques avant emission, commutateur et signal resultant
US7379656B2 (en) * 2003-05-05 2008-05-27 Thomson Licensing Forward trick modes on progressive video using special groups of pictures
US7609762B2 (en) * 2003-09-07 2009-10-27 Microsoft Corporation Signaling for entry point frames with predicted first field
US7924921B2 (en) 2003-09-07 2011-04-12 Microsoft Corporation Signaling coding and display options in entry point headers
US8213779B2 (en) 2003-09-07 2012-07-03 Microsoft Corporation Trick mode elementary stream and receiver system
US7839930B2 (en) * 2003-11-13 2010-11-23 Microsoft Corporation Signaling valid entry points in a video stream
US7852919B2 (en) * 2003-09-07 2010-12-14 Microsoft Corporation Field start code for entry point frames with predicted first field
US7289564B2 (en) * 2003-09-10 2007-10-30 Silicon Integrated Systems Corp. Video encoding method with support for editing when scene changed
JP4232588B2 (ja) * 2003-09-19 2009-03-04 ソニー株式会社 画像処理装置および画像処理方法、並びに、プログラム
KR20060088303A (ko) * 2005-02-01 2006-08-04 엘지전자 주식회사 디지털 방송 수신기의 동영상 저장/재생 장치 및 방법
JP2008066851A (ja) * 2006-09-05 2008-03-21 Sony Corp 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP4221676B2 (ja) * 2006-09-05 2009-02-12 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP2009077105A (ja) * 2007-09-20 2009-04-09 Sony Corp 編集装置および編集方法、プログラム、並びに記録媒体
US8904426B2 (en) * 2008-06-30 2014-12-02 Rgb Networks, Inc. Preconditioning ad content for digital program insertion
JP2010093650A (ja) * 2008-10-09 2010-04-22 Nec Corp 端末、画像表示方法及びプログラム
US8458362B2 (en) 2010-09-30 2013-06-04 Comcast Cable Communications, Llc Delivering content in multiple formats
US9906815B2 (en) * 2011-11-08 2018-02-27 Texas Instruments Incorporated Delayed duplicate I-picture for video coding
US9380327B2 (en) 2011-12-15 2016-06-28 Comcast Cable Communications, Llc System and method for synchronizing timing across multiple streams
US9813732B2 (en) 2012-06-28 2017-11-07 Axis Ab System and method for encoding video content using virtual intra-frames
GB2525590A (en) * 2014-04-23 2015-11-04 Starfish Technologies Ltd Digital media splicing system and method
GB2543080A (en) 2015-10-08 2017-04-12 Starfish Tech Ltd Digital media splicing system and method
CN110213642A (zh) * 2019-05-23 2019-09-06 腾讯音乐娱乐科技(深圳)有限公司 视频的断点播放方法、装置、存储介质及电子设备
CN111277827B (zh) 2020-02-24 2022-12-20 腾讯科技(深圳)有限公司 一种视频数据处理方法、装置、设备以及可读存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950014860B1 (ko) * 1993-06-04 1995-12-16 대우전자주식회사 영상 기록장치
GB2307613B (en) * 1995-08-31 2000-03-22 British Broadcasting Corp Switching bit-rate reduced signals
US6400886B1 (en) * 1996-11-15 2002-06-04 Futuretel, Inc. Method and apparatus for stitching edited video segments
US5982436A (en) * 1997-03-28 1999-11-09 Philips Electronics North America Corp. Method for seamless splicing in a video encoder
GB2369518B (en) * 1997-07-18 2002-07-17 British Broadcasting Corp Switching compressed video bitstreams
FR2782437B1 (fr) * 1998-08-14 2000-10-13 Thomson Multimedia Sa Procede de commutation de flux mpeg
GB2358539A (en) * 2000-01-21 2001-07-25 Sony Uk Ltd Data processing method which separates parameter data from coded data

Also Published As

Publication number Publication date
DE60032841D1 (de) 2007-02-22
US6529555B1 (en) 2003-03-04
EP1079630A1 (de) 2001-02-28
EP1079630B1 (de) 2007-01-10
JP2001103477A (ja) 2001-04-13
GB2353655A (en) 2001-02-28
GB2353655B (en) 2003-07-23
GB9920276D0 (en) 1999-10-27

Similar Documents

Publication Publication Date Title
DE60032841T2 (de) Signalprozessor zum nahtlosen Zusammenfügen von MPEG-2 Bitströmen in einem Videokoder
DE60026241T2 (de) Umschalten zwischen bitratenreduzierten Signalen
DE60023576T2 (de) Verfahren und Vorrichtung zur Bewegtbilddatentranscodierung
DE69735756T2 (de) Dynamische steuerung der kodierrate in einem blockbasierten videokodierungssystem
DE69921108T2 (de) Verfahren und vorrichtung zur adaptiven codierung eines videodatenstroms
DE60123317T2 (de) Kodiersystem und Kodierverfahren
DE69913990T2 (de) System zum editieren komprimierter bildsequenzen
DE69736537T2 (de) Ratenregelung für stereoskopische digitale Videokodierung
DE69435000T2 (de) Bildkodierungsvorrichtung
DE69835211T2 (de) Umschaltung zwischen komprimierten videobitströmen
EP1087625B1 (de) Digitales Transcodiersystem
DE69815159T2 (de) Kodierung von bewegten bildern mit globaler konstanter bitrate
DE69915277T2 (de) Verfahren und vorrichtung zur reduzierung von breathing-artefakten in komprimierten videodaten
DE69837081T2 (de) Videopufferspeicher zur nahtlosen verbindung von mpeg-strömen
DE69935478T2 (de) Bewegtbildkodiergerät
DE69826823T2 (de) Verfahren zur videocodierung mit variabler bitrate und entsprechender videocodierer
EP1195994A2 (de) Verfahren zur Codierung und Decodierung von Bildsequenzen sowie Einrichtungen hierzu
DE60027495T2 (de) Video-codierverfahren und video-codiervorrichtung
US6760377B1 (en) Signal processing
DE69919205T2 (de) Verfahren und gerät für die mpeg-bildkodierung von eingefügten bildern
DE60031746T2 (de) Videosignalverarbeitung
EP2521357A1 (de) Verfahren und Vorrichtung zur Filterung von kodierten Bildpartitionen
DE10296787B4 (de) Selektive Prädikation für ein Intra-Codieren eines Videodatenblocks
DE69938220T2 (de) Vorrichtung und Verfahren zur Bildverarbeitung, und Bildverarbeitungsprogramm speicherndes Speichermedium
DE19882097B3 (de) Codiereinrichtung und Codierverfahren

Legal Events

Date Code Title Description
8364 No opposition during term of opposition