DE112022002186T5 - System und verfahren zur darstellung von schlüssel- und füllvideoströmen für die videoverarbeitung - Google Patents

System und verfahren zur darstellung von schlüssel- und füllvideoströmen für die videoverarbeitung Download PDF

Info

Publication number
DE112022002186T5
DE112022002186T5 DE112022002186.1T DE112022002186T DE112022002186T5 DE 112022002186 T5 DE112022002186 T5 DE 112022002186T5 DE 112022002186 T DE112022002186 T DE 112022002186T DE 112022002186 T5 DE112022002186 T5 DE 112022002186T5
Authority
DE
Germany
Prior art keywords
video
key
fill
image
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112022002186.1T
Other languages
English (en)
Inventor
James Edward Pearce
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Grass Valley Ltd
Original Assignee
Grass Valley Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/658,943 external-priority patent/US11967345B2/en
Application filed by Grass Valley Ltd filed Critical Grass Valley Ltd
Publication of DE112022002186T5 publication Critical patent/DE112022002186T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Image Generation (AREA)

Abstract

Es werden ein System und ein Verfahren zum Rendern von Schlüssel- und Füllvideoströmen für die Videoverarbeitung bereitgestellt. Das System enthält eine Datenbank, die Videodaten speichert, die einen Videostrom aus einer Folge von Bildern und Alphadaten enthalten, die Transparenzstufen für jeden Abschnitt jedes Bildes definieren. Ein Codierer codiert jedes Einzelbild der Bildsequenz, um codierte zusammengesetzte Einzelbilder zu erzeugen, die jeweils einen Füllabschnitt und einen Schlüsselabschnitt enthalten, so dass jedes codierte zusammengesetzte Einzelbild sowohl den Füll- als auch den Schlüsselabschnitt enthält, die horizontal und Seite an Seite zueinander angeordnet sind. Ein Renderer mit einem einzigen Decodierer decodiert jedes codierte zusammengesetzte Bild, um Pixelwerte aus dem Füllabschnitt und entsprechende Transparenzstufen aus dem Schlüsselabschnitt zu extrahieren und um einen Proxy des jeweiligen Bildes zu erzeugen, der von einer Videoverarbeitungsvorrichtung angezeigt werden soll.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Anmeldung beansprucht die Priorität der US-Patentanmeldung Nr. 17/658,943 , eingereicht am 12. April 2022, die wiederum die Priorität der US-Patentvoranmeldung Nr. 63/176,069 , eingereicht am 16. April 2021, beansprucht, deren gesamte Ausführungen hiermit durch Bezugnahme aufgenommen werden.
  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung bezieht sich allgemein auf die Videobearbeitung und die Inhaltserstellung, und insbesondere auf ein System und ein Verfahren zur Wiedergabe von Schlüssel- und Füll-Proxy-Strömen, die einen einzigen Videodecoder verbrauchen und in einem System mit begrenzten Verarbeitungsressourcen verwendet werden können.
  • HINTERGRUND
  • Videoeditoren und Systeme zur Inhaltserstellung wollen typischerweise Videoelemente mit unterschiedlichen Transparenzgraden verwenden. Ein Editor möchte zum Beispiel eine animierte Bildunterschrift im unteren Drittel des Bildes oder ein Logo in der oberen rechten Ecke einfügen. Um diese Elemente hinzuzufügen, können sie einer herkömmlichen Videospur überlagert werden. In der Praxis werden diese Elemente in der Regel in einer Anwendung wie After Effects von Adobe erstellt und als eine Sequenz von Standbildern exportiert, die einen Alphakanal unterstützen, zum Beispiel PNG-Dateien.
  • Bei der Bearbeitung von Computergrafiken ist Alpha Compositing oder Alpha Blending der Prozess, bei dem ein Bild mit einem Hintergrund kombiniert wird, um den Anschein teilweiser oder vollständiger Transparenz zu erwecken. Alpha Compositing ist oft nützlich, um Bildelemente (z. B. Pixel) in separaten Durchgängen oder Schichten zu rendern und dann die resultierenden 2D-Bilder zu einem einzigen, endgültigen Bild, dem Composite, zu kombinieren. Ein „Alphakanal“ ist also ein zusätzlicher Wert pro Pixel, der mit den Rot-, Grün- und Blauwerten kombiniert wird, um eine Opazitätsstufe (z. B. undurchsichtig, teilweise oder vollständig transparent) festzulegen und schließlich das Composite zu erstellen.
  • Derzeit unterstützen komprimierte Videoformate wie H.264 keine Alphakanäle. Stattdessen sind zwei separate Videoströme erforderlich: (1) ein „Schlüsselstrom“, der eine monochrome Videospur ist, die die Transparenz jedes Teils (z. B. jedes Pixelwerts) des Bildes definiert, und (2) ein „Füllstrom“, der den Inhalt definiert, auf den die Transparenz angewendet wird. Nach dem Empfang der beiden Ströme wendet eine Grafikverarbeitungseinheit (GPU) in der Regel die durch den Schlüsselstrom definierten Transparenzstufen auf den Füllstrom an, um den zusammengesetzten Inhalt zu erstellen, der dann auf einem Bildschirm wiedergegeben werden kann.
  • Es liegt auf der Hand, dass die Verwendung von zwei Videoströmen für die Wiedergabe eines einzelnen Videoelements und/oder einer einzelnen Spur den Ressourcenbedarf verdoppelt und zwei Decodierer erfordert, die gleichzeitig arbeiten, um jeden einzelnen Strom zu decodieren. Dieses Ergebnis ist besonders problematisch für Systeme mit begrenzten Ressourcen (z. B. begrenzte Verfügbarkeit von Decodierern) und der Versuch, eine Sequenz von Standbildern in Echtzeit zu rendern, hat ebenfalls erhebliche Leistungs- und Bandbreitenanforderungen.
  • KURZBESCHREIBUNG DER ERFINDUNG
  • Dementsprechend wird ein System und Verfahren benötigt, das den gesamten Bandbreitenverbrauch reduziert und die Ressourcenanforderungen für die Wiedergabe von Schlüssel- und Füll-Proxy-Strömen minimiert. Insbesondere wird hier ein System und Verfahren offenbart, das die Wiedergabe von Schlüssel- und Füll-Proxy-Strömen ermöglicht, die einen einzigen Video-Decodierer verbrauchen und in einem System mit begrenzten Verarbeitungsressourcen verwendet werden können.
  • In einem beispielhaften Aspekt wird ein System zum Rendern von Schlüssel- und Füll-Videoströmen für die Videoverarbeitung bereitgestellt. Das System kann eine Datenbank enthalten, die dafür konfiguriert ist, Videodaten zu speichern, die mindestens einen Videostrom umfassen, der eine Sequenz von Bildern und Alphadaten enthält, die Transparenzstufen für jeden Abschnitt jedes Bildes in der Sequenz von Bildern des mindestens einen Videostroms definieren. Darüber hinaus enthält das System einen Inhalt, der mit einem Codierer versehen ist, der dafür konfiguriert ist, jedes Einzelbild der Bildsequenz zu codieren, um codierte zusammengesetzte Einzelbilder zu erzeugen, die jeweils einen Füllabschnitt, der den Videodaten entspricht, und einen Schlüsselabschnitt enthalten, der monochrom ist und Transparenzstufen für jeden Abschnitt der jeweiligen Bilder definiert, so dass jedes codierte zusammengesetzte Bild sowohl den Füll- als auch den Schlüsselabschnitt enthält, die horizontal und nebeneinander angeordnet sind. Eine Client-Vorrichtung, die eine Videobearbeitungsanwendung enthält, enthält einen Renderer mit einem einzelnen Decodierer und ist dafür konfiguriert, jedes codierte zusammengesetzte Bild zu decodieren, um Pixelwerte aus dem Füllabschnitt und entsprechende Transparenzstufen aus dem Schlüsselabschnitt zu extrahieren, und ist ferner dafür konfiguriert, die jeweiligen Transparenzstufen auf die entsprechenden extrahierten Pixelwerte anzuwenden, um einen Proxy des jeweiligen Rahmens zu erzeugen, der von einer Videoverarbeitungsvorrichtung angezeigt werden soll.
  • Gemäß einem beispielhaften Aspekt umfasst der Füllabschnitt eine höhere horizontale Auflösung als eine horizontale Auflösung des Schlüsselabschnitts. Außerdem ist die Videoverarbeitungsvorrichtung in einem Aspekt eine Videoeditiervorrichtung. Darüber hinaus kann der Codierer so konfiguriert sein, dass er jedes codierte Bild so erzeugt, dass 75 % des Bildes dem Füllabschnitt und 25 % des Bildes dem Schlüsselabschnitt zugewiesen werden.
  • In einer Verfeinerung des beispielhaften Aspekts ist der Codierer so konfiguriert, dass er jeden codierten Rahmen so erzeugt, dass 75 % des Rahmens dem Füllabschnitt und 25 % des Rahmens dem Schlüsselabschnitt zugewiesen werden.
  • In einer weiteren Verfeinerung des beispielhaften Aspekts ist der Codierer so konfiguriert, dass er die codierten zusammengesetzten Rahmen mindestens teilweise basierend auf Quelldaten der Videodaten erzeugt, die R-, G-, B-Daten und die Alpha-Daten enthalten.
  • In einer weiteren Verfeinerung des beispielhaften Aspekts enthält das System eine Benutzeroberfläche, die dafür konfiguriert ist, ein Bild/Transparenz-Verhältnis zwischen dem Füllabschnitt und dem Schlüsselabschnitt zu definieren.
  • In einer weiteren Verfeinerung des beispielhaften Aspekts enthält der Renderer einen Fragment-Shader, der dafür konfiguriert ist, den Proxy zu rendern, indem er die jeweiligen Transparenzstufen auf die entsprechenden extrahierten Pixelwerte anwendet.
  • In noch einem weiteren beispielhaften Aspekt wird ein System zum Rendern von Schlüssel- und Füll-Videoströmen für die Videoverarbeitung bereitgestellt. In diesem Aspekt enthält das System Folgendes: eine Datenbank, die dafür konfiguriert ist, Videodaten zu speichern, die eine Sequenz von Bildern und Alphadaten enthalten, die Transparenzstufen für jeden Abschnitt jedes Bildes in der Sequenz von Bildern definieren; einen Codierer, der dafür konfiguriert ist, jedes Einzelbild der Bildsequenz zu codieren, um codierte zusammengesetzte Einzelbilder zu erzeugen, die jeweils einen Füllabschnitt, der den Videodaten entspricht, und einen Schlüsselabschnitt enthalten, der monochrom ist und Transparenzstufen für jeden Abschnitt der jeweiligen Bilder definiert, so dass jedes codierte zusammengesetzte Bild sowohl den Füll- als auch den Schlüsselabschnitt enthält, die horizontal und nebeneinander angeordnet sind; und einen Renderer, der dafür konfiguriert ist, einen Strom der codierten zusammengesetzten Rahmen zu empfangen, und der einen einzelnen Decodierer aufweist, der dafür konfiguriert ist, jeden codierten zusammengesetzten Rahmen zu decodieren, um Pixelwerte aus dem Füllabschnitt und entsprechende Transparenzstufen aus dem Schlüsselabschnitt zu extrahieren, und ferner dafür konfiguriert ist, die jeweiligen Transparenzstufen auf die entsprechenden extrahierten Pixelwerte anzuwenden, um einen Proxy des jeweiligen Rahmens zu erzeugen, der von einer Videoverarbeitungsvorrichtung angezeigt werden soll.
  • In noch einem weiteren beispielhaften Aspekt wird ein System zum Rendern von Schlüssel- und Füll-Videoströmen für die Videoverarbeitung bereitgestellt. In diesem Aspekt konfiguriert das System einen Codierer, der dafür konfiguriert ist, jedes Einzelbild einer Bildsequenz zu codieren, um codierte zusammengesetzte Einzelbilder zu erzeugen, die jeweils einen Füllabschnitt, der den Videodaten der Bildsequenz entspricht, und einen Schlüsselabschnitt enthalten, der monochrom ist und entsprechende Transparenzstufen definiert, so dass jeder codierte zusammengesetzte Rahmen sowohl den Füllabschnitt als auch den Schlüsselabschnitt enthält; und einen Renderer, der dafür konfiguriert ist, einen Strom der codierten zusammengesetzten Rahmen zu empfangen, und dafür konfiguriert ist, jeden codierten zusammengesetzten Rahmen zu decodieren, um Pixelwerte aus dem Füllabschnitt und entsprechende Transparenzstufen aus dem Schlüsselabschnitt zu extrahieren, und der ferner dafür konfiguriert ist, die jeweiligen Transparenzstufen auf die entsprechenden extrahierten Pixelwerte anzuwenden, um ein Ausgabevideo zu erzeugen, das modifizierte Bilder umfasst, die von einer Videoverarbeitungsvorrichtung angezeigt werden sollen.
  • Die obige vereinfachte Kurzbeschreibung der Erfindung dient dazu, ein grundlegendes Verständnis der beispielhaften Ausführungsform der vorliegenden Offenbarung zu vermitteln. Diese Kurzbeschreibung der Erfindung ist kein umfassender Überblick über alle in Betracht kommenden Aspekte und soll weder wesentliche oder kritische Elemente aller Aspekte identifizieren noch den Umfang eines oder aller Aspekte der vorliegenden Offenbarung abgrenzen. Ihr einziger Zweck ist es, einen oder mehrere Aspekte in vereinfachter Form als Auftakt für die nachfolgende detailliertere Beschreibung der Offenbarung darzustellen. Im Sinne des Vorstehenden enthalten der eine oder die mehreren Aspekte der vorliegenden Offenbarung die in den Ansprüchen beschriebenen und beispielhaft aufgezeigten Merkmale.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die beigefügten Zeichnungen, die Bestandteil dieser Beschreibung sind, veranschaulichen einen oder mehrere beispielhafte Aspekte der vorliegenden Offenbarung und dienen zusammen mit der detaillierten Beschreibung zur Erläuterung ihrer Prinzipien und Implementierungen.
    • 1 ist ein Blockdiagramm eines Systems zum Rendern von Schlüssel- und Füll-Proxy-Strömen für die Videoverarbeitung gemäß einem beispielhaften Aspekt.
    • 2 ist ein Blockdiagramm der in 1 gezeigten Komponenten des Systems zum Rendern von Schlüssel- und Füll-Proxy-Strömen für die Videoverarbeitung gemäß einem beispielhaften Aspekt.
    • 3 veranschaulicht ein Beispiel eines codierten Bildes, das aus dem Verfahren zum Rendern von Schlüssel- und Füll-Proxy-Strömen für die Videoverarbeitung gemäß einem beispielhaften Aspekt resultiert.
    • 4 ist ein Flussdiagramm, das ein Verfahren zum Rendern von Schlüssel- und Füll-Proxy-Strömen für die Videoverarbeitung gemäß einem beispielhaften Aspekt veranschaulicht.
    • 5 ist ein Blockdiagramm, das ein Computersystem veranschaulicht, auf dem Aspekte von Systemen und Verfahren zum Rendern von Schlüssel- und Füll-Proxy-Strömen für die Videoverarbeitung gemäß einem beispielhaften Aspekt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die nachfolgende detaillierte Beschreibung in Verbindung mit den beigefügten Zeichnungen ist als Beschreibung verschiedener Konfigurationen gedacht und soll nicht die einzigen Konfigurationen darstellen, in denen die hier beschriebenen Konzepte praktiziert werden können. Die ausführliche Beschreibung enthält spezifische Details, um ein gründliches Verständnis der verschiedenen Konzepte zu ermöglichen. Fachleuten ist jedoch offensichtlich, dass diese Konzepte auch ohne diese spezifischen Details praktiziert werden können. In einigen Fällen werden bekannte Strukturen und Komponenten in Form von Blockdiagrammen dargestellt, um solche Konzepte nicht zu verdecken.
  • Bestimmte Aspekte von Systemen zur Videobearbeitung und Inhaltserstellung werden nun unter Bezugnahme auf verschiedene Vorrichtungen und Verfahren vorgestellt. Diese Vorrichtungen und Verfahren werden in der folgenden detaillierten Beschreibung beschrieben und in der begleitenden Zeichnung durch verschiedene Blöcke, Module, Komponenten, Schaltkreise, Schritte, Prozesse, Algorithmen, etc. (zusammenfassend als „Elemente“ bezeichnet) veranschaulicht. Diese Elemente können mit elektronischer Hardware, Computersoftware oder einer Kombination davon implementiert werden. Ob solche Elemente als Hardware oder Software implementiert werden, hängt von der jeweiligen Anwendung und den Designvorgaben für das Gesamtsystem ab.
  • Als Beispiel kann ein Element, ein Abschnitt eines Elements oder eine Kombination von Elementen als „Verarbeitungssystem“ implementiert werden, das einen oder mehrere Prozessoren enthält. Beispiele für Prozessoren enthalten Mikroprozessoren, Mikrocontroller, Grafikverarbeitungseinheiten (Graphics Processing Units, GPUs), zentrale Verarbeitungseinheiten (Central Processing Units, CPUs), Anwendungsprozessoren, digitale Signalprozessoren (DSPs), RISC-Prozessoren (Reduced Instruction Set Computing), Systeme auf einem Chip (Systems on a Chip, SoC), Basisbandprozessoren, feldprogrammierbare Gate-Arrays (Field Programmable Gate Arrays, FPGAs), programmierbare Logikvorrichtungen (Programmable Logic Devices, PLDs), Zustandsautomaten, Gated Logic, diskrete Hardwareschaltungen und andere geeignete Hardware, die so konfiguriert ist, dass sie die verschiedenen in dieser Offenlegung beschriebenen Funktionen ausführen kann. Ein oder mehrere Prozessoren in dem Verarbeitungssystem können Software ausführen. Software ist weit auszulegen und bezeichnet Anweisungen, Befehlssätze, Code, Codesegmente, Programmcode, Programme, Unterprogramme, Softwarekomponenten, Anwendungen, Softwareanwendungen, Softwarepakete, Routinen, Unterroutinen, Objekte, ausführbare Dateien, Ausführungsstränge, Prozeduren, Funktionen usw., unabhängig davon, ob sie als Software, Firmware, Middleware, Mikrocode, Hardwarebeschreibungssprache oder anders bezeichnet werden.
  • Dementsprechend können die hier beschriebenen Funktionen und Algorithmen in einem oder mehreren Beispielen in Hardware, Software oder einer Kombination davon implementiert sein. Wenn die Funktionen in Software implementiert sind, können sie auf einem computerlesbaren Medium gespeichert oder als eine oder mehrere Anweisungen oder als Code codiert sein. Computerlesbare Medien können flüchtige oder nicht-flüchtige Computerspeichermedien enthalten, die computerausführbare Befehle oder Datenstrukturen tragen oder darauf gespeichert haben. Sowohl flüchtige als auch nicht-flüchtige Speichermedien können alle verfügbaren Medien sein, auf die ein Computer als Teil des Verarbeitungssystems zugreifen kann. Beispielhaft und ohne Einschränkung können solche computerlesbaren Medien einen Arbeitsspeicher (Random-Access Memory, RAM), einen Festwertspeicher (Read-Only Memory, ROM), ein elektrisch löschbares programmierbares ROM (Electrically Erasable Programmable ROM, EEPROM), einen optischen Plattenspeicher, einen Magnetplattenspeicher, andere magnetische Speichervorrichtungen, Kombinationen der vorgenannten Arten von computerlesbaren Medien oder jedes andere Medium umfassen, das dazu verwendet werden kann, computerausführbaren Code in Form von Anweisungen oder Datenstrukturen zu speichern, auf die ein Computer zugreifen kann. Wenn Informationen über ein Netzwerk oder eine andere Kommunikationsverbindung (festverdrahtet, drahtlos oder eine Kombination daraus) an einen Computer übertragen oder bereitgestellt werden, bestimmt der Computer oder das Verarbeitungssystem die Verbindung ordnungsgemäß als flüchtiges oder nicht-flüchtiges computerlesbares Medium, je nach dem speziellen Medium. Somit wird jede derartige Verbindung ordnungsgemäß als computerlesbares Medium bezeichnet. Auch Kombinationen der oben genannten sollten in dem Anwendungsbereich der computerlesbaren Medien enthalten sein. Nicht-flüchtige computerlesbare Medien schließen Signale als solche und die Luftschnittstelle aus.
  • 1 ist ein Blockdiagramm eines Systems zum Rendern von Schlüssel- und Füll-Proxy-Strömen für die Videoverarbeitung gemäß einem beispielhaften Aspekt. Im Allgemeinen wird das System 100 im Kontext einer Medienproduktionsumgebung für die Ausstrahlung von Medien und den Konsum von Inhalten gezeigt. Es versteht sich jedoch, dass das offengelegte System und Verfahren gemäß beispielhaften Aspekten in jeder Art von Videobearbeitungs- und Inhaltserstellungsumgebung implementiert werden kann.
  • Wie gezeigt, enthält das System 100 eine Vielzahl von Inhaltsbereitstellungsvorrichtungen 102A und 102B. In einem beispielhaften Aspekt kann die Vielzahl der Inhaltserzeugungsvorrichtungen 102A und 102B für eine A/V-Zufuhr (z. B. Medienströme) über Verbindungen über das Netzwerk 110 konfiguriert werden. Darüber hinaus ist anzumerken, dass das System 100 mit einer beliebigen Anzahl von Inhaltsbereitstellungsvorrichtungen implementiert werden kann, auch wenn nur zwei Vorrichtungen gezeigt werden. Die Vielzahl der Inhaltsbereitstellungsvorrichtungen 102A und 102B kann beispielsweise auch ferngesteuerte Kameras enthalten, die für die Aufnahme von Live-Medieninhalten konfiguriert sind, wie z. B. die „Talente“ (z. B. Nachrichtensprecher, Spielkommentatoren o.ä.). Darüber hinaus können die Inhaltsbereitstellungsvorrichtungen 102A und 102B Esports (elektronische Sportarten) in Echtzeit enthalten oder ähnliches. In einem weiteren Aspekt können die Inhaltsbereitstellungsvorrichtungen 102A und 102B beispielsweise als ein oder mehrere entfernte Server für Medieninhalte implementiert werden, die dafür konfiguriert sind, Medieninhalte zu speichern (z. B. Sequenzen von Videobildern und Inhaltsströmen) und diese Inhalte über das Netzwerk 110 zu verteilen.
  • Wie weiter gezeigt, kann die Vielzahl der Inhaltsbereitstellungsvorrichtungen 102A und 102B mit einem Kommunikationsnetzwerk, wie dem Internet 110, und/oder mit Hardware, die das Internetprotokoll (IP) unterstützt, verbunden sein. Das heißt, das System 100 kann ein Netzwerk von Servern und Netzwerkvorrichtungen umfassen, das so konfiguriert ist, dass es Video- und Audiosignale (und Zusatzdaten) in verschiedenen Formaten sendet und empfängt. In einem Aspekt können die verarbeitenden Komponenten des Systems 100 in einem Teil einer Cloud-Computing-Umgebung ausgeführt werden, die mit dem Netzwerk 110 gekoppelt sein kann. Darüber hinaus kann das Medienproduktionssystem 101 dafür konfiguriert sein, auf die Video- und Audiosignale und/oder -ströme, die von den Inhaltsbereitstellungsvorrichtungen 102A und 102B erzeugt und/oder bereitgestellt werden, oder auf Informationen, die sich auf die verschiedenen Signale und Inhalte beziehen, die darin präsentiert werden, zuzugreifen.
  • Im Allgemeinen handelt es sich bei Cloud Computing-Umgebungen oder Cloud-Plattformen um eine Virtualisierung und zentrale Verwaltung von Rechenzentrumsressourcen als softwaredefinierte Pools. Cloud Computing bietet die Möglichkeit, abstrahierte Rechen-, Speicher- und Netzwerk-Ressourcen auf die Arbeitspakete anzuwenden, die auf einer Reihe von Hardware-Knoten bereitgestellt werden, die sich zu einer Cloud zusammenschließen. Darüber hinaus hat die Vielzahl von Knoten jeweils ihre Spezialisierung, z. B. für die Ausführung von Client-Micro-Services, Speicherung und Backup. Eine Verwaltungssoftwareschicht für die von der Cloud angebotene Anwendungsplattform wird typischerweise auf einem Hardwareknoten bereitgestellt und enthält eine Komponente für den Manager der virtuellen Umgebung, die die virtuellen Umgebungen für die Plattform startet und z. B. Mikrodienste und Container enthalten kann. Gemäß einem beispielhaften Aspekt können also eine oder mehrere der Komponenten (oder Arbeitspakete) des Systems 100 in der hier beschriebenen Cloud-Plattform implementiert werden.
  • Wie noch weiter gezeigt, kann das System 100 einen oder mehrere entfernte Verteilerknoten 127, einen oder mehrere Verarbeitungsknoten 128 und einen oder mehrere entfernte Produktionsumschalter 151 enthalten. Wie bereits erwähnt, können diese Komponenten als Hardware-Komponenten an verschiedenen geografischen Standorten implementiert werden oder, alternativ, als Verarbeitungskomponenten als Teil einer Cloud-Computing-Umgebung. Der eine oder die mehreren Verteilerknoten 127 (z. B. elektronische Vorrichtungen) sind dafür konfiguriert, die Produktionsmedieninhalte aus dem Medienproduktionssystem 101 an einen oder mehrere Verteilerknoten (z. B. entfernte Medienvorrichtungen) zu verteilen, wie z. B. die Empfänger 117A und 117B, bei denen es sich z. B. um Vorrichtungen handeln kann, die Inhalte konsumieren (z. B. Fernsehgeräte, Computervorrichtungen oder ähnliches). Es versteht sich von selbst, dass, obwohl nur zwei Empfänger 117A und 117B gezeigt werden, das Netzwerk eine beliebige Anzahl von inhaltskonsumierenden Vorrichtungen enthalten kann, die dafür konfiguriert sind, die Medieninhalte zu empfangen und zu konsumieren (z. B. abzuspielen), wobei solche inhaltskonsumierenden Vorrichtungen sogar über verschiedene Länder oder sogar verschiedene Kontinente verteilt sein können. Daher kann das System 100 als Mediennetzwerk für die Echtzeitproduktion und -ausstrahlung von Video- und Audioinhalten konfiguriert werden.
  • Wie weiter gezeigt, kann das System 100 ein oder mehrere Vorrichtungen zur Inhaltserstellung 115 (auch als Videoeditoren bezeichnet) zur Bearbeitung und Verarbeitung von Videoinhalten als Teil der Medienproduktionsumgebung enthalten. Wie gezeigt, ist die Vorrichtung zur Inhaltserstellung 115 über das Netzwerk 110 mit dem Netzwerk 110 und damit mit den anderen Komponenten des Systems 100 kommunikativ verbunden. Obwohl die Details weiter unten beschrieben werden, kann die Vorrichtung zur Inhaltserstellung 115 dafür konfiguriert sein, Medieninhalte (z. B. Videostreams und Sequenzen von Videobildern) von einer oder mehreren Komponenten, wie z. B. den Inhaltsbereitstellungsvorrichtungen 102A und 102B, zu empfangen und kann ferner dafür konfiguriert sein, diesen Inhalt innerhalb der Grenzen einer Videobearbeitungssoftware (z. B. Adobe Premier®) anzuzeigen, um Bearbeitungsentscheidungen und -funktionen an dem Inhalt durchzuführen, bevor er dann für die Medienproduktion fertiggestellt wird.
  • In einem beispielhaften Aspekt kann die Vorrichtung zur Inhaltserstellung 115 als Teil des Medienproduktionssystems 101 enthalten sein und/oder direkt mit dem Medienproduktionssystem 101 verbunden sein. Außerdem kann die Vorrichtung zur Inhaltserstellung 115 dafür konfiguriert sein, die Medieninhalte als Proxy-Signal auf der Videobearbeitungssoftware zu decodieren und anzuzeigen, um die Videobearbeitungsfunktionen durch den Benutzer der Vorrichtung zur Inhaltserstellung 115 auszuführen.
  • In einem weiteren beispielhaften Aspekt können der oder die Verteilerknoten 127 dafür konfiguriert sein, die fertigen Medieninhalte (die vom Medienproduktionssystem 101 erzeugt werden können) über das gesamte Netzwerk an einen oder mehrere Verarbeitungsknoten 118 zu verteilen, die eine Misch-/Effektmaschine, einen Schlüsseler oder ähnliches enthalten können. Darüber hinaus können der eine oder die mehreren entfernten Verteilerknoten 127 dafür konfiguriert sein, den einen oder die mehreren entfernten Verarbeitungsknoten 128 über eine direkte Verbindung oder über eine Verbindung mit dem Internet 103 zu speisen. Beispiele für entfernte Verteilerknoten 127 und Verarbeitungsknoten 128 können entfernte Produktionsumschalter ähnlich dem entfernten Produktionsumschalter 151 oder entfernte Signalprozessoren enthalten.
  • Im Allgemeinen werden Medieninhalte, die von den Inhaltsbereitstellungsvorrichtungen 102A und 102B aufgenommen oder anderweitig erzeugt/bereitgestellt werden, in einer hohen oder sendefähigen Codierung (z. B. HDR-Format) aufgenommen. Ferngesteuerte Videoeditoren in Umgebungen zur Erstellung und Verarbeitung von Inhalten, wie das in 1 gezeigte System 100, benötigen jedoch nur eine Codierung in niedrigerer Qualität oder Proxy-Qualität (z. B. mit einer niedrigeren Auflösung) im Vergleich zum HDR-Format, zum Beispiel. Das hier offengelegte System und Verfahren macht sich die Tatsache zunutze, dass die räumliche Qualität des „Alpha“-Abschnitts des Bildes (d. h. des Medieninhalts, der bearbeitet wird) eine geringere Auflösung haben kann als der sichtbare Abschnitt des Bildes. Darüber hinaus macht sich das System und die Verfahren auch die Tatsache zunutze, dass die beabsichtigte Verwendung des gerenderten Bildes in der Videobearbeitungs- und Inhaltserstellungsumgebung für die Proxy-Anzeige (d. h. mit der niedrigeren Auflösung) vorgesehen ist, da der Benutzer der Videobearbeitungssoftware eine geringere Erwartung und einen geringeren Bedarf an Bildqualität hat.
  • 2 ist ein Blockdiagramm der in 1 gezeigten Komponenten des Systems zum Rendern von Schlüssel- und Füll-Proxy-Strömen für die Videoverarbeitung gemäß einem beispielhaften Aspekt. Im Allgemeinen enthält das System 200 einen Inhaltsanbieter 210 und einen Inhaltseditor 230. Der Inhaltsanbieter 210 kann einer beliebigen Komponente des Systems 100 entsprechen, um Inhalte unter Verwendung der hier beschriebenen beispielhaften Algorithmen und Techniken bereitzustellen. Der Inhaltsanbieter 210 kann beispielsweise eine oder mehrere der oben beschriebenen Inhaltsbereitstellungsvorrichtungen 102A und 102B und/oder das Medienproduktionssystem 101 sein. Darüber hinaus kann der Inhaltseditor 230 der Vorrichtung zur Inhaltserstellung 115 aus 1 entsprechen und ist dafür konfiguriert, Inhaltsströme für die Bearbeitung von Videos und die Inhaltserstellung zu empfangen und zu dekodieren, wenn die dekodierten Inhalte auf einem Display für die Videoschnittanwendung wiedergegeben werden.
  • Wie speziell gezeigt, enthält der Inhaltsanbieter 210 einen elektronischen Arbeitsspeicher 211 (z. B. einen Speicherpuffer oder eine Datenbank mit einer Folge von Bilddaten), der dafür konfiguriert ist, Medieninhalte (z. B. von der Inhaltsquelle 250) zu empfangen, die darauf gespeichert sind. Gemäß dem beispielhaften Aspekt können die Medieninhalte als eine Vielzahl von Quellbildern 212 (z. B. eine PNG-Datei) gespeichert werden, die Pixelwerte (z. B. RGB-Daten 214) enthalten, bei denen es sich um die Fülldaten des Inhalts handelt, sowie Alphadaten 216, bei denen es sich um die monochromen Videodaten handelt, die Transparenzstufen für jeden Abschnitt des jeweiligen Quellbildes 212 definieren.
  • Im Allgemeinen sind die Alphadaten 216 Daten für jeden Pixelwert (z. B. die RGB-Daten 214), die in einem Alphakanal mit einem Wert zwischen 0 und 1 gespeichert sind. Außerdem bedeutet ein Wert von „O“, dass das Pixel vollständig transparent ist und keine Informationen über die Abdeckung liefert (d. h. es gibt keine Abdeckung am Bildpixelfenster, weil die Geometrie dieses Pixel nicht überlappt hat), während ein Wert von „1“ bedeutet, dass das Pixel vollständig undurchsichtig ist, weil die Geometrie das Pixelfenster vollständig überlappt. In einem beispielhaften Aspekt, wenn es sich bei der Bearbeitungsanwendung zum Beispiel um After Effects von Adobe handelt, kann der Benutzer visuelle Schichten zusammensetzen. Außerdem können die Schichten vollständig undurchsichtig oder teilweise transparent sein. Wenn das endgültige Bild als PNG-Datei exportiert wird, werden alle Schichten geglättet, wobei die Hintergrundpixel vollständig transparent sind und die Pixel, die die Vordergrundschichten zeigen, teilweise transparent oder vollständig undurchsichtig sind, je nach Struktur dieser Schichten. Diese Transparenzstufen werden in den Alphadaten 216 gemäß dem beispielhaften Aspekt definiert.
  • Zusätzlich wird in der Regel ein Anti-Aliasing an den Kanten der Formen durchgeführt, wodurch einige dieser Pixel teilweise transparent werden.
  • Wie weiter gezeigt, enthält der Inhaltsanbieter 210 auch einen Codierer 218, einen Sender 222 und optional eine Benutzeroberfläche und eine Steuerung 220. In einem Aspekt kann der Codierer 218 als separate Komponente implementiert werden und beispielsweise ein Softwaremodul sein, das als Cloud-Service implementiert ist.
  • Der Codierer 218 ist dafür konfiguriert, eine Sequenz von Quellbildern (z. B. PNG-Bilder) in ein Kompressionsformat (z. B. H.264) zu konvertieren. In diesem Aspekt ist der Codierer 218 dafür konfiguriert, einen Videostrom zu erzeugen, in dem das Bild sowohl den „Schlüsselabschnitt“ (z. B. RGB-Daten 214) als auch den „Füllabschnitt“ (z. B. Alpha-Daten 216) enthält. Wie weiter unten noch näher beschrieben wird, werden sowohl der „Schlüsselabschnitt“ als auch der „Füllabschnitt“ horizontal gestaucht (z. B. formatiert), so dass sie nebeneinander als ein einziges Bild oder ein einziger Rahmen erscheinen. In einem beispielhaften Aspekt ist die horizontale Auflösung des „Füllabschnitts“ höher als die des „Schlüsselabschnitts“, da der „Füllabschnitt“ für den Benutzer direkt als RBG-Pixelwerte des Bildes sichtbar ist. Wie ebenfalls oben beschrieben, wird der „Schlüsselabschnitt“ des Bildes monochrom sein, wobei Schwarz die volle Transparenz und Weiß die volle Opazität anzeigt, wie es in einem beispielhaften Fall der Fall ist. Somit ist der Codierer 218 dafür konfiguriert, die RGB-Daten 214 und die Alphadaten 216 getrennt zu übernehmen, um ein codiertes zusammengesetztes Bild zu erzeugen, das sowohl den Füllabschnitt als auch den Schlüsselabschnitt enthält.
  • In beispielhaften Aspekten erzeugt der Codierer 218 das zusammengesetzte Bild mindestens teilweise in Abhängigkeit von den Quelldaten. Insbesondere können die PNG-Daten an einen PNG-Decodierer übergeben werden, der einen Puffer zurückgibt, der 32 Bit Daten für jedes Pixel (R, G, B, A) enthalten kann, wobei die genaue Anordnung variieren kann. Der Codierer 218 kann dann so konfiguriert werden, dass er diese Daten dupliziert und auf einer Kopie kann der Codierer 218 die Größe des Bildes für den füllenden Abschnitt ändern und die RGB-Daten herauskopieren. Auf der anderen Kopie kann der Codierer 218 die Größe für den Schlüsselabschnitt ändern und die A-Daten herauskopieren.
  • Es wird auch darauf hingewiesen, dass, während der beispielhafte Aspekt die Schlüssel- und Füllabschnitte horizontal zusammendrückt, alternative Aspekte implementiert werden können. Eine andere Implementierung für die Kombination der Schlüssel- und Füllabschnitte könnte zum Beispiel darin bestehen, den Schlüsselabschnitt um 90 Grad zu drehen, so dass seine veränderte Auflösung natürlicher in den „gequetschten“ Raum passt. Andere Variationen für das Zusammendrücken der Schlüssel- und Füllabschnitte können von Fachleuten implementiert werden, solange die Schlüssel- und Füllabschnitte als Sequenz codierter zusammengesetzter Bilder enthalten sind, wie hier beschrieben.
  • Darüber hinaus kann gemäß einem beispielhaften Aspekt ein Kompressionsverhältnis zwischen dem Füllabschnitt und dem Schlüsselabschnitt festgelegt werden. In einem Aspekt kann dieses Kompressionsverhältnis von einem Systemadministrator vordefiniert und im Vorfeld der Videobearbeitung festgelegt werden. Bei einem Quellbild 212 mit einer Video-Zielauflösung von 512 x 288 kann beispielsweise der Füllabschnitt (z. B. die RGB-Daten 214) decodiert und auf 75 % der horizontalen Zielgröße (384x288) komprimiert werden. Außerdem können die Alphadaten 216 decodiert und auf 25 % der Zielgröße (128 x 288) komprimiert werden. Das heißt, die linken 75 % des zusammengesetzten Bildes enthalten Fülldaten und die rechten 25 % des zusammengesetzten Bildes enthalten Schlüsseldaten gemäß dem beispielhaften Aspekt, obwohl dieses Verhältnis für besondere Systemanforderungen konfiguriert werden kann, wie hier beschrieben. Mit anderen Worten kann in einem beispielhaften Aspekt der Füllabschnitt (z. B. RGB-Daten 214) links platziert werden, und der kleinere Schlüsselabschnitt (z. B. Alpha-Daten 216) wird rechts platziert. Während des Betriebs kann der Codierer 218 dafür konfiguriert werden, die Sequenz dieser Bilder z. B. im H.264-Kompressionsformat oder einem ähnlichen Kompressionsformat zu codieren. Es versteht sich von selbst, dass das beispielhafte System und Verfahren, obwohl es das H.264-Kompressionsformat verwendet, so konfiguriert werden kann, dass es auch mit anderen Kompressionsformaten arbeitet, wie z. B. H.265, VP8, VP9, MPEG2 oder ähnlichem.
  • Es versteht sich, dass, während das Kompressionsverhältnis in einem beispielhaften Aspekt auf ein Verhältnis von 75 % zu 25 % festgelegt ist, die genauen relativen Größen möglicherweise leicht variieren müssen, um sicherzustellen, dass die Trennlinie beispielsweise einen Makroblock nicht halbiert. Wie bereits erwähnt, kann der Inhaltsanbieter 210 in einem beispielhaften Aspekt optional eine Benutzerschnittstelle und Steuerung 220 (z. B. eine GUI) enthalten. In diesem Aspekt kann das definierte Verhältnis von Bild/Transparenz (z. B. 75 % zu 25 %) eine optionale Benutzereingabe haben, bei der der Benutzer zwischen Qualität und Leistung entscheiden und das Kompressionsverhältnis mit Hilfe der Benutzerschnittstelle und des Controllers 220 definieren kann, was eine gleitende Skala oder eine ähnliche Benutzereingabe sein kann. Es versteht sich von selbst, dass die der Schlüsselkomponente (z. B. Alphadaten 216) zugewiesene Auflösung niedriger sein sollte als die des Füllabschnitts (z. B. RGB-Daten 214).
  • Wie weiter gezeigt, enthält der Inhaltsanbieter 210 einen Sender 222, der dafür konfiguriert ist, das codierte zusammengesetzte Bild an den Inhaltsanbieter 230 zu übertragen. Der Inhaltsanbieter 230 enthält einen Empfänger 232, der dafür konfiguriert ist, das codierte zusammengesetzte Bild zu empfangen und den empfangenen Inhalt in den Decodierer 234 zu laden. Im Allgemeinen können sowohl der Sender 222 als auch der Empfänger 232 Standard-Eingangs-/Ausgangs-Ports (E/A) enthalten, wie z. B. Netzwerk-Interface-Controller, die dafür konfiguriert sind, Medienströme zu senden und zu empfangen, wie es für Fachleute verständlich ist.
  • Wie weiter gezeigt, enthält der Inhaltsanbieter 230 den Decodierer 234 (d. h. einen einzelnen Decodierer), der dafür konfiguriert ist, das codierte zusammengesetzte Bild zu decodieren, das vom Inhaltsanbieter 210 empfangen wurde und das in einem komprimierten Format wie dem H.264-Kompressionsformat vorliegt. Das decodierte Bild wird dann an einen Renderer/Compositor weitergeleitet, der z. B. durch eine Grafikverarbeitungseinheit (GPU) 236 implementiert werden kann. Im Allgemeinen sind GPUs spezialisierte elektronische Schaltkreise, die so konstruiert sind, dass sie ihren Arbeitsspeicherinhalt schnell manipulieren und verändern können, um die Erstellung von Bildern in einem Bildpuffer zu beschleunigen, der für die Ausgabe an eine Anzeigevorrichtung konfiguriert ist (z. B. den Bildschirm 238 des Inhaltsanbieters 230). Bestehende GPUs sind sehr effizient bei der Bearbeitung von Computergrafiken und der Bildverarbeitung, da sie eine hochparallele Struktur aufweisen, die große Datenblöcke parallel verarbeitet.
  • In diesem Fall ist der von der GPU 236 ausgeführte Renderer/Compositor dafür konfiguriert, die Pixelwerte aus dem Schlüsselabschnitt (z. B. Alphadaten 216) des Rahmens zu extrahieren und sie als Transparenzwerte auf den linken Teil des Rahmens, d. h. den Füllabschnitt (z. B. RGB-Daten 214) anzuwenden. In einem beispielhaften Aspekt kann das Rendering mit WebGL oder OpenGL durchgeführt werden, so dass ein einfacher Fragment-Shader definiert und von der GPU 236 ausgeführt werden kann, um diese Operation durchzuführen. Im Allgemeinen ist ein Shader eine Art von Softwarecode (d. h. ein Computerprogramm), der, wenn er von einem Prozessor und insbesondere der GPU 236 ausgeführt wird, der Schattierung von 3D-Szenen dient (d. h. der Erzeugung von angemessenen Helligkeits-, Dunkelheits- und Farbwerten in einem gerenderten Bild). Außerdem ist ein Fragment-Shader die Stufe des Shaders (ebenfalls von GPU 236 ausgeführt), die dafür konfiguriert ist, die RGBA-Werte für jedes gerenderte Pixel des Bildes zu bestimmen. Es wird auch darauf hingewiesen, dass das decodierte Ausgangsbild typischerweise im YUV-Farbraum vorliegt, so dass zusätzlicher Shader-Code erforderlich sein kann, um vom YUV-Farbraum in den RGB-Farbraum zu konvertieren, wie in einem beispielhaften Aspekt dargestellt.
  • In jedem Fall wird der Inhalt (d. h. der gefüllte Abschnitt mit den darauf angewendeten Transparenzwerten) dann von der Videobearbeitungs- und Inhaltserstellungssoftware auf dem Bildschirm 238 wiedergegeben. Wie bereits erwähnt, ist die beabsichtigte Verwendung des gerenderten Bildes in der Videobearbeitungs- und Inhaltserstellungsumgebung die Proxy-Anzeige (d. h. mit der niedrigeren Auflösung), da der Benutzer der Videobearbeitungssoftware eine geringere Erwartung und einen geringeren Bedarf an Bildqualität hat. Dieses Proxy-Video wird auf dem Bildschirm 238 angezeigt und ermöglicht es dem Benutzer des Inhaltsanbieters 230, die typische Videobearbeitung und Inhaltserstellung über die Benutzeroberfläche und die Steuerung 240 durchzuführen. Der resultierende bearbeitende Videoinhalt (z. B. Videodateien für Streaming-Inhalte) kann im Arbeitsspeicher 242 des Inhaltsanbieters 230 gespeichert werden, der in der Vorrichtung zur Inhaltserstellung 115 oder als separater Arbeitsspeicher enthalten sein kann, wie z. B. ein anderer Videoserver gemäß einem anderen beispielhaften Aspekt.
  • Es wird auch darauf hingewiesen, dass das offengelegte System und Verfahren zwar im Zusammenhang mit der Videobearbeitung und der Inhaltserstellung beschrieben wird, die beispielhaften Ausführungsformen aber auch in anderen Aspekten von Videoprodukten eingesetzt werden können, die Proxy-Signale verwenden. Zum Beispiel kann in einer Multiviewer-Umgebung, die Proxy-Signale anzeigt, der Inhalt (Füllung mit Transparenzstufen) als Quelle auf einer Kachel eines Multiviewer-Displays (d. h. als Proxy-Signal) gemäß einem beispielhaften Aspekt gerendert und angezeigt werden.
  • Zurück zu 1: der bearbeitete Videoinhalt kann dann von der Inhaltserstellungsvorrichtung 115 an das Medienproduktionssystem 101 übertragen werden, wie in einem beispielhaften Aspekt dargestellt. Das Medienproduktionssystem 101 wiederum kann ein ferngesteuerter Produktionsumschalter oder ein ferngesteuertes Medienproduktionskontrollzentrum sein, um die Medienproduktion vor der Verteilung an Vorrichtungen, die Inhalte konsumieren, wie z. B. die Empfänger 117A oder 117B, fertigzustellen.
  • 3 veranschaulicht ein Beispiel eines codierten Bildes, das aus dem Verfahren zum Rendern von Schlüssel- und Füll-Proxy-Strömen für die Videoverarbeitung gemäß einem beispielhaften Aspekt resultiert. Wie gezeigt, veranschaulicht das Bild 310 ein Videobild oder ein Bild (z. B. eine PNG-Datei) vor der Codierung durch den Codierer 218 unter Verwendung der oben beschriebenen Techniken und Algorithmen. Das resultierende codierte zusammengesetzte Bild wird als Bild 320 gezeigt, nachdem es durch den Codierer 218 wie oben beschrieben codiert wurde. Wie gezeigt, enthält das Bild 320 einen sichtbaren Abschnitt auf der linken Seite und Transparenzstufen auf der rechten Seite. Wie oben erwähnt und gemäß einem beispielhaften Aspekt zeigt Weiß volle Opazität an, während Schwarz volle Transparenz anzeigt. Darüber hinaus ist der Renderer/Compositor, der von der GPU 236 ausgeführt wird, dafür konfiguriert, dieses codierte zusammengesetzte Bild 320 wie ebenfalls oben beschrieben zu rendern, bevor das Ergebnisbild vom Videoeditor angezeigt wird, das dann beispielsweise über die Benutzeroberfläche und den Controller 240 entsprechend bearbeitet werden kann.
  • Wie bereits erwähnt, kann das Kompressionsverhältnis ein vordefiniertes Verhältnis für die Füll- und Schlüsselabschnitte sein (z. B. 75 % zu 25 %). Daher kann der Fragment-Shader (d. h. die Ausführung durch die GPU 236) so konfiguriert werden, dass er einen fest codierten Wert von 0,75 als Teilungspunkt zwischen dem Füll- und dem Schlüsselabschnitt des codierten zusammengesetzten Bildes verwendet. Diese Komprimierung kann jedoch flexibler gestaltet werden, indem der Teilungswert zu einem einheitlichen Shader gemacht wird, der dynamisch festgelegt werden kann, z. B. durch die Benutzeroberfläche und den Controller 220 des Inhaltsanbieters 210. Das Ergebnis der Anwendung dieses Shaders ist, dass die Transparenz von der GPU 236 korrekt wieder zusammengesetzt wird und die Renderausgabe ähnlich wie das erste Bild (z. B. Bild 310) aussieht, wenn auch mit geringerer Qualität als Proxy-Signal.
  • Gemäß den oben beschriebenen beispielhaften Aspekten wird ein System für die Videobearbeitung und die Inhaltserstellung bereitgestellt, das für das Rendern von Schlüssel- und Füll-Proxy-Strömen sorgt, die einen einzigen Video-Decodierer (z. B. Decodierer 234) verbrauchen und in einem System (z. B. Inhaltsanbieter 230) mit begrenzten Verarbeitungsressourcen verwendet werden können. Folglich reduziert das offengelegte System und Verfahren den Ressourcenbedarf für die Decodierung und das Rendering von Schlüssel- und Füllvideoelementen erheblich, ohne die räumliche Qualität des gerenderten Gesamtbildes zu beeinträchtigen. Dies wird dadurch erreicht, dass sowohl die Schlüssel- als auch die Füllabschnitte in demselben codierten Videostrom (d. h. einer Sequenz der oben beschriebenen codierten zusammengesetzten Bilder) kombiniert werden und ein Fragment-Shader (z. B. ein GLSL-Fragment-Shader) verwendet wird, um die Rahmen korrekt auf einem Bildschirm darzustellen, damit sie anschließend bearbeitet werden können.
  • 4 ist ein Flussdiagramm, das ein Verfahren zum Rendern von Schlüssel- und Füll-Proxy-Strömen für die Videoverarbeitung gemäß einem beispielhaften Aspekt veranschaulicht. Es versteht sich von selbst, dass das Verfahren 400 mit einem oder mehreren der oben in Bezug auf 1 und 2 beschriebenen beispielhaften Systeme durchgeführt werden kann.
  • Wie gezeigt, werden Bilddaten (z. B. RGB-Daten 214) und Alphadaten (z. B. Alphadaten 216) in Schritt 401 vom Inhaltsanbieter 210 empfangen. Wie oben beschrieben, können die Bilddaten von einer Produktionskamera, einem Videoserver oder einer ähnlichen elektronischen Komponente erzeugt werden, die dafür konfiguriert ist, eine Sequenz von Videobildern zu erzeugen oder anderweitig bereitzustellen. Als nächstes wird in Schritt 402 jedes Bild der Videosequenz so codiert, dass es sowohl den Schlüsselabschnitt aus den Alphadaten 216 als auch den Füllabschnitt aus den Bilddaten 214 enthält. Ein Beispiel für das codierte zusammengesetzte Bild ist in 3 als Bild 320 dargestellt, in dem sich der Füllabschnitt auf der linken Seite befindet und Seite an Seite mit dem Schlüsselabschnitt auf der rechten Seite des Bildes angeordnet ist.
  • In Schritt 403 wird die Sequenz der codierten zusammengesetzten Bilder an den Videoeditor und den Inhaltserzeuger übertragen (oder auf andere Weise bereitgestellt). Das heißt, auf Anfrage einer Kundenvorrichtung, die Medieninhalte für die Bearbeitung erhalten soll, z. B. um eine Videoproduktion vorzubereiten, kann der bereitgestellte Inhalt 210 dafür konfiguriert werden, die codierten Bilder an die Kundenvorrichtung zu übertragen, damit sie von einem Videoeditor (z. B. Adobe Premier) gerendert werden. In Schritt 404 empfängt die Client-Vorrichtung (z. B. die Vorrichtung zur Inhaltserstellung 115) die codierten Inhalte, die mit dem H264-Kompressionsformat codiert werden, und decodiert sie mit einem einzigen Decodierer 234. Ein von der GPU 236 (z. B. einem Renderer oder Compositor) ausgeführter Fragment-Shader rendert den Inhalt, indem er den Schlüsselabschnitt (d. h. die Transparenzstufen) auf jeden Abschnitt (z. B. jeden Pixelwert) des Füllabschnitts des Bildes anwendet. Das resultierende Bild (in geringerer Qualität als Proxy-Signal) wird in Schritt 404 von der Videobearbeitungsoberfläche gerendert.
  • Als nächstes kann der Benutzer der Vorrichtung zur Inhaltserstellung 115 herkömmliche Bearbeitungs- und Inhaltserstellungsprozesse an den gerenderten Inhalten durchführen, z. B. über die Benutzerschnittstelle und die Steuerung 240. Die bearbeiteten Inhalte können im Arbeitsspeicher 242 gespeichert und anschließend in Schritt 406 als Teil einer Medienproduktion verwendet werden, wobei herkömmliche Techniken, wie sie oben beschrieben wurden und von Fachleuten geschätzt werden, zum Einsatz kommen. Vorteilhafterweise sind sowohl die „Schlüsseldaten“ als auch die „Fülldaten“ in einem einzigen zusammengesetzten Bild enthalten, das von einem einzigen Decodierer decodiert werden kann. Dies reduziert die Belastung der Decodierressourcen des Videoeditors und verringert auch die benötigte Bandbreite, die herkömmliche Systeme durch die Übertragung getrennter „Schlüsselströme“ und „Füllströme“ verwenden.
  • 5 ist ein Blockdiagramm, das ein Computersystem veranschaulicht, auf dem Aspekte von Systemen und Verfahren zum Rendern von Schlüssel- und Füll-Proxy-Strömen für die Videoverarbeitung gemäß einem beispielhaften Aspekt. Im Allgemeinen wird darauf hingewiesen, dass das Computersystem 20 jedem Computersystem entsprechen kann, das dafür konfiguriert ist, die oben beschriebenen Systeme und Verfahren auszuführen, einschließlich beispielsweise des Inhaltsanbieters 210 und/oder des Inhaltseditors 230 (und insbesondere der Inhaltserstellungsvorrichtung 115). Das Computersystem 20 kann in Form von mehreren Computervorrichtungen oder in Form einer einzigen Computervorrichtung vorliegen, z. B. eines Desktop-Computers, eines Notebooks, eines Laptops, einer mobilen Computervorrichtung, eines Smartphones, eines Tablet-Computers, eines Servers, eines Großrechners, einer eingebetteten Vorrichtung und anderer Formen von Computervorrichtungen.
  • Wie dargestellt, enthält das Computersystem 20 eine Zentraleinheit (CPU) 21, einen Systemspeicher 22 und einen Systembus 23, der die verschiedenen Komponenten des Systems verbindet, einschließlich des Arbeitsspeichers, der der Zentraleinheit 21 zugeordnet ist. Der Systembus 23 kann einen Arbeitsspeicher oder einen Bus Memory Controller, einen Peripheriebus und einen lokalen Bus umfassen, der mit jeder anderen Busarchitektur interagieren kann. Beispiele für die Busse können PCI, ISA, PCI-Express, HyperTransport™, InfiniBand™, Serial ATA, I2C und andere geeignete Verbindungen enthalten. Die zentrale Verarbeitungseinheit 21 (auch als Prozessor bezeichnet) kann einen einzelnen oder mehrere Sätze von Prozessoren mit einzelnen oder mehreren Kernen enthalten. Der Prozessor 21 kann einen oder mehrere computerausführbare Codes ausführen, die die Techniken der vorliegenden Offenbarung implementieren. Der Systemspeicher 22 kann ein beliebiger Arbeitsspeicher zum Speichern von hierin verwendeten Daten und/oder von Computerprogrammen sein, die vom Prozessor 21 ausführbar sind. Der Systemspeicher 22 kann einen flüchtigen Arbeitsspeicher wie einen Direktzugriffsspeicher (RAM) 25 und einen nicht-flüchtigen Arbeitsspeicher wie einen Festwertspeicher (ROM) 24, Flash-Speicher usw. oder eine beliebige Kombination davon enthalten. Das Basis-Eingabe/Ausgabe-System (BIOS) 26 kann die grundlegenden Prozeduren für die Übertragung von Informationen zwischen den Elementen des Computersystems 20 speichern, wie z. B. die zum Zeitpunkt des Ladens des Betriebssystems mit Hilfe des ROMs 24.
  • Das Computersystem 20 kann ein oder mehrere Speichervorrichtungen enthalten, wie eine oder mehrere entfernbare Speichervorrichtungen 27, eine oder mehrere nicht entfernbare Speichervorrichtungen 28 oder eine Kombination davon. Die eine oder mehreren entfernbaren Speichervorrichtungen 27 und nicht entfernbaren Speichervorrichtungen 28 sind über eine Speicherschnittstelle 32 mit dem Systembus 23 verbunden. In einem Aspekt sind die Speichervorrichtungen und die entsprechenden computerlesbaren Speichermedien stromunabhängige Module für die Speicherung von Computerbefehlen, Datenstrukturen, Programmmodulen und anderen Daten des Computersystems 20. Der Arbeitsspeicher 22, die entfernbaren Speichervorrichtungen 27 und die nicht entfernbaren Speichervorrichtungen 28 können eine Vielzahl von computerlesbaren Speichermedien verwenden. Beispiele für computerlesbare Speichermedien enthalten Arbeitsspeicher wie Cache, SRAM, DRAM, Zero-Capacitor-RAM, Twin-Transistor-RAM, eDRAM, EDO-RAM, DDR-RAM, EEPROM, NRAM, RRAM, SONOS, PRAM; Flash-Speicher oder andere Speichertechnologien wie in Solid State Drives (SSDs) oder Flash-Laufwerken; Magnetkassetten, Magnetbänder und Magnetplattenspeicher wie in Festplattenlaufwerken oder Disketten; optische Speicher wie in Compact Disks (CD-ROM) oder Digital Versatile Disks (DVDs); und jedes andere Medium, das zum Speichern der gewünschten Daten verwendet werden kann und auf das das Computersystem 20 zugreifen kann. Es versteht sich, dass in einem beispielhaften Aspekt die eine oder mehreren entfernbaren Speichervorrichtungen 27 zum Beispiel der Szenendrehbuch-Datenbank 225 entsprechen können.
  • Der Systemarbeitsspeicher 22, die entfernbaren Speichervorrichtungen 27 und die nicht-entfernbaren Speichervorrichtungen 28 des Computersystems 20 können zur Speicherung eines Betriebssystems 35, zusätzlicher Programmanwendungen 37, anderer Programmmodule 38 und Programmdaten 39 verwendet werden. Das Computersystem 20 kann eine Peripherieschnittstelle 46 zur Übertragung von Daten von Eingabevorrichtungen 40, wie z. B. einer Tastatur, einer Maus, einem Stift, einem Game Controller, einer Spracheingabevorrichtung, einer Berührungseingabevorrichtung oder anderen Peripherievorrichtungen, wie z. B. einem Drucker oder einem Scanner über einen oder mehrere E/A-Ports, wie z. B. einen seriellen Port, einen parallelen Port, einen Universal Serial Bus (USB) oder eine andere Peripherieschnittstelle enthalten. Eine Anzeigevorrichtung 47, wie z. B. ein oder mehrere Monitore, Projektoren oder ein integriertes Display, kann ebenfalls über eine Ausgabeschnittstelle 48, wie z. B. einen Videoadapter, an den Systembus 23 angeschlossen werden und kann dafür konfiguriert sein, z. B. die Benutzeroberfläche 205 zu erzeugen. Zusätzlich zu den Anzeigevorrichtungen 47 kann das Computersystem 20 mit anderen peripheren Ausgabevorrichtungen (nicht abgebildet) ausgestattet sein, wie z. B. Lautsprechern und anderen audiovisuellen Vorrichtungen. Die Anzeigevorrichtung 47 kann für die hier beschriebenen Anwendungen zur Videobearbeitung und Inhaltserstellung konfiguriert sein.
  • Darüber hinaus kann das Computersystem 20 in einer Netzwerkumgebung arbeiten und eine Netzwerkverbindung zu einem oder mehreren entfernten Computern 49 nutzen. Der eine oder die mehreren entfernten Computer 49 können eine lokale Computer-Workstation oder ein Server sein, der die meisten oder alle der oben genannten Elemente umfasst, die das Wesen eines Computersystems 20 beschreiben. Darüber hinaus können der eine oder die mehreren entfernten Computer 49 einem der entfernten Verarbeitungsknoten oder den Client-Vorrichtungen entsprechen, wie sie oben in Bezug auf 1 und 2 beschrieben wurden, sowie allgemein einer Cloud-Computing-Plattform zum Konfigurieren des Videoschnitt- und Medienproduktionssystems.
  • Im Computernetzwerk können auch andere Vorrichtungen vorhanden sein, wie z. B., ohne darauf beschränkt zu sein, Router, Netzwerkstationen, Peer-Vorrichtungen oder andere Netzwerkknoten. Das Computersystem 20 kann eine oder mehrere Netzwerkschnittstellen 51 oder Netzwerkadapter enthalten, um mit den entfernten Computern 49 über ein oder mehrere Netzwerke wie ein lokales Computernetzwerk (LAN) 50, ein Weitverkehrs-Computernetzwerk (WAN), ein Intranet und das Internet (z. B. Internet 103) zu kommunizieren. Beispiele für die Netzwerkschnittstelle 51 können eine Ethernet-Schnittstelle, eine Frame Relay-Schnittstelle, eine SONET-Schnittstelle und drahtlose Schnittstellen enthalten.
  • Es versteht sich, dass die oben genannten Komponenten durch eine Kombination aus Hardware und Software implementiert werden können. Dementsprechend können die beschriebenen Funktionen in einem oder mehreren Beispielen in Hardware, Software, Firmware oder einer Kombination davon implementiert sein.
  • Während die Aspekte in Verbindung mit den oben beschriebenen Beispielimplementierungen beschrieben wurden, können verschiedene Alternativen, Modifikationen, Variationen, Verbesserungen und/oder wesentliche Äquivalente, ob bekannt oder gegenwärtig unvorhergesehen, für diejenigen, die mindestens über gewöhnliche Fachkenntnisse verfügen, offensichtlich werden. Dementsprechend sind die oben dargelegten beispielhaften Implementierungen der Erfindung zur Veranschaulichung gedacht und nicht als Einschränkung. Es können verschiedene Änderungen vorgenommen werden, ohne von Geist und Umfang der Aspekte abzuweichen. Daher sollen die Aspekte alle bekannten oder später entwickelten Alternativen, Modifikationen, Variationen, Verbesserungen und/oder wesentlichen Äquivalente umfassen.
  • Daher sind die Ansprüche nicht auf die hier gezeigten Aspekte beschränkt, sondern haben den vollen Umfang, der mit den sprachlichen Ansprüchen übereinstimmt, wobei die Bezugnahme auf ein Element in der Einzahl nicht „ein und nur ein“ bedeutet, sofern dies nicht ausdrücklich angegeben ist, sondern vielmehr „ein oder mehrere“. Sofern nicht ausdrücklich anders angegeben, bezieht sich der Begriff „einige“ auf eines oder mehrere. Alle strukturellen und funktionalen Äquivalente zu den Elementen der verschiedenen in dieser Offenbarung beschriebenen Aspekte, die Fachleuten bekannt sind oder später bekannt werden, werden hier ausdrücklich durch Bezugnahme aufgenommen und sollen von den Ansprüchen eingeschlossen werden. Darüber hinaus ist nichts, was hier offenbart wird, dazu bestimmt, der Öffentlichkeit gewidmet zu werden, unabhängig davon, ob eine solche Offenbarung ausdrücklich in den Ansprüchen erwähnt wird. Kein Anspruchselement ist als Mittel plus Funktion auszulegen, es sei denn, das Element wird ausdrücklich mit der Formulierung „Mittel für“ wiedergegeben.
  • Beispielhaft und ohne Einschränkung werden die Aspekte der vorliegenden Offenbarung unter Bezugnahme auf Systeme und Verfahren dargestellt, die zum Konfigurieren verschiedener Komponenten eines Videoproduktionssystems verwendet werden, das für die Produktion von Fernsehprogrammen oder bei Sportveranstaltungen eingesetzt werden kann. Die verschiedenen Konzepte, die in dieser Offenbarung vorgestellt werden, können in einer Vielzahl von Bildgebungsanwendungen implementiert werden, die Systeme, die Video- und/oder Standbilder aufnehmen und verarbeiten, Videokonferenzsysteme und so weiter enthalten. Es versteht sich, dass die spezifische Reihenfolge oder Hierarchie der Blöcke in den offengelegten Prozessen/Ablaufdiagrammen eine Veranschaulichung beispielhafter Ansätze ist. Es versteht sich, dass die spezifische Reihenfolge oder Hierarchie der Blöcke in den Prozessen/Ablaufdiagrammen je nach Designvorlieben neu angeordnet werden kann. Ferner können einige Blöcke kombiniert oder weggelassen werden. Die beigefügten Verfahrensansprüche stellen Elemente der verschiedenen Blöcke in einer Beispielreihenfolge dar und sind nicht auf die dargestellte spezifische Reihenfolge oder Hierarchie beschränkt.
  • Die vorangegangene Beschreibung soll es Fachleuten ermöglichen, die verschiedenen hier beschriebenen Aspekte in die Praxis umzusetzen. Verschiedene Modifikationen dieser Aspekte werden für Fachleute leicht erkennbar sein, und die hier definierten allgemeinen Prinzipien können auch auf andere Aspekte angewendet werden. Daher sind die Ansprüche nicht auf die hier gezeigten Aspekte beschränkt, sondern haben den vollen Umfang, der mit den sprachlichen Ansprüchen übereinstimmt, wobei die Bezugnahme auf ein Element in der Einzahl nicht „ein und nur ein“ bedeutet, sofern dies nicht ausdrücklich angegeben ist, sondern vielmehr „ein oder mehrere“. Das Wort „exemplarisch“ wird hier im Sinne von „als Beispiel, Instanz oder Illustration dienend“ verwendet. Jeder Aspekt, der hier als „beispielhaft“ beschrieben wird, ist nicht notwendigerweise als bevorzugt oder vorteilhaft gegenüber anderen Aspekten zu verstehen. Alle strukturellen und funktionalen Äquivalente zu den Elementen der verschiedenen in dieser Offenbarung beschriebenen Aspekte, die Fachleuten bekannt sind oder später bekannt werden, werden hier ausdrücklich durch Bezugnahme aufgenommen und sollen von den Ansprüchen eingeschlossen werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 17/658943 [0001]
    • US 63/176069 [0001]

