-
Hintergrund
der Erfindung
-
Rechnersysteme
werden für
die Bearbeitung (Editierung) von Videodaten eingesetzt. Rechnersysteme
werden ebenso zur Komprimierung von Videodaten verwendet. Die Moving
Picture Experts Group (MPEG) hat die Videokomprimierungsstandards MPEG-1,
MPEG-2 und MPEG-4 definiert. MPEG-1 ist ein Standard zum Speichern
und Abrufen von Bewegtbildern und Audiodaten auf Speichermedien. MPEG-2
ist ein Standard zur Videokomprimierung für Produkte wie dem Digitalfernsehen
und DVDs. MPEG-4 ist ein Standard für Multimediainhalte für das Web.
Solche Komprimierungsprozesse bedingen im Allgemeinen den Verlust
an Videoqualität,
um die gewünschte
Videokomprimierung zu erzielen.
-
Die
zur Komprimierung von Videodaten mit MPEG-2 verwendeten Prozesse
bedingen, dass eine Videokomprimierung der Videodaten, die mit bestimmten
Spezialeffekten bearbeitet wurden, länger dauert als die Komprimierung
von Videodaten ohne bestimmte Spezialeffekte, und dies kann zu einer schlechteren
Qualität
des komprimierten Videos führen.
Im Allgemeinen erfordern die Prozesse, die zur Komprimierung der
Videodaten unter MPEG-2 verwendet werden, die Verwendung eines Komprimierungsalgorithmus
zur Komprimierung der Videodaten. Die komprimierten Videodaten können dann
dekomprimiert und mit den Originalvideodaten verglichen werden.
Wenn der Fehler zwischen den daraus entstehenden Videodaten und
den Originalvideodaten zu groß ist,
wird der Algorithmus angepasst oder ein anderer Algorithmus zur
Komprimierung der Videodaten verwendet. Der Fehler wird dann erneut
geprüft,
bis ein Algorithmus gefunden wird, der einen zufriedenstellenden
Fehler bietet. Solche iterative Prozesse des Ausprobierens verschiedener
Algorithmen, um einen akzeptablen Fehler zu erhalten, beanspruchen
sehr viel Verarbeitungszeit und mindern die Videoqualität. Solch
ein Prozess kann mit einem 733 MHz Power Mac G4TM von
Apple Computer Inc.TM mit Sitz in Cupertino
CA mit 8 Gigaflops zweimal die Echtzeit für die Videokomprimierung benötigen, d.h. 60
Minuten zur Komprimierung eines Films mit 30 Minuten Länge.
-
Es
wäre erstrebenswert,
ein Rechnersystem zur Verfügung
zu stellen, das in der Lage ist, die Videokomprimierung in höherer Geschwindigkeit
zu liefern, oder das eine höhere
Qualität
und eine verbesserte Videokomprimierung bieten kann.
-
WO-A-01/93594,
ein Teil des Stands der Technik unter Artikel 54(3) EPC, beschreibt
ein Verfahren zur Bildkomprimierungskodierung, das aufgezeichnete
Hilfsdaten verwendet. Hilfsdaten umfassen Informationen, die sich
auf Kodierungsparameter beziehen, die während einer vorhergehenden
Kodierung der Bilddaten verwendet wurden, und die einem weiteren
Kodierer gestatten können,
die vom vorherigen Kodierer verwendeten Kodierungsparameter wiederzuverwenden.
Die Hilfsdaten können
selektiv wiederverwendet werden, indem eine elektronische Signatur
hinzugefügt
wird, die die Beschränkungen des
Kodierers angibt. Es ist somit möglich
festzustellen, ob die Hilfsdaten für die nachfolgende Kodierung mit
anderen Beschränkungen
wiederverwendbar sind oder nicht.
-
Gemäß dem ersten
Aspekt der Erfindung wird ein rechnerlesbares Medium zur Verfügung gestellt,
das Programmanweisungen zur Komprimierung von Videodaten mit einer
Bearbeitungsspur enthält,
wobei die Videodaten bearbeitet wurden und Videoeffekte enthalten,
und die Bearbeitungsspur die zu den Videoeffekten gehörigen Videobearbeitungsdaten
speichert und einen Bereich eines Rahmens, in dem eine Videobearbeitung
stattgefunden hat, und die Art der Bearbeitung, die in diesem Bereich
auftrat, angibt, wobei die Programmanweisungen umfassen:
einen
rechnerlesbaren Code für
den Zugriff auf einen Rahmen von Videodaten;
einen rechnerlesbaren
Code für
den Zugriff auf Videobearbeitungsdaten, die in der Bearbeitungsspur
gespeichert sind und dem Rahmen der Videodaten entsprechen; und
einen
rechnerlesbaren Code zur Komprimierung der Videodaten mit Hilfe
der Videobearbeitungsdaten in der Bearbeitungsspur während der
Komprimierung der Videodaten.
-
Gemäß eines
weiteren Aspekts der Erfindung ist ein Verfahren zur Komprimierung
von Videodaten mit einer Bearbeitungsspur vorgesehen, wobei die
Videodaten bearbeitet wurden und Videoeffekte enthalten, und die
Bearbeitungsspur die zu den Videoeffekten gehörigen Videobearbeitungsdaten
speichert und einen Bereich eines Rahmens, in dem eine Videobearbeitung
aufgetreten ist und die Art der in diesem Bereich aufgetretenen
Bearbeitung angibt, so dass ein Komprimierungsprogramm darauf zugreifen
kann, wobei das Verfahren umfasst:
Zugriff auf einen Rahmen
von Videodaten;
Zugriff auf Videobearbeitungsdaten in der Bearbeitungsspur
entsprechend dem Rahmen der Videodaten; und
Komprimierung der
Videodaten mit den Videobearbeitungsdaten in der Bearbeitungsspur
während
der Komprimierung der Videodaten.
-
Nach
einem weiteren Aspekt der Erfindung ist ein System zur Komprimierung
von bearbeiteten Videodaten vorgesehen, um Videoeffekte mit einer bearbeiteten
Videospur, einer Audiospur und einer Bearbeitungsspur aufzunehmen,
die zu den Videoeffekten gehörige
Videobearbeitungsdaten speichert, und die einen Bereich eines Rahmens,
in dem eine Videobearbeitung auftrat und die Art der Bearbeitung,
die in diesem Bereich auftrat, in einem Format angibt, auf das ein
Komprimierungsprogramm zugreifen kann, wobei das System umfasst:
einen
Bearbeitungsspurleser für
den Zugriff auf die Videobearbeitungsdaten in der Bearbeitungsspur und
zum Generieren von Anweisungen auf der Basis der Videobearbeitungsdaten
in der Bearbeitungsspur; und
eine Videokomprimierungseinrichtung,
die Anweisungen von dem Bearbeitungsspurleser und die bearbeitete
Videospur und Audiospur empfängt,
und die mit einem Komprimierungsprogramm das bearbeitete Video gemäß den Anweisungen
vom Bearbeitungsspurleser komprimiert.
-
Diese
und andere Funktionen der vorliegenden Erfindung werden im Folgenden
ausführlicher
in der detaillierten Beschreibung der Erfindung und in Verbindung
mit den folgenden Abbildungen beschrieben.
-
Die
vorliegende Erfindung wird beispielhaft in den Abbildungen der begleitenden
Zeichnungen veranschaulicht, was nicht als Einschränkung zu
verstehen ist, wobei die Referenzziffern auf dieselben Elemente
verweisen, in denen:
-
1A und 1B ein
an einem Camcorder angeschlossenes Rechnersystem darstellen, das für die Implementierung
von Ausführungsformen
der vorliegenden Erfindung geeignet ist.
-
2 ein übersichtsmäßiges Flussdiagramm
eines Prozesses ist, der die Erfindung verwendet.
-
3 ein
detaillierteres Flussdiagramm eines Beispiels eines Videobearbeitungsprozesses
ist, der während
des Videobearbeitungsschritts auftreten kann.
-
4 eine
schematische Illustration eines Beispiels bearbeiteter Videodaten
und den resultierenden komprimierten Videodaten ist.
-
5 ein
detaillierteres Flussdiagramm eines Beispiels eines Videokomprimierungsschritts
ist.
-
6 ein
detaillierteres Flussdiagramm zur Kodierung von Rahmen in ein komprimiertes
Format wie MPEG-2 ist.
-
7 ein
detaillierteres Flussdiagramm des Textverarbeitungsschritts ist.
-
8 ein
detailliertes Flussdiagramm des Verarbeitungsschritts der Überblendung
ist.
-
9 ein
detaillierteres Flussdiagramm der Überlagerungsverarbeitungsschritts
des Bewegtvideos ist.
-
10 eine
schematische Ansicht einer Ausführungsform
des Farbstanzprozesses (Chroma Key-Prozesses) der Erfindung ist.
-
11 eine
schematische Illustration des Komprimierungssystems ist, das in
einer Ausführungsform
der Erfindung verwendet werden kann.
-
Detaillierte
Beschreibung der bevorzugten Ausführungsformen
-
Die
vorliegende Erfindung wird im Folgenden detailliert mit Bezug auf
einige der hier bevorzugten Ausführungsformen
beschrieben, wie in den begleitenden Zeichnungen veranschaulicht.
In der folgenden Beschreibung werden viele spezielle Details dargelegt,
um ein fundiertes Verständnis
der vorliegenden Erfindung zu ermöglichen. Es ist aber für Kenner der
Technik offensichtlich, dass die vorliegende Erfindung ohne einige
oder alle dieser speziellen Details ausgeführt werden kann. In anderen
Beispielen wurden weithin bekannte Prozessschritte und/oder Strukturen
nicht beschrieben, um die vorliegende Erfindung nicht unnötigerweise
zu vernebeln.
-
Zur
einfacheren Erörterung
veranschaulichen 1A und 1B ein
mit einem Camcorder verbundenes Rechnersystem 900, das
für die
Implementierung der Ausführungsformen
der vorliegenden Erfindung geeignet ist. 1A zeigt
eine mögliche physische
Form des Rechnersystems 900, das mit einem Camcorder 901 verbunden
ist. Natürlich
kann das Rechnersystem viele physische Formen annehmen, von einer
integrierten Schaltung, einer Leiterplatte oder einem kleinen tragbaren
Gerät bis
hin zu einem riesigen Supercomputer. Das Rechnersystem 900 umfasst
einen Monitor 902, eine Anzeige 904, ein Gehäuse 906,
ein Plattenlaufwerk 908, eine Tastatur 910 und
eine Maus 912. Die Platte 914 ist ein rechnerlesbares
Medium, das zur Datenübertragung zu
und von dem Rechnersystem 900 verwendet wird.
-
1B ist
ein Beispiel eines Blockdiagramms für das Rechnersystem 900.
An den Systembus 920 sind eine große Vielzahl von Subsystemen
angeschlossen. Der/die Prozessoren) 922 (auch als Central
Processing Units oder CPUs bezeichnet) sind mit einem Speichergerät mit dem
Speicher 924 gekoppelt. Der Speicher 924 umfasst
Speicher mit Zufallszugriff (RAM, Random Access Memory) und Festspeicher
(ROM, Read-only Memory). Wie in der Technik wohlbekannt dient ROM
der Übertragung
von Daten und Anwendungen in einer Richtung, und RAM wird üblicherweise
zur bidirektionalen Übertragung
von Daten und Anweisungen eingesetzt. Beide Speicherarten können beliebige
geeignete rechnerlesbaren Medien umfassen, wie im Folgenden beschrieben.
Eine Festplatte 926 ist ebenso bidirektional mit der CPU 922 gekoppelt.
Sie bietet zusätzliche
Speicherkapazität
und kann auch beliebige der im Folgenden beschriebenen rechnerlesbaren Medien
umfassen. Die Festplatte 926 kann zur Speicherung von Programmen,
Daten und Ähnlichem verwendet
werden und ist in der Regel ein sekundäres Speichermedium (wie ein
Platte), die langsamer ist als der primäre Speicher. Es ist wünschenswert, dass
die Informationen, die sich auf der Festplatte 926 befinden,
in den entsprechenden Fällen
in standardmäßiger Weise
als virtueller Speicher in den Speicher 924 integriert
werden. Die entfernbare Platte 914 kann die Form eines
beliebigen im Folgenden beschriebenen rechnerlesbaren Mediums aufweisen.
-
CPU 922 ist
auch mit einer Vielzahl von Eingangssignal-/Ausgangssignalgeräten gekoppelt, wie der Anzeige 904,
der Tastatur 910, der Maus 912 und den Lautsprechern 930.
Im Allgemeinen kann ein Eingangssignal-/Ausgangssignalgerät eines der folgenden Geräte sein:
Videobildschirm, Trackball, Maus, Tastatur, Mikrofon, Touch-Screen,
Wandler-Kartenleser, Magnetband- oder Papierbandleser, Tablett,
Stylus, Sprach- oder Handschriftenerkennungsgerät, biometrisches Lesegerät oder andere Rechner.
CPU 922 kann optional mit einem anderen Rechner- oder Telekommunikationsnetzwerk über die
Netzwerkschnittstelle 940 gekoppelt sein. Mit solch einer
Netzwerkschnittstelle wird beabsichtigt, dass die CPU Informationen
aus dem Netzwerk empfängt,
oder während
der Durchführung
der oben beschriebenen Verfahrensschritte Informationen an das Netzwerk
ausgeben.
-
Darüber hinaus
können
Verfahrensausführungsformen
der vorliegenden Erfindung nur auf der CPU 922 oder über ein
Netzwerk wie das Internet in Verbindung mit einer entfernten CPU,
die einen Teil der Verarbeitung mit übernimmt, ausgeführt werden.
-
Darüber hinaus
beziehen sich die Ausführungsformen
der vorliegenden Erfindung auf Rechnerspeicherprodukte mit einem
rechnerlesbaren Medium, das hier Rechnercode zur Durchführung verschiedener
im Rechner implementierter Operationen aufweist. Die Medien und
der Rechnercode können für die Zwecke
der vorliegenden Erfindung speziell entworfen und gestaltet sein,
oder sie können
von der Art sein, die Kennern der Technik wohlbekannt und dafür verfügbar ist.
Zu den Beispielen von rechnerlesbaren Medien gehören, sind aber nicht darauf
beschränkt:
Magnetische Medien wie Festplatten, Disketten und Magnetbänder; optische
Medien wie CD-ROMs
und DVDs sowie holographische Geräte; magneto-optische Medien
wie Floptical Disks; und Hardware-Geräte, die speziell zur Speicherung
und Ausführung
von Programmcode ausgebildet sind, wie anwendungsspezifische integriertes
Schaltungen (Application-specific Integrated Circuits, ASICs), programmierbare
Logikgeräte
(Programmable Logic Devices, PLDs) sowie ROM- und RAM-Geräte. Beispiele
des Rechnercodes umfassen, Maschinencode, wie er von einem Compiler
erzeugt wird, und Dateien mit höherstufigem
Code, die von einem Rechner mit Hilfe eines Interpreters ausgeführt werden.
-
Zur
einfacheren Erörterung
ist 2 ein übersichtsmäßiges Flussdiagramm
eines Prozesses, der die Erfindung verwendet. Als Erstes werden
dem Rechnersystem 900 Videodaten bereitgestellt (Schritt 206).
Die Videodaten können
eine Video- und Audiospur sein, die von einem Camcorder aufgenommen
wurde oder von einem Videorekorder von einer Fernsehsendung aufgezeichnet
wurden. Solche Videodaten können
vom Camcorder 901 oder einem Videorekorder an das Rechnersystem 900 durch
eine Verbindung 950 übertragen
werden, wie eine FirewireTM-Verbindung (auch
als IEEE 1394 bezeichnet), oder können über einen Medienkonvertierer
angeschlossen werden. Die Videodaten können auf Speichermedien gespeichert
werden, auf die das Rechnersystem 900 zugreifen kann. Solche
Videodaten können
nur eine Videospur und eine Audiospur aufweisen und können in
Formaten wie dem Digital Video (DV)-Format gespeichert sein.
-
Als
Nächstes
werden die Videodaten bearbeitet, indem eine Videospur, eine Audiospur
und eine Bearbeitungsspur erstellt wird (Schritt 208).
Eine Videobearbeitungssoftware, wie iMovieTM oder
Final Cut ProTM, die beide von Apple Computer
Inc.TM stammen, kann zur Bearbeitung der
Videodaten verwendet werden.
-
Diese
Videobearbeitungssoftware kann Benutzern ermöglichen, Bearbeitungstechniken
zur Erstellung von Videoeffekten zu verwenden, wie beispielsweise,
was aber nicht darauf beschränkt
ist, das Einfügen
von Text in das Video, Überblendungen,
Farbkorrekturen, Videoüberlagerungen,
Kanteneffekte, Übergänge oder
Farbstanzen (Chroma Key; auch Blue Screening, Blauflächentechnik)
hinzufügen
oder statische Bildüberblendung
und statischen Bildüberlagerung
durchführen.
Jeder Bearbeitungsschritt der Videodaten führt zu Daten, die in einer
Bearbeitungsspur gespeichert werden, die den Bearbeitungsschritt
aufzeichnet. Herkömmliche
Bearbeitungssoftware muss eventuell abgeändert werden, um Daten in der
Bearbeitungsspur dergestalt zu speichern, dass die Komprimierungssoftware
auf die Bearbeitungsspur zugreifen kann. Die Bearbeitungssoftware
speichert auch die bearbeiteten Videodaten in einer Videospur und
einer Audiospur.
-
Als
Nächstes
werden die bearbeiteten Videodaten vom Rechnersystem komprimiert
(Schritt 212). Die Komprimierungssoftware, die auf dem Rechnersystem 900 gespeichert
sein kann, greift auf die Videospur, die Audiospur und die Bearbeitungsspur
zu, um Informationen in der Videospur, der Audiospur und der Bearbeitungsspur
zur Komprimierung der Videodaten zu verwenden. In der bevorzugten
Ausführungsform
werden die Videodaten in ein MPEG-Format komprimiert. Die bevorzugtere
Lösung
ist, die Videodaten im MPEG-2-Format zu komprimieren.
-
Die
komprimierten Videodaten können
dann gespeichert werden (Schritt 216). In der bevorzugten Ausführungsform
werden die komprimierten Videodaten auf einer DVD gespeichert, so
dass sie mit einem DVD-Spieler angezeigt werden können. Es
können
aber auch andere Medienspeicherverfahren und Anzeigeverfahren verwendet
werden.
-
3 ist
ein detaillierteres Flussdiagramm eines Beispiels eines Videobearbeitungsprozesses, der
während
des Videobearbeitungsschritts erfolgen kann (Schritt 212).
Obwohl diese Schritte chronologisch beschrieben werden, können sie
in unterschiedlichen Reihenfolgen oder gleichzeitig auftreten. Für jede durch
die Bearbeitungssoftware durchgeführte Bearbeitung des Videos
werden Videodaten in der Form eines Objekt, wie einer Aufzeichnung,
in der Datenspur abgelegt (Schritt 308). In jedem Objekt wird
der Bereich des bearbeiteten Rahmens angegeben (Schritt 312).
Dieser Bereich ist ein Feld, das die Begrenzungspunkte angibt, die
eine beliebige Form definieren, in der die Bearbeitung stattfindet.
Die Bearbeitungsart im Grenzbereich wird ebenso angegeben (Schritt 316).
Die Bearbeitungsspur wird in einem Format gespeichert, so dass die
Komprimierungssoftware auf das Objekt zugreifen kann (Schritt 318).
-
4 ist
eine schematische Illustration eines Beispiels bearbeiteter Videodaten
und den resultierenden komprimierten Videodaten. Ein Rahmen von Videodaten 404 umfasst
Pixel in der x-Richtung und der y-Richtung. Ein Objekt kann für eine Videoüberlagerung 405 erstellt
werden (Schritt 308). Ein Bereich, der wie in 4 ein
Oval bildet, wird im Objekt für
die Videoüberlagerung
angegeben (Schritt 312). Für einen Effekt, wie die Platzierung
einer Video-Einfügung
und einer ovalen Bewegung, wird angegeben, dass diese im ovalen
Grenzbereich stattfindet (Schritt 316). Das Objekt wird
dann in der Bearbeitungsspur gespeichert, so dass die Komprimierungssoftware
auf das Objekt zugreifen kann (Schritt 318). Ein Objekt
kann auch für
den hinzugefügten
Text 406 erstellt werden. Ein Bereich, der einen Umriss
für das Wort "TEXT" 406 bildet,
kann in dem Objekt angegeben werden (Schritt 312). Ein
Effekt, wie die Angabe, dass die Schrift des Textes Times 24 Punkt
in Schwarz mit Kantenglättung
(Antialiasing) ist, wird ebenso im definierten Bereich angegeben
(Schritt 316). Das hinzugefügte Textobjekt wird ebenso
in der Bearbeitungsspur in einem Format gespeichert, auf das die
Komprimierungssoftware durch das Ausgabeergebnis der Bearbeitungssoftware
zugreifen kann (Schritt 318).
-
5 ist
ein detaillierteres Flussdiagramm eines Beispiels eines Videokomprimierungsschritts (Schritt 212).
Zuerst kann ein Intracode-Rahmen (I-Rahmen) 412 aus dem bearbeiteten
Videodatenrahmen 404 erzeugt werden (Schritt 508).
Die I-Rahmen 412 wird als intrakodierter Rahmen bezeichnet, da
der ursprüngliche
Rahmen aus dem I-Rahmen ohne andere Rahmen rekonstruiert werden
kann. MPEG-2 führt
diese Konvertierung mit einer diskreten Kosinustransformation (DKT)
und anderen Komprimierungsprozessen durch. Für die diskrete Kosinustransformation
werden die Pixel im Rahmen 404 in Blöcke 408 aufgeteilt.
Die Intensität
und Position der Pixel in jedem Block werden dann an den I-Rahmen 412 übertragen,
wo die Intensität
und Position der Pixel in einem Block in eine Reihe von Frequenzen
und Zeitwerten in einem Block 416 mit Hilfe der diskreten
Kosinustransformation umgewandelt werden. DKT transformiert einen
Block mit Pixel-Intensitäten
in einen Block von Frequenztransformationskoeffizienten. Die Transformation
wird dann auf die neuen Blöcke
angewendet, bis das gesamte Bild transformiert ist. Ein Teil des
Komprimierungsprozesses der Daten wird durch Bildaufrasterung (Dithering)
implementiert, wodurch ein einzelner Frequenzwert 420 eine
Pixel-Gruppe darstellen kann. Während
der Erstellung des I-Rahmens kann die Komprimierungssoftware auf
die Bearbeitungsspur zugreifen, um die Anzahl der Bit zu ermitteln,
die für
die Quantisierung verwendet werden sollen. Das ist die Anzahl der
Bit, die zur Darstellung dieses Teils des komprimierten Bildes zugeordnet
werden.
-
Als
Nächstes
wird ein vorwärts-prädizierter Rahmen
(P-Rahmen) 432 aus dem nachfolgenden Rahmen von Videodaten 448 und
dem I-Rahmen 412 erzeugt (Schritt 512). Im Allgemeinen
werden P-Rahmen aus den vorhergehenden I-Rahmen oder vorhergehenden
prädizierten
Rahmen vorhergesagt. Diese Prädiktionen
können
zwei Formen aufweisen: Bewegungsvektoren und Differenzvektoren.
Bewegungsvektoren 436 geben an, dass ein Punkt von einem
Ort an einen anderen verschoben wurde. Differenzvektoren 440 geben
an, wie sich ein Punkt verändert
hat. Diese vorwärtsprädizierten
Rahmen werden dekodiert, indem die Differenzvektoren und Bewegungsvektoren
auf einen I-Rahmen angewendet werden und dann eine Dekomprimierung
und inverse DKT zur Erzeugung eines Rahmens von Videodaten durchgeführt wird.
Algorithmen für
die Erzeugung prädiktiver
Bewegungsvektoren und Differenzvektoren können auf Grund falscher Prädiktionen
erhebliche Fehler verursachen. Auf Grund der Natur der Bearbeitungen
können
die größten Fehler
ein Ergebnis der bearbeiteten Funktionen in. den bearbeiteten Bereichen
sein. Daher greift die Komprimierungssoftware der Erfindung auf
Bearbeitungsinformationen in der Bearbeitungsspur zu und bildet
prädiktive
Bewegungsvektoren und Differenzvektoren. Die Verwendung von Bearbeitungsinformationen
transformiert die bearbeiteten Bereiche von Stellen, an denen die größten Vorhersagefehler
auftreten können,
in Bereiche, in denen die Möglichkeit
besteht, dass keine Vorhersagefehler vorliegen, da in einigen Fällen keine
Vorhersage erforderlich ist, da die Bewegung oder Differenzen zwischen
den Rahmen durch das Bearbeitungsobjekt angegeben werden können.
-
Als
Nächstes
kann ein B-Rahmen aus den bearbeiteten Videodaten, dem I-Rahmen und dem P-Rahmen
erstellt werden (Schritt 516). B-Rahmen, aus dem letzten/nächsten I-Rahmen
oder P-Rahmen sowohl vorwärts-prädiziert
als auch rückwärts-prädiziert,
werden auch unter MPEG-2 angegeben. B-Rahmen sind interkodierte
Rahmen und benötigt zwei
weitere Rahmen, um die Videodaten zu rekonstruieren. Differenzvektoren
und Bewegungsvektoren werden auch verwendet, um den B-Rahmen aus
den P-Rahmen und I-Rahmen vorherzusagen. Aus diesem Grund sind die
Informationen in der Bearbeitungsspur auch zu einer schnelleren
Erstellung von B-Rahmen mit weniger Fehlern nützlich.
-
Die
Verwendung von Bewegungsvektoren und Differenzvektoren zur Erstellung
von P-Rahmen und B-Rahmen ermöglicht
eine erhebliche Reduzierung der Datengröße für eine verbesserte Komprimierung.
Das Problem bei der Verwendung dieser Bewegungs- und Differenzvektoren
zur Datenkomprimierung ist, dass Fehler in den Prädiktionen
auftreten können.
Da sich die zur Verarbeitung dieser Komprimierungen verwendete CPU-Zeit
erhöht,
wird auch die Qualität
der sich daraus ergebenden Videokomprimierung erhöht.
-
6 ist
ein detaillierteres Flussdiagramm zur Kodierung von Rahmen in ein
komprimiertes Format wie MPEG-2, das für die Schritte 508, 512 und 516 verwendet
werden kann. Für
einen Block in einem Rahmen eines bearbeiteten Videos wird auf Informationen
aus der Videospur des Rahmens der bearbeiteten Videodaten zugegriffen
(Schritt 608). Auf eine entsprechende Aufzeichnung für den Videorahmen
in der Bearbeitungsspur (Bearbeitungsrahmen) wird zugegriffen (Schritt 612).
Der Bearbeitungsrahmen wird darauf geprüft, ob es ein Bearbeitungsobjekt
im aktuellen Pixel-Block gibt (Schritt 616). Wenn kein
Bearbeitungsobjekt im aktuellen Pixel-Block vorliegt, wird die normale MPEG-Komprimierung
für den aktuellen
Pixel-Block (Schritt 620) verwendet und dann geht der Prozess
weiter zum nächsten
Pixel-Block (Schritt 648) oder hält an, wenn kein weiterer Pixel-Block
mehr vorliegt (Schritt 652). Wenn ein Bearbeitungsobjekt
im Pixel-Block vorliegt, wird die Art des Bearbeitungsobjekts bestimmt
(Schritt 624). Es gibt viele mögliche Arten von Bearbeitungsobjekten.
Wie bereits erwähnt,
können
zu den möglichen Bearbeitungsobjekten
gehören,
sind aber nicht darauf beschränkt,
das Einfügen
von wiedergegebenem (gerendertem) Text in das Video, Überblendung
von zwei unterschiedlichen Video-Strömen, Einfügen von Kanteneffekten, das
Hinzufügen
von Übergängen, Farbstanzen
(Blauflächentechnik),
statischer Bildüberblendung
und statischer Bildüberlagerung.
Wenn die Bearbeitungsobjektart bestimmt ist, wird gemäß diesem
ein Bearbeitungsverarbeitungsschritt implementiert. Die Verarbeitungsschritte
für die
Beispielsbearbeitung, die sich auf die Bearbeitung der Objekttypen
beziehen, die vor allem in 6 dargestellt werden,
sind das Hinzufügen
von Text, was zu einem Textverarbeitungsschritt (Schritt 628)
weitergeht, die Überblendung,
die zu einem Überblendungsverarbeitungsschritt
weitergeht (Schritt 632), und das Verschieben der Videoüberlagerungen,
das zu einem Videoüberlagerungsschritt
weitergeht (Schritt 640). Obwohl in dem in 6 gezeigten
Beispiel das Hinzufügen
von Text, das Überblenden
und Verschieben von Videoüberlagerungen
speziell veranschaulicht werden, weisen die Punkte darauf hin, dass
eine beliebige Anzahl von zusätzlichen
Bearbeitungsobjekttypen hinzugefügt
werden kann. Nachdem der Bearbeitungsverarbeitungsschritt abgeschlossen
ist, wird der Pixel-Block durchsucht, um festzustellen, ob ein weiteres
Objekt im Pixel-Block vorhanden ist (Schritt 616). Wenn
ein weiteres Objekt im Pixel-Block vorliegt, wird es wie oben beschrieben
verarbeitet. Wenn kein weiteres Bearbeitungsobjekt im Pixel-Block
vorliegt, wird die normale MPEG-Komprimierung des aktuellen Pixel-Blocks
(Schritt 644) durchgeführt
und dann geht der Prozess weiter zum nächsten Pixel-Block (Schritt 648)
oder hält
an, wenn kein anderer Pixel-Block vorliegt (Schritt 652).
-
7 ist
ein detaillierteres Flussdiagramm des Textverarbeitungsschritts
(Schritt 628). Der Grenzbereich um ein Bearbeitungsobjekt
wird bestimmt (Schritt 704). Es wird bestimmt, ob der Pixel-Block
sich im Grenzbereich um das Bearbeitungsobjekt befindet (Schritt 708).
Dieser Schritt ermittelt, ob der Pixel-Block nur einen Teil einer
Umrandung des Grenzbereichs enthält
oder ob ein Teil des Bearbeitungsobjekts innerhalb des Grenzbereichs
im Pixel-Block liegt. Wenn ein Teil des Bearbeitungsobjekts innerhalb
des Grenzbereichs im Pixel-Block liegt, dann wird die Bitauflösung der
Quantisierung für
den Pixel-Block erhöht
(Schritt 712). Die Bitauflösung der Quantisierung wird
erhöht,
indem die Anzahl der Bit erhöht
wird, die zur Darstellung des Pixel-Blocks in dem komprimierten
Bild verwendet werden. Durch Erhöhung
der Bitauflösung
der Quantisierung für
den aktuellen Pixel-Block wird eine verbesserte Auflösung für Text geliefert,
indem der Text vom Video abgehoben werden kann, wobei einige der
aktuellen Versuchs- und Irrtumstechniken vermieden werden, bei denen
mehrere Kodier- und Dekodierzyklen erforderlich sind, bevor ermittelt
wird, dass die Bitauflösung
der Quantisierung für
den aktuellen Block erhöht
werden sollte oder die Texterkennung nicht erfolgreich ist und die
Erhöhung
der Quantisierungsauflösung
nicht gelingt. Bei großem
Text kann die Bitauflösungs-Quantisierung um
den Textkanten erhöht
und in der Textmitte reduziert werden.
-
8 ist
ein detaillierteres Flussdiagramm des Überblendungsverarbeitungsschritts
(Schritt 632). Der Grenzbereich um ein Bearbeitungsobjekt wird
bestimmt (Schritt 804). Es wird dann bestimmt, ob der Pixel-Block sich im Grenzbereich
um das Bearbeitungsobjekt befindet (Schritt 808). Dieser
Schritt ermittelt, ob der Pixel-Block nur einen Teil einer Umrandung
des Grenzbereichs enthält,
oder ob ein Teil des Bearbeitungsobjekts innerhalb des Grenzbereichs
im Pixel-Block liegt. Wenn ein Teil des Bearbeitungsobjekts innerhalb
des Grenzbereichs im Pixel-Block liegt, dann wird die Bitauflösung der
Quantisierung für
den Pixel-Block reduziert (Schritt 812). Die Bitauflösung der
Quantisierung wird reduziert, indem die Anzahl der Bit reduziert
wird, die zur Darstellung des Pixel-Blocks in dem komprimierten Bild verwendet
werden. durch die Reduzierung der Bitauflösung der Quantisierung für den aktuellen
Pixel-Block wird die Auflösung
für die Überblendung
reduziert, wobei einige der aktuellen Versuchs- und Irrtumstechniken
vermieden werden, bei denen mehrere Kodier- und Dekodierzyklen erforderlich
sind, bevor ermittelt wird, dass die Bitauflösung der Quantisierung für den aktuellen
Block reduziert werden sollte oder die Überblendungserkennung nicht
erfolgreich ist und die Reduzierung der Auflösung der Quantisierung nicht
gelingt.
-
9 ist
ein detaillierteres Flussdiagramm des Überlagerungsverarbeitungsschritts
des Bewegtvideos (Schritt 640). Der Grenzbereich um ein Bearbeitungsobjekt
wird bestimmt (Schritt 964). Es wird dann bestimmt, ob
der Pixel-Block sich im Grenzbereich um das Bearbeitungsobjekt befindet (Schritt 968).
Dieser Schritt ermittelt, ob der Pixel-Block nur einen Teil einer
Umrandung des Grenzbereichs enthält,
oder ob ein Teil des Bearbeitungsobjekts innerhalb des Grenzbereichs
im Pixel-Block liegt. Wenn ein Teil des Bearbeitungsobjekts innerhalb
des Grenzbereichs im Pixel-Block liegt, dann wird ein Bewegungsvektor
aus der Bewegungsinformation im Bearbeitungsobjekt abgeleitet (Schritt 972).
Die Videoüberlagerung 405 in 4 ist
ein Beispiel einer Bewegtvideoüberlagerung.
-
Zwischen
dem Videorahmen 404 und dem nachfolgenden Videorahmen 448 bewegt
sich die Videoüberlagerung 405 nach
rechts, wie gezeigt, I-Rahmen 412 liefert die Videoüberlagerung 405.
Zur Erzeugung des P-Rahmens 432 wird auf die Bearbeitungsspur
zugegriffen und ermittelt, dass eine Bewegtvideoüberlagerung 405 zu
den Videorahmen 404, 448 hinzugefügt wurde.
Daraus wird ein Bewegungsvektor 452 zum P-Rahmen hinzugefügt (Schritt 912).
Ein sich veränderndes
Videobild kann in die Videoüberlagerung 405 eingefügt werden.
Das Bearbeitungsobjekt für
die Videoüberlagerung
gibt an, dass das sich verändernde
Videobild in die Videoüberlagerung
eingefügt
wird, so dass eine Komprimierung im Bereich in der Videoüberlagerung 405 durchgeführt werden
kann. Durch Zugriff auf das Bearbeitungsobjekt kann das Komprimierungsprogramm
automatisch einen exakten Bewegungsvektor von exakt der Größe der Videoüberlagerung
generieren und auch wissen, dass eine Videokomprimierung erfolgen
sollte, wenn möglich
separat, für
den Bereich innerhalb der Videoüberlagerung.
Dies ermöglicht
eine exaktere und schnellere Komprimierung als der Prozess, bei
dem anhand von Versuch und Irrtum die Bewegung und der Bereich der
Videoüberlagerung
bestimmt und ermittelt wird, dass ein separates Videobild innerhalb
der Videoüberlagerung
auftritt. Videoüberlagerungen
können
sich in Größe und Form ändern, was
in der Bearbeitungsspur aufgezeichnet werden kann.
-
Bei
anderen Bearbeitungsarten können
andere Korrekturen bereitgestellt werden. Bei der Farbkorrektur,
bei der ein Teil des Videobilds farbkorrigiert wird, kann die Farbkorrektur
einige der Farbdetails entfernen. Eine nachfolgende Komprimierung
kann den dynamischen Bereich des farbkorrigierten Bildes ändern, so
dass das daraus entstehende Bild flach aussieht. Obwohl die Farbkorrektur
vor der Komprimierung zufriedenstellend aussehen kann, kann das farbkorrigierte
Bild durch die Komprimierung vollkommen unakzeptabel werden. Die
Erfindung kann die Auflösung
der Quantisierung für
den Bereich erhöhen,
in dem eine Farbkorrektur stattgefunden hat, um eine exaktere Frequenzkonstante über kleinere
Bildbereiche zu liefern.
-
Für Kanteneffekte
kann eine Überlagerung oder
ein anderes Objekt mit einer Kante versehen werden. Ein Beispiel
hierfür
ist die Verwendung einer Kanteneffekts für Text, um geprägten Text
zu erstellen. Bei Kanteneffekten kann die Erfindung die Auflösung nur
um die Kante des Kanteneffektbereichs erhöhen.
-
Es
gibt viele verschiedene Übergänge, mit denen
ein Videoclip durch ein anderes ersetzt werden kann. Die von der
Erfindung bereitgestellte Art der Verarbeitung hängt von der Art des Übergangs ab.
Bei einem Übergang
in Form des Umblätterns
einer Seite kann die Erfindung mehrere I-Rahmen benötigen. In
dieser Übergangsart
des Umblätterns
von Seiten verschwinden Pixel aus einem Video, wenn sie durch Bilder
aus einem anderen Video während des Übergangs
des Umblätterns
der Seite ersetzt werden. Da die Pixel durch ein anderes Bild ersetzt werden,
treffen Bewegungs- und Differenzvektoren für solch einen Übergang
eventuell nicht zu. Ein Komprimierungsalgorithmus würde dies
von sich aus nicht wissen und würde
durch Versuch und Irrtum verschiedene Bewegungs- und Differenzalgorithmen ausprobieren,
um einen P-Rahmen auszuprobieren und vorherzusagen. Die Erfindung
nutzt in diesem Fall die Bearbeitungsspur, um der Komprimierungsmaschine
mitzuteilen, keine Vorhersage zu versuchen, sondern stattdessen
mehrere I-Rahmen aus den bearbeiteten Videodaten zu generieren.
-
Farbstanzen
ist ein Prozess, bei dem eine Farbe in einem ersten Videobild durch
ein zweites Videobild ersetzt werden kann. Oftmals wird eine blaue Leinwand
(Schablone) als Hintergrund verwendet. Die blaue Farbe der blauen
Leinwand wird mit einem zweiten Videobild gefüllt, was auch als Blauflächentechnik
(Blue Screening) bezeichnet wird. Im Wetterbericht im Fernsehen
ist es üblich,
dass der Wettersprecher vor einer blauen Leinwand steht. Ein zweites
Video mit verschiedenen Karten wird dazu verwendet, das Blau der
blauen Leinwand hinter dem Wettersprecher im ersten Video zu füllen. Es
besteht die Möglichkeit,
dass etwas Licht von der blauen Leinwand auf den Wettersprecher überstrahlt,
so dass ein Kanteneffekt um diese Person entsteht, was zu einem Überblendungsbereich
um den Wettersprecher führt.
Komprimierungsprogramme erkennen diesen Überblendungsbereich als Kante
und können versuchen,
diesen Überblendungsbereich
mit einer höheren
Auflösung
zu versehen, wobei es erstrebenswerter sein kann, die Auflösung zu
reduzieren, so dass der Überblendungsbereich
nicht bemerkt werden kann. Die Erfindung liefert in diesem Fall
Anweisungen, die dazu führen,
dass die Kante zwischen den beiden Farbstanzbildern bei der Komprimierung
eine geringere Auflösung
erhält,
indem die Anzahl der zur Darstellung der Pixel-Blöcke um die Kanten
verwendeten Bit reduziert wird, um eine bessere Überblendung der Bilder zu ermöglichen.
Um solch eine Überblendung
zu erzielen, zeichnet die Bearbeitungssoftware die Grenzen zwischen
den Bildern in der Bearbeitungsspur auf. 10 ist
eine schematische Darstellung einer Ausführungsform des Farbstanzprozesses
der Erfindung. Die Videospur 1 1004 und Videospur 2 1008 und
eine Audiospur 1012 werden an den Farbstanzprozess 1016 übergeben.
Die Audiospur 1012 kann eine Audiospur bis Videospur 1 1004,
Videospur 2 1008, eine andere Quelle oder eine Kombination
daraus sein. Der Farbstanzprozess kombiniert Videospur 1 1004 mit Videospur
2 1008, um die Videospur 3 1020 zu erstellen.
Die Eingangsaudiospur 1012 kann unverändert bleiben und die Ausgangsaudiospur 1024 bilden.
Ein Bearbeitungsobjekt wird in der Bearbeitungsspur 1028 platziert.
Das Bearbeitungsobjekt kann die Grenze zwischen den Videobildern
von Videospur 1 1004 und Videospur 2 1008 definieren
und einen Kennzeichner definieren, um das Bearbeitungsobjekt als
einen Farbstanzprozess zu identifizieren. Wenngleich als Schlüsselfarbe
im obigen Beispiel Blau verwendet wird, kann beim Farbstanzverfahren
eine beliebige Farbe als Schlüsselfarbe
verwendet werden.
-
Eine
statische Bildüberblendung
verwendet ein statisches Bild, wie ein Farbbild, das in einem Teil des
Videobilds eingeblendet wird, so dass das statische Bild und der
Teil des Videobilds zur selben Zeit am selben Ort gesehen werden
können.
Da das statische Bild statisch ist, bewegt es sich nicht. Daher weist
die Erfindung den Videokomprimierer an, keine Bewegung des statischen
Bildes vorherzusagen. Hierdurch kann der Videokomprimierer bestimmen, dass
das Bild statisch ist, ohne Kodierung und Dekodierung nach dem Versuchs-
und Irrtumsverfahren.
-
Eine
statische Bildüberlagerung
ist das Platzieren eines Bilds über
einen Teil eines Videobilds, so dass ein Teil des Videobilds, über den
das statische Bild platziert wird, verborgen wird. Das statische
Bild kann verschoben und im Bildausschnitt vergrößert oder verkleinert werden,
bleibt aber ansonsten statisch. Das gesamte statische Bild kann
durch einen einzelnen Bewegungsvektor dargestellt werden. Die Kenntnis,
dass das gesamte statische Bild durch einen einzelnen Bewegungsvektor
dargestellt werden kann, erlaubt einem Videokomprimierer, eine viel schnellere,
exaktere und kompakte Komprimierung zu liefern. Der Videokomprimierer
kann auch angewiesen werden, bei der Quantisierung mehr Bit zu verwenden,
da es erstrebenswerter ist, ein statisches Bild in höherer Auflösung zu
haben, während
weniger Bit für
den Bewegungsvektor verwendet werden.
-
Die
Erfindung kann dann über
Software implementiert werden, wobei nur die CPU zur Verarbeitung
verwendet wird, oder man kann speziell dafür bestimmte Chips oder andere
Kombinationen verwenden. 11 ist
eine schematische Darstellung des Komprimierungssystems 1100,
das in einer Ausführungsform
der Erfindung verwendet werden kann. Ein Bearbeitungsspurleser 1104 empfängt Bearbeitungsinformationen
von der Bearbeitungsspur 1112, und verarbeitet die Informationen,
um einen Videokomprimierer 1108 Anweisungen zu liefern.
Der Videokomprimierer empfängt
die Daten aus der bearbeiteten Videospur 1116 und der bearbeiteten
Audiospur 1120 und komprimiert die Daten aus der bearbeiteten Videospur 1116 und
der bearbeiteten Audiospur 1120 gemäß den Anweisungen aus dem Bearbeitungsspurleser 1104.
-
In
einer bevorzugten Implementierung der Erfindung ist kein Versuch-und-Irrtumsverfahren
erforderlich, um eine MPEG-2-Komprimierung zu liefern. Statt der
herkömmlichen
MPEG-2-Kodierung und darauffolgenden Dekodierung zur Bestimmung, ob
der verwendete Komprimierungsalgorithmus eine ausreichend exakte
Komprimierung liefert, verwendet die bevorzugte Ausführungsform
der Erfindung die Bearbeitungsspur, um Anweisungen für eine MPEG-2-Komprimierung
zu liefern, die ausreichend zuverlässig ist, um keine darauffolgende
Dekodierung zu benötigen,
um festzustellen, ob der Komprimierungsalgorithmus ausreichend exakt
ist. Daher ist die bevorzugte Ausführungsform in der Lage, eine MPEG-2-Komprimierung
mit einer einzelnen Kodierung zu liefern, anstelle mehrerer Kodierungen
und Dekodierungen nach dem Versuchs- und Irrtumsverfahren.
-
Wenngleich
diese Erfindung anhand mehrerer bevorzugter Ausführungsformen beschrieben wurde,
gibt es Abänderungen,
Modifikationen, Permutationen und gleichwertigen Ersatz, die in
den Geltungsbereich dieser Erfindung fallen. Es sollte beachtet
werden, dass es viele alternative Möglichkeiten der Implementierung
der Verfahren und Vorrichtungen der vorliegenden Erfindung gibt.
Es ist daher vorgesehen, dass die folgenden beigefügten Ansprüche so interpretiert
werden sollen, dass sie alle Abänderungen,
Permutationen und gleichwertige Ersatzlösungen enthalten, die im echten
Geltungsbereich der Erfindung liegen.