DE69515992T2 - Pegelpufferverwaltung für kodiersystem - Google Patents
Pegelpufferverwaltung für kodiersystemInfo
- Publication number
- DE69515992T2 DE69515992T2 DE69515992T DE69515992T DE69515992T2 DE 69515992 T2 DE69515992 T2 DE 69515992T2 DE 69515992 T DE69515992 T DE 69515992T DE 69515992 T DE69515992 T DE 69515992T DE 69515992 T2 DE69515992 T2 DE 69515992T2
- Authority
- DE
- Germany
- Prior art keywords
- buffer
- segment
- occupancy
- encoding
- time
- 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
Links
- 239000000872 buffer Substances 0.000 title claims description 130
- 238000000034 method Methods 0.000 claims description 18
- 230000008685 targeting Effects 0.000 claims description 8
- 230000003287 optical effect Effects 0.000 claims description 2
- 230000005236 sound signal Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 241000238876 Acari Species 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23406—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/115—Selection of the code volume for a coding unit prior to coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/184—Methods 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 bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8541—Content authoring involving branching, e.g. to different story endings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Television Signal Processing For Recording (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf die Codierung von Audio- und Videosignalen und insbesondere auf die Erzeugung von Audio- und Videomaterialsegmenten, die während der Bearbeitung zusammengefügt werden können.
- Wenn zwei Videoclips nacheinander wiedergegeben werden sollen, wird der Decodierer typischerweise auf den Startzustand zurückgestellt, bevor er den zweiten Clip decodiert. Während dieser Rückstellung sieht der Benutzer das letzte Bild des ersten Clips eingefroren auf dem Bildschirm, wobei der begleitende Ton stummgeschaltet ist. Diese Diskontinuität ist für den Benutzer störend.
- Erforderlich ist ein nahtloses Zusammenfügen, bei dem der Übergang von dem Ende eines Clips zum Beginn des nächsten Clips für den Decodierer nicht wahrnehmbar ist. Dies impliziert, dass es aus der Sicht des Benutzers keine sichtbare Veränderung der angezeigten Bildfolge auftritt und das Audiosignal nicht unterbrochen wird. Die Anwendungsmöglichkeiten für nahtloses Video sind zahlreich. Ein Beispiel für den CD-i-Bereich ist die Verwendung fotorealer Hintergründe für vom Computer erzeugte Zeichen; eine Beispielanwendung dieser Technik wäre ein animiertes Zeichen, das im Vordergrund einer MPEG-codierten Videofolge läuft. Eine weitere Beispielanwendung wäre eine Reihe von Interaktionen zwischen Zeichen und Benutzer, wie interaktive Filme, bei denen der Betrachter die Möglichkeit hat, die Entwicklung der Handlung beeinflussen kann, indem er verfügbare alternative Szenarios auswählt. Verzweigungspunkte auf dem Weg, den der Benutzer durch einen interaktiven Film wählt, sollten nahtlos erscheinen, da für den Benutzer sonst die Spannung des normalerweise mit dem Betrachten eines Films verbundenen Zweifels verloren geht.
- Ein Verfahren zur Codierung von Videosegmenten auf eine solche Weise, dass eine erneute Initialisierung des Decodierers nicht erforderlich ist, wird in unserer am 2. Dezember 1994 eingereichten britischen Patentanmeldung Nr. 9424436.5 (PHB 33950) mit dem Titel "Video Editing Buffer Management" (Videoschnittpufferverwaltung) beschrieben. Bei diesem Verfahren wird der Zielwert von Decodierpufferpegeln vorgegeben, um eine gleichmäßige Decodierpufferbelegung für das Ende jedes Videoclips zu erhalten und Beginn jedes Segments vorhersagen zu können, damit aufeinanderfolgende Clips direkt zusammengefügt werden können, ohne dass im Decodierpuffer ein Über- oder Unterlauf auftritt.
- Das oben genannte Verfahren ist zwar für Videobildfolgen geeignet, berücksichtigt jedoch keine zusätzlichen Informationen, die die Bildfolgen typischerweise begleiten, zum Beispiel eine Tonspur. Video wird im allgemeinen mit anderen Informationen in einem einzigen Strom, dem Systemstrom, verschachtelt, der die Daten darstellt, die einem Decodierer/Anzeigegerät zugeführt werden (zum Beispiel der von einer Compact Disc gelesene oder über ein Kabelnetz gelieferte Datenstrom).
- Die vorliegende Erfindung hat daher zur Aufgabe, eine nahtlose Verbindung von Systemstromsegmenten zu schaffen und gleichzeitig einen Über- oder Unterlauf im Puffer des Decodierers zu verhindern.
- Gemäß der vorliegenden Erfindung wird ein Verfahren zum Codieren von digitalen Videosignalen in einer Codiervorrichtung geschaffen, die folgendes umfasst: eine Codierstufe, einen Codierpuffer und Mittel zum Verschachteln des codierten Videosignals mit mindestens einem weiteren Signal zur Bildung eines Systemstroms, wobei das digitale Signal in Form von Segmenten vorliegt, die jeweils zwei oder mehr Bilder enthalten und wobei das Verfahren für jedes Segment folgende Schritte umfasst: aufeinanderfolgende Codierung der Bilder des Segments gemäß einem vorher festgelegten Codierschema; Einlesen der codierten Bilder in den Puffer; Auslesen des codierten Segments aus dem Puffer mit einer im wesentlichen konstanten Bitrate und Verschachteln des Ausgangssignals des Puffers in einem Systemstrom; dadurch gekennzeichnet, dass die Belegung des Codierpuffers so gesteuert wird, dass sie zu dem Zeitpunkt, an dem das letzte Bild eines ersten Segments in den Puffer eingelesen wird, einen ersten vorher festgelegten Pegel aufweist, wobei der Belegungspegel in Beziehung zu einem Belegungspegel eines Decodierpuffers steht; dass die zum Füllen eines Decodierpuffers benötigte Zeit bis zum genannten Belegungspegel des Decodierpuffers mit der konstanten Bitrate abgeleitet wird, und dass in den Systemstrom eines folgenden Segments eine Zeitmarkierung eingefügt wird, die angibt, dass das erste Bild dieses Segments zu dem Zeitpunkt aus dem Decodierpuffer gelesen werden muss, nachdem das Laden des genannten folgenden Segments begonnen hat.
- Wie nachfolgend erläutert wird, ermöglicht die Ableitung des Zeitpunktes, an dem ein Decodierer mit dem Decodieren eines empfangenen Segments beginnen soll, ein nahtloses Zusammenfügen der Segmente auf der Systemstromebene. Da der Zielbelegungspegel des Decodierpuffers ein berechneter Pegel ist, der auf dem Inhalt des Codierpuffers beruht, wird die Anwendung des herkömmlichen Verfahrens vermieden, bei dem der Decodierpuffer so weit wie möglich belegt wird, bevor die Decodierung beginnt.
- Es wird vorzugsweise ein gemeinsamer Pufferbelegungspegel (und somit Positionierung der Zeitmarkierung) geschaffen. Dies kann durch Vorgeben einer Zielanzahl von für die Codierung von Bildern des ersten Segments zu verwendenden Bits und kontrolliertes Ändern der Bitzuordnung pro Bild während der Codierung geschehen, um den genannten Belegungspegel des Codierpuffers am Ende des Segments zu erreichen.
- Wie nachfolgend beschrieben wird, wird vorzugsweise ein maximaler Belegungspegel des Codierpuffers festgelegt, um den Belegungspegel des Decodierpuffers zu definieren, wobei der Belegungspegel des Decodierpuffers definiert ist als die Differenz zwischen dem maximalen Pegel der Codiervorrichtung und dem Belegungspegel des Codierpuffers, eine Bilddauer nachdem das letzte Bild des ersten Segments in den Codierpuffer eingelesen wurde.
- Ebenfalls gemäß der vorliegenden Erfindung wird eine Codiervorrichtung für digitale Videosignale geschaffen, die für die Codierung von Bildsegmenten konfiguriert ist, wobei jedes Segment zwei oder mehr Bilder enthält und wobei die Vorrichtung folgendes umfasst: eine Codierstufe, die so ausgelegt ist, dass sie aufeinanderfolgende Bilder eines Segments empfängt und sie gemäß einem vorher festgelegten Codierschema codiert; einen Puffer, der so angeschlossen ist, dass er aufeinanderfolgende codierte Bilder von der Codierstufe empfängt, und so ausgelegt ist, dass er codierte Segmente mit einer im wesentlichen konstanten Bitrate ausgibt; und einen Multiplexer, der so angeschlossen ist, dass er die Ausgangssignale des Puffers und mindestens ein weiteres Signal empfängt, und so ausgelegt ist, dass er sie in einem Systemstrom verschachtelt; dadurch gekennzeichnet, dass die Codierstufe so funktioniert, dass sie Bilder eines Segments in einer steuerbar variablen Anzahl von Bits codiert, und die Vorrichtung außerdem folgendes enthält: Mittel zur Zielwertvorgabe, um die Anzahl der von der Codiervorrichtung verwendeten Bits so zu steuern, dass zu dem Zeitpunkt, an dem das letzte Bild eines ersten Segments in den Puffer gelesen wird, eine vorher festgelegte Belegung des Codierpuffers erreicht wird; und Zeitmarkierungsmittel, die so funktionieren, dass sie einen auf der genannten vorher festgelegten Be legung basierenden Zeitsteuerungswert ableiten und eine Zeitmarkierung in den Systemstrom des folgenden Segments einfügen, die angibt, dass das erste Bild des folgenden Segments nach einer durch den Zeitsteuerungswert vorgegebenen Verzögerung ab dem Zeitpunkt aus einem Decodierpuffer zu lesen ist, an dem das Laden des genannten folgenden Segments in den Decodierpuffer begann.
- Die Mittel zur Zielwertvorgabe können entsprechend so ausgelegt sein, dass sie die Anzahl der Bits pro Bild für die letzten K Bilder eines Segments wie oben beschrieben steuern, und die Codierstufe kann entsprechend so ausgelegt sein, dass sie das Stopfen von Bits mit dem Wert Null ermöglicht, wenn weniger als die festgelegte Anzahl von Bits zum Codieren eines Bildes erforderlich ist.
- Außerdem wird gemäß der vorliegenden Erfindung ein digitales Videobildsignal geschaffen, das durch das oben beschriebene Verfahren codiert wurde, zusammen mit einer optischen Platte, die ein derartiges Signal in Form von separat adressierbaren Segmenten enthält.
- Aus der Lektüre der folgenden Beschreibung und der anhängenden Patentansprüche, deren Darlegung durch Nennung als hierin aufgenommen betrachtet wird, werden dem Fachkundigen weitere Merkmale und Vorteile der vorliegenden Erfindung ersichtlich sein.
- Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und werden im folgenden näher beschrieben. Es zeigen:
- Fig. 1 den Inhalt der Videopuffer eines Codierers und eines Decodierers am Übergang zwischen zwei Videoclips;
- Fig. 2 das Verhältnis zwischen der Belegung des Decodierer-Videopuffers und der Belegung des Systempuffers;
- die Fig. 3 bis 5 den Inhalt von Decodierervideo- und Systempuffer in einem herkömmlichen System am Beginn bzw. am Ende eines spezifizierten Clips;
- Fig. 6 und 7 den Inhalt eines Audiopuffers am Beginn bzw. am Ende eines spezifizierten Audioclips; und
- die Fig. 8 und 9 eine schematische Darstellung einer Codiervorrichtung bzw. einer Decodiervorrichtung.
- Die folgende Beschreibung bezieht sich auf Codiervorrichtungen und Decodierer, die gemäß den MPEG-Normen funktionieren, und nachfolgend werden die herkömmlichen Bezeichnungen aus diesen Normen verwendet. Dem Fachkundigen wird ersichtlich sein, dass sich die Anwendung der vorliegenden Erfindung nicht auf die MPEG- Norm beschränkt.
- Jede Codiernorm muss mit Modellen für die Schnittstelle zwischen Codierer und Decodierer entwickelt werden. Wenn ein Codierer läuft, muss er ein Modell der Vorgänge in dem Decodierer bilden, so dass er den Decodierer niemals in einen nicht zulässigen Zustand versetzt. In gleicher Weise muss der Decodierer dasselbe Modell unterstützen, das der Codierer verwendet hat, damit er in einem zulässigen Zustand verbleibt und das von dem Codierer beabsichtigte Ausgangssignal erzeugt. MPEG bildet keine Ausnahme von der Regel.
- Am Anfang ist es zweckmäßig, die Erzeugung von Segmenten reiner Videodaten zu betrachten, die nahtlos zusammengefügt werden können. Ein bevorzugtes Verfahren wird in unserer oben genannten britischen Patentanmeldung Nr. 9424436.5 (PHD 33950) beschrieben und nachfolgend in Bezug auf Fig. 1 zusammengefasst, in der grafisch die Pufferbelegung B als Funktion der Zeit t dargestellt ist, wodurch gezeigt wird, was mit den Pufferzuständen des Codierers und des Decodierers passiert, wenn eine Folge von Videobildern A endet und eine andere Folge B beginnt. LA gibt das letzte Bild der Folge A an; FB gibt das erste Bild der Folge B an. Die Änderung der gelieferten Daten von Folge A zu Folge B wird durch die Änderung der Dicke der die Pufferbelegung darstellenden Linie angezeigt, wobei die strichpunktierte Linie die Bilder der Folge A darstellt. Zu einem Zeitpunkt tX sind alle Daten für die Folge A geliefert, und der VBV (Video Buffering Verifier - das MPEG-Decodierermodell) hat eine Belegung von BX Bits. Ab diesem Zeitpunkt gehören alle dem Puffer zugeführten Daten zur Folge B. Es ist anzumerken, dass sich einige Bilder vom Ende der Folge A noch im Puffer befinden, die jedoch alle zum Zeitpunkt t&sub1; entfernt sind, wenn der Puffer eine Belegung von B&sub1; Bits aufweist.
- Der Codierer durchläuft einen als Anvisieren bezeichneten Prozess, wenn er versucht, eine bestimmte Belegung im VBV-Puffer zu erreichen. Während des Anvisierens geht der Codierer davon aus, dass der VBV-Puffer eine bestimmte Zielbelegung aufweist, wenn das erste von ihm codierte Bild in den Puffer geladen wird. Dadurch wird eine Obergrenze für die Größe des ersten Bildes vorgegeben. Am Ende eines Codiervorgangs visiert der Codierer die VBV-Belegung zu einem Zeitpunkt gerade bevor das erste Bild für die nächste Folge aus dem Puffer entfernt würde, Zeitpunkt Bt in Fig. 1, an. Er visiert diesen Zustand durch Verändern der Größe des letzten Bildes oder der letzten Bilder beim Codieren an.
- Bei dem in Fig. 1 dargestellten Beispiel visiert der Codierer den Zustand B&sub1; an. Dieser Zustand stellt die VBV-Pufferbelegung dar, gerade bevor das erste Bild der neuen Folge entfernt wird. Da ein Codierer während des Betriebes im allgemeinen keinen direkten Kontakt zum Decodierer hat, verwaltet er Bildgrößen eher auf der Grundlage seines Ausgangspuffers als den Zustand des VBV-Puffers zu verändern. Dementsprechend beziehen sich die folgenden Abschnitte auf Btc und Btc (siehe Belegungswerte des Codierer im oberen Teil von Fig. 1).
- Beim Anvisieren eines Startzustands nimmt der Codierer eine gewisse Belegung in seinem Puffer zu dem Zeitpunkt an, an dem er das erste Bild zuführt. Diese Pufferbelegung beträgt Btx Bits und stellt die restlichen Bits vom Ende der vorhergehenden Folge dar. Die Anwesenheit dieser Bits begrenzt die Größe des ersten Bildes auf maximal Bt Bits und hat weiterhin einen Einfluss auf zukünftige Bildgrößen, bis alle Bits nach der Zeit ttc entfernt sind.
- Aus Sicht des Codierers ist das Anvisieren des Startzustandes sehr einfach, da lediglich die Anfangsbelegung auf Btx Bits anstatt auf den üblichen leeren Startzustand eingestellt werden muss.
- Wenn sich der Codierer dem Ende einer Folge nähert, versucht er, den Punkt B1c anzuvisieren, indem er die Größe des letzten Bildes so erzwingt, dass sich bei Eingabe in den Puffer die Belegung auf B1c Bits erhöht. Es könnte ein Bild von sehr schlechter Qualität erzeugt werden, wenn die Größe lediglich des letzten Bildes in großem Maße vorgegeben würde. Um dieses Problem zu umgehen, hat der Codierer vorzugsweise eine Zielanzahl von Bits für die letzte GOP (Gruppe von Bildern, engl. Group of Pictures) und eine Zielanzahl von Bits für jedes der K Bilder innerhalb der GOP, wodurch sich der Codierer schrittweise dem richtigen Zustand nähern kann.
- Wenden wir uns nun der Systemschicht zu, die entsteht, wenn die Multiplexer Video-, Audio- und andere elementare Ströme in einem Systemstrom vereinigen. Dieser Systemstrom enthält verschachtelte elementare Ströme und Zeitsteuerungsinformationen in Form von Systemtaktreferenzen (engl. System Clock References SCR), Darstellungszeitmarkierungen (engl. Presentation Time Stamps, PTS) und Decodierzeitmarkierungen (engl. Decoding Time Stamps, DTS).
- Die Aufgabe des Multiplexers besteht darin sicherzustellen, dass Daten von einem Systemstrom den Puffern der Decodierer schnell genug zugeführt werden, dass letztere nie vollständig leer sind, und langsam genug zugeführt werden, damit letztere nie überlaufen. Die MPEG-Norm definiert einen Puffer mit der Bezeichnung Systemziel- Decodierer (engl. System Target Decodierer, STD), der dazu dient, die Übertragung von Daten vom digitalen Speichermedium (engl. Digital Storage Medium, DSM) in den Decodierer zu "modellieren". Die Aufgabe dieses Puffers besteht darin, die Tatsache zu maskieren, dass aufgrund der Verschachtelung der Daten die Zuführung zu einem Decodierer in Bündeln erfolgt, während Leistungsmodell des Decodierers eine konstante Bitrate annimmt. Die übliche Vorgehensweise beim Multiplexen von Video- und Audioströmen beginnt typischerweise mit dem Füllen des STD-Puffers bis zum größtmöglichen Grad. Die SCR des letzten zugeführten Pakets wird dann so eingestellt, dass das erste Bild zu diesem Zeitpunkt aus dem Puffer entfernt wird. Danach werden die SCR der vorherigen Pakete auf die richtigen Werte gesetzt, da sie vor diesem Paket ankommen. Schließlich wird der Belegungsgrad des Puffers so groß wie möglich gehalten, bis alle Daten des elementaren Stroms verbraucht sind.
- Die Funktion des Multiplexers ist etwas komplizierter, da der Multiplexer mit mehreren Strömen jonglieren muss. Außerdem muss ein Multiplexer sämtliche zusätzlichen Merkmale unterstützen, die erforderlich sind, um die Spezifikation eines Systemstroms zu erfüllen, wie er für die Zielplattform definiert wurde.
- Es ist denkbar, dass der STD-Puffer den VBV-Puffer enthält, wie in Fig. 2 dargestellt. In der Figur ist in vereinfachter Form das Verhältnis zwischen STD und VBV dargestellt. In Fig. 2 ist die STD-Pufferbelegung (dicke Linie) dargestellt, die den VBV- Puffer einschließt. Es ist anzumerken, dass die Steigung der STD-Pufferlinie größer ist als die der VBV-Linie. Dies liegt daran, dass die Bitrate des DSM höher ist als die Bitrate des codierten Videos. Es ist auch zu sehen, dass zu gewissen Zeitpunkten, die mit dem Bezugszeichen Q gekennzeichnet sind, keine Daten an den STD geliefert werden. Dies geschieht, weil entweder die Bandbreite des DSM von anderen elementaren Strömen besetzt wird oder der Multiplexer entschieden hat, dem STD aufgrund von Problemen bei der Pufferverwaltung keine Daten zuzuführen.
- In Fig. 3 ist grafisch dargestellt, was mit der VBV- und STD-Belegung zu Beginn der Decodierung eines normalen, d. h. nicht anvisierten, Stroms geschieht. In der Grafik sind der Einfachheit halber die Zeitpunkte (als Systemticken), an denen Bilder aus den beiden Puffern entfernt werden, so dargestellt, als wären sie synchron. Dem VBV liegt kein Konzept für den Startzeitpunkt der Datenzuführung vor, sondern lediglich für die Entfernung von Bildern basierend auf der VBV-Verzögerung. Zur Anordnung der Kurven wurde ein konstanter Versatz auf die VBV-Abtastzeitpunkte in der Figur angewendet.
- In Fig. 3 ist zu sehen, dass der Multiplexer und der Codierer am Anfang des Clips einer ähnlichen Strategie folgen. Das bedeutet, dass ihre Puffer wie oben beschrieben so weit wie möglich belegt wurden, bevor das erste Bild entfernt wird. Es ist außerdem ersichtlich, dass in diesem Fall die Linie der STD-Pufferbelegung immer die VBV- Belegung enthält. Die Ausnahme von der Regel bildet die Startphase, weil die Übertragungsgeschwindigkeit des DSM höher ist als diejenige des VBV, so dass die Zuführung zum STD nach derjenigen zum VBV beginnt.
- Wenden wir uns nun der Erzeugung von Systemströmen zu, die verkettet werden können. Dabei wird die Erzeugung von nahtlosen Systemströmen, die Videosignale enthalten, zuerst betrachtet. Erneut in Bezug auf Fig. 1 ist ersichtlich, dass die für die Entfernung aller Bits vom Ende der Folge A benötigte Zeit davon abhängt, wie viele Bilder sich zu dem Zeitpunkt, an dem die Datenzuführung für die Folge A endet, im Puffer befinden. Diese Zeit hängt vom verwendeten Quellenmaterial und dem benutzten Codierer ab. Dementsprechend ist die Pufferbelegung (BX) zum Zeitpunkt tx von Clip zu Clip unterschiedlich. Daher ist der Multiplexer nicht in der Lage, tx und Bx für den allgemeinen Fall auf der Grundlage der ihm üblicherweise zur Verfügung stehenden Kenntnis, d. h. Bitrate, Bildfrequenz und Wert von Bt, zu berechnen.
- Zur Vermeidung des Problems aller oben genannten Unbekannten nutzen wir die Tatsache, dass die im Puffer zum Zeitpunkt des Endes der Zuführung für Folge A befindlichen Daten ausreichen, um die Zeit abzudecken, die für eine Zuführung von Bt Bits mit konstanter Übertragungsgeschwindigkeit benötigt wird. Es wurde erkannt, dass dies die Einstellung einer maximalen Zeitdauer für die Zuführung von B~ Bits am Anfang des Multiplexstroms ermöglicht als:
- tt = B/R (1)
- wobei tt der Darstellung in Fig. 1 entspricht und R die Übertragungsgeschwindigkeit ist.
- Diese Zeit ist für den Multiplexer wichtig, weil sie die Einstellung der SCR- Zeit zu diesem Zeitpunkt ermöglicht, denn zu diesem Zeitpunkt sollte das erste Bild aus dem STD-Puffer entfernt werden. Daher wird der Multiplexer so eingestellt, dass er den STD-Puffer bis mindestens B, Bits belegt und die SCR so einstellt, dass zu diesem Zeitpunkt das erste Bild entfernt wird. Es ist anzumerken, dass dies im Gegensatz zu dem herkömmlichen Verfahren steht, bei dem der Puffer bis zum größtmöglichen Grad belegt wird zu dem Zeitpunkt, zu dem das erste Bild entfernt wird.
- Es ist hier zu beachten, dass der STD-Puffer größer als der VBV-Puffer ist. Im Fall der eingeschränkten Systemparameter kann die Kapazität des STD-Puffers 46 KBytes im Vergleich zu einer maximalen Kapazität des VBV von 40 KBytes betragen. Diesen zusätzlichen Platz kann der Multiplexer nutzen, um unterschiedliche elementare Ströme in einem Systemstrom zu verschachteln, wodurch die sporadische Zuführung zum Decodierer verdeckt wird.
- Fig. 4 zeigt grafisch, was in den Puffern des VBV und des STD am Anfang eines anvisierten Multiplexvorgangs geschieht. Wie in Fig. 3 gibt die Kurve die Belegung B (Bits) als Funktion der Zeit t in Form von Systemticken (Taktimpulsen) wieder. Es ist anzumerken, dass die Belegung der VBV- und STD-Puffer zu dem Zeitpunkt, an dem das erste Bild aus dem Puffer entfernt wird, die gleiche ist. Von diesem Zeitpunkt an beginnt die Belegung des STD-Puffers diejenige des VBV-Puffers zu überholen, weil die Datenübertragungsgeschwindigkeit höher ist.
- Der Multiplexer hat wesentlich weniger Kontrolle über den Endzustand des STD-Puffers. Der Endzustand hängt von der Größe der noch im Puffer befindlichen Bilder ab, die von dem Codierer gesteuert wird. Vorzugsweise versucht der Multiplexer die Daten so bald wie möglich dem STD zuzuführen, um das als SCR-Überlappung bekannte Problem zu umgehen, bei dem Daten für einen folgenden Clip fällig werden, bevor alle Daten des ersten Clips zugeführt wurden. Ein hierfür vorgeschlagenes Multiplexerverfahren besteht darin, ein Datenpaket zu bilden, sobald der STD-Puffer Daten, wie wenige auch immer, annehmen kann.
- In Fig. 5 sind Graphen der Zustände des VBV und des STD am Ende eines Clips dargestellt. Es ist ersichtlich, dass die Zuführung von Daten zum STD vor dem VBV aufhört, da der STD-Puffer größer und die Empfangsgeschwindigkeit höher ist. Gegen Ende des Clips konvergieren die beiden Graphen wieder. Zu diesem Zeitpunkt ist die Zuführung von Daten zu beiden Puffern beendet und sie enthalten nur die Bilder, die das Ende des Clips bilden. Die zum Entfernen dieser Endbilder aus den Puffern benötigte Zeit steht für das Belegen der Puffer mit Daten des nächsten Clips zur Verfügung, bevor das erste Bild dieses Clips entfernt wird. Diese Belegungszeit ist in Fig. 1 als Zeit tt dargestellt.
- Wenden wir uns nun den Audiosignalen zu: Dort liegt keine Entsprechung für den VBV-Puffer für Tonsignale vor, wodurch die Erzeugung von nahtlosen Audioströmen wesentlich einfacher ist als bei Videosignalen. Der Grund hierfür liegt darin, dass das Audiosignal mit einer konstanten Momentanbitrate codiert wird: mit anderen Worten, alle in gleicher Weise codierten Audiorahmen haben bis auf ein Byte die gleiche Größe, während Videorahmen je nach Typ und Komplexität unterschiedlich sind. Es ist dem Multiplexer jedoch möglich, einen STD-Pufferzustand zu dem Zeitpunkt anzuvisieren, an dem der erste Audiorahmen in gleicher Weise wie der Videorahmen entfernt wird.
- Fig. 6 zeigt grafisch den Beginn eines anvisierten Audio- Multiplexvorgangs. In diesem Fall visiert der Multiplexer den STD-Zustand bei 2048 Bytes (16384 Bits) zu dem Zeitpunkt an, an dem der erste Audiorahmen entfernt wird. Die Belegungszeit entspricht tt in Fig. 1 und hat die gleiche Eigenschaft, dass die Zeitdauer nicht größer sein darf als die Zeitdauer, die durch die Audiorahmen im Puffer dargestellt wird, wenn die Datenzuführung stoppt. Hat der Multiplexer sein Ziel erreicht, und der erste Audiorahmen wurde entfernt, folgt er der Strategie, den Belegungsgrad des STD-Puffers so groß wie möglich zu halten. Die großen ansteigenden Flanken der Kurve stellen die Zuführung eines Audiopakets dar. In diesem Fall hat ein Audiopaket die Größe von ca. 2 KBytes, da es für die Wiedergabe von CD-i mit einem CD-i-Sektor der Größe von ca. 2 KBytes im Multiplex verarbeitet wurde.
- Fig. 7 zeigt grafisch, was im STD am Ende eines Audioclips geschieht. Die stufenweise Abnahme der Belegung, die die Audiorahmen im Puffer darstellt, beginnt zu dem Zeitpunkt, zu dem die Datenzuführung endet. Diese restlichen Audiorahmen maskieren den Übergang vom Ende eines Audioclips zum nächsten. Sie bleiben eine endliche Zeit bestehen in Abhängigkeit von der Anzahl der Rahmen, wie jedoch in Bezug auf Fig. 6 zu sehen ist, ist die Zeit zum Füllen des STD-Puffers bis zu seinem Zielwert so kurz im Vergleich zu der durch die restlichen Rahmen maskierten Zeit, dass kein STD-Unterlauf auftreten sollte, wenn angenommen wird, dass die DSM-Bitrate wesentlich höher ist als die Audio-Bitrate. Unsere Experimente haben gezeigt, dass bei Audiosignalen das Anvisieren eines Belegungsgrades des STD-Puffers von 50% annehmbare Ergebnisse erbringt.
- Fig. 8 zeigt eine Codiervorrichtung mit getrennten Codierstufen 10, 12 für Videosignale V bzw. Audiosignale A. Ein weiterer Eingang für ein Rahmenreferenzsignal FC, das die Rahmen innerhalb des Videosignals identifiziert (beispielsweise anhand ihrer relativen Position zu dem ersten und dem letzten Bild einer Folge), ist mit einer Zielwert- Einstellstufe 14 verbunden, die die Bitzuordnung für Bilder einer Folge spezifiziert. Es ist anzumerken, dass es keine entsprechende Zielwertstufe für den Audio-Codierer gibt: Dies ist aufgrund der konstanten Größe der codierten Audiorahmen, wie oben beschrieben, nicht erforderlich.
- Der Ausgang jeder der Codierstufen 10, 12 ist mit den entsprechenden Puffern 16, 18 verbunden (obwohl sie in der Praxis einen Teil der Codierstufen bilden). Ein Rückkopplungspfad 20 vom Ausgang der Video-Codierstufe 10 zur Zielwert-Einstellstufe 14 ermöglicht es zu überprüfen, ob die eingestellten Zielwerte die erforderliche Anzahl von Bits pro Bild in der codierten Gruppe ergeben.
- Die gepufferten Ausgangssignale werden von einem Multiplexer 22 verschachtelt, der auch die Zeitmarkierungen einfügt, und bilden einen einzigen Datenstrom DS (den Systemstrom), der dann an einen Decodierer weitergeleitet oder auf einem geeigneten Medium, z. B. einer CD, gespeichert werden kann.
- Beim Decodierer (Fig. 9) teilt ein Demultiplexer 24 den Strom DS mit Hilfe eines Detektors 26, der den Eingangsstrom überwacht, in Video- und Audiokanäle auf. Die getrennten Video- und Audioströme werden den entsprechenden Puffern 28, 30 und von dort den entsprechenden Decodierstufen 32, 34 zugeführt, um decodierte Ausgangssignale VOUT, AOUT zu erzeugen. Die Puffer bilden zwar in der Praxis einen Teil der entsprechenden Decodierstufen, sind hier jedoch getrennt dargestellt, um das STD-Modell übersichtlicher wiederzugeben.
Claims (9)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9424437A GB9424437D0 (en) | 1994-12-02 | 1994-12-02 | Encoder system level buffer management |
PCT/IB1995/001076 WO1996017492A2 (en) | 1994-12-02 | 1995-11-29 | Encoder system level buffer management |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69515992D1 DE69515992D1 (de) | 2000-05-04 |
DE69515992T2 true DE69515992T2 (de) | 2000-10-05 |
Family
ID=10765376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69515992T Expired - Lifetime DE69515992T2 (de) | 1994-12-02 | 1995-11-29 | Pegelpufferverwaltung für kodiersystem |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP0744116B1 (de) |
JP (1) | JP3758677B2 (de) |
CN (1) | CN1113542C (de) |
BR (1) | BR9506691A (de) |
DE (1) | DE69515992T2 (de) |
GB (1) | GB9424437D0 (de) |
WO (1) | WO1996017492A2 (de) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020154694A1 (en) * | 1997-03-21 | 2002-10-24 | Christopher H. Birch | Bit stream splicer with variable-rate output |
JPH10285548A (ja) * | 1997-04-03 | 1998-10-23 | Sony Corp | 符号化装置及び方法、復号装置及び方法、編集方法 |
KR100555164B1 (ko) | 1997-07-25 | 2006-03-03 | 소니 가부시끼 가이샤 | 편집 장치, 편집 방법, 재부호화 장치, 재부호화 방법, 스플라이싱 장치 및 스플라이싱 방법 |
JP3552506B2 (ja) * | 1997-12-05 | 2004-08-11 | 松下電器産業株式会社 | 再生方法及び再生装置 |
JP4232209B2 (ja) * | 1998-01-19 | 2009-03-04 | ソニー株式会社 | 圧縮画像データの編集装置及び圧縮画像データの編集方法 |
US6289129B1 (en) | 1998-06-19 | 2001-09-11 | Motorola, Inc. | Video rate buffer for use with push dataflow |
KR20010032145A (ko) * | 1998-09-16 | 2001-04-16 | 에이씨티브이, 인크. | 압축 디지털 데이터의 연결 흔적이 없는 비디오 스위칭시스템 |
ES2259827T3 (es) * | 1998-10-13 | 2006-10-16 | Matsushita Electric Industrial Co., Ltd. | Regulacion de los requisitos de calculo y de memoria de un tren de bits comprimido en un decodificador de video. |
GB9908809D0 (en) | 1999-04-16 | 1999-06-09 | Sony Uk Ltd | Signal processor |
GB2353653B (en) * | 1999-08-26 | 2003-12-31 | Sony Uk Ltd | Signal processor |
EP1148503A1 (de) * | 2000-04-08 | 2001-10-24 | Deutsche Thomson-Brandt Gmbh | Verfahren und Vorrichtung zur Aufzeichnung oder Wiedergabe von Datenpaketen eines Transportstromes auf einem Aufzeichnungsmedium |
US20020191116A1 (en) * | 2001-04-24 | 2002-12-19 | Damien Kessler | System and data format for providing seamless stream switching in a digital video recorder |
JP3675464B2 (ja) * | 2003-10-29 | 2005-07-27 | ソニー株式会社 | 動画像符号化装置および動画像符号化制御方法 |
JP4900945B2 (ja) * | 2007-01-18 | 2012-03-21 | キヤノン株式会社 | 記録装置、及び記録方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9001295D0 (en) * | 1990-01-19 | 1990-03-21 | British Broadcasting Corp | Buffer resynchronisation |
BE1007807A3 (nl) * | 1993-11-30 | 1995-10-24 | Philips Electronics Nv | Inrichting voor het coderen van een videosignaal. |
WO1995022233A1 (en) * | 1994-02-11 | 1995-08-17 | Newbridge Networks Corporation | Method of dynamically compensating for variable transmission delays in packet networks |
-
1994
- 1994-12-02 GB GB9424437A patent/GB9424437D0/en active Pending
-
1995
- 1995-11-29 BR BR9506691A patent/BR9506691A/pt not_active IP Right Cessation
- 1995-11-29 DE DE69515992T patent/DE69515992T2/de not_active Expired - Lifetime
- 1995-11-29 EP EP95936726A patent/EP0744116B1/de not_active Expired - Lifetime
- 1995-11-29 CN CN95192059A patent/CN1113542C/zh not_active Expired - Fee Related
- 1995-11-29 WO PCT/IB1995/001076 patent/WO1996017492A2/en active IP Right Grant
- 1995-11-29 JP JP51853196A patent/JP3758677B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO1996017492A3 (en) | 1996-08-29 |
EP0744116B1 (de) | 2000-03-29 |
EP0744116A4 (de) | 1996-12-11 |
JP3758677B2 (ja) | 2006-03-22 |
JPH09509036A (ja) | 1997-09-09 |
GB9424437D0 (en) | 1995-01-18 |
DE69515992D1 (de) | 2000-05-04 |
CN1144026A (zh) | 1997-02-26 |
EP0744116A1 (de) | 1996-11-27 |
CN1113542C (zh) | 2003-07-02 |
BR9506691A (pt) | 1997-11-18 |
WO1996017492A2 (en) | 1996-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69527508T2 (de) | Verwaltung der audio/video synchronisationsabweichung | |
DE69515992T2 (de) | Pegelpufferverwaltung für kodiersystem | |
DE69514177T2 (de) | System für audiovisuelle vorführung | |
DE69127504T2 (de) | Verfahren zum Übertragen von Bild- und/oder Tonsignalen | |
DE69427578T2 (de) | Verfahren und anlage zum übertragen von daten, datenkodierer und datenaufnahmemedium | |
DE69732874T2 (de) | Kodierung, Speicherung und Übertragung von digitalen Signalen | |
DE69516935T2 (de) | Aufnahmemedium zur Aufzeichnung und Wiedergabe von Daten | |
DE69934085T2 (de) | Rastergenaue editierung kodierter audiovisueller sequenzen | |
DE69418678T2 (de) | Rationelle anordnung der eingangspuffer fur zusätliche information in video- und audiosignalverarbeitungssystemen | |
DE69626072T2 (de) | Aufzeichnung und Wiedergabe von Untertiteln | |
DE69428830T2 (de) | Datendemultiplexer | |
DE69637410T2 (de) | Video-auf-anfragesystem mit verzögerung und fernsehverfahren dazu | |
DE60210611T2 (de) | Effizientes übertragen und abspielen digitaler information | |
DE69420090T2 (de) | Aufzeichnungsverfahren für komprimierte und kodierte Daten | |
DE69632664T2 (de) | Dekodierung von Informationsseiten, die Titelinformation und Seitendaten umfassen | |
DE69534750T2 (de) | Umwandlungssystem für MPEG-Informationssignale | |
DE69615111T2 (de) | Gerät und Verfahren zur Kodierung von digitalen Videodaten | |
DE69637127T2 (de) | Verfahren und Vorrichtung zum rastergenauen Zugriff auf digitale audiovisuelle Information | |
DE69629921T2 (de) | Trickwiedergabesteuerung für vorkodiertes video | |
DE69619491T2 (de) | Digitalsignalmultiplexierung und -aufzeichnung | |
DE69837081T2 (de) | Videopufferspeicher zur nahtlosen verbindung von mpeg-strömen | |
DE69900031T2 (de) | Optische Scheibe, Vorrichtung und Verfahren zur Aufnahme auf einer optischen Scheibe | |
DE69619091T2 (de) | Verfahren zur videoinformationsübertragung sowie informationsträger, videoinformationsempfangs- und -übertragungsvorrichtung | |
DE69835211T2 (de) | Umschaltung zwischen komprimierten videobitströmen | |
DE69715269T2 (de) | Datenaufnahme und -wiedergabe |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: IPG ELECTRONICS 503 LTD., ST. PETER PORT, GUER, GB |
|
8328 | Change in the person/name/address of the agent |
Representative=s name: PATENTANWAELTE BRESSEL UND PARTNER, 12489 BERLIN |
|
R081 | Change of applicant/patentee |
Ref document number: 744116 Country of ref document: EP Owner name: PENDRAGON WIRELESS LLC (A NEVADA MANAGED LIMIT, US Free format text: FORMER OWNER: IPG ELECTRONICS 503 LTD., ST. PETER PORT, GB Effective date: 20121213 |
|
R082 | Change of representative |
Ref document number: 744116 Country of ref document: EP Representative=s name: PATENTANWAELTE BRESSEL UND PARTNER, DE Effective date: 20121213 |