Claims (20)

  1. System zur Wiedergabe von Schlüssel- und Füllvideoströmen für die Videoverarbeitung, wobei das System umfasst: eine Datenbank, die dafür konfiguriert ist, Videodaten zu speichern, die eine Sequenz von Bildern und Alphadaten enthalten, die Transparenzstufen für jeden Abschnitt jedes Bildes in der Sequenz von Bildern definieren; einen Codierer, der dafür konfiguriert ist, jedes Bild der Bildsequenz zu codieren, um codierte zusammengesetzte Bilder zu erzeugen, die jeweils einen Füllabschnitt enthalten, der den Videodaten entspricht, und einen Schlüsselabschnitt, der monochrom ist und Transparenzstufen für jeden Abschnitt der jeweiligen Bilder definiert, so dass jedes codierte zusammengesetzte Bild sowohl den Füll- als auch den Schlüsselabschnitt enthält, die horizontal und nebeneinander angeordnet sind; und einen Renderer, der dafür konfiguriert ist, einen Strom der codierten zusammengesetzten Rahmen zu empfangen, und der einen einzelnen Decodierer aufweist, der dafür konfiguriert ist, jeden codierten zusammengesetzten Rahmen zu decodieren, um Pixelwerte aus dem Füllabschnitt und entsprechende Transparenzstufen aus dem Schlüsselabschnitt zu extrahieren, und ferner dafür konfiguriert ist, die jeweiligen Transparenzstufen auf die entsprechenden extrahierten Pixelwerte anzuwenden, um einen Proxy des jeweiligen Rahmens zu erzeugen, der von einer Videoverarbeitungsvorrichtung angezeigt werden soll, wobei der Füllabschnitt eine höhere horizontale Auflösung umfasst als eine horizontale Auflösung des Schlüsselabschnitts, und wobei die Videoverarbeitungsvorrichtung eine der Videoeditiervorrichtungen ist.
  2. System nach Anspruch 1, wobei der Codierer dafür konfiguriert ist, jeden kodierten Rahmen so zu erzeugen, dass 75% des Rahmens dem Füllabschnitt und 25% des Rahmens dem Schlüsselabschnitt zugewiesen werden.
  3. System nach Anspruch 1 oder Anspruch 2, wobei der Codierer dafür konfiguriert ist, die codierten zusammengesetzten Rahmen mindestens teilweise basierend auf Quelldaten der Videodaten zu erzeugen, die R-, G-, B-Daten und die Alpha-Daten enthalten.
  4. System nach einem der vorhergehenden Ansprüche, das ferner eine Benutzeroberfläche umfasst, die dafür konfiguriert ist, ein Bild/Transparenz-Verhältnis zwischen dem Füllabschnitt und dem Schlüsselabschnitt zu definieren.
  5. System nach einem der vorhergehenden Ansprüche, wobei der Renderer einen Fragment-Shader enthält, der dafür konfiguriert ist, den Proxy zu rendern, indem er die jeweiligen Transparenzstufen auf die entsprechenden extrahierten Pixelwerte anwendet.
  6. System zur Wiedergabe von Schlüssel- und Füllvideoströmen für die Videoverarbeitung, wobei das System umfasst: eine Datenbank, die dafür konfiguriert ist, Videodaten zu speichern, die eine Sequenz von Bildern und Alphadaten enthalten, die Transparenzstufen für jeden Abschnitt jedes Bildes in der Sequenz von Bildern definieren; einen Codierer, der dafür konfiguriert ist, jedes Bild der Bildsequenz zu codieren, um codierte zusammengesetzte Bilder zu erzeugen, die jeweils einen Füllabschnitt enthalten, der den Videodaten entspricht, und einen Schlüsselabschnitt, der monochrom ist und Transparenzstufen für jeden Abschnitt der jeweiligen Bilder definiert, so dass jedes codierte zusammengesetzte Bild sowohl den Füll- als auch den Schlüsselabschnitt enthält, die horizontal und nebeneinander angeordnet sind; und einen Renderer, der dafür konfiguriert ist, einen Strom der codierten zusammengesetzten Rahmen zu empfangen, und der einen einzelnen Decodierer aufweist, der dafür konfiguriert ist, jeden codierten zusammengesetzten Rahmen zu decodieren, um Pixelwerte aus dem Füllabschnitt und entsprechende Transparenzstufen aus dem Schlüsselabschnitt zu extrahieren, und ferner dafür konfiguriert ist, die jeweiligen Transparenzstufen auf die entsprechenden extrahierten Pixelwerte anzuwenden, um einen Proxy des jeweiligen Rahmens zu erzeugen, der von einer Videoverarbeitungsvorrichtung angezeigt werden soll.
  7. System nach Anspruch 6, wobei der Füllabschnitt eine höhere horizontale Auflösung umfasst als eine horizontale Auflösung des Schlüsselabschnitts.
  8. System nach Anspruch 6 oder Anspruch 7, wobei es sich bei der Videoverarbeitungsvorrichtung um eine der Videoeditiervorrichtungen handelt.
  9. System nach Anspruch 7 oder Anspruch 8, wobei der Codierer dafür konfiguriert ist, jeden codierten Rahmen so zu erzeugen, dass 75 % des Rahmens dem Füllabschnitt und 25 % des Rahmens dem Schlüsselabschnitt zugewiesen werden.
  10. System nach einem der Ansprüche 7 bis 9, wobei der Codierer dafür konfiguriert ist, die codierten zusammengesetzten Rahmen mindestens teilweise basierend auf Quelldaten der Videodaten zu erzeugen, die R-, G-, B-Daten und die Alpha-Daten enthalten.
  11. System nach einem der Ansprüche 7 bis 10, das ferner eine Benutzeroberfläche umfasst, die dafür konfiguriert ist, ein Bild/Transparenz-Verhältnis zwischen dem Füllabschnitt und dem Schlüsselabschnitt zu definieren.
  12. System nach einem der Ansprüche 7 bis 11, wobei der Renderer einen Fragment-Shader enthält, der dafür konfiguriert ist, den Proxy zu rendern, indem er die jeweiligen Transparenzstufen auf die entsprechenden extrahierten Pixelwerte anwendet.
  13. System zur Wiedergabe von Schlüssel- und Füllvideoströmen für die Videoverarbeitung, wobei das System umfasst: einen Codierer, der dafür konfiguriert ist, jedes Einzelbild einer Bildsequenz zu codieren, um codierte zusammengesetzte Einzelbilder zu erzeugen, die jeweils einen Füllabschnitt, der den Videodaten der Bildsequenz entspricht, und einen Schlüsselabschnitt enthalten, der monochrom ist und entsprechende Transparenzstufen definiert, so dass jeder codierte zusammengesetzte Rahmen sowohl den Füllabschnitt als auch den Schlüsselabschnitt enthält; und einen Renderer, der dafür konfiguriert ist, einen Strom der codierten zusammengesetzten Rahmen zu empfangen, und dafür konfiguriert ist, jeden codierten zusammengesetzten Rahmen zu decodieren, um Pixelwerte aus dem Füllabschnitt und entsprechende Transparenzstufen aus dem Schlüsselabschnitt zu extrahieren, und der ferner dafür konfiguriert ist, die jeweiligen Transparenzstufen auf die entsprechenden extrahierten Pixelwerte anzuwenden, um ein Ausgabevideo zu erzeugen, das modifizierte Bilder umfasst, die von einer Videoverarbeitungsvorrichtung angezeigt werden sollen.
  14. System nach Anspruch 13, das ferner eine Datenbank umfasst, die dafür konfiguriert ist, die Videodaten einschließlich der Bildsequenz und Alphadaten zu speichern, die die Transparenzstufen für jeden Abschnitt jedes Bildes in der Bildsequenz definieren.
  15. System nach Anspruch 13 oder Anspruch 14, wobei der Füllabschnitt und der Schlüsselabschnitt jedes codierten zusammengesetzten Bildes horizontal und Seite an Seite zueinander angeordnet sind.
  16. System nach einem der Ansprüche 13 bis 15, wobei der Renderer einen einzelnen Decodierer umfasst, der einen Fragment-Shader enthält, der dafür konfiguriert ist, das Ausgangsvideo zu rendern, indem die jeweiligen Transparenzstufen auf die entsprechenden extrahierten Pixelwerte angewendet werden.
  17. System nach einem der Ansprüche 13 bis 16, wobei der Füllabschnitt eine höhere horizontale Auflösung umfasst als eine horizontale Auflösung des Schlüsselabschnitts.
  18. System nach einem der Ansprüche 13 bis 17, wobei die Videoverarbeitungsvorrichtung eine der Videoeditiervorrichtungen ist.
  19. System nach Anspruch 17 oder Anspruch 18, wobei der Codierer dafür konfiguriert ist, jeden codierten Rahmen so zu erzeugen, dass 75 % des Rahmens dem Füllabschnitt und 25 % des Rahmens dem Schlüsselabschnitt zugewiesen werden.
  20. System nach einem der Ansprüche 17 bis 19, wobei der Codierer dafür konfiguriert ist, die codierten zusammengesetzten Rahmen mindestens teilweise basierend auf Quelldaten der Videodaten zu erzeugen, die R-, G-, B-Daten und die Alpha-Daten enthalten.
