DE60026241T2 - Umschalten zwischen bitratenreduzierten Signalen - Google Patents

Umschalten zwischen bitratenreduzierten Signalen Download PDF

Info

Publication number
DE60026241T2
DE60026241T2 DE60026241T DE60026241T DE60026241T2 DE 60026241 T2 DE60026241 T2 DE 60026241T2 DE 60026241 T DE60026241 T DE 60026241T DE 60026241 T DE60026241 T DE 60026241T DE 60026241 T2 DE60026241 T2 DE 60026241T2
Authority
DE
Germany
Prior art keywords
gop
bitstream
processor
frames
frame
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
DE60026241T
Other languages
English (en)
Other versions
DE60026241D1 (de
Inventor
Nicholas Ian Basingstoke Saunders
Robert Mark Stefan Windsor Porter
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 DE60026241D1 publication Critical patent/DE60026241D1/de
Application granted granted Critical
Publication of DE60026241T2 publication Critical patent/DE60026241T2/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/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
    • 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
    • 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/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/115Selection of the code volume for a coding unit prior to coding
    • 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/124Quantisation
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/17Methods 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 an image region, e.g. an object
    • H04N19/172Methods 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 an image region, e.g. an object the region being a picture, frame or field
    • 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/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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/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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers
    • 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/032Electronic editing of digitised analogue information signals, e.g. audio or video signals on tapes

Landscapes

  • Multimedia (AREA)
  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Algebra (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • Die vorliegende Erfindung betrifft einen Signalprozessor. Die Erfindung betrifft Verbinden, hier als Spleißen bezeichnet, digitaler Bitströme, die komprimiert sind. Ausführungsformen der hier beschriebenen Erfindung betreffen Spleißen digitaler Videobitströme, die entsprechend dem MPEG-2-Standard komprimiert sind.
  • Die Erfindung und ihr Hintergrund werden mittels eines Beispiels in Bezugnahme auf MPEG-2-Videobitströme beschrieben. Jedoch ist die Erfindung nicht auf MPEG-2 beschränkt.
  • MPEG-2 ist beispielsweise aus ISO/IEC/13818-2 wohlbekannt und wird hier nicht detailliert beschrieben. Spleißen von Video ist wohlbekannt. Es wird beim Editieren von Video benutzt. Spleißen analoger Signale ist relativ direkt und kann an der Grenze zwischen benachbarten Rahmen (frames) ausgeführt werden, da jeder analoge Rahmen das Ganze der Videoinformation dieses Rahmens unabhängig von anderen Rahmen umfasst. (Spleißen kann im digitalen Bereich für sowohl komprimierte als auch nicht komprimierte Videodaten ähnlich ausgeführt werden, wenn alle Rahmen die ganze Videoinformation des Rahmens umfasst.
  • MPEG-2-komprimiertes Video weist Gruppen aus I-, P- und/oder B-Rahmen auf, die als GOPs, Groups of Pictures (Gruppen von Bildern), bekannt sind. I-, P- und B-Rahmen sind wohlbekannt. Ein I- oder intracodierter Rahmen umfasst die gesamte Information des Rahmens unabhängig von jedem anderen Rahmen. Ein P-Rahmen in einer GOP hängt letzen Endes von einem I-Rahmen ab und kann von anderen P-Rahmen abhängen. Ein B-Rahmen einer GOP hängt letzen Endes von einem I-Rahmen ab und kann von P-Rahmen in der GOP abhängen. Ein B-Rahmen muss nicht von einem anderen B-Rahmen abhängen.
  • Eine GOP weist typischerweise 12 oder 15 Rahmen auf, die wenigstens einen I-Rahmen und mehrere P- und B-Rahmen aufweisen. Eine GOP korrekt zu decodieren benötigt alle Rahmen der GOP, da ein großer Teil der zum Decodieren eines B-Rahmens in der GOP erforderlichen Videoinformation in einem vorhergehenden und/oder nachfolgenden Rahmen der GOP ist. Ähnlich ist ein großer Teil der zum Decodieren eines P-Rahmens erforderlichen Videoinformation in einem vorhergehenden Rahmen der GOP.
  • Wenn infolgedessen zwei unterschiedliche Bitströme in der komprimierten Domäne zusammengespleißt werden, geht die zum Decodieren von Rahmen jeder Seite des Verbindungs- bzw. Speißpunktes notwendige Information voraussichtlich verloren.
  • Es sind viele Dokumente, die das Spleißen komprimierter Bitströme, das bei MPEG ein wohlbekanntes Problem ist, betreffen, geschrieben worden. Das Dokument „Flexible Switching and edititing of MPEG-2 Video Bitstreams „ von P. J. Brightwell, S. J. Dancer und M. J. Knee wurde in "Atlantic Technical Papers 1996/1997" veröffentlicht, wobei das Vorwort dazu auf September 1997 datiert ist.
  • Das Dokument beschreibt die Probleme des Spleißens von MPEG-2-Videobitströmen. Zwei zu spleißende Bitströme A0 und B0 werden in jeweiligen Decodierern decodiert. Am Spleißpunkt wird ein Codierer vom Decodierer von A0 zum Decodierer von B0 geschaltet. Es offenbart, dass nahe bei einem Spleißpunkt, bei dem ein Bitstrom A0 durch einen Bitstrom B0 ersetzt wird, die folgenden Modifikationen gemacht werden.
  • „Der Bildtyp kann geändert werden, um eine geeignetere Auffrischungsstrategie um den Schaltpunkt herum bereitzustellen. Im Beispiel unten wird der erste P-Rahmen im Bitstrom B0 nach dem Schalten in einen I-Rahmen umgesetzt, um in der neuen Szene früh eine volle Auffrischung bereitzustellen. Auch der Bitstrom A0 umfasst einen I-Rahmen direkt vor dem Schaltpunkt – wenn dieser nicht notwendig ist, wird er als ein P-Rahmen aufgezeichnet, um Bits zu sparen.
  • Schaltpunkt
    Figure 00030001
  • Vorhersagemoden und Bewegungsvektoren können eine Modifikation erfordern, um Änderungen im Bildtyp bei der Aufzeichnung in Rechnung zu stellen oder zu verhindern, dass irgendwelche Vorhersagen über das Schalten bei der Aufzeichnung gemacht werden. Bei dem obigen Beispiel werden Makroblöcke, die ursprünglich zur Vorwärts- oder Bidirektionalvorhersage für den auf den Schaltpunkt folgenden B-Rahmen benutzt werden, unter Benutzung einer Intramodus- bzw. Rückwärtsvorhersage aufgezeichnet. Außerdem sind Vektoren für den als ein P-Rahmen aufgezeichneten I-Rahmen erforderlich – diese können von den Vektoren in umgebenden Rahmen geschätzt (estimated) werden oder von I-Rahmen-Verdeckungsvektoren, die viele MPEG-2-Bitströme tragen, genommen werden.
  • Die Quantisierungsparameter werden als Teil der Ratensteuerungsstrategie des Wieder- bzw. Erneutcodierers geändert. Wie bei einem herkömmlichen Codierer zielt dies auf eine Steuerung der Puffertrajektorie eines Stromabdecodierers (downstream decoder), um einen Unter- oder Überlauf zu verhindern und um die Bildqualität so hoch wie möglich aufrechtzuerhalten. Außerdem benutzt der Ratensteuerungsalgorithmus für den ATLANTIC-Schalter vbv_delay-Werte (vbv_Verzögerung-Werte) in den Bitströmen A0 und B0 (die im Infobus getragen werden), um die Puffertrajektorie für den geschalteten Bitstrom zu einer gewissen zukünftigen Zeit identisch zu der für den Bitstrom B0 (das heißt den einen, der geschaltet wird) zu machen. Abhängig von den relativen vbv_delay-Werten kann dies bald nach dem Schalten geschehen, oder es kann eine Wiederherstellungsperiode aus wenigen GOPs erforderlich sein. Wenn sie erreicht worden sind, werden die Quantisierungsparameter des Erneutcodierers mit denen des Bitstroms B0 verriegelt, und der Schalter wird transparent.
  • Die Quantisierungsparameter können auch geändert werden, um Vorteil aus dem als zeitliche Maskierung bekannten Effekt zu ziehen. Dieser bezieht sich auf die Unfähigkeit des Auges, um eine Szeneänderung herum moderate oder sogar große Beträge von Rauschen zu sehen – typischerweise können im Rahmen nach dem Schalten 5 dB Verschlechterung nicht gesehen werden – und ermöglicht, dass die Anzahl von für die Rahmen sehr nahe beim Schaltpunkt benutzten Bits reduziert wird, was eine kürzere Wiederherstellungsperiode ermöglicht.
  • „Vbv-delay-Werte" sind Messungen der Anzahl von Bits im Puffer des Stromabdecodierers. Die Art und Weise, in der die „Puffertrajektorie" für den geschalteten Bitstrom identisch zu der für den Bitstrom B0 gemacht wird, geht aus dem Dokument nicht hervor. Es ist von den hier genannten Erfindern in Experimenten gefunden worden, dass ein Spleißen von Bitströmen, die sehr große Differenzen in den VBV-delay-Werten aufweisen, problematisch ist.
  • Es ist wünschenswert, die Puffertrajektorie für den geschalteten Bitstrom identisch zu der für den Bitstrom B0 zu machen (hier als VBV_lock (VBV_Sperre) bezeichnet), selbst wo die Differenz zwischen den vbv-delay-Werten der Ströme groß ist.
  • Gemäß der vorliegenden Erfindung ist ein Signalprozessor zum Verbinden bzw. Spleißen eines komprimierten Bitstroms B0 mit einem komprimierten Bitstrom A0 bereitgestellt, wobei der Signalprozessor aufweist:
    eine Einrichtung zum Decodieren der Bitströme A0 und B0,
    eine an die Decodierungseinrichtung gekoppelte Schalteinrichtung zum Erzeugen eines verbundenen bzw. gespleißten Bitstroms C, der vom Bitstrom B0 decodierte und an einem Verbindungs- bzw. Spleißpunkt mit vom Bitstrom A0 decodierten Daten verbundene bzw. gespleißte Daten aufweist, und
    eine Codierungseinrichtung zum erneuten Codieren des verbundenen Bitstroms C zum Zuführen zu einem Stromabdecodierer, der einen Stromabpuffer (downstream buffer) aufweist, wobei
    der Signalprozessor dadurch gekennzeichnet ist, dass die Codierungseinrichtung über einem Übergangsgebiet (transitional region) so gesteuert wird, dass die Belegung des Stromabpuffers über dem Übergangsgebiet von der Belegung des Bitstroms A0 zur Belegung des Bitstroms B0 entsprechend einer Trajektorie variiert, auf der die Rate einer Änderung der Belegung auf eine vorbestimmte maximale Rate begrenzt ist.
  • Durch Begrenzung der Rate einer Änderung der Belegung und vorzugsweise durch Begrenzung der in vorbestimmten Intervallen ausgeführten maximalen Änderung fließt der Stromabpuffer weder unter noch über. Außerdem verteilt die Begrenzung der Rate der Änderung die Bits gleichmäßiger über das Übergangsgebiet. Bei den bevorzugten Ausführungsformen der Erfindung, bei denen die von den Bitströmen getragenen Daten ein komprimiertes Video sind, erzeugt die gleichmäßige Verteilung von Bits ein verträgliches Signal-zu-Rauschen-Verhältnis über dem Übergangsgebiet.
  • Es ist auch erwünscht zu bestimmen, ob VBV_lock am Ende des Übergangsgebiets erreicht wird oder nicht und ob das Übergangsgebiet zu erweitern ist, wenn VBV_lock nicht erreicht worden ist oder nicht genau erreicht worden ist.
  • Durch Überwachung der Größe (reduction_carry (Reduktion_Übertrag)), um die eine Änderung die Grenze überschreiten würde, und ihren Vergleich mit der Schwelle kann die Codierungseinrichtung bestimmen, wann VBV_lock erreicht wird oder nicht. Dies ermöglicht, dass Lock (Sperre) mit großen Differenzen in der Belegung zwischen den Bitströmen A0 und B0 erreicht wird. Vorzugsweise wird, wenn die Grenze nicht überschritten wird, die Grenze progressiv reduziert, wenn die GOP fortschreitet. Dies verhindert große Änderungen am Ende der GOP. Vorzugsweise wird, wenn eine Änderung die Belegung reduziert, sie über den Rest der GOP gemittelt (carry_over (Über_trag)), um alle Zunahmen zu verschieben, die später in der GOP auftreten können. Bei einer Ausführungsform werden, wenn Lock nicht exakt erreicht wird, Stopfbits zur Übergangs-GOP (transitional GOP) hinzugefügt, um ein präzises Lock zu erzielen.
  • Für ein besseres Verständnis der vorliegenden Erfindung wird nun mittels eines Beispiels Bezug auf die beigefügten Zeichnungen genommen, in denen:
  • 1 ein Zeitdiagramm ist, welches das Spleißen eines Bitstroms B0 mit einem Bitstrom A0 entsprechend einem ersten Beispiel der vorliegenden Erfindung darstellt;
  • 2 einen Abschnitt R des Diagramms der 1 detaillierter darstellt;
  • 3 ein schematisches Blockdiagramm eines illustrativen Signalprozessors gemäß der vorliegenden Erfindung ist, der wie in den 1 und 2 dargestellt arbeitet;
  • 4 ein Zeitdiagramm ist, welches das Spleißen eines Bitstroms B0 mit einem Bitstrom A0 entsprechend einem zweiten Beispiel der vorliegenden Erfindung darstellt;
  • 5 einen Abschnitt R der 4 detaillierter darstellt;
  • 6A ein schematisches Blockdiagramm eines illustrativen Signalprozessors gemäß der Erfindung ist, der wie in den 4 und 5 dargestellt arbeitet;
  • 6B eine Modifikation der 6A zeigt;
  • 7 illustrative GOPs in Anzeigeordnung und die Anwendung illustrativer Bildtypentscheidungen zeigt;
  • 8 die GOPs der 4 in Verarbeitungsordnung zeigt;
  • 9 bis 11 illustrative Werte einer VBV-Belegung zeigen; und
  • 12A, B und C Flussdiagramme sind, die ein Beispiel einer Modifikation einer Belegung im Übergangsgebiet darstellen.
  • Transcodierungsparameter
  • I-Rahmen weisen die folgenden Transcodierungsparameter auf, die alle in MPEG wohlbekannt sind.
  • DCT_Type (DCT_Typ), Q und Q_Matrix, die bei nachfolgend beschriebenen Ausführungsformen der vorliegenden Erfindung erneut benutzt werden. Diese Parameter werden beim erneuten Codieren von I-Rahmen mit erneuter Benutzung von Parametern erneut benutzt.
  • P und B-Rahmen weisen die Parameter DCT_Type, Q, Q_Matrix, Pred_Type (Vorhersage_Typ), MB_Mode und Motion Vectors (Bewegungsvektoren) auf. Diese Parameter werden beim erneuten Codieren von P- und B-Rahmen mit erneuter Benutzung von Parametern erneut benutzt. Diese Parameter werden bei vollem erneuten Codieren aller Rahmen erneut berechnet.
  • Erstes Beispiel
  • Nach den 1, 3 und 7 werden zwei Bitströme A0 und B0 mit 12 Rahmen aufweisenden GOPs MPEG-2-codiert. Bei diesem Beispiel weisen die Bitströme A0 und B0 die gleiche wie in 7 gezeigte GOP-Struktur
    IBBPBBPBBPBB
    auf. Jedoch können die Bitströme jeden anderen von MPEG-2 erlaubten GOP-Aufbau aufweisen. Die zwei Bitströme A0 und B0 können unterschiedliche GOP-Strukturen aufweisen. Der einfachen Erläuterung wegen sei angenommen, dass die Bitströme A0 und B0 die gleiche wie in 7 gezeigte GOP-Struktur aufweisen.
  • Es ist gewünscht, den Bitstrom A0 durch den Bitstrom B0 zu ersetzen. Wie in 1 gezeigt wird dem Prozessor anfangs A0 bereitgestellt. Er wird im Prozessor P nach 3 vom Eingang A0 zum Kontakt A0 des Schalters S1 weitergeleitet (routed), wo er ungeändert beispielsweise einem Stromabdecodierer 2 zugeführt wird. Im Decodierer 2 wird er für eine Anzeige decodiert. Der Stromabdecodierer 2 kann beispielsweise in einem häuslichen Fernsehempfänger sein. Der Prozessor P kann in einem Studio sein.
  • Wenn eine Bedienungsperson entscheidet, die Bitströme B0 und A0 zu verbinden bzw. spleißen (splice), betätigt die Bedienungsperson den Schalter S1 und einen Schalter S2, so dass A0 durch den Decodierer A, den Codierer 4 und über einen Kontakt C des Schalters S1 zum Stromabdecodierer 2 wegegeleitet wird.
  • Der Bitstrom A0 wird im Codierer A decodiert und im Codierer 4 erneut codiert. Die MPEG-2-Parameter werden von einem Steuerungsprozessor 6 vom Decodierer A abgeleitet und im Codierer 4 erneut benutzt, so dass die Decodierung und die erneute Codierung so verlustlos wie möglich sind. (Es kann einen gewissen Verlust geben, da der DCT-Rundungsprozess verursachen kann, dass der DCT-Prozess nicht transparent ist).
  • Vor dem Verbindungs- bzw. Spleißpunkt wird der Bitstrom B0 auch im Decodierer B decodiert.
  • Der Prozessor P weist einen mit den Decodierern A und B assoziierten ausreichenden Speicher (nicht gezeigt) auf, um beispielsweise 30 komprimierte Rahmen zu speichern.
  • Es wird ein Spleißpunkt VERBINDUNG (SPLEISS) gewählt. Beim Spleißpunkt wählt der Schalter S2 den Decodierer B aus, und der decodierte Bitstrom B wird über den Codierer 4 dem Kontakt C des Schalters S1 zugeführt. Beim Beispiel der 1 und 7 beginnt beim Bitstrom A0 fünf Rahmen vor dem Spleißpunkt VERBINDUNG eine volle erneute Codierung, die ohne erneute Benutzung der MPEG-Parameter ist. Der Grund dafür wird unten erläutert. Nach dem Spleißen ist der Bitstrom A0 irrelevant, ausgenommen, dass nach dem Spleißen möglicherweise gewisse Rahmen von A0 benötigt werden, um vor dem Spleißen auftretende Rahmen von A0 zu decodieren.
  • Nach dem Spleißpunkt VERBINDUNG wird, wie unten erläutert wird, der Bitstrom B0 für eine Übergangsperiode, während welcher VBV_lock erreicht wird, voll erneut codiert. Wenn VBV_lock einmal erreicht ist, setzt sich die erneute Codierung des Bitstroms B0 fort, aber mit einer erneuten Benutzung der vom originalen Bitstrom B0 abgeleiteten MPEG-Parameter.
  • Nach einem kurzen Intervall einer erneuten Codierung von B0 mit erneuter Benutzung der MPEG-Parameter wählt der Schalter S1 den Kontakt B0 und folglich den originalen Bitstrom B0, der den Decodierer B und Codierer C umgeht, aus.
  • Zweites Beispiel
  • Nach den 4, 6A und 7 werden zwei Erstgenerationsbitströme (Gen1-Bitströme) A0 undB0 mit 12 Rahmen aufweisenden GOPs MPEG-2-codiert. Bei diesem Beispiel weisen die Bitströme A0 und B0 die gleiche wie in 7 gezeigte GOP-Struktur
    IBBPBBPBBPBB
    auf. Jedoch können die Bitströme jede andere GOP-Struktur aufweisen, die bei MPEG-2 erlaubt ist. Die zwei Bitströme A0 und B0 können unterschiedliche GOP-Strukturen aufweisen. Der einfachen Erklärung wegen sei angenommen, dass die Bitströme A0 und B0 die gleiche wie in 7 gezeigte GOP-Struktur aufweisen.
  • Es ist gewünscht, den Bitstrom A0 durch den Bitstrom B0 zu ersetzen. Wie in den 4 und 6A gezeigt werden anfangs A0 und B0 in den Decodierern 1 und 3 decodiert. Die decodierten Bitströme werden in Erneutcodierern 8 und 10 als Zweitgenerationsbitströme (Gen2-Bitströme) A1 und B1 erneut codiert. Beim Decodieren und erneuten Codieren von A0 und B0 als A1 und B1 werden die MPEG-Parameter aller Rahmen der originalen Bitströme A0 und B0 in Assoziation mit den korrespondierenden erneut codierten Rahmen von A1 und B1 aufrechterhalten. I-Rahmen von A0 und B0 werden unter Benutzung der gleichen Parameter, die sie in A0 und B0 hatten, als I-Rahmen der Bitströme A1 und B1 erneut codiert. P- und B-Rahmen von A0 und B0 werden in A1 und B1 als I-Rahmen erneut codiert, aber ihre originalen MPEG-Parameter werden aufrechterhalten. Die MPEG-Parameter werden im erneut codierten Bitstrom A1, B1 als beispielsweise Benutzerdaten aufrechterhalten.
  • Wenn eine Bedienungsperson entscheidet, die erneut codierten Bitströme B1 und A1 zu spleißen, betätigt die Bedienungsperson den Schalter S2, so dass A1 bis zum Spleißpunkt zu einem Speicher 12 wegegeleitet wird und B1 nach dem Spleißpunkt zum Speicher 12 wegegeleitet wird, so dass der Speicher 12 den verbundenen bzw. gespleißten Bitstrom A1/B1 mit einem Spleißpunkt zwischen einem Rahmen von A1 und einem Rahmen von B1 speichert.
  • Der gespleißte Bitstrom A1/B1 wird zu einem Basisband decodiert und in einem Codierer 4 als Drittgenerationsbitstrom (Gen3-Bitstrom) C der in 7 gezeigten Form erneut codiert.
  • Bei einer in 6B gezeigten bevorzugten Ausführungsform werden die Bitströme in jeweiligen Speichern 14 und 16 stromauf des Schalters S2 gespeichert, bevor sie gespleißt werden. Der gespleißte Bitstrom A1/B1 wird in einem anderen Speicher 12 gespeichert. Die Speicher 14, 16 und 12 können beispielsweise digitale Videobandrekorder, Plattenrekorder und/oder I-Rahmen-Server sein.
  • In 4 ist der Spleißpunkt VERBINDUNG angedeutet. Beim Spleißpunkt schaltet der Schalter S2 beispielsweise vom Bitstrom A1 zum Bitstrom B1. Wenn die gespleißten Bitströme erneut zu codieren sind, werden sie dem Codierer 4 zugeführt. Beim Beispiel der 4, 6 und 7 findet eine volle erneute Codierung, das heißt ohne erneute Benutzung von MPEG-Parametern in einem Übergangsgebiet statt, das beim Bitstrom A1 fünf Rahmen vor dem Spleißpunkt VERBINDUNG beginnt. Der Grund dafür wird unten erläutert.
  • Vor dem Beginn des Übergangsgebiets (das heißt mehr als 5 Rahmen vor VERBINDUNG) wird der Bitstrom A1 unter Benutzung der vom originalen Bitstrom A0 abgeleiteten MPEG-Parameter erneut codiert.
  • Nach dem Spleißpunkt VERBINDUNG wird der Bitstrom B1 für den Rest der Übergangsperiode, während welcher, wie unten erläutert, VBV_lock erreicht wird, voll erneut codiert. Wenn VBV_lock einmal erreicht ist, setzt sich die erneute Codierung des Bitstroms B1 fort, aber mit erneuter Benutzung der vom originalen Bitstrom B0 abgeleiteten MPEG-Parameter.
  • Der vom Prozessor P und Codierer 4 erzeugte gespleißte und erneut codierte Bitstrom C wird einem Stromabdecodierer 2 zugeführt, wo der Bitstrom C beispielsweise für eine Anzeige decodiert wird. Der Stromabdecodierer 2 kann beispielsweise in einem häuslichen Fernsehempfänger sein. Der Prozessor P kann in einem Studio sein.
  • Bei den 6A und 6B wird der gespleißte Bitstrom A1/B1 im I-Rahmenspeicher 12 gespeichert, bevor er erneut codiert wird. Im Bitstrom ist beispielsweise in den Benutzerbits eine den Spleißpunkt markierende Markierung aufgezeichnet.
  • Wie in den 1 und 4 gezeigt gibt es sowohl für das erste als auch zweite Beispiel ein den Spleißpunkt VERBINDUNG umfassendes Übergangsgebiet, während welchem die Belegung für den Bitstrom C gesteuert wird, um einen Unter- und Überlauf des Puffers des Stromabdecodierers 2 zu verhindern.
  • Die in der folgenden Beschreibung beschriebenen Steuerungsverfahren werden bei beiden Beispielen gleich angewendet. Jedoch ist zu erkennen, dass
    • a) beim ersten Beispiel es die originalen Bitströme A0 und B0 sind, die vom Codierer erneut codiert werden, wohingegen
    • b) beim zweiten Beispiel es die I-Rahmen-Bitströme A1 und B1 sind, die vom Codierer 4 erneut codiert werden.
  • Jedoch hängt die erneute Codierung der Rahmen der Bitströme A1 und B1 von korrespondierenden Rahmen der Bitströme A0 und B0 ab, von denen sie abgeleitet sind. Infolgedessen wird im Folgenden nur auf die Rahmen der originalen Bitströme A0 und B0 Bezug genommen. Die folgende Beschreibung gilt für die mit den Rahmen der Bitströme A0 und B0 korrespondierenden Rahmen der Bitströme A1 und B1, mit dem Resultat, dass der Effekt der erneuten Codierung der gleiche ist, wie wenn der Bitstrom nicht als mehrere I-Rahmen erneut codiert worden wäre (abgesehen von gewissen Verlusten aufgrund der zusätzlichen erneuten Codierung und Decodierung bei und von I-Rahmen).
  • Bildtypentscheidung
  • Das Spleißen des Bitstroms B0 mit dem Bitstrom A0 unterbricht die GOP-Struktur. Infolgedessen werden die folgenden Regeln angewendet:
    Der Bitstrom, in diesem Beispiel A0, vor dem Spleiß wird aufgezeichnet, so dass
    • (1) der letzte „I"- oder „P"-Rahmen vor dem Spleiß in „P" umgesetzt wird,
    • (2) wenn der letzte Rahmen vor dem Spleiß ein „B"-Rahmen ist, er in „P" umgesetzt wird. Der Bitstrom, in diesem Beispiel B, nach dem Spleiß wird aufgezeichnet, so dass
    • (3) der erste „I"- oder „P"-Rahmen nach einem Spleiß in „I" umgesetzt wird und,
    • (4) wenn die erste GOP nach dem Spleiß und nach der Anwendung der Regel (3) weniger als drei „P"-Rahmen aufweist, der „I"-Rahmen der nachfolgenden GOP in „P" umgesetzt wird, wobei die Länge der GOP geändert wird. Bei diesem Beispiel wird die GOP verlängert.
  • Eine neue Übergangs-GOP beginnt mit einem I-Rahmen unmittelbar nach dem Spleiß, und die neue GOP ist im Bitstrom B0 länger als vorhergehende (und nachfolgende) GOPs gemacht. Die neue GOP ist in Wirklichkeit eine Vorhersage darüber, wo VBV_lock zu erreichen ist. Die Anwendung dieser Regeln ist in der 7 bei (1), (2), (3) und (4) gezeigt.
  • In 7 ist A0 der Bitstrom A0,
    ist B0 der Bitstrom B0 und
    ist C der gespleißte Bitstrom am Ausgang C des Codierers 4 wie wenn die Bildtypentscheidungen nicht gemacht worden sind, und
    ist C' der gespleißte Bitstrom am Ausgang C des Codierers 4 mit den bei ihm angewendeten Bildtypentscheidungen.
  • Durch Anwendung der Regel (2) wird der „B"-Rahmen von A0 unmittelbar vor dem Spleiß in P umgesetzt. Durch Anwendung der Regel (1) wird der I-Rahmen von A0 vor dem Spleiß auch in P umgesetzt.
  • Durch Anwendung der Regel (3) wird der erste „P"-Rahmen des Bitstroms B0 nach dem Spleiß in I im Bitstrom C' umgesetzt.
  • Durch Anwendung der Regel (4) weist die GOP des Bitstroms B0 nach dem Spleiß (nach Umsetzung seines ersten P-Rahmens in I) weniger als drei „P"-Rahmen auf. Deshalb wird der nächste „I"-Rahmen in „P" umgesetzt. Die Anwendung dieser Regeln ergibt eine GOP, die, wie unten beschrieben, wird einen vorhergesagten VBV_lock-Punkt definiert.
  • Regel 4 kann in (41) geändert werden.
  • (41) Wenn die erste GOP nach dem Spleiß nur einen „P"-Rahmen aufweist, werden die Rahmentypen der nächsten GOP von „I" in „P" und „P" in „I" geändert, um in einer GOP zwei „P"-Rahmen zu ergeben. Dies resultiert in zwei kürzeren GOPs zwischen dem Spleißpunkt und VBV_lock.
  • Verarbeitungsordnung
  • 7 zeigt die Rahmen der Bitströme in der Ordnung, in der sie angezeigt werden oder angezeigt würden. 8 zeigt die Ordnung, in der die Rahmen verarbeitet werden. Beispielsweise sind nach 7 (Anzeigeordnung) die Rahmen 0, 1 und 2 des Bitstroms A0 in dieser Ordnung gezeigt. Auch wenn die B-Rahmen 0 und 1 vor dem I-Rahmen 2 angezeigt würden, sie hängen vom zu decodierenden I-Rahmen 2 ab. Um sie zu decodieren muss infolgedessen, wie in 8 gezeigt, der I-Rahmen 2 den B-Rahmen vorhergehen. Ähnlich hängen die B-Rahmen 3 und 4 der 7 vom P-Rahmen 5 der 7 ab. Infolgedessen wird in 8 der P-Rahmen 5 der 7 der den zwei B-Rahmen vorhergehende P-Rahmen 3.
  • Konstante Bitrate
  • Das Beispiel des Prozessors P der 3 oder 6A oder 6B weist eine konstante Bitrate (constant bit rate) auf. Die Bitströme A0 und B0 weisen eine feste Bitrate auf, und der Codierer 4 erzeugt ein Ausgangssignal C einer konstanten Bitrate.
  • Stromabdecodierer und -puffer
  • Der Stromabdecodierer 2 weist einen Puffer 8 auf. Die im Codierer 4 des Prozessors stattfindende Codierung ist so ausgebildet, dass der Puffer 8 des Stromabdecodierers 2 weder unterläuft noch überläuft. Die 9, 10 und 11 zeigen den Betrieb des Stromabpuffers 8 des Stromabdecodierers 2.
  • (Der Codierer 4 weist einen korrespondierenden Puffer auf und er arbeitet als das Inverse von dem, was in den 9, 10 und 11 gezeigt ist).
  • Das Folgende ist als MPEG-Rate-Steuerungsparameter bekannt.
  • VBV
  • VBV ist ein virtueller Pufferverifizierer (virtual buffer verifier). Er ist ein Maß der Anzahl von Bits, die im Stromabpuffer 8 sein würden.
  • Remain_bit_GOP (Rest_Bit_GOP)
  • Diese ist eine Zielanzahl für die Gesamtzahl von Bits des Rests der laufenden GOP. Am Beginn einer GOP ist sie ein Ziel für die ganze GOP. Sie reduziert sich, 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 in einer GOP verbleibenden P-Rahmen.
  • Nb ist die Anzahl von in einer GOP verbleibenden B-Rahmen.
  • Kp und Kb sind von Quantisierungsmatrizen abhängige „universelle" Schätzungen. Sie definieren (indirekt) die relativen Größen von I-, P- und B-Rahmen.
  • Xi, Xp, Xb sind „Komplexitätsmaße" für I-, P- und B-Rahmen.
  • Diese Parameter werden in einer bekannten Weise benutzt, um die Bits einer GOP zwischen I-, P- und B-Rahmen zu verteilen.
  • Sie sind weiter erläutert in „Testmodell 5", veröffentlicht von „International Organisation for Standardisation Organisation Internationale De Normalisation Coded Representation of Picture and Audio Information ISO/IEC JTC1/SC29/WG11/N0400".
  • Erreichen von VBV_Lock
  • Wie oben beschrieben darf der Stromabpuffer weder unterlaufen noch überlaufen. Bei MPEG-2 wird der Puffer normalerweise annähernd halb voll gehalten. Eine Diskontinuität im Bitstrom kann den Puffer unterlaufen oder überlaufen lassen. VBV ist das Maß der Pufferbelegung.
  • Die 9, 10 und 11 zeigen als einen extremen Fall eine Pufferbelegung VBV für zwei Bitströme A0 und B0. A0 weist eine typische Belegung auf, und B0 weist eine ungewöhnlich hohe Belegung auf.
  • In der Situation, bei welcher der Bitstrom mit A0 mit typischer Belegung beginnt und B0 mit hoher Belegung beim Spleißpunkt an A0 gespleißt wird, ist es notwendig, nach dem Spleißpunkt eine oder mehrere Übergangs-GOPs bereitzustellen, die
    • a) Kontinuität, obgleich Änderung der VBV-Belegung bereitstellen und
    • b) die VBV-Belegung vom Wert des Bitstrom B0 unmittelbar vor dem Spleiß in einen Zielwert, welcher der Wert von VBV für den Bitstrom B0 ist, ändern.
  • Wie in den 9, 10 und 11 gezeigt beginnt der VBV des Bitstroms C identisch mit A0 und ändert sich dann fortschreitend in den VBV von B0.
  • Der Punkt, bei dem die VBV-Belegung von C identisch zu der des Bitstroms B0 wird, ist der VBV_lock-Punkt.
  • Wie oben erwähnt zeigen die 9, 10 und 11 die Belegung des Stromabpuffers 8. Um VBV_lock zu erreichen, wird der Codierer 4 wie folgt gesteuert.
  • Verfahren zum Erreichen von VBV_Lock
  • a) Bildentscheidungsregeln
  • Die Verfahren benutzen die obigen Bildentscheidungsregeln (1) bis (4).
  • b) Komplexität
  • Für das System der 3 wird der Bitstrom A0 decodiert und vor dem Spleiß erneut codiert. Infolgedessen tritt eine Codierung mit für den Bitstrom A0 geeigneten Komplexitätswerten auf. Jedoch sind diese Werte nicht für den Bitstrom B0 geeignet. Infolgedessen werden vor dem Spleiß Komplexitätswerte Xi, XP, XB der I-, P- und B-Rahmen des Bitstroms B0 unmittelbar vor dem Spleiß berechnet auf Basis von X = S·Qwobei
  • X
    = Komplexitätswert
    S
    = Anzahl von durch Codierung eines Bildes erzeugten Bits,
    Q
    = mittlerer Quantisierungsparameter aller Makroblöcke in einem Bild.
    X = S·Q
    ist eine Standardgleichung für Ratensteuerung in MPEG.
  • Für das System der 6 werden, da die zu spleißenden Bitströme A1 und B1 nur I-Rahmen aufweisen, Komplexitätsschätzungen wie folgt abgeleitet:
    • a) Für P- und B-Rahmen ab der ersten Erzeugung von Transcodierungsparametern (die in Assoziation zu den Rahmen aufrechterhalten worden sind) der I-Rahmen des Bitstroms B1 nach dem Spleißpunkt, und
    • b) für die I-Rahmen ab irgendeinem I-Rahmen des Bitstroms B1 nach dem Spleißpunkt. Vorzugsweise ist der ausgewählte I-Rahmen einer, der im Bitstrom C als ein I-Rahmen aufgezeichnet wird.
  • Diese Rahmen können aufgrund der 3-Rahmen-Neuordnungsverzögerung beim Spleißpunkt zur Verfügung stehen. Andernfalls kann eine 3-Rahmenverzögerung bereitgestellt werden.
  • Bei beiden Systemen ersetzen diese Komplexitätswerte beim Spleißpunkt die existierenden Werte (des Bitstroms A0). So werden nach dem Spleiß für den Bitstrom B0 geeignete Komplexitätswerte benutzt. Wie oben beschrieben werden beim System nach 6 die Komplexitätswerte nach dem Spleißpunkt vom Bitstrom B0 abgeleitet.
  • Die Komplexitätswerte steuern die Verteilung von Bits zwischen I-, P- und B-Rahmen. Die Erzielung einer guten subjektiven Qualität hängt von den Komplexitätswerten ab.
  • c) Virtuellpuffermodifikation
  • Die virtuellen Puffer werden zum Berechnen der Referenz-Q-Skala (reference Q scale) für jeden Makroblock benutzt. Eine Verbesserung der Qualität kann durch Einstellen der virtuellen Puffer auf geschätzte (estimated) Bitstrom-B0-Werte beim Spleißpunkt gewonnen werden. Dies stellt sicher, dass anstatt mit Bitstrom-A0-Q-Skalen fortzufahren, die resultierenden Q-Skalen ähnlich zu denen sind, die beim Bitstrom B0 in der vorhergehenden Generation benutzt werden.
  • Für das System der 3 werden virtuelle Bitstrom-B0-Pufferwerte für die letzten I-, P- und B-Rahmen vor dem Spleißpunkt auf Basis von Q geschätzt.
  • Für den I-Rahmen wird der Wert berechnet als: extimated_buf_i = (Q*bit_rate)/(31*frame_rate).
  • Q ist der mittlere Quantisierungsparameter.
  • Dieser Wert wird dann beim Spleißpunkt erzwungen.
  • Dies wird auch für die virtuellen P- und B-Puffer in der gleichen Weise durchgeführt.
  • Für das System nach 6 werden, da die zu spleißenden Bitströme A1 und B1 nur I-Rahmen aufweisen, die Virtuellpufferschätzungen unter Benutzung des oben dargelegten Werts estimated_buf_i abgeleitet, wobei aber ihr Wert wie folgt abgeleitet wird:
    • a) Für P- und B-Rahmen ab der ersten Erzeugung von Transcodierungsparametern (die in Assoziation mit den Rahmen aufrechterhalten worden sind) der I-Rahmen des Bitstroms B1 nach dem Spleißpunkt, und
    • b) für die I-Rahmen ab irgendeinem I-Rahmen des Bitstroms B1 nach dem Spleißpunkt. Vorzugsweise ist der ausgewählte I-Rahmen einer, der im Bitstrom C als ein I-Rahmen aufgezeichnet wird.
  • Die Rahmen stehen zur Verfügung, da sie gespeichert sind, beispielsweise zum Zweck einer Neuordnung der Rahmen.
  • Die Codierung im Codierer 4 wird entsprechend einer Remain-bit-GOP (Rest-Bit-GOP) zwischen Spleiß und VBV_lock gesteuert, so dass die Belegung des Stromabpuffers 2 einer kontinuierlichen aber sich ändernden Trajektorie von vor dem Spleiß bei der Bitstrom-A0-Belegung zu VBV_lock bei der Bitstrom-B0-Belegung folgt. Die Steuerung wird auch wie oben beschrieben zum Erzwingen der Komplexität und der virtuellen Puffer benutzt. Die Steuerung, die dies ausführt, ist eine „Ratensteuerung" („rate control") und ist beispielsweise aus dem oben erwähnten Dokument „Testmodell 5" bekannt.
  • d) Adjust Remain_bit_GOP (Einstellen von Rest_Bit-GOP)
  • Zur Erhöhung der Belegung des wie in 9 gezeigten Stromabpuffers wird der Puffer im Codierer entsprechend der Remain_bit_GOP gesteuert, um Bilder mit einer kleineren Anzahl von Bits auszugeben, so dass seine Belegung abnimmt. Bilder mit kleineren Anzahlen von Bits werden durch erhöhte Kompression/gröbere Quantisierung erzeugt.
  • Wenn die Trajektorie von hoher Belegung des Stromabpuffers zu niedrigerer Belegung des Stromabpuffers ist, wird der Codierer entsprechend der höheren Remain_bit_GOP gesteuert, um die Belegung seines Puffers zu erhöhen, wobei größere Bilder durch weniger Kompression/feinere Quantisierung erzeugt werden.
  • Remain_bit_GOP ist das Ziel für die Anzahl von in der GOP verbleibenden Bits.
  • Die Länge der Übergangs-GOP ist aus dem Resultat der Einstellung der GOP-Länge unter Benutzung der obigen Bildentscheidungsregeln (1) bis (4) bekannt.
  • Remain_bit_GOP wird in der folgenden Weise eingestellt. Sie wird nach jedem Rahmen um die Anzahl von zum Codieren dieses Rahmens benutzten Bits reduziert, wie es bei MPEG2 normal ist. Zusätzlich wird sie bezugnehmend auf die 12A, B und C beim Start der Übergangs-GOP und, wie es in Bezug auf die 12A bis C beschrieben ist, bei jedem I- oder P-Rahmen darin aktualisiert.
  • Beim Spleißpunkt wird Remain_bit_GOP auf die normale Zuordnung von Bits für die durch die Bildentscheidungsregeln definierte Übergangs-GOP eingestellt, wobei die Zuordnung vorzugsweise um den Faktor α reduziert wird, eine Variable carry_over auf null eingestellt wird und eine Variable reduction_carry auf null eingestellt wird. [Schritt S1]. (Carry_over ist ein positiver Wert von VBV_diff, der über die verbleibenden I- und P-Rahmen der GOP gemittelt ist, und reduction_carry ist der Überschuss von VBV_diff über die reduction_limit).
  • Eine Variable Reduction_limit wird anfangs auf minus (bitrate*remain_num_total*max_red_%)/(frame_rate) eingestellt, wobei remain_num_total die Anzahl von in der GOP verbleibenden Rahmen ist und max_red_% eine empirisch gewählte Zahl ist, welche die während der Übergangs-GOP erlaubte gewünschte maximale Reduzierung in der Bitrate ist. [Schritt S2]. Reduction_limit stellt die maximale Größe dar, um welche die Bitrate bei jeder Aktualisierung auf einem I- oder P-Rahmen reduziert werden kann.
  • VBV_diff für den Start der Übergangs-GOP wird berechnet als (VBV_C_splice) – (VBV_B_next_I or P),das heißt als die Differenz zwischen dem VBV-Wert des Bitstroms C beim Spleißpunkt und dem VBV-Wert des Bitstroms B0 beim unmittelbar folgenden I- oder P-Rahmen. [Schritt S31].
  • Es ist zu erkennen, dass reduction_limit bei diesem Beispiel eine negative Zahl ist. Auch die Schritte S1, S2 und S31 stellen Anfangswerte ein, die nur beim Start der Übergangs-GOP benutzt werden.
  • Bezugnehmend auf den Schritt S4 bestimmt der Schritt S4, ob der beim Schritt S31 berechnete Anfangswert von VBV_diff beim Start der GOP positiv oder negativ ist. Wenn die Aktualisierung bei einem I- oder P-Rahmen nicht beim Start der GOP stattfindet, wird VBV_diff durch den Schritt S32 berechnet als VBV_diff = (VBV_b_Current I or P) – (VBV_B_next I or P) + reduction_carry
  • Das heißt VBV_diff wird durch die Differenz zwischen dem laufenden VBV-Wert des Bitstroms B0 und dem nächsten VBV_value (bei einem I- oder P-Rahmen) plus irgendeinem reduction_carry aktualisiert.
  • Aktualisierungen findet dann in der folgenden Weise statt, die für den Start der GOP und nachfolgende Aktualisierungen bei einem I- oder P-Rahmen in gleicher Weise gilt.
  • VBV_diff positiv beim Schritt S4 (siehe 12B)
  • Wenn VBV_diff positiv ist, inkrementiert der Schritt S5 die Variable carry_over um (VBV_diff)/(Anzahl von in der GOP verbleibenden I- oder P-Rahmen)und Schritt S6 inkrementiert Remain_bit_GOP um carry_over. Infolgedessen mitteln die Schritte S5 und S6 positive Werte von VBV_diff über den in der GOP verbleibenden I- und P-Rahmen. Jedes Mal wenn es ein positives VBV_diff gibt, wird Remain_bit_GOP um carry_over inkrementiert.
  • Schritt S7 setzt reduction_limit auf:
    (Reduction_limit_carry_over)*(next_remain_num_total)/(remain_num_total), wobei next_remain_num_total die Anzahl von Rahmen ist, die bei der nächsten Aktualisierung (bei einem I- oder P-Rahmen) in der den nächsten I- oder P-Rahmen aufweisenden GOP verbleibenden, und remain_num_total die Anzahl von Rahmen ist, die in der den laufenden Rahmen aufweisenden GOP verbleibenden. Das heißt, der negative Wert reduction_limit wird durch carry_over erhöht, da die positive Änderung in Remain_bit_GOP eine größere Änderung im VBV bei einer nachfolgenden Aktualisierung ermöglicht.
  • Schritt S8 setzt reduction_carry auf null:
    Reduction_carry wird bei jeder Aktualisierung bei einem I- oder P-Rahmen neu berechnet, um eine Akkumulation seines Wertes zu vermeiden.
  • VBV_diff negativ beim Schritt S4. (siehe 12B).
  • Wenn VBV_diff beim Schritt S4 negativ ist, wird beim Schritt S10 die Variable carry_over (die ein beim Schritt S5 berechneter kumulativer gemittelter positiver Wert von VBV_diff von vorhergehenden Aktualisierungen ist) zu VBV_diff addiert, um einen neuen Wert von VBV_diff zu erzeugen. Das heißt, carry_over wird zu VBV_diff addiert, um sie weniger negativ zu machen und dadurch zu ermöglichen, dass eine entsprechend größere Änderung in Remain_bit_GOP auftritt, da mehr Bits zur Verfügung stehen. Das wie beim Schritt S11 getestete Resultat ist, dass der neue Wert von VBV_diff mehr oder weniger negativ als reduction_limit sein kann, welch letzteres die in Remain_bit_GOP zulässige maximale Änderung ist.
  • Wenn der neue Wert von VBV_diff negativer als reduction_limit ist, wird Remain_bit_GOP um reduction_limit reduziert [Schritt S15). Reduction_carry wird beim Schritt S16 als der Überschuss des neuen Werts von VBV_diff über reduction_limit berechnet. Wenn reduction_limit in der GOP einmal überschritten ist, wird es beim Schritt S17 auf null gesetzt.
  • Wenn der neue Wert von VBV_diff weniger negativ als reduction_limit ist, wird beim Schritt S12 Remain_bit_GOP durch den Wert von VBV_diff geändert. Es ist zu erkennen, dass der neue Wert von VBV_diff in diesem Fall positiv oder negativ sein kann. Wenn VBV_diff positiv ist, wird Remain_bit_GOP um VBV_diff erhöht, und wenn VBV_diff negativ ist, wird Remain_bit_GOP um VBV_diff reduziert.
  • Beim Schritt S13 wird reduction_limit eingestellt auf (reduction_limit – VBV_diff)*(next_remain_num_total)/(remain_num_total),wobei next_remain_num_total und remain_num_total wie für den Schritt S7 definiert sind. Das heißt, reduction_limit wird beim Fortschreiten der GOP reduziert (das heißt weniger negativ gemacht), wenn VBV_diff negativ ist, da in der GOP weniger Bits zur Verfügung stehen, und (dem Skalierungseffekt von (next_remain_num_total)/(remain num_total) unterworfen) erhöht (das heißt, negativer gemacht), wenn VBV_diff positiv ist, da in der GOP mehr Bits zur Verfügung stehen.
  • Reduction_carry wird beim Schritt S14 aus dem gleichen Grund wie beim Schritt S1 auf null eingestellt.
  • Der Algorithmus geht dann beim Schritt S9 zur nächsten I- oder P-Aktualisierung weiter. Wenn beim Schritt S18 das durch die Bildentscheidungsregeln bestimmte Ende der Übergangs-GOP nicht aufgetreten ist, kehrt die Prozedur zum Schritt S32 zurück und wiederholt bis zum Ende der Übergangs-GOP.
  • Am Ende der GOP bestimmt Schritt S19, ob reduction_carry negativer als ein Schwellenwert reduction_carry_threshold ist. Es ist zu erkennen, dass dies nur auftritt, wenn VBV_diff negativer (nach jeder positiven Verschiebung durch den kumulativen Wert carry_over) als reduction_limit ist.
  • Reduction_carry weniger negativ als die Schwelle zeigt an, dass VBV_lock wie bei Schritt S22 durch Benutzen von Stopfbits erreicht werden kann. Die nächste GOP wird dann zur Aufrechterhaltung der Bildqualität mit erneuter Benutzung der Transcodierungsparameter gestartet gestartet.
  • Reduction_carry negativer als die Schwelle zeigt an, dass VBV_lock nicht erreicht worden ist, und es wird eine neue Übergangs-GOP gestartet, aber mit erneuter Benutzung der I-Rahmen-Transcodierungsparameter und erneuter Codierung von P- und B-Rahmen. [Schritt S20]. Für die neue Übergangs-GOP werden beim Start der GOP die folgenden Variablen auf Anfangswerte gesetzt:
    Remain_bit_GOP wird auf ihre normale Zuordnung eingestellt. Die Länge der GOP wird nicht durch die Bildentscheidungsregeln bestimmt, sondern wird als die normale Länge für eine GOP bestimmt. Carry_over wird auf null gesetzt. Reduction_limit wird auf minus (bitrate*remain_num_total*max_red_%)/frame_rate)eingestellt.
  • Der Wert von reduction_carry von der vorhergehenden GOP wird zur neuen GOP übertragen.
  • Die Prozedur zur Aktualisierung von remain_bit_GOP der Schritte S32 und S2 bis S18 startet erneut, bis die Belegung der Übergangs-GOP gleich der des Bitstroms B0 ist. Vorzugsweise benutzt die neue Übergangs-GOP die Transcodierungsparameter für ihre I-Rahmen.
  • Bei einer Version wird die Schwelle auf null gesetzt. Wenn reduction_carry null ist, endet die Übergangs-GOP, da angenommen wird, dass VBV_lock aufgetreten ist. Wenn reduction_carry nicht null ist, setzt sich eine volle erneute Codierung in einer anderen GOP fort, die eine normal lange GOP ist, aber entsprechend der Prozedur der 12 bis VBV_lock erreicht ist.
  • Bei einer anderen Version wird die Schwelle auf einen Wert K% eingestellt. Wenn reduction_carry kleiner als K ist, ist jede Differenz zwischen den VBVs der Übergangs-GOP und dem Bitstrom B0 klein und wird mit Stopfbits gebildet. Die übrigbleibenden Stopfbits sind von der Zuordnung von übrigbleibenden Bits, die durch Reduzieren der normalen Zuordnung für remain_bit_GOP um den Faktor α am Beginn der GOP bereitgestellt werden. Die Schwelle K% ist die normale Bitzuordnung für eine lange GOP. K kann im Bereich von 0% bis 8% vorzugsweise etwa 5% sein. Die maximum_reduction_percentage kann 25% sein.
  • Die Anwendung der reduction_limit stellt sicher, dass während der Übergangs-GOP die Bitrate nicht unter eine vorbestimmte Minimumrate geht oder, äquivalent, die Rate einer Änderung der Belegung eine vorbestimmte Minimumrate nicht überschreitet. Teilen positiver Änderungen in Remain_bit_GOP über dem Rest der I- und P-Rahmen in der GOP tendiert dazu, die Änderungen in Remain_bit_GOP über der GOP auszuebnen. Wenn VBV_diff negativ ist, aber die Reduktionsgrenze nicht überschreitet, wird die Grenze progressiv reduziert, wenn die GOP weitergeht. Infolgedessen reduziert die erlaubte maximale Änderung die Verhinderung von disproportional großen Änderungen in Remain_bit_GOP am Ende der GOP. Das Verfahren der 12 ermöglicht, dass das Übergangsgebiet gerade vor dem Spleiß beginnt und bei VBV_lock endet, um in der Länge variiert zu werden, wie es notwendig ist (wie es durch reduction_limit bestimmt ist), um VBV_lock effizient zu erreichen.
  • VBV_Lock-Punkt
  • Die Periode, über der VBV_lock als erreicht vorhergesagt wird, ist eine (oder mehrere) GOP, ungeachtet einer GOP, deren Länge durch die Bildtypentscheidungsregeln geändert worden sein kann. Bei diesem Beispiel ist sie etwa 30 Rahmen.
  • Bezugnehmend auf die 2, 3, 4, 5 und 6 sei angenommen, dass Sperre (lock) beim I-Rahmen 52 in der Anzeigeordnung (4) erreicht ist. Tatsächlich wird die VBV-lock in der Verarbeitungsordnung erreicht, so dass sie beim aufgezeichneten I-Rahmen 50 (5) auftritt. Die folgenden B-Rahmen 51 und 52 in 5 sind voll erneut codierte Rahmen von vor VBV_lock und zerstören die Sperre. Infolgedessen werden die übrigbleibenden Bits beim zweiten B-Rahmen 52 benutzt, um den Bitstrom zum Erreichen einer exakten Sperre zu stopfen.
  • Wenn der Faktor ∀ Null ist, stehen keine übrigbleibenden Bits zur Verfügung, so dass das System versucht, bei dem I-Rahmen unmittelbar nach dem Ende der Übergangs-GOP eine exakte Sperre zu erreichen. Eine Raten-Unter- oder -Übersteuerung führt üblicherweise zu der Erzeugung zu vieler Bits. Selbst wenn beim I-Rahmen eine exakte Sperre erreicht wird, wird die Sperre bei den B-Rahmen gestört. Deshalb wird Remain_bit_GOP um den Faktor ∀ reduziert, damit die Ratensteuerung übersteuert, so dass am Ende der GOP freie Bits zur Verfügung stehen. Die freien Bits werden zur Erzielung einer exakten Sperre beim zweiten B-Rahmen benutzt.
  • Der I-Rahmen 50 wird durch erneute Benutzung seiner vom originalen Bitstrom B0 abgeleiteten Parameter verarbeitet. Beim System nach 6 wird nach dem voll erneut codierten B-Rahmen 51 und 52 die erneute Benutzung von Parametern wiederaufgenommen. Beim System der 3 wird die erneute Codierung mit erneuter Benutzung wiederaufgenommen, bis der originale Bitstrom direkt zu dem die Decodierung und erneute Codierung umgehenden Ausgang des Prozessors geleitet wird.
  • Bewegungsvektoren
  • Bewegungsvektoren werden für die Übergangs-GOP regeneriert. Alternativ können die Bewegungsvektoren von Vektoren in benachbarten Rahmen geschätzt werden.
  • Bitwachstum bei Rahmen außerhalb des Übergangsgebiets
  • Beim System nach 6 sind die VBV-Werte der erneut codierten Rahmen nur annähernd die gleichen wie ihre originalen Formen, da die Anzahl von Bits im Lauf der Decodierung und erneuten Codierung schrumpfen oder wachsen kann.
  • Die Rahmen außerhalb des Übergangsgebiets werden original als lange GOPs codiert, auf das Basisband decodiert, als I-Rahmen erneut codiert, auf das Basisband decodiert und als Protokoll-GOPs erneut codiert. Bei diesen Prozessen werden die Transcodierungsparameter der originalen Codierung erneut benutzt, um eine maximale Qualität aufrechtzuerhalten. Jedoch sind DCT- und inverse DCT- bzw. IDCT-Prozesse nicht transparent, das heißt, es treten Fehler auf. Außerdem ist aufgrund von Quantisierungseffekten das originale Basisband nicht das gleiche wie die decodierten I-Rahmen. Als ein Resultat kann die Anzahl von Bits in den Rahmen schrumpfen oder wachsen. Wenn das Schrumpfen oder Wachsen groß genug ist, können die Puffer über- oder unterlaufen. Infolgedessen werden die Rahmen überwacht.
  • Wenn ein übermäßiges Schrumpfen auftritt, wird Bitstopfen benutzt. Wenn ein übermäßiges Wachsen auftritt, werden Rahmen erneut codiert. Das Bitstopfen und die erneute Codierung werden benutzt, um eine Belegung innerhalb normaler MPEG2-Grenzen aufrechtzuerhalten. Vorzugsweise benutzt die erneute Codierung die Transcodierungsparameter der I-Rahmen erneut, um Bildqualität aufrechtzuerhalten.

