-
HINTERGRUND
DER ERFINDUNG
-
Die
vorliegende Erfindung bezieht sich auf das Codieren und Decodieren
von MPEG-Digitalvideo (z. B. für
Digitalfernsehen). Insbesondere bezieht sich die vorliegende Erfindung
auf Verfahren und Geräte
zum Transcodieren von fortschreitenden I-Slice aufgefrischten Moving
Pictures Expert Group (MPEG)-Datenströmen zu auf dem I-Frame basierenden
Datenströmen,
um „Trickwiedergabe"-Modi auf einem Fernsehgerät zu erleichtern.
Trickwiedergabe-Modi umfassen Pause, Vorwärtsscannen, Rückwärtsscannen,
Springen, Standbildanzeige und dergleichen.
-
Um
das Konzept fortschreitender I-Slice aufgefrischter MPEG-Datenströme zu verstehen,
ist es notwendig, einige Grundlagen über den typischen auf dem I-Frame
basierenden MPEG-Datenstrom zu verstehen. MPEG erhält viel
von seiner Fähigkeit
zur Datenverdichtung durch das Senden von lediglich den Veränderungen
zwischen verschiedenen Videoframes. Eine erste Art Frame, bekannt
als ein Prädiktions-
oder „P"-Frame, enthält ein gekürztes Set von Daten, das durch
den Decodierer verwendet wird, um einen ganzen Frame aus einem vorherigen „P"-Frame oder aus einem
vorherigen vollständigen
Frame (einem intracodierten „I"-Frame) in dem Videostrom vorherzusagen.
Der Strom trägt
lediglich „Feinabgleich"-Information, um
Fehler von einer annähernden
Prädiktion
zu korrigieren. Ein I-Frame wird ohne Bewegungsprädiktion
verdichtet. Folglich kann ein vollständiger Videoframe von einem
I-Frame rekonstruiert werden, ohne Bezug auf einen beliebigen anderen
Frame. Auf diese Weise werden Fehler bei den vorherigen Frame Prädiktionen
eliminiert, sobald ein I-Frame eintrifft und decodiert wird. Bidirektionale „B"-Frames sind wie
P-Frames, außer
dass die Prädiktion
nicht nur von dem vorherigen I- oder P-Frame vorgenommen wird, sondern
auch von dem nächsten.
Auf diese Weise codierte MPEG-Datenströme werden hier als „auf dem
I-Frame basierende MPEG-Datenströme" bezeichnet. Ein
auf dem I-Frame basierender MPEG-Datenstrom kann mit einer optionalen
Gruppe von Bildern (GOP)-Anfangskennsatz starten, gefolgt von einem
I-Frame. Der Videoframe
kann von der GOP rekonstruiert werden, ohne Bezug auf andere Frame-Information.
-
Bei
fortschreitend aufgefrischten Strömen, wie sie etwa im gemeinschaftlich
innegehaltenen US Patent 5,057,916 an Krause et al. mit dem Titel "Method and Apparatus
for Refreshing Motion Compensated Sequential Video Images" gelehrt werden,
wird jeweils eine Region der aufeinanderfolgenden Videoabbilder
aufgefrischt. Eine verschiedenartige Region in jeder der Vielzahl
von Videoabbildern wird ohne Datenverdichtung während eines Auffrischzyklus kommuniziert.
Auf diese Weise wird ein durch die Region definierter Bildbereich
durch die nicht verdichteten Regionen während des Auffrischzyklus fortschreitend
aufgefrischt. Die Datenverdichtung von Videoabbildern kann gesteuert
werden, um zu verhindern, dass Daten, die in Regionen enthalten
sind, die während
eines gegenwärtigen
Auffrischzyklus noch nicht aufgefrischt sind, Daten, die in Regionen
enthalten sind, die während
des gegenwärtigen
Auffrischzykluses aufgefrischt worden sind, ungewollt verfälschen.
-
Wenn
ein MPEG-Codierer im fortschreitenden Auffrischmodus verwendet wird,
werden die I-Frames in Slices zerbrochen und über die übertragenen P-Frames als I-Slices
verteilt. Auf diese Weise codierte MPEG-Datenströme werden hier als „fortschreitende
I-Slice aufgefrischte MPEG-Datenströme" bezeichnet. Das
Verteilen der I-Slices über
mehrere P-Frames
gleicht die Bitrate aus und stellt kein Problem dar, wenn der Strom
aufeinanderfolgend wiedergegeben wird. Wenn jedoch versucht wird, Trickwiedergabe-Modi
in einem fortschreitenden I-Slice aufgefrischten MPEG-Datenstrom
zu implementieren, erfordert der Mangel an I-Frames entweder extrem
große
Pufferspeicher für
einige Abbildungen im Wert von Daten, oder der Strom muss vollständig decodiert
und dann erneut als ein auf dem I-Frame basierender Strom codiert
werden, was zu einem Qualitätsverlust
führt.
Dieses zusätzliche
Decodieren und erneute Codieren erfordert ebenfalls extra Hardware,
wodurch extra Kosten für
das Fernsehgerät
entstehen (z. B. Set-Top-Terminal, persönlicher vielseitiger Recorder
und dergleichen). Gegenwärtig
existieren keine im Handel erhältlichen
Systeme, um Trickwiedergabe-Modi auf fortschreitenden I-Slice aufgefrischten
MPEG-Datenströmen
durchzuführen.
Dokument US-A-5 717 816 offenbart ein Gerät und ein Verfahren für die Auswahl
von Daten zur Verwendung in einem VTR Trickwiedergabe-Ablauf in
einem System, das intracodierte Video-Frames verwendet.
-
Die
gemeinschaftlich innegehaltene, gleichzeitig anhängige U.S. Patentanmeldung
Nr. 09/196,709, eingereicht am 20. November 1998, offenbart Techniken
für das
Spleißen
von Videodaten in fortschreitenden I-Slice aufgefrischten verdichteten Bitströmen für z. B.
das Einfügen
von Werbespots in einen Videostrom. Das Einfügen von Werbespots, das Einfügen von
Werbung, Studiorouting, das Schalten der Kamera, Bandschnitt und
dergleichen sind grundlegende Abläufe bei Fernsehproduktion und
Rundfunk. Bei gegenwärtigen
analogen Systemen findet das Schalten im vertikalen Intervall des
Videosignals statt. Mit dem Aufkommen des digitalen Fernsehens,
wie es zum Beispiel in den MPEG-Standards
implementiert ist, ist das Schalten oder „Spleißen" bei verdichteten Bitströmen sehr
kompliziert. Um derartige Abläufe
zu erleichtern, definiert der MPEG-2-Standard „Spleißpunkte", an denen Punktsignale (z. B. ein Werbespot)
durch ein anderes Signal (z. B. ein Hauptprogramm) in einem Videostrom ersetzt
werden können.
-
Die
Society of Motion Picture and Television Engineers (SMPTE) arbeitet
gegenwärtig
an einem Normentwurf zum Spleißen
von MPEG-2-Transportströmen. Siehe
zum Beispiel die vorgeschlagene SMPTE Norm PT20.02/010, "Splice Points for MPEG-2
Transport Streams",
zweiter Entwurf, Juli 1997, hier unter Bezugnahme aufgeführt.
-
Es
gibt verschiedene Gründe,
warum das Spleißen
von auf dem I-Frame basierenden MPEG-Video schwieriger ist als das
Schalten von unverdichtetem Video. Wie oben erörtert erfordert das Decodieren
eines B-Frames nicht nur den vorherigen I- oder P-Frame, sondern
auch den nächsten.
Zum Zweck des Spleißens
bedeutet dies, dass, während es
möglich
ist, einen alten Strom nach jedem beliebigen P- oder I-Frame zurückzulassen,
es nicht möglich
ist, den Strom nach einem B-Frame zurückzulassen, da dies den Rückwärtsprädiktionsbezugsrahmen
für diesen
B-Frame abschneiden würde.
Von dem Bitstrom aus gesehen bedeutet dies, dass ein erster Videostrom
nur zurückgelassen
werden kann, wenn ein P- oder I-Frame und alle B-Frames (falls vorhanden),
die unmittelbar folgen, durchgelaufen sind.
-
Die
Angelegenheit wird weiter erschwert, wenn der verdichtete MPEG-Datenstrom ein fortschreitender
I-Slice aufgefrischter MPEG-Datenstrom anstatt ein auf dem I-Frame
basierender Strom ist. Für
das Einfügen
von Werbespots oder für
Schaltzwecke wird verdichtetes Video aus einer ersten Quelle durch
verdichtetes Video aus einer zweiten Quelle an einem vorher definierten
Einfügungspunkt im
Videodatenstrom ersetzt. Wenn das Video aus entweder der ersten
oder der zweiten Quelle oder beiden unter Verwendung von I-Slices
fortschreitend aufgefrischt wird, dann werden fortschreitende auffrischbezogene
Bildfehler an einer oder beiden Grenzen zwischen dem ersten und
zweiten Quellenvideo erscheinen. Wie detailliert in der gemeinschaftlich
innegehaltenen, gleichzeitig anhängigen
U.S.-Patentanmeldung Nr. 09/196,709, oben vermerkt, erörtert, kann
das Problem der fortschreitenden, auffrischbezogenen Bildfehler
gelöst
werden, indem mit dem Verarbeiten von einem Frame, der vor der Einfügungszeit
eingefügt
werden soll, begonnen wird. Zuerst wird das einzufügende Video
vor dem Einfügungspunkt
ausreichend dekomprimiert, um die Wiederherstellung und erneute
Datenverdichtung eines ersten einzufügenden Frames zu ermöglichen.
Wie oben angemerkt ist der „erste
einzufügende
Frame" der erste
Frame in der Codierordnung und nicht notwendigerweise der erste
Frame in der Anzeigeordnung. Sobald dieser Frame dekomprimiert worden ist,
wird er erneut als ein intracodierter I-Frame verdichtet. Derartige
intracodierte Frames können
ohne Bezugnahme auf jeden beliebigen anderen Frame rekonstruiert
werden, und unterliegen daher keinem fortschreitenden Auffrischen.
Nachdem der wiederhergestellte erste Frame als ein I-Frame erneut
verdichtet worden ist, wird er als der erste am Einfügungspunkt
eingefügte
erste Frame verwendet.
-
Es
wäre vorteilhaft,
ein Verfahren und ein Gerät
zum Ermöglichen
von Trickwiedergabe-Modi auf fortschreitenden I-Slice aufgefrischten MPEG-Datenströmen und
anderen Arten von fortschreitend aufgefrischten Datenströmen zu ermöglichen.
Es wäre
weiter vorteilhaft, ein derartiges Schema bereitzustellen, bei dem
das erforderliche Verarbeiten zum Transcodieren, um Trickwiedergabe-Modi
zu ermöglichen,
minimiert wird, um Echtzeitleistung zu erlauben. Es wäre vorteilhaft,
Techniken zu verwenden, die denen ähnlich sind, die zum Einfügen von
Werbespots in fortschreitenden I-Slice aufgefrischten MPEG-Datenströmen verwendet
werden, um Trickwiedergabe-Modi auf einem PVR oder einer ähnlichen
Vorrichtung, die fortschreitende I-Slice aufgefrischte MPEG-Datenströme empfängt, zu
ermöglichen.
-
Das
Verfahren und das Gerät,
wie Jeweils in Anspruch 1 und in Anspruch 14 der vorliegenden Erfindung
definiert, stellen die vorangehenden und andere Vorteile bereit.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
Erfindung stellt das Transcodieren von fortschreitenden I-Slice
aufgefrischten MPEG-Datenströmen
in auf dem I-Frame basierenden MPEG-Datenströme bereit, um Trickwiedergabe-Modi
auf einem Fernsehgerät
zu ermöglichen,
einschließlich Pause,
Vorwärtsscannen,
Rückwärtsscannen,
Springen oder Standbildanzeigen wie etwa für Filmindexierung (Kapitel).
Ein fortschreitender I-Slice aufgefrischter MPEG-Datenstrom mit über mehrere
P-Frames verteilten I-Slices wird durch ein Fernsehgerät empfangen.
Die P-Frames werden von dem Decodierer decodiert, um die I-Slices
wiederherzustellen, die einen vollständigen I-Frame ausmachen. Die
wiederhergestellten I-Slices werden in einen vollständigen I-Frame
assembliert (z. B. durch einen Prozessor). Der vollständige I-Frame
wird an einem Codierer codiert. Ein ausgewählter P-Frame im MPEG-Datenstrom
wird durch den codierten I-Frame
ersetzt, um einen auf dem codierten I-Frame basierenden Datenstrom
bereitzustellen. Der auf dem I-Frame basierende Datenstrom wird
für die
Verwendung im Trickwiedergabe-Modus gespeichert.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
Die
vorliegende Erfindung wird im folgenden in Verbindung mit den angehängten Zeichnungsfiguren
beschrieben werden, wobei gleiche Elemente mit gleichen Zahlen bezeichnet
werden, und:
-
1 ein
Beispiel eines fortschreitenden I-Slice aufgefrischten Datenstroms
zeigt;
-
2 ein
Flussdiagramm, das eine Verfahrensweise zum Transcodieren eines
fortschreitenden I-Slice aufgefrischten MPEG-Datenstroms in einen auf
dem I-Frame basierenden MPEG-Datenstrom gemäß der vorliegenden Erfindung
darstellt, zeigt;
-
3 ein
Blockdiagramm eines Beispiels einer Implementierung gemäß der vorliegenden
Erfindung zeigt; und
-
4 ein
Flussdiagramm, das eine weitere Verfahrensweise zum Transcodieren
eines fortschreitenden I-Slice aufgefrischten MPEG-Datenstroms in einen
auf dem I-Frame basierenden MPEG-Datenstrom gemäß der vorliegenden Erfindung
darstellt, zeigt.
-
DETAILLIERTE BESCHREIBUNG
DER ERFINDUNG
-
Die
hier folgende detaillierte Beschreibung stellt lediglich bevorzugte
exemplarische Ausführungsformen
bereit und soll den Bereich, die Anwendbarkeit oder die Konfiguration
der Erfindung nicht einschränken.
Die hier folgende detaillierte Beschreibung der bevorzugten exemplarischen
Ausführungsformen
stellt den Fachleuten eher eine ermöglichende Beschreibung zum
Implementieren einer bevorzugten Ausführungsform der Erfindung bereit.
Es versteht sich, dass verschiedene Veränderungen in der Funktion und
Anordnung der Elemente vorgenommen werden können, ohne vom Bereich der
Erfindung, wie er in den beigefügten
Ansprüchen
ausgeführt
ist, abzuweichen.
-
Die
vorliegende Erfindung stellt Verfahren und Geräte zum Transcodieren von fortschreitenden I-Slice
aufgefrischten MPEG-Datenströmen
in auf dem I-Frame basierenden MPEG-Datenströme bereit, um Trickwiedergabe-Modi bei zum Beispiel
einem Fernsehgerät
wie etwa einem persönlichen vielseitigen
Recorder (PVR), einem Set-Top-Terminal, einem digitalen Videorecorder,
einem digitalen Fernseher, einem Personal-Computer oder einer ähnlichen
Vorrichtung zu erleichtern. Derartige Trickwiedergabe-Modi können zum
Beispiel Pause, Vorwärtsscannen,
Rückwärtsscannen,
Springen und Standbildanzeige (z. B. zur Filmregistrierung) beinhalten.
Derartige Merkmale sind besonders bei der Verwendung mit Videoabruf
(VOD)-Diensten vorteilhaft.
-
Es
sollte von den Fachleuten jedoch verstanden werden, dass, obwohl
die Erfindung in Verbindung mit MPEG-Datenströmen beschrieben wird, die Erfindung
benutzt werden kann, um Trickwiedergabe-Modi zu ermöglichen,
wo jede beliebige Art von fortschreitend aufgefrischten Datenströmen empfangen
wird. Zusätzlich
versteht es sich, dass zum Zweck der vorliegenden Erörterung
die Begriffe „Frame" und „Videoframe" in einem allgemeinen
Sinn verwendet werden, um einen Teil eines Videosignals oder eines
Stroms zu bezeichnen, von dem andere Abschnitte unter Verwendung
von beispielsweise einem I-Frame, P-Frame oder B-Frame rekonstruiert werden.
Obwohl folglich typischerweise ein „Frame" ein „vollständiger" Videoframe sein wird, ist es nicht beabsichtigt,
die Bedeutung von diesem auf einen vollständigen Videoframe zum Zweck
der vorliegenden Offenbarung zu begrenzen, da Implementierungen
existieren oder entwickelt werden können, in denen z. B. Teilrahmen,
Feld, Teilfeld oder anderes Verarbeiten verwendet wird. Bezüglich des
Verarbeitens von Video auf einem Feld-Niveau statt auf einem Frame-Niveau
versteht es sich, dass I-Felder, P-Felder und B-Felder verwendet
werden können.
In solchen Fällen
entsprechen diese Felder den weitläufigen Bezeichnungen „Frame" und „Videoframe", wie sie beim Frame
Verarbeiten von Videosignalen verwendet werden, oder sollen durch
diese Bezeichnung abgedeckt werden.
-
Die
vorliegende Erfindung stellt das Transcodieren von fortschreitenden
I- Slice aufgefrischten MPEG-Datenströmen in auf
dem I-Frame basierenden MPEG-Datenströme bereit, um Trickwiedergabe-Modi
auf einem Fernsehgerät
zu ermöglichen. Der
fortschreitende, auf dem I-Slice basierende Auffrischmodus weist
weder einen GOP-Anfangskennsatz auf, noch weist er irgendwelche
I-Frames auf. Der gesamte Strom ist als eine „PBBPBBPBBPBBP..."-Sequenz aufgebaut,
wobei „P" P-Frames darstellt
und „B" B-Frames darstellt.
-
1 zeigt
ein Beispiel eines fortschreitenden I-Slice aufgefrischten MPEG-Datenstroms.
Der I-Frame ist in Slices geteilt und als I-Slices gleichmäßig über die
P-Frames hinweg verteilt. In dem in 1 gezeigten
Beispiel ist ein I-Frame in vier I-Slices 20, 25, 30 und 35 geteilt.
Die vier I-Slices 20, 25, 30 und 35 sind über vier
P-Frames P1, P4, P7 und P10 verteilt. Durch das Verteilen des I-Frames
als I-Slices über
mehrere P-Frames
auf diese Weise kann die unterbrochene Datenrate von einem I-Frame über mehrere
P-Frames gemittelt werden. Mit anderen Worten wird die sofortige
Bitrate über
jeden Frame hinweg ausgeglichen. B-Frames werden auf die gleiche
Weise codiert wie im auf dem I-Frame basierenden Auffrischmodus.
Die Platzierung der B-Frames ist in 1 als B2,
B3, B5, B6, B8 und B9 angezeigt. Das Rekonstruieren eines P-Frames
erfordert den vorherigen Frame. Mit einer fortschreitenden I-Slice
aufgefrischten Angehensweise kann keine Vorhersage darüber getroffen
werden, wie viele Frames erforderlich sind, um ein Bild aufzubauen. Der „Auffrischrate"-Parameter kann jedoch
z. B. von zwei bis zweiunddreißig
Frames im Codierer eingestellt werden. Die Auffrischrate beträgt die Anzahl
aller vollständigen
Frames in einem Auffrischzyklus. Dies bedeutet, dass im Durchschnitt
die „Auffrischrate" Anzahl der Frames
erforderlich ist, um einen vollständigen Satz I-Slices zu sammeln
und ein vollständiges
Videobild aufzubauen. Es versteht sich jedoch, dass dieser Auffrischrate-Parameter
bei anderen Codiererentwürfen
variieren kann.
-
In
dem in 1 gezeigten Beispiel ist eine Auffrischrate von
10 angezeigt, wobei die P-Frames P1, P4, P7 und P10 unter sechs
B-Frames (B2, B3, B5, B6, B8 und B9) vermischt werden, so dass 10 vollständige Frames
erforderlich sind, bevor ein Bild unter Verwendung von allen vier
I-Slices 20, 25, 30 und 35 vollständig aufgefrischt
ist. Das in P-Frame P1 enthaltene I-Slice 20 stellt Referenzmakroblöcke bereit,
die verwendet werden, um Bewegungsvektoren zu schaffen, die die
Inhalte des P-Slice 40 in P-Frame P4 vorhersagen. Auf die
gleiche Weise stellen das in P-Frame
P4 enthaltene I-Slice 25 und P-Slice 40 Referenzmakroblöcke bereit,
die verwendet werden können,
um die Inhalte des in P-Frame P7 enthaltenen P-Slice 45 vorherzusagen.
Auf ähnliche
Weise stellen das in P-Frame P7 enthaltene I-Slice 30 und
P-Slice 45 Referenzmakroblöcke bereit, die verwendet werden
können,
um die Inhalte des in P-Frame P10 enthaltenen P-Slice 50 vorherzusagen.
Das in P-Frame P10 enthaltenen I-Slice 35 und
P-Slice 50 stellen den nächsten P-Frame (nicht gezeigt)
mit Referenzmakroblöcken
für den
vorhergesagten Teil des Bilds bereit.
-
Das
allgemeine Konzept der vorliegenden Erfindung ist, einen P-Frame
aus dem fortschreitenden I-Slice aufgefrischten MPEG-Datenstrom
durch einen vollständigen
I-Frame alle „Auffrischrate" (N) Anzahl von Frames
zu ersetzen. Der Rest des Stroms wird unverändert bleiben. Dieser neue
auf dem I-Frame basierende Strom wird zum Speichern auf einer Festplatte
(oder einer anderen Speichervorrichtung von hoher Kapazität wie etwa
einer optischen Vorrichtung oder einer anderen jetzt oder hiernach
bekannten vergleichbaren Speichervorrichtung) registriert, und das
Verzeichnis macht es leicht für den
Prozessor, die richtigen Daten zum Decodieren in den Trickwiedergabe-Modi
abzurufen.
-
2 zeigt
ein Flussdiagramm einer beispielhaften Ausführungsform der Erfindung. Ein
fortschreitender I-Slice aufgefrischter MPEG-Datenstrom 10 mit über mehrere
P-Frames verteilten I-Slices (z. B. wie in Verbindung mit 1 beschrieben) wird
an einem Fernsehgerät
empfangen. Die P-Frames werden aus dem Datenstrom 10 extrahiert
(d. h. kopiert) (Schritt 100). Der vollständige eingehende Datenstrom 10 wird
ebenfalls zwischengespeichert (Schritt 101). Die extrahierten
P-Frames werden decodiert (Schritt 102), um die I-Slices
wiederherzustellen, die einen vollständigen I-Frame ausmachen. Fachleute
werden erkennen, dass die P-Frames nur teilweise decodiert werden
müssen,
um die I-Slices wiederherzustellen, obwohl der gesamte P-Frame decodiert
werden kann, um die I-Slices wiederherzustellen, falls gewünscht. Die
wiederhergestellten I-Slices werden in einem Rahmenpufferspeicher
gespeichert (Schritt 103). Sobald alle I-Slices, die einen vollständigen I-Frame ausmachen,
wiederhergestellt worden sind, werden die I-Slices in einen vollständigen I-Frame
assembliert und codiert (Schritt 104). Die decodierte P-Frame-Information
kann verworfen werden. Ein ausgewählter P-Frame im zwischengespeicherten
MPEG-Datenstrom wird durch den vollständigen I-Frame ersetzt, um
einen auf dem codierten I-Frame basierenden Datenstrom bereitzustellen (Schritt 105).
Der auf dem I-Frame basierende Datenstrom 200 wird für die Verwendung
im Trickwiedergabe-Modus
gespeichert.
-
Wie
wahlweise in 2 gezeigt, können, um die Bitrate des resultierenden
auf dem I-Frame basierenden MPEG-Datenstroms zu reduzieren, die
extrahierten P-Frames unter Verwendung von Bewegungsschätzungstechniken
erneut codiert werden, um die I-Slices zu entfernen (wahlweiser
Schritt 106), und diese erneut codierten P-Frames können in
den zwischengespeicherten Datenstrom anstelle des ursprünglichen
P-Frames bei Schritt 105 erneut eingefügt werden. Alternativ kann
bei Schritt 106 jeder P-Frame erneut als ein I-Frame codiert
werden, und jeder beliebige der P-Frames oder alle können mit derartigen
I-Frames bei Schritt 105 ersetzt werden.
-
In
einer beispielhaften in 3 gezeigten Ausführungsform
der Erfindung werden fortschreitende I-Slice aufgefrischte MPEG-Datenströme transcodiert,
um Trickwiedergabe-Modus-Leistungsmerkmale
auf einem Fernsehgerät
(z. B. einer Transcodiervorrichtung) zu ermöglichen. Ein fortschreitender
I-Slice aufgefrischter MPEG-Datenstrom 10 mit über mehrere
P-Frames verteilten I-Slices wird von einem Fernsehgerät 300 (z.
B. einem Empfänger 210)
empfangen. Die P-Frames werden durch den Decodierer 220 decodiert,
um die I-Slices, die einen vollständigen I-Frame ausmachen, wiederherzustellen.
Die wiederhergestellten I-Slices werden in einen vollständigen I-Frame
assembliert (z. B. durch einen Prozessor 230). Der vollständige I-Frame
wird am Codierer 250 codiert. Ein ausgewählter P-Frame im MPEG-Datenstrom
wird durch den codierten I-Frame (z. B. über Multiplexer 255)
ersetzt, um einen auf dem codierten I-Frame basierenden Datenstrom 200 bereitzustellen.
Der auf dem I-Frame basierende Datenstrom 200 wird für die Verwendung
im Trickwiedergabe-Modus gespeichert.
-
Der
Speicher 240 kann auf dem Fernsehgerät 300 bereitgestellt
sein, um die wiederhergestellten I-Slices zwischenzuspeichern, während die P-Frames decodiert
werden, bis die erforderlichen I-Slices, um einen vollständigen I-Frame
zu assemblieren, aus den decodierten P-Frames wiederhergestellt
sind. Zusätzlich
kann der Speicher 240 bereitgestellt werden, um den eingehenden
Datenstrom 10 zwischenzuspeichern, um es dem Prozessor
zu ermöglichen,
den vollständigen
I-Frame in den Datenstrom anstelle des ausgewählten P-Frames einzufügen. Der
Fachmann wird verstehen, dass die Speichervorrichtung 240 als
zwei separate Speichervorrichtungen implementiert werden kann, ein
Pufferspeicher zum Speichern der wiederhergestellten I-Slices und
ein Pufferspeicher zum Speichern des eingehenden Datenstroms 10.
-
Der
auf dem I-Frame basierende Datenstrom 200 kann zur Verwendung
im Trickwiedergabe-Modus auf der Speichervorrichtung 240 (oder
einer anderen Speichervorrichtung), die sich auf dem Fernsehgerät 300 befindet,
gespeichert werden, oder kann auf eine Speichervorrichtung außerhalb
des Fernsehgeräts 300 übertragen
werden. Der auf dem I-Frame basierende Datenstrom 200 kann
zum Beispiel auf einem persönlichen
vielseitigen Recorder (PVR), einem digitalen Videorecorder, einem Set-Top-Terminal, einem
digitalen Fernseher, einem Personal-Computer oder einer ähnlichen
Vorrichtung gespeichert werden.
-
An
der Stelle, an der der Decodieren 220 eine N Anzahl von
P-Frames decodiert, um die I-Slices, die den vollständigen I-Frame
ausmachen, wiederherzustellen, kann der codierte I-Frame in den MPEG-Datenstrom 10 anstelle
des Nten P-Frames eingefügt
werden. Wenn zum Beispiel, wie in 1 gezeigt,
die I-Slices 20, 25, 30 und 35 für einen
vollständigen
I-Frame über vier
P-Frames (P1, P4, P7 und P10) verteilt werden, kann der vollständige I-Frame
in den Datenstrom anstelle des vierten P-Frames P10 eingefügt werden.
Ein vollständiger
I-Frame kann den ausgewählten
P-Frame mindestens
einmal pro Auffrischzyklus ersetzen.
-
In
einer weiteren Ausführungsform
der Erfindung können
ein oder mehrere zusätzliche
P-Frames decodiert werden, um zusätzliche I-Slices wiederherzustellen.
Diese zusätzlichen
I-Slices ermöglichen die
Assemblierung zusätzlicher
vollständiger
I-Frames, die dann in den MPEG-Datenstrom 10 bei einer programmierbaren
Rate eingefügt
werden können. Unter
Fortführung
des Beispiels aus 1, das vier I-Slices 20, 25, 30 und 35 verwendet,
um einen vollständigen
I-Frame auszumachen, da jeder zusätzliche P-Frame ein zusätzliches
I-Slice enthalten wird, kann dieses zusätzliche I-Slice mit den I-Slices
aus den drei vorherigen P-Frames
kombiniert werden, um einen zusätzlichen
vollständigen
I-Frame bereitzustellen. In 1 kann zum
Beispiel, nachdem Frame P10 decodiert ist, der nächste P-Frame (nicht gezeigt)
decodiert werden, um das darin enthaltene I-Slice wiederherzustellen.
Dieses I-Slice kann dann mit den drei vorherigen I-Slices 25, 30 und 35 kombiniert
werden, um einen zusätzlichen
vollständigen I-Frame
bereitzustellen. Dabei wird vorausgesetzt, dass sich die Position
jedes I-Slice in der Reihe von vier I-Slices in 1 bei jeder
nachfolgenden Reihe von vier I-Slices wiederholt, so dass die Bildabschnitte
in der gleichen Reihenfolge (d. h. der Abschnitt des durch das fünfte I-Slice
aufgefrischten Bilds ist der gleiche wie der durch das fünfte I-Slice
aufgefrischte) aufgefrischt werden.
-
Ferner
können
zusätzliche
I-Frames in den auf dem I-Frame basierenden Datenstrom 200 in
einem programmierbaren Intervall eingefügt werden. Jeder der decodierten
P-Frames kann zum Beispiel als ein I-Frame erneut codiert und in
den auf dem I-Frame basierenden Datenstrom 10 erneut eingefügt werden.
Das Einfügen
zusätzlicher
I-Frames in den Datenstrom stellt mehr Zugriffspunkte bereit und ermöglicht eine
genauere Registrierung für
Trickwiedergabe-Modi.
-
Die
Trickwiedergabe-Modus-Leistungsmerkmale können mindestens entweder Pause,
Vorwärtsscannen,
Rückwärtsscannen,
Springen oder Standbildanzeige beinhalten. „Springen" kann zum Beispiel zehn Sekunden rückwärts Überspringen, dreißig Sekunden
vorwärts Überspringen,
Instant Replay oder das Springen zu Kapiteln oder Lesezeichen (z.
B. bei einer DVD) sein.
-
In
einer alternativen Ausführungsform
kann der Decodierer 220 bestimmen, ob der eingehende Datenstrom
ein auf dem I-Frame basierender MPEG-Datenstrom oder ein fortschreitender
I-Slice aufgefrischter MPEG-Datenstrom ist. In dem Fall, dass der
Datenstrom ein auf dem I Frame basierender MPEG-Datenstrom ist,
kann der Datenstrom (z. B. in Speicher 240 oder einer Speichervorrichtung außerhalb)
zur Verwendung im Trickwiedergabe-Modus ohne weiteres Verarbeiten
gespeichert werden. Zusätzliche
I-Frames können
in den auf dem I-Frame basierenden MPEG-Datenstrom unter Verwendung des
oben beschriebenen Vorgangs vor dem Speichern des Datenstroms zur
Verwendung im Trickwiedergabe-Modus eingefügt werden. In dem Fall, dass der
MPEG-Datenstrom ein fortschreitender I-Slice aufgefrischter MPEG-Datenstrom
ist, wird der Datenstrom zur Verwendung im Trickwiedergabe-Modus, wie
oben erörtert,
verarbeitet.
-
Das
Fernsehgerät 300 kann
eine selbständige
Transcodiervorrichtung sein oder kann als Teil eines persönlichen
vielseitigen Recorders (PVR), einer digitalen Videoaufnahmevorrichtung,
eines Set-Top-Terminals, eines digitalen Fernsehers, eines Personal-Computers
oder dergleichen implementiert sein.
-
Die
extrahierten P-Frames können
unter Verwendung von Bewegungsschätzungstechniken erneut codiert
werden, um die I-Slices zu entfernen. Diese erneut codierten P-Frames
können
dann in den Datenstrom anstelle der ursprünglichen P-Frames eingefügt werden.
Eine derartige Verfahrensweise erfordert zusätzliche Verarbeitungsleistung,
reduziert aber die Gesamtbitrate des resultierenden auf dem I-Frame
basierenden MPEG-Datenstroms 200.
-
4 zeigt
ein Flußdiagramm,
das eine spezifische Ausführungsform
der Erfindung darstellt. Die Auffrischrate N des Systems wird eingestellt
und ein Zähler
n wird auf null (301) eingestellt. Der eingehende MPEG-Transportstrom wird
gelesen (305). Das Vorhandensein eines Bildanfangskennsatzes
wird bestimmt (310). In dem Fall, dass kein Bildanfangskennsatz
ermittelt wird, wird der Transportstrom umgangen (315)
und der Vorgang wird wiederholt. Wenn ein Bildanfangskennsatz ermittelt
wird, wird der Transportstrom gespeichert (320). Die Bildcodierungsart
wird bestimmt (325) (d. h. ob I-, P-, oder B-Frames vorhanden
sind).
-
Wenn
der Transportstrom ein auf einem B-Frame basierender Strom ist,
wird der I-Frame decodiert und in einem Pufferspeicher (330)
gespeichert. Der auf dem I-Frame basierende Strom kann dann zur
Verwendung im Trickwiedergabe-Modus ohne weiteres Verarbeiten ausgegeben
(335) werden, wie oben erörtert. Der Zähler wird
auf n = 0 (340) eingestellt, und der Vorgang kann wiederholt
werden.
-
Wenn
die Bildcodierungsart das Vorhandensein von B-Frames ermittelt,
wird der auf dem B-Frame basierende Strom gespeichert (345)
und der Zähler
wird um n = n + 1 (350) erhöht. Der Vorgang wird dann wiederholt.
-
Wenn
die Bildcodierungsart das Vorhandensein von P-Frames ermittelt,
werden die P-Frames decodiert (355), um I-Slices wiederherzustellen, wie
oben erörtert.
Der Zähler
wird um n = n + 1 (360) erhöht. Die Auffrischrate N wird
mit n (365) verglichen. Wenn n weniger als die Auffrischrate
ist, wird der P-Bildstrom gespeichert 370 und der Vorgang wird
wiederholt, bis n größer ist
als die Auffrischrate N (bis ein vollständiger Auffrischzyklus durchgelaufen
ist und alle I-Slices für
einen vollständigen
I-Frame wiederhergestellt worden sind). Sobald bestimmt ist, dass
n größer Ist
als n, wird der vollständige
I-Frame codiert und in dem Strom anstelle eines P-Frames (375)
platziert. Der auf dem I-Frame basierende Strom wird für die Verwendung
im Trickwiedergabe-Modus ausgegeben. Der Zähler kann dann auf n = 0 (340)
eingestellt und der Vorgang wiederholt werden.
-
Wie
oben erörtert,
können
die P-Frames unter Verwendung von Bewegungsschätzungstechniken ebenfalls erneut
codiert werden, um die I-Slices (380) zu entfernen, um
die Bitrate zu reduzieren. Der auf dem P-Frame basierende Strom kann dann ausgegeben
(385) und der Vorgang wiederholt werden.
-
Eine
Simulation des transcodierenden Algorithmus der vorliegenden Erfindung
zeigte einen mäßigen Anstieg
der Bitrate für
den auf dem I-Frame
basierenden MPEG-Datenstrom 200 im Vergleich zu dem eingehenden
fortschreitenden I-Slice aufgefrischten MPEG-Datenstrom, aber keinen
sichtbaren Verlust bei der Videoqualität nach dem Transcodieren. Die
Erfindung kann unter Verwendung eines MPEG-Decodierers, der einen flexiblen Verarbeitungskern
aufweist, implementiert werden, so dass der transcodierende Algorithmus
in Microcode implementiert werden kann. Dies ermöglicht einfaches und schnelles
Schalten zwischen progressiven I-Slice aufgefrischten MPEG-Datenströmen und
auf dem I-Frame basierenden MPEG-Datenströmen. Es wird angenommen, dass
dieser Algorithmus am besten in einem auf einem Prozessor basierenden
MPEG-2 Decodierchip wie etwa die auf RISC basierenden Broadcom Decodierchips
oder den TeraLogic MPEG-2-Decodierchips
durchgeführt
werden kann. Weitere Implementierungen werden den Fachleuten selbstverständlich offensichtlich
sein, ohne von den Lehren der vorliegenden Erfindung abzuweichen.
-
Es
sollte nun ersichtlich sein, dass die vorliegende Erfindung ein
Verfahren und ein Gerät
zum Transcodieren von fortschreitenden I-Slice aufgefrischten MPEG-Datenströmen oder
dergleichen in auf dem I-Frame basierenden MPEG-Datenströme bereitstellt,
um die Wiedergabe des Trickwiedergabe-Modus zu ermöglichen.
Die Erfindung kann zur Verwendung mit einem persönlichen vielseitigen Recorder
und einer Kabelfernseh Set-Top-Box implementiert werden. Die Erfindung
senkt die Kosten und verbessert die Qualität zum Bereitstellen von PVR Dienst
in jedem beliebigen Videoverteilungsystem, das den fortschreitenden
I-Slice aufgefrischten MPEG Codiermodus genauso wie andere Arten
von fortschreitend aufgefrischten Datenströmen verwendet.
-
Obwohl
die Erfindung in Verbindung mit verschiedenen spezifischen Ausführungsformen
beschrieben wurde, versteht es sich, dass zahlreiche Angleichungen
und Modifikationen daran vorgenommen werden können, ohne den Bereich der
Erfindung, wie in den Ansprüchen
aufgeführt,
zu verlassen.