DE112022002186.1T 2021-04-16 2022-04-19 System und verfahren zur darstellung von schlüssel- und füllvideoströmen für die videoverarbeitung Pending DE112022002186T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163176069P 2021-04-16 2021-04-16
US63/176,069 2021-04-16
US17/658,943 2022-04-12
US17/658,943 US11967345B2 (en) 2021-04-16 2022-04-12 System and method for rendering key and fill video streams for video processing
PCT/EP2022/060310 WO2022219202A1 (en) 2021-04-16 2022-04-19 System and method for rendering key and fill video streams for video processing

Publications (1)

Publication Number Publication Date
DE112022002186T5 true DE112022002186T5 (de) 2024-04-25

Family

ID=81654562

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112022002186.1T Pending DE112022002186T5 (de) 2021-04-16 2022-04-19 System und verfahren zur darstellung von schlüssel- und füllvideoströmen für die videoverarbeitung

Country Status (3)

Country Link
DE (1) DE112022002186T5 (de)
GB (1) GB2621515A (de)
WO (1) WO2022219202A1 (de)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2675171B1 (de) * 2012-06-11 2018-01-24 BlackBerry Limited Transparenzinformationen in einem Bild- oder Videoformat ohne native Transparenzunterstützung
JP6227456B2 (ja) * 2014-03-28 2017-11-08 株式会社エクシング 楽曲演奏装置及びプログラム
KR20180076720A (ko) * 2016-12-28 2018-07-06 주식회사 케이티 동영상 전송 장치 및 동영상 재생 장치
US10497180B1 (en) * 2018-07-03 2019-12-03 Ooo “Ai-Eksp” System and method for display of augmented reality
US11256528B2 (en) * 2018-10-26 2022-02-22 Nvidia Corporation Individual application window streaming suitable for remote desktop applications

Also Published As

Publication number Publication date
GB2621515A (en) 2024-02-14
WO2022219202A1 (en) 2022-10-20

Similar Documents

Publication Publication Date Title
CN110290425B (zh) 一种视频处理方法、装置及存储介质
US10951874B2 (en) Incremental quality delivery and compositing processing
DE112017002339T5 (de) Verfahren und Vorrichtung zum Abbilden von Omnidirektionalbildern in ein Anordnungsausgabeformat
DE102013221798B4 (de) Parallele Transcodierung
CN108063976B (zh) 一种视频处理方法及装置
DE102017000293A1 (de) Trick-Modus-Betrieb mit mehreren Videoströmen
DE112008003766T5 (de) Synchronisierung und Fensterung von externem Inhalt in digitalen Anzeigesystemen
DE112015007134T5 (de) Verfahren und Gerät zur synchronen Bildanzeige
DE112009001679T5 (de) Skalierbarkeitstechniken einer Farbskala
DE112016002377T5 (de) Streamen von sphärischem video
DE112013004778T5 (de) Kodierung von Bildern unter Verwendung eines 3D-Netzes von Polygonen und entsprechenden Strukturen
DE102020108357A1 (de) Umkodieren vorhergesagter bilder in live-videostream-anwendungen
DE112018000280T5 (de) Entblockungsfilterung für 360-video
DE112004002520T5 (de) Steuerung der Überlagerung mehrerer Videosignale
CN107077726B (zh) 使用扩展颜色范围的内容映射
DE102017009145A1 (de) Erfassung und Wiedergabe von 360-Grad-Videos
DE10219132A1 (de) System und Verfahren zum Verbessern der Bildqualität bei verarbeiteten Bildern
DE112014000261T5 (de) Verfahren und Gerät zum Senden und Empfangen eines Übertragungssignals zum Bereitstellen eines Trickmodusdienstes
DE102015115998A1 (de) Segmentierter Videocodec für Video mit hoher Auflösung und hoher Framerate
DE102013021710A1 (de) Grafik-Dienstleister und Verfahren zur Datenstromübertragung von bilderzeugtem Inhalt über eine entfernte Grafikverarbeitungsdienstleistung
DE102019127726A1 (de) Für fernarbeitsplatz-anwendungen geeignetes streaming individueller anwendungsfenster
DE112013007509T5 (de) Verfahren, Einrichtung und System zum Auswählen von Audio-Video-Daten zum Streamen
DE102017009149A1 (de) Aufzeichnung und Wiedergabe von 360-Grad-Videos mit Objektverfolgung
DE112018007466T5 (de) Multimediavorrichtung zur Verarbeitung von Videosignalen und Steuerverfahren dafür
DE112021006157T5 (de) Videocodieren durch nicht-salienz-komprimierung für live-streaming von hochauflösenden videos in einer übertragung niedriger bandbreite

Legal Events

Date Code Title Description
R012 Request for examination validly filed