Claims (40)

  1. Signalprozessor zum Verbinden eines komprimierten Bitstroms B0 mit einem komprimierten Bitstroms A0, wobei der Signalprozessor aufweist: eine Einrichtung (1, 3) zum Decodieren der Bitströme A0 und B0, eine an die Decodierungseinrichtung (1, 3) gekoppelte Schalteinrichtung (S2) zum Erzeugen eines verbundenen Bitstroms C, der vom Bitstrom B0 decodierte und an einem Verbindungspunkt (VERBINDUNG) mit vom Bitstrom A0 decodierten Daten verbundene Daten aufweist, und eine Codierungseinrichtung (4) zum erneuten Codieren des verbundenen Bitstroms C zum Zuführen zu einem Stromabdecodierer (2), der einen Stromabpuffer (8) aufweist, wobei der Signalprozessor dadurch gekennzeichnet ist, dass die Codierungseinrichtung (4) über einem Übergangsgebiet so gesteuert wird, dass die Belegung des Stromabpuffers über dem Übergangsgebiet von der Belegung des Bitstroms A0 zur Belegung des Bitstroms B0 entsprechend einer Trajektorie variiert, auf der die Rate einer Änderung der Belegung auf eine vorbestimmte maximale Rate begrenzt ist.
  2. Prozessor nach Anspruch 1, wobei die Belegung im Übergangsgebiet in vorbestimmten Intervallen geändert ist.
  3. Prozessor nach Anspruch 2, wobei die Änderung bei jedem Intervall auf eine vorbestimmte maximalen Größe begrenzt ist.
  4. Prozessor nach Anspruch 1, 2 oder 3, wobei die komprimierten Bitströme A0 und B0 komprimierte Videobitströme sind.
  5. Prozessor nach Anspruch 4, wobei die Bitströme A0 und B0 entsprechend MPEG2 komprimiert sind.
  6. Prozessor nach Anspruch 1, 2, 3, 4 oder 5, wobei die Schalteinrichtung der Codierungseinrichtung einen verbundenen Bitstrom C zuführt, der den mit dem decodierten Bitstrom A0 verbundenen decodierten Bitstrom B0 aufweist.
  7. Prozessor nach Anspruch 6, wobei die Bitströme A0 und B0 Groups of Pictures (GOPs (Gruppen von Bildern)) aufweisen, die wenigstens I- und P-Rahmen aufweisen, wobei durch erneute Codierung des Bitstroms B0 nach dem Verbindungspunkt eine Übergangs-GOP erzeugt wird, um einen erneut codierten verbundenen Bitstrom C so zu bilden, dass der erneut codierte verbundene Bitstrom C einen I-Rahmen am Beginn der auf den Verbindungspunkt folgenden Übergangs-GOP und zusätzlich zum I-Rahmen wenigstens drei P-Rahmen aufweist.
  8. Prozessor nach Anspruch 6 oder 7, wobei das Übergangsgebiet einen Abschnitt vor dem Verbindungspunkt aufweist, der durch Modifizieren des Bitstroms A0 erzeugt wird, um den erneut codierten verbundenen Bitstrom C so zu bilden, dass der letzte I- oder P-Rahmen vor dem Verbindungspunkt in einen P-Rahmen umgesetzt wird und, wenn der letzte Rahmen des Bitstroms A0 vor dem Verbindungspunkt ein B-Rahmen ist, er in einen P-Rahmen umgesetzt wird.
  9. Prozessor nach Anspruch 6, 7 oder 8, wobei beim erneuten Codieren der korrespondierenden Rahmen des verbundenen Bitstroms C die Transcodierungsparameter wenigstens der I-Rahmen der Bitströme A0 und B0 wenigstens außerhalb des Übergangsgebiets erneut benutzt werden.
  10. Prozessor nach Anspruch 9, wobei beim erneuten Codieren der korrespondierenden Rahmen des verbundenen Bitstroms C die Transcodierungsparameter aller Rahmen der Bitströme A0 und B0 außerhalb des Übergangsgebiets erneut benutzt werden.
  11. Prozessor nach Anspruch 1, 2, 3, 4 oder 5, außerdem mit einer Einrichtung zur erneuten Codierung der decodierten Bitströme A0 und B0 als Bitströme A1 bzw. B1, die jeweils nur I-Rahmen aufweisen, wobei die Codierungseinrichtung die Bitströme A1 und B1 zur Bildung des erneut codierten verbundenen Bitstroms C erneut codiert.
  12. Prozessor nach Anspruch 11, wobei die Bitströme A0 und B0 Groups of Pictures (GOPs) mit wenigsten I- und P-Rahmen aufweisen, wobei durch erneutes Codieren des Bitstroms B1 nach dem Verbindungspunkt eine Übergangs-GOP erzeugt wird, um den erneut codierten verbundenen Bitstrom C so zu bilden, dass der erneut codierte verbundene Bitstrom C einen I-Rahmen am Beginn der auf den Verbindungspunkt folgenden Übergangs-GOP und zusätzlich zum I-Rahmen wenigstens drei P-Rahmen aufweist.
  13. Prozessor nach Anspruch 11 oder 12, wobei das Übergangsgebiet einen Abschnitt vor dem Verbindungspunkt aufweist, der durch Modifizieren des Bitstroms A1 erzeugt wird, um den erneut codierten verbundenen Bitstrom C so zu bilden, dass bezüglich der mit den Rahmen des Bitstroms A1 korrespondierenden Rahmen des Bitstroms A0 der letzte I- oder P-Rahmen vor dem Verbindungspunkt in einen P-Rahmen umgesetzt und, wenn der letzte Rahmen des Bitstroms A0 vor dem Verbindungspunkt ein B-Rahmen ist, er in einen P-Rahmen umgesetzt wird.
  14. Prozessor nach Anspruch 11, 12 oder 13, wobei beim erneuten Codieren der korrespondierenden Rahmen des verbundenen Bitstroms C die Transcodierungsparameter wenigstens der I-Rahmen der Bitströme A0 und B0 wenigstens außerhalb des Übergangsgebiets erneut benutzt werden.
  15. Prozessor nach Anspruch 14, wobei beim erneuten Codieren der korrespondierenden Rahmen des verbundenen Bitstroms C die Transcodierungsparameter aller Rahmen der Bitströme A0 und B0 wenigstens außerhalb des Übergangsgebiets ist erneut benutzt werden.
  16. Prozessor nach einem der Ansprüche 6 bis 15, wobei die Codierungseinrichtung für eine Übergangs-GOP nach dem Verbindungspunkt eine Ziel-Anzahl Remain_bit_GOP von Bits für die Übergangs-GOP berechnet und die Belegung des Stromabpuffers durch den erneut codierten verbunden Bitstrom C innerhalb der Übergangs-GOP in Abhängigkeit von Remain_bit_GOP steuert und die Rate der Änderung der Belegung des Stromabpuffers innerhalb der Übergangs-GOP auf die vorbestimmte maximale Rate beschränkt.
  17. Prozessor nach Anspruch 16, wobei Remain_bit_GOP in regulären Intervallen erneut berechnet wird.
  18. Prozessor nach Anspruch 17, wobei bei Rahmen der Übergangs-GOP, die mit I-Rahmen und/oder P-Rahmen des Bitstroms B0 nach dem Verbindungspunkt korrespondieren, die regulären Intervalle alle drei Rahmen sind.
  19. Prozessor nach Anspruch 18, wobei am Beginn der Übergangsgruppe GOP Remain_bit_GOP als ein Anfangswert berechnet wird, der die normale Zuordnung von für die Übergangs-GOP berechneten Bits ist.
  20. Prozessor nach Anspruch 19, wobei am Beginn der Übergangs-GOP die normale Zuordnung um einen Faktor α reduziert wird, wobei α kleiner als 1 ist.
  21. Prozessor nach Anspruch 19 oder 20, wobei in Bezug auf den Verbindungspunkt ein Wert VBV_diff berechnet wird, wobei VBV_diff von der Differenz zwischen den Belegungswerten des erneut codierten verbundenen Bitstroms C am Verbindungspunkt und der Belegung des Bitstroms B0 bei dem zum Verbindungspunkt benachbarten Rahmen abhängt.
  22. Prozessor nach Anspruch 21, wobei den regulären Intervallen folgend der Wert VBV_diff anhängig von der Differenz zwischen der Belegung des Bitstroms B0 beim laufenden Rahmen der Übergangs-GOP und der Belegung des Bitstroms B0 beim nächsten Intervall berechnet wird.
  23. Prozessor nach Anspruch 21 oder 22, wobei, wenn VBV_diff positiv ist, Remain_bit_GOP bei jeder erneuten Berechnung um einen Wert carry_over = VBV_diff dividiert durch die Anzahl der in der GOP bleibenden Erneutberechnungsintervalle inkrementiert wird.
  24. Prozessor nach Anspruch 23, wobei carry-over bei jeder erneuten Berechnung von VBV_diff zu VBV_diff addiert wird.
  25. Prozessor nach Anspruch 21, 22, 23 oder 24, wobei, wenn VBV_diff negativ, aber nicht negativer als ein Grenzwert ist, Remain_Bit_GOP um VBV_diff reduziert wird.
  26. Prozessor nach Anspruch 25, wobei der Grenzwert um einen zu VBV_diff proportionalen Wert reduziert wird.
  27. Prozessor nach Anspruch 26, wobei der Grenzwert um VBV_diff*R reduziert wird, wobei R ein vorbestimmter Wert kleiner als 1 ist.
  28. Prozessor nach Anspruch 27, wobei R die Anzahl von in der GOP bleibenden Erneutberechnungsintervallen dividiert durch die Gesamtzahl von Erneutberechnungsintervallen in der GOP ist.
  29. Prozessor nach Anspruch 24, 25, 26, 27 oder 28, wobei, wenn VBV_diff negativer als der Grenzwert ist, Remain_bit_GOP auf den Grenzwert reduziert wird.
  30. Prozessor nach Anspruch 29, wobei ein Wert reduction_carry gleich dem Überschuss von VBV_diff über den Grenzwert berechnet wird.
  31. Prozessor nach Anspruch 25, wobei, wenn VBV_diff den Grenzwert einmal überschreitet, der Grenzwert für den Rest der Übergangs-GOP auf null gesetzt wird.
  32. Prozessor nach Anspruch 30, wobei, wenn der Wert von reduction_carry am Ende der Übergangs-GOP größer als ein Schwellenwert ist, in der folgenden GOP die Belegung des Stromabpuffers in Abhängigkeit von Remain_bit_GOP gesteuert wird, bis der Wert von reduction_carry gleich oder kleiner als der Schwellenwert ist.
  33. Prozessor nach Anspruch 31, wobei die Schwelle null ist.
  34. Prozessor nach Anspruch 32, wobei die Schwelle K* normale Zuteilung von Bits in einer GOP mit 0 < K < 1 ist.
  35. Prozessor nach Anspruch 34, wobei 0 < K < 0,1, vorzugsweise 0,01 ist.
  36. Prozessor nach Anspruch 32, 33, 34 oder 35, wobei, wenn reduction_carry kleiner als die Schwelle ist, aber die Belegung des erneut codierten verbundenen Bitstroms C nicht gleich der korrespondierenden Belegung des Bitstroms B0 ist, zusätzliche Bits zum erneut codierten verbundenen Bitstrom C hinzugefügt werden, um Gleichheit zu erreichen.
  37. Prozessor nach Anspruch 1, wobei jeder Bitstrom A0 und B0 Gruppen (GOPs) aus I- und P- und/oder B-Rahmen aufweist, das Übergangsgebiet eine GOP aufweist, die sich vom Verbindungspunkt und über eine Länge erstreckt, die eine Anfangsvorhersage des Punkts im Bitstrom B0 ist, bei dem die Belegung des erneut codierten verbundenen Bitstroms C gleich der des Bitstroms B0 ist, und die Belegung in regulären Intervallen in der Übergangs-GOP entsprechend einer Trajektorie geändert ist, um die Belegung des erneut codierten verbundenen Bitstroms C gleich der des Bitstroms B0 durch das Ende der GOP zu machen, auf eine der Trajektorie entsprechende Änderung, welche die Belegung ändert, eine Grenze angewendet wird, und die Größe, um welche die Änderung die Grenze überschreiten würde (als wenn sie nicht begrenzt wäre) am Ende der Übergangs-GOP mit einer Schwelle verglichen wird, und, wenn sie die Schwelle überschreitet, das Übergangsgebiet erweitert wird.
  38. System nach Anspruch 37, wobei die Grenze zunehmend reduziert wird, wenn die Übergangs-GOP zunimmt.
  39. System nach Anspruch 38, wobei die Grenze zunehmend reduziert wird, vorausgesetzt, sie wird nicht überschritten.
  40. System nach Anspruch 37, 38 oder 39, wobei eine Änderung, welche die Belegung bei einem der Intervalle reduziert, über den Rest der Übergangs-GOP gemittelt wird.
DE60026241T 1999-08-26 2000-08-07 Umschalten zwischen bitratenreduzierten Signalen Expired - Lifetime DE60026241T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9920274 1999-08-26
GB9920274A GB2353653B (en) 1999-08-26 1999-08-26 Signal processor

Publications (2)

Publication Number Publication Date
DE60026241D1 DE60026241D1 (de) 2006-04-27
DE60026241T2 true DE60026241T2 (de) 2006-12-14

Family

ID=10859885

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60026241T Expired - Lifetime DE60026241T2 (de) 1999-08-26 2000-08-07 Umschalten zwischen bitratenreduzierten Signalen

Country Status (5)

Country Link
US (1) US6983015B1 (de)
EP (1) EP1079631B1 (de)
JP (1) JP2001119305A (de)
DE (1) DE60026241T2 (de)
GB (1) GB2353653B (de)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100555164B1 (ko) * 1997-07-25 2006-03-03 소니 가부시끼 가이샤 편집 장치, 편집 방법, 재부호화 장치, 재부호화 방법, 스플라이싱 장치 및 스플라이싱 방법
GB9908809D0 (en) * 1999-04-16 1999-06-09 Sony Uk Ltd Signal processor
EP2364025B1 (de) 2000-08-15 2015-09-16 Microsoft Technology Licensing, LLC Verfahren, Systeme und Datenstrukturen zur Zeitcodierung von Media-mustern
US20020089602A1 (en) 2000-10-18 2002-07-11 Sullivan Gary J. Compressed timing indicators for media samples
US6765963B2 (en) 2001-01-03 2004-07-20 Nokia Corporation Video decoder architecture and method for using same
US20020122491A1 (en) 2001-01-03 2002-09-05 Marta Karczewicz Video decoder architecture and method for using same
US6920175B2 (en) * 2001-01-03 2005-07-19 Nokia Corporation Video coding architecture and methods for using same
US7068719B2 (en) 2001-06-01 2006-06-27 General Instrument Corporation Splicing of digital video transport streams
KR100881531B1 (ko) * 2001-07-19 2009-02-05 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 비디오스트림 스위칭을 위한 멀티미디어 서버 구동 방법
US7693220B2 (en) 2002-01-03 2010-04-06 Nokia Corporation Transmission of video information
DE60332175D1 (de) 2002-01-22 2010-05-27 Microsoft Corp Verfahren und System zur Verhinderung von Startkode-Emulation und Stopfdaten
US7149247B2 (en) 2002-01-22 2006-12-12 Microsoft Corporation Methods and systems for encoding and decoding video data to enable random access and splicing
US20050141613A1 (en) * 2002-03-21 2005-06-30 Koninklijke Philips Electronics N.V. Editing of encoded a/v sequences
JP4355156B2 (ja) 2002-04-16 2009-10-28 パナソニック株式会社 画像復号化方法及び画像復号化装置
WO2003090470A2 (en) 2002-04-19 2003-10-30 Microsoft Corporation Methods and systems for preventing start code emulation at non-byte aligned and/or bit-shifted locations
US6715674B2 (en) * 2002-08-27 2004-04-06 Ultra-Scan Corporation Biometric factor augmentation method for identification systems
JP4179917B2 (ja) * 2003-04-22 2008-11-12 株式会社東芝 動画像符号化装置及び方法
US7924921B2 (en) 2003-09-07 2011-04-12 Microsoft Corporation Signaling coding and display options in entry point headers
US7609762B2 (en) 2003-09-07 2009-10-27 Microsoft Corporation Signaling for entry point frames with predicted first field
US7839930B2 (en) 2003-11-13 2010-11-23 Microsoft Corporation Signaling valid entry points in a video stream
US7852919B2 (en) 2003-09-07 2010-12-14 Microsoft Corporation Field start code for entry point frames with predicted first field
US8213779B2 (en) 2003-09-07 2012-07-03 Microsoft Corporation Trick mode elementary stream and receiver system
JP4232588B2 (ja) 2003-09-19 2009-03-04 ソニー株式会社 画像処理装置および画像処理方法、並びに、プログラム
CN1713727B (zh) * 2004-06-14 2010-11-10 松下电器产业株式会社 编辑资料流的方法及装置
US8295347B2 (en) 2004-08-25 2012-10-23 Sony Corporation Information processing apparatus and information processing method, recording medium, and program
KR100697516B1 (ko) * 2004-10-27 2007-03-20 엘지전자 주식회사 3차원 웨이블릿 변환 기반의 동영상 코딩 방법
US7672399B2 (en) 2005-03-02 2010-03-02 Rohde & Schwarz Gmbh & Co., Kg Apparatus, systems and methods for providing enhancements to ATSC networks using synchronous vestigial sideband (VSB) frame slicing
US8442126B1 (en) * 2005-06-14 2013-05-14 Apple Inc. Synchronizing audio and video content through buffer wrappers
JP4492484B2 (ja) * 2005-08-22 2010-06-30 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP4221676B2 (ja) * 2006-09-05 2009-02-12 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP4851976B2 (ja) * 2007-03-28 2012-01-11 富士フイルム株式会社 動画圧縮装置およびその動作制御方法
DE102008017290A1 (de) 2007-12-11 2009-06-18 Rohde & Schwarz Gmbh & Co. Kg Verfahren und Vorrichtung zur Bildung eines gemeinsamen Datenstroms insbesondere nach dem ATSC-Standard
DE102007059959B4 (de) 2007-12-12 2020-01-02 Rohde & Schwarz Gmbh & Co. Kg Verfahren und System zur Übertragung von Daten zwischen einer zentralen Rundfunkstation und mindestens einem Sender
US8355458B2 (en) 2008-06-25 2013-01-15 Rohde & Schwarz Gmbh & Co. Kg Apparatus, systems, methods and computer program products for producing a single frequency network for ATSC mobile / handheld services
DE102008056703A1 (de) 2008-07-04 2010-01-07 Rohde & Schwarz Gmbh & Co. Kg Verfahren und System zur Zeitsynchronisierung zwischen einer Zentrale und mehreren Sendern
US8904426B2 (en) * 2008-06-30 2014-12-02 Rgb Networks, Inc. Preconditioning ad content for digital program insertion
GB2475463B (en) * 2008-08-26 2013-01-16 Csir A method of switching from a source encoded video stream to a destination encoded video stream
DE102008059028B4 (de) 2008-10-02 2021-12-02 Rohde & Schwarz GmbH & Co. Kommanditgesellschaft Verfahren und Vorrichtung zur Erzeugung eines Transportdatenstroms mit Bilddaten
WO2010051864A2 (en) 2008-11-06 2010-05-14 Rohde & Schwarz Gmbh & Co. Kg Method and system for synchronized mapping of data packets in an atsc data stream
EP2234357B1 (de) 2009-03-21 2016-07-27 Rohde & Schwarz GmbH & Co. KG Verfahren zur Verbesserung der Übertragungsgeschwindigkeit von Mobilfunkdaten und der Qualität der Kanalschätzung in einem ATSC-M/H-Transportdatenstrom
DE102009025219A1 (de) 2009-04-07 2010-10-14 Rohde & Schwarz Gmbh & Co. Kg Verfahren und Vorrichtung zur kontinuierlichen Anpassung von Kodierungsparametern an eine veränderliche Nutzdatenrate
DE102009057363B4 (de) 2009-10-16 2013-04-18 Rohde & Schwarz Gmbh & Co. Kg Verfahren und Vorrichtung zur effizienten Übertragung von überregional und regional auszustrahlenden Programm-und Servicedaten
US8989021B2 (en) 2011-01-20 2015-03-24 Rohde & Schwarz Gmbh & Co. Kg Universal broadband broadcasting
US10271069B2 (en) 2016-08-31 2019-04-23 Microsoft Technology Licensing, Llc Selective use of start code emulation prevention

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5534944A (en) * 1994-07-15 1996-07-09 Matsushita Electric Corporation Of America Method of splicing MPEG encoded video
GB9424437D0 (en) * 1994-12-02 1995-01-18 Philips Electronics Uk Ltd Encoder system level buffer management
GB2307613B (en) * 1995-08-31 2000-03-22 British Broadcasting Corp Switching bit-rate reduced signals
US5929916A (en) * 1995-12-26 1999-07-27 Legall; Didier J. Variable bit rate encoding
US5982436A (en) * 1997-03-28 1999-11-09 Philips Electronics North America Corp. Method for seamless splicing in a video encoder
WO1999005870A2 (en) * 1997-07-22 1999-02-04 Koninklijke Philips Electronics N.V. Method of switching between video sequences and corresponding device
KR100555164B1 (ko) * 1997-07-25 2006-03-03 소니 가부시끼 가이샤 편집 장치, 편집 방법, 재부호화 장치, 재부호화 방법, 스플라이싱 장치 및 스플라이싱 방법
JP4232209B2 (ja) * 1998-01-19 2009-03-04 ソニー株式会社 圧縮画像データの編集装置及び圧縮画像データの編集方法
JP4275746B2 (ja) * 1998-02-03 2009-06-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 符号化ビデオシーケンスの切り替え方法及びこれに対応する装置
US6611624B1 (en) * 1998-03-13 2003-08-26 Cisco Systems, Inc. System and method for frame accurate splicing of compressed bitstreams

Also Published As

Publication number Publication date
DE60026241D1 (de) 2006-04-27
EP1079631A1 (de) 2001-02-28
GB2353653B (en) 2003-12-31
EP1079631B1 (de) 2006-03-01
GB2353653A (en) 2001-02-28
JP2001119305A (ja) 2001-04-27
US6983015B1 (en) 2006-01-03
GB9920274D0 (en) 1999-10-27

Similar Documents

Publication Publication Date Title
DE60026241T2 (de) Umschalten zwischen bitratenreduzierten Signalen
DE60032841T2 (de) Signalprozessor zum nahtlosen Zusammenfügen von MPEG-2 Bitströmen in einem Videokoder
DE69921108T2 (de) Verfahren und vorrichtung zur adaptiven codierung eines videodatenstroms
DE69915277T2 (de) Verfahren und vorrichtung zur reduzierung von breathing-artefakten in komprimierten videodaten
DE69815159T2 (de) Kodierung von bewegten bildern mit globaler konstanter bitrate
DE60023576T2 (de) Verfahren und Vorrichtung zur Bewegtbilddatentranscodierung
DE69938093T2 (de) Steuerung der Datenrate für einen MPEG-Transcoder ohne a-priori Kenntnis des Bildtyps
DE69233411T2 (de) Verfahren und Einrichtung zur Kompression von sich bewegenden Videobildern mit adaptiver Bitzuordnung und Quantisierung
DE69735756T2 (de) Dynamische steuerung der kodierrate in einem blockbasierten videokodierungssystem
DE69935478T2 (de) Bewegtbildkodiergerät
DE69736537T2 (de) Ratenregelung für stereoskopische digitale Videokodierung
DE69435000T2 (de) Bildkodierungsvorrichtung
DE4228220B4 (de) Vorrichtung zur hierarchischen Unterteilung von Videosignalen
DE4233543B4 (de) Vorrichtung zur Steuerung der Quantisierung von Videodaten
DE69913990T2 (de) System zum editieren komprimierter bildsequenzen
DE10253380B4 (de) Verfahren und Einrichtung zum Kodieren sich bewegender Bilder mit fester Rechenkomplexität
EP1087625B1 (de) Digitales Transcodiersystem
DE69835211T2 (de) Umschaltung zwischen komprimierten videobitströmen
DE69815720T2 (de) Kodierung von bewegten bildern mit variabler bitrate in einem durchgang
DE69829345T2 (de) Verfahren zur Verminderung des Verarbeitungsleistungsbedarfs eines Videodekoders
DE69826823T2 (de) Verfahren zur videocodierung mit variabler bitrate und entsprechender videocodierer
DE69816875T2 (de) Sequenzadaptive bit-zuordnung zur codierung von bildern
DE4228221B4 (de) Vorrichtung zur Aufteilung von Videosignalen zwischen zwei Kanälen
EP1195994A2 (de) Verfahren zur Codierung und Decodierung von Bildsequenzen sowie Einrichtungen hierzu
DE69935564T2 (de) Kodiervorrichtung und -verfahren

Legal Events

Date Code Title Description
8364 No opposition during term of opposition