DE102020106101B4 - Verfahren zur automatisierten Anpassung und/oder Erzeugung eines Encoders und/oder zur Erstellung eines Medienstreams, Recheneinheit und Computerprogrammprodukt - Google Patents

Verfahren zur automatisierten Anpassung und/oder Erzeugung eines Encoders und/oder zur Erstellung eines Medienstreams, Recheneinheit und Computerprogrammprodukt Download PDF

Info

Publication number
DE102020106101B4
DE102020106101B4 DE102020106101.3A DE102020106101A DE102020106101B4 DE 102020106101 B4 DE102020106101 B4 DE 102020106101B4 DE 102020106101 A DE102020106101 A DE 102020106101A DE 102020106101 B4 DE102020106101 B4 DE 102020106101B4
Authority
DE
Germany
Prior art keywords
encoder
media files
parameters
media
initialization
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.)
Active
Application number
DE102020106101.3A
Other languages
English (en)
Other versions
DE102020106101A1 (de
Inventor
Stefan GEHRER
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.)
Exaring AG
Original Assignee
Exaring AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Exaring AG filed Critical Exaring AG
Priority to DE102020106101.3A priority Critical patent/DE102020106101B4/de
Publication of DE102020106101A1 publication Critical patent/DE102020106101A1/de
Application granted granted Critical
Publication of DE102020106101B4 publication Critical patent/DE102020106101B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Verfahren zur automatisierten Anpassung und/oder Erzeugung eines Encoders (14) für Mediendateien (108, 110) mit einer vorbestimmten Encodierung, das Verfahren umfassend:- Ermitteln eines Initialisierungssegments (102), welches Initialisierungsparameter für die Decodierung von Mediendateien (108, 110) mit der vorbestimmten Encodierung enthält;- Extrahieren zumindest eines Teils der Initialisierungsparameter aus dem Initialisierungssegment (102);- Erzeugen eines Encoders (14) und/oder Anpassen eines bestehenden Encoders (14) anhand der extrahierten Initialisierungsparameter derart, dass der erzeugte und/oder angepasste Encoder (14) zum Encodieren von Mediendateien (108, 110) derart geeignet ist, dass die encodierten Mediendateien unter Verwendung der Initialisierungsparameter des Initialisierungssegments (102) decodierbar sind,- wobei das Erzeugen eines Encoders (14) ein Kompilieren des Encoders (14) umfasst.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zur automatisierten Anpassung und/oder Erzeugung eines Encoders, ein Verfahren zur Erstellung eines Medienstreams, eine Recheneinheit und ein Computerprogrammprodukt. Die Erfindung liegt somit insbesondere auf dem Gebiet des Streamings von Mediendateien.
  • Beim Ausstrahlen klassischer linearer Sender bzw. Programme von Medieninhalten, wie etwa Audio und/oder Videoinhalten, wird dasselbe Signal bzw. werden dieselben Medieninhalte an alle Endbenutzer bzw. Empfänger ausgestrahlt. Werden solche ausgestrahlten Medieninhalte zeitgleich oder anschließend über das Internet oder ein anderes Netzwerk gestreamt, kann dies die Möglichkeit bieten, manche der Medieninhalte durch andere Medieninhalte zu ersetzen, um dem Benutzer zumindest teilweise ein individuell angepasstes und dynamisches Erlebnis zu bieten. Beispielsweise kann die Individualisierung der Medieninhalte ein Ersetzen von Werbeinhalten durch andere, individualisierte und/oder auf den Benutzer abgestimmte Werbeinhalte umfassen. Dabei ist es von Vorteil, dass die neu hinzuzufügenden Medieninhalte mit den zu ersetzenden Medieninhalten eine identische Zeitdauer aufweisen, um keine Überschneidungen und/oder Zeitlücken im Programmablauf entstehen zu lassen.
  • Ein Server stellt den Endgeräten bzw. Benutzern mit dem Medienstream typischerweise eine spezifisch formatierte Liste von Mediendateien (oftmals als Playlist oder Manifest bezeichnet) zur Verfügung. Diese Liste beinhaltet ein Initialisierungs-Segment, das sich über die Zeit nicht ändert. Dieses Initialisierungs-Segment beinhaltet Initialisierungsparameter, mittels welcher im Endgerät der für die Decodierung der Mediendateien verwendete Decoder initialisiert werden kann, sodass das Endgerät die encodierten Mediendateien auf korrekte Weise decodieren und wiedergeben kann. Sofern es sich beispielsweise bei den Mediendateien um Videodateien handelt, können die Initialisierungsparameter etwa die horizontale und vertikale Auflösung des Videos in Pixeln, im Falle von Audio zum Beispiel die Anzahl der Kanäle (Mono/Stereo), umfassen. Weiterhin kann die Liste eine Mehrzahl von Medien-Dateien enthalten, welche die wiederzugebenden Videoinhalte beinhalten. Im Falle des Streamings eines linearen Fernsehprogramms sind dies typischerweise solche Mediendateien, die komprimierte Video- und/oder Audioinhalte enthalten, die den eigentlichen Inhalt des Fernsehsenders bzw. Programms aus der jüngsten Vergangenheit beinhalten. Die Mediendateien enthalten in ihrer Datenstruktur jeweils auch einen Zeitstempel, der den Zeitpunkt der Darstellung repräsentiert. Mit Fortschreiten der Zeit wird diese Liste fortlaufend geändert: Wenn eine neue Mediendatei zur Verfügung steht, wird es an das Ende der Liste hinzugefügt und der älteste Eintrag dafür entfernt.
  • Sofern manche der Mediendateien, beispielsweise solche Mediendateien, die Werbevideos beinhalten, ersetzt werden sollen, werden herkömmlicherweise diese Mediendateien durch die gewünschten anderen Mediendateien ersetzt. Da diese jedoch mit einem anderen Encoder encodiert wurden, ist es erforderlich, mit den neuen Mediendateien auch ein entsprechendes Initialisierungssegment bereitzustellen, sodass diese neuen Medieninhalte vom Decoder wiedergegeben werden können. Entsprechend ist es auch erforderlich, erneut ein weiteres Initialisierungssegment bzw. das ursprüngliche Initialisierungssegment erneut zu übermitteln, wenn nach Wiedergabe der individualisierten Inhalte wieder mit der Wiedergabe der vorherigen Medieninhalte, bspw. des linearen Fernsehprogramms, fortgefahren wird.
  • Aus der US 2019/0141367 A1 ist ein Verfahren zum dynamischen Einfügen von Inhalten in einen Medien-Stream bekannt. Die US 2016 / 0 057 465 A1 beschreibt ein Verfahren, bei dem Daten aus einer Datei mit Werbung extrahiert und zum Einfügen der Datei in einen Datenstrom genutzt werden.
  • Es ist die Aufgabe der vorliegenden Erfindung, eine verbesserte Möglichkeit zur Individualisierung von Streaming-Medieninhalten bereitzustellen, welche die Anforderungen auf Client-Seite reduziert und die Wiedergabe verbessert.
  • Diese Aufgabe wird erfindungsgemäß gelöst durch Verfahren, eine Recheneinheit und ein Computerprogrammprodukt mit den Merkmalen der jeweiligen unabhängigen Ansprüche. Vorteilhafte Ausgestaltungen sind in den Unteransprüchen und in der Beschreibung angegeben.
  • In einem ersten Aspekt betrifft die Erfindung ein Verfahren zur automatisierten Anpassung und/oder Erzeugung eines Encoders für Mediendateien mit einer vorbestimmten Encodierung. Das Verfahren umfasst ein Ermitteln eines Initialisierungssegments, welches Initialisierungsparameter für die Decodierung von Mediendateien mit der vorbestimmten Encodierung enthält, sowie ein Extrahieren zumindest eines Teils der Initialisierungsparameter aus dem Initialisierungssegment. Ferner umfasst das Verfahren ein Erzeugen eines Encoders und/oder Anpassen eines bestehenden Encoders anhand der extrahierten Initialisierungsparameter derart, dass der erzeugte und/oder angepasste Encoder zum Encodieren von Mediendateien derart geeignet ist, dass die encodierten Mediendateien unter Verwendung der Initialisierungsparameter des Initialisierungssegments decodierbar sind.
  • In einem weiteren Aspekt betrifft die Erfindung ein Verfahren zur Erstellung eines Medienstreams mit einer vorbestimmten Encodierung unter Verwendung eines ersten Encoders und eines zweiten Encoders. Das Verfahren umfasst ein Bereitstellen eines Initialisierungssegments durch den ersten Encoder, wobei das Initialisierungssegment einen oder mehrere Initialisierungsparameter für die Decodierung von Mediendateien mit der vorbestimmten Encodierung enthält, sowie ein Bereitstellen einer oder mehrerer erster Mediendateien, welche mittels des ersten Encoders encodiert und unter Verwendung des einen oder der mehreren Initialisierungsparameter decodierbar sind. Zudem umfasst das Verfahren ein Bereitstellen einer oder mehrerer zweiter Mediendateien, welche mittels des zweiten Encoders derart encodiert sind, dass die eine oder die mehreren zweiten Mediendateien unter Verwendung des einen oder der mehreren Initialisierungsparameter decodierbar sind, sowie ein Erstellen eines Medienstreams aus den ersten und zweiten Mediendateien.
  • In einem weiteren Aspekt betrifft die Erfindung eine Recheneinheit, die dazu eingerichtet ist, ein erfindungsgemäßes Verfahren durchzuführen.
  • In einem weiteren Aspekt betrifft die Erfindung ein Computerprogrammprodukt, umfassend computerlesbare Anweisungen, welche, wenn geladen in einen Speicher eines Computers und ausgeführt von dem Computer, bewirken, dass der Computer ein erfindungsgemäßes Verfahren ausführt.
  • Dass die Anpassung und/oder Erzeugung eines Encoders automatisiert erfolgt, bedeutet dabei, dass insbesondere keine manuelle Anpassung und/oder Erzeugung des Encoders erforderlich ist. Insbesondere ist keine manuelle Konfiguration des Encoders erforderlich und/oder kein manuelles Auslesen von Initialisierungsparametern aus einem Initialisierungssegment erforderlich, um den Encoder anzupassen und/oder zu erzeugen.
  • Die Erfindung bietet den Vorteil, dass Mediendateien mittels eines zweiten Encoders derart erstellt bzw. angepasst werden können, dass diese unter Verwendung der von dem ersten Encoder bereitgestellten Initialisierungsparametern decodierbar sind. Dies ermöglicht, dass alle Mediendateien eines Medienstreams dieselbe Encodierung aufweisen und/oder mit denselben Initialisierungsparametern decodiert werden können und bei der Wiedergabe des Medienstreams Clientseitig kein Wechsel und/oder keine Anpassung des Decoders erforderlich ist. Dadurch entfällt das Erfordernis, dass beim Ersetzen von bestimmten Mediendateien des Medienstreams ein neues Initialisierungssegment übertragen werden muss, und bei der Fortsetzung des Medienstreams mit Mediendateien, die wieder vom ersten Encoder encodiert wurden, erneut ein Initialisierungssegment übertragen werden muss. Somit wird der Streaming Prozess vereinfacht.
  • Außerdem bietet die Erfindung den Vorteil, dass bei der Wiedergabe des Medienstreams kein Wechsel der Encodierung und Decodierung erfolgt und dadurch keine Unterbrechung der Darstellung erforderlich ist. Bei herkömmlichen Verfahren erfolgt für die eingeschobene Wiedergabe von individualisierten Inhalten mit anderer Encodierung eine kurze Bildunterbrechung, da der Decoder kurzzeitig deaktiviert werden muss und mit der neuen Konfiguration wieder aktiviert werden muss, um die (herkömmlicherweise) andersartig encodierten Mediendateien decodieren zu können. Da erfindungsgemäß solch ein Wechsel der Encodierung nicht erforderlich ist, können auch Unterbrechungen bei der Wiedergabe des Medienstreams vermieden werden. Dadurch kann eine unterbrechungsfreie Wiedergabe des Medienstreams erreicht werden und das Erlebnis für den Benutzer verbessert werden.
  • Außerdem bietet die Erfindung den Vorteil, dass Client-seitig die Anforderungen an den Decoder und somit an das Wiedergabegerät reduziert werden können, da der Decoder auf keine Änderungen der Encodierung mehr reagieren muss. Somit können die Komplexität und die Anforderungen an die Hardware reduziert werden.
  • Beispielsweise kann der erste Encoder dazu eingerichtet sein, ein lineares Fernsehprogramm eines Fernsehsenders zu encodieren und mit möglichst geringer Zeitverzögerung für das Streaming über ein Computernetzwerk, wie etwa über das Internet, bereitzustellen. Der erste Encoder kann beispielsweise als Hardware-Encoder ausgebildet sein und beispielsweise ausschließlich für diesen Zweck erstellt sein. Beispielsweise kann der zweite Encoder als ein Software-Encoder ausgebildet sein, wie etwa als Computerprogramm, welches auf einer entsprechenden Recheneinheit, wie etwa einem Computer, ausgeführt werden kann. Beispielsweise können sodann mittels des zweiten Encoders bereitgestellte Mediendateien, wie etwa Werbe-Clips, derart encodiert werden, dass diese mit denselben Einstellungen decodierbar sind, mit welchen auch die vom Hardware-Encoder encodierten Inhalte des linearen Fernsehprogramms decodierbar sind. Vorzugsweise ist der angepasste und/oder erzeugte Encoder als ein Computerprogramm ausgebildet.
  • Vorzugsweise umfasst das Anpassen eines bestehenden Encoders ein Hinzufügen und/oder Konfigurieren und/oder Entfernen von im Encoder hinterlegten Parametern, wobei das Anpassen des bestehenden Encoders vorzugsweise ohne eine Notwendigkeit einer erneuten Kompilierung des Encoders erfolgt. Mit anderen Worten kann das Anpassen des bestehenden Encoders beispielsweise das Vornehmen von Änderungen in der Konfiguration des Encoders umfassen, wobei dabei keine Neu-Kompilation des Encoders erforderlich ist.
  • Dabei umfasst das Erzeugen eines Encoders ein Kompilieren des Encoders. Dabei können auch solche Änderungen am Encoder vorgenommen werden, welche nicht mittels einfacher Anpassungen umgesetzt werden können. Mit anderen Worten kann das Erzeugen des Encoders das „Neu-Aufsetzen“ des Encoders umfassen, bei dem der Encoder mit den gewünschten Parametern neu kompiliert wird.
  • Vorzugsweise umfassen die Initialisierungsparameter extern sichtbare Parameter und/oder interne konfigurierbare Parameter und/oder interne nicht konfigurierbare Parameter. Dass ein Parameter extern sichtbar ist bedeutet dabei, dass der Parameter ohne Zugriff auf den Codec und/oder das Initialisierungssegment einsehbar und erkennbar ist. Beispielsweise kann es sich dabei um solche Parameter handeln, die anhand der wiedergegebenen Mediendatei erkennbar sind. Interne Parameter sind insbesondere solche, die einen Zugriff auf das Initialisierungssegment erfordern und aus diesem auszulesen sind. Dass ein Parameter konfigurierbar ist kann bedeuten, dass der Encoder hinsichtlich dieses Parameters im Rahmen einer Anpassung geändert werden kann, ohne dass eine neue Kompilation des Encoders erforderlich ist. Dass ein Parameter nicht konfigurierbar ist, kann dabei bedeuten, dass der Parameter nicht im Rahmen einer Anpassung geändert werden kann, sondern dass dafür eine Neu-Kompilation des Encoders erforderlich sein kann.
  • Vorzugsweise umfassen die Mediendateien Videodateien oder sind als solche ausgebildet. Die Mediendateien umfassen vorzugsweise einen oder mehrere der folgenden extern sichtbaren Parameter, die insbesondere im Initialisierungssegment spezifiziert sind:
    • - eine horizontale und/oder vertikale Auflösung des Videos;
    • - eine Angabe über eine Farbauflösung des Videos;
    • - eine Bildwiederholrate;
    • - eine Angabe eines verwendeten Zeilensprungverfahrens;
    • - eine Angabe über eine Farbtiefe des Videos.
  • Alternativ oder zusätzlich umfassen die Mediendateien vorzugsweise einen oder mehrere der folgenden internen konfigurierbaren Parameter, die insbesondere im Initialisierungssegment spezifiziert sind:
    • - eine Angabe über die Anzahl der Referenzbilder;
    • - eine Angabe über Blockgrößen einer Frequenztransformation.
  • Alternativ oder zusätzlich umfassen die Mediendateien vorzugsweise einen oder mehrere der folgenden internen nicht-konfigurierbaren Parameter, die insbesondere im Initialisierungssegment spezifiziert sind:
    • - eine Angabe zum Bildnumerierungsverfahren;
    • - eine Angabe zur Bitbreite der Bildnummern.
  • Vorzugsweise erfolgt das Anpassen eines bestehenden Encoders anhand der externen sichtbaren Parameter und/oder der internen konfigurierbaren Parameter der extrahierten Initialisierungsparameter. Alternativ oder zusätzlich erfolgt das Erzeugen eines Encoders vorzugsweise anhand der externen sichtbaren Parameter und/oder der internen konfigurierbaren Parameter und/oder der internen nicht-konfigurierbaren Parameter der extrahierten Initialisierungsparameter.
  • Vorzugsweise werden die ersten Mediendateien mittels des ersten Encoders fortlaufend encodiert. Vorzugsweise wurden die zweiten Mediendateien durch den zweiten Encoder bereits vorab encodiert. Beispielsweise kann es sich bei den mittels des ersten Encoders encodierten Mediendateien um Inhalte eines fortlaufenden, linearen Fernsehprogramms handeln, welches mit möglichst geringer Zeitverzögerung encodiert und für das Streaming bereitgestellt wird. Bei den zweiten Mediendateien kann es sich hingegen beispielsweise um vorab bereitgestellte Medieninhalte handeln, wie etwa Werbe-Clips, welche sodann in passender Encodierung zur Individualisierung für den jeweiligen Benutzer und unter Ersetzung der zeitgleichen Inhalte im fortlaufenden Fernsehprogramm im Medienstream eingefügt werden sollen, sodass anstatt der im fortlaufenden linearen Fernsehprogramm ausgestrahlten Mediendateien die ersetzenden zweiten Mediendateien eingefügt werden.
  • Vorzugsweise erfolgt das Erstellen des Medienstreams durch ein zeitliches Aneinanderreihen der ersten und zweiten Mediendateien zu einem linearen Medienstream erfolgt oder umfasst ein solches. Dies bietet den Vorteil, dass eine unterbrechungsfreie Wiedergabe des Medienstreams ermöglicht wird. Insbesondere bietet dies den Vorteil, dass nur zu Beginn des Medienstreams ein Initialisierungssegment bereitgestellt werden muss und während der Wiedergabe des Medienstreams keine erneute Initialisierung des Decoders erforderlich ist.
  • Vorzugsweise sind Mediendateien des linearen Medienstreams jeweils mit einem Zeitstempel versehen, wobei die Zeitstempel der Mediendateien des linearen Medienstreams eine fortlaufende Reihenfolge der Mediendateien festlegen. Der Zeitstempel ermöglicht insbesondere eine Wiedergabe der Mediendateien in korrekter Reihenfolge, sodass ein zusammenhängender Medienstream mit korrekt fortlaufendem Inhalt erzeugt wird.
  • Vorzugsweise umfasst das Verfahren zur Erstellung eines Medienstreams ferner ein Versehen und/oder Verändern der einen oder mehreren zweiten Mediendateien mit jeweils einem Zeitstempel derart, dass die eine oder die mehreren zweiten Mediendateien im Medienstream für die Wiedergabe zu einem vorbestimmten Zeitpunkt vorgesehen werden. Dies bietet den Vorteil, dass auch bei Medienstreams, bei welchen eines oder mehrere Mediendateien durch andere ersetzt wurden, eine Wiedergabe der Mediendateien in korrekter Reihenfolge ermöglicht, sodass ein zusammenhängender Medienstream mit korrekt fortlaufendem Inhalt erzeugt wird. Vorzugsweise werden die eine oder die mehreren zweiten Mediendateien zumindest hinsichtlich ihrer Wiedergabedauer und ihres Zeitstempels derart bereitgestellt, dass der resultierende Medienstream unterbrechungsfrei wiedergebbar ist.
  • Das Computerprogrammprodukt kann insbesondere in Form eines Speichermediums oder einer Signalfolge vorliegen und computerlesbare Anweisungen umfassen, welche, wenn geladen in einen Speicher eines Computers, vorzugsweise im Speicher einer Datenverarbeitungseinheit, und ausgeführt von dem Computer, bewirken, dass der Computer ein Verfahren gemäß der vorliegenden Erfindung ausführt.
  • Die oben genannten und im Folgenden erläuterten Merkmale und Ausführungsformen sind dabei nicht nur als in den jeweils explizit genannten Kombinationen offenbart anzusehen, sondern sind auch in anderen technisch sinnhaften Kombinationen und Ausführungsformen vom Offenbarungsgehalt umfasst.
  • Weitere Einzelheiten und Vorteile der Erfindung sollen nun anhand von den folgenden Beispielen und bevorzugten Ausführungsformen mit Bezug auf die Figuren näher erläutert werden.
  • Es zeigt:
    • 1 in einer schematischen Darstellung eine beispielhafte Anordnung zur Durchführung eines Verfahrens zur automatisierten Anpassung und/oder Erzeugung eines Encoders und zur Erstellung eines Medienstreams mit einer vorbestimmten Encodierung.
  • 1 zeigt in einer schematischen Darstellung eine beispielhafte Anordnung 10 zur Durchführung eines Verfahrens zur automatisierten Anpassung und/oder Erzeugung eines Encoders und zur Erstellung eines Medienstreams mit einer vorbestimmten Encodierung.
  • Die Anordnung weist einen ersten Encoder 12 und einen zweiten Encoder 14 auf. Der erste Encoder 12 ist dabei als ein Hardware-Encoder 12 ausgebildet und mit einer Signalquelle 16 verbunden, mittels welcher dem Hardwareencoder Medieninhalte bereitgestellt werden, die der Hardware-Encoder sodann in Mediendateien encodiert, die für die Erstellung eines Videostreams bereitgestellt werden. Die Signalquelle 16 kann beispielsweise ein Videosignal eines linearen Fernsehprogramms bzw. Fernsehsenders bereitstellen. Beispielsweise ist die Signalquelle als eine Satellitenantenne oder ein TV-Kabel oder eine DVB-T Antenne ausgebildet oder umfasst eine solche.
  • Unter Verwendung der Mediendateien, die von dem ersten Encoder 12 bereitgestellt werden, kann sodann ein Medienstream 100 erstellt werden. Der Medienstream 100 weist dabei ein Initialisierungssegment 102 auf, welches Initialisierungsparameter enthält, die einem Decoder (nicht gezeigt) clientseitig ermöglichen, die für die Decodierung des Medienstreams 100 erforderlichen Einstellungen vorzunehmen. Ferner umfasst der Medienstream Mediendateien 104 bis 114, welche aneinandergereiht sind, um in einer zeitlichen Abfolge nacheinander wiedergegeben zu werden, wobei zumindest manche der Mediensegmente 104 bis 114 von dem ersten Encoder 12 bereitgestellt werden. Die Mediendateien sind dabei erste Mediendateien und enthalten zumindest teilweise die wiederzugebenden Inhalte, wie etwa Videoinhalte und/oder Audioinhalte.
  • Der zweite Encoder 14 kann beispielsweise als ein Software-Encoder 14, beispielsweise in Form eines Computerprogramms, ausgebildet sein. Insbesondere kann der zweite Encoder 14 dazu eingerichtet sein, von einer Recheneinheit, wie beispielsweise von einem Personal Computer, ausgeführt zu werden. Der Software-Encoder ist dazu eingerichtet, aus dem Initialisierungssegment 102 des Medienstreams 100, welches durch den ersten Encoder 12 bereitgestellt wird, einen oder mehrere Initialisierungsparameter zu extrahieren. Bevorzugt werden alle nötigen Initialisierungsparameter extrahiert, die für die Decodierung des Medienstreams 100 erforderlich sind. Der zweite Encoder 14 verwendet die extrahierten Initialisierungsparameter sodann, um zweite Mediendateien bereitzustellen, welche mit den gleichen Initialisierungsparametern decodiert werden können, wie auch die durch den ersten Encoder bereitgestellten ersten Mediendateien. Die Encodierung der zweiten Mediendaten durch den zweiten Encoder 14 kann beispielsweise erfolgen, während erste Mediendateien des Medienstreams 100 wiedergegeben werden, bevor die Wiedergabe der zweiten Mediendateien vorgesehen sind. Alternativ kann die Encodierung der zweiten Mediendateien bereits vorab erfolgen, indem die zweiten Mediendateien, wie etwa Werbeclips, mit den extrahierten Initialisierungsparametern encodiert werden, bevor die Erstellung des Medienstreams durchgeführt wird.
  • Beispielsweise kann die Encodierung der zweiten Mediendateien durch den zweiten Encoder dadurch erfolgen, dass bereitgestellte Medienelemente 202, 204 und 206, wie etwa Werbeclips, mit den extrahierten Initialisierungsparametern encodiert werden, sodass diese mit denselben Einstellungen decodierbar sind, wie die ersten Mediendateien.
  • Die Erstellung des Medienstreams kann beispielsweise durch dieselbe Recheneinheit erfolgen, die auch den zweiten Encoder ausführt. Alternativ oder zusätzlich kann auch eine weitere Recheneinheit für die Erstellung des Medienstreams verwendet werden. Die Erstellung des Medienstreams erfolgt dabei derart, dass ein Initialisierungssegment 102 und mehrere erste Mediendateien 104 und 106 dem Medienstream hinzugefügt werden. Werden bei der Erstellung des Medienstreams solche Mediendateien erkannt, die zugunsten einer Individualisierung für den Benutzer ersetzt werden sollen, beispielsweise im Rahmen einer Ersetzung von Werbeclips des linearen Fernsehprogramms (das durch den ersten Encoder bereitgestellt wird) mit anderen Werbeclips von gleicher Gesamtzeitdauer (die durch den zweiten Encoder bereitgestellt werden), so werden dem Medienstream anstatt der ursprünglich vorgesehenen weiteren ersten Mediendateien die vom zweiten Encoder bereitgestellten zweiten Mediendateien 108 und 110 hinzugefügt. Da die zweiten Mediendateien mit denselben Initialisierungsparametern encodiert wurden wie auch die ersten Mediendateien, ist keine erneute Initialisierung des Decoders und keine Bereitstellung eines neuen Initialisierungssegments erforderlich. Im Anschluss an die Wiedergabe der (individualisierten) zweiten Mediendateien kann sodann die Wiedergabe der ersten Mediendateien fortgesetzt werden, wofür dem Medienstream weitere erste Mediendateien 112 und 114 hinzugefügt werden.
  • Für die Encodierung der zweiten Mediendateien kann zunächst die Anpassung und/oder Erzeugung des zweiten Encoders erforderlich sein. Sofern bereits ein zweiter Encoder als Software-Encoder vorhanden ist und die extrahierten Initialisierungsparameter lediglich in extern sichtbaren und/oder internen konfigurierbaren Parameter von den Parametern des bereits vorhandenen zweiten Encoders abweichen, kann eine Anpassung ohne erneute Kompilierung des zweiten Encoders ausreichend sein. Weichen die extrahierten Initialisierungsparameter hingegen auch in den internen nicht-konfigurierbaren Parametern von den Parametern des bereits existierenden zweiten Encoders ab, kann eine Erstellung eines neuen zweiten Encoders vorteilhaft oder gar notwendig sein, welche eine Neu-Kompilierung des zweiten Encoders umfasst.
  • Im Folgenden werden anhand von Beispielen das Internet-Streaming von linearen Fernsehsendern mit dynamischen Werbe-Einblendungen gemäß einem herkömmlichen Verfahren mit einem Verfahren gemäß einer bevorzugten Ausführungsform der Erfindung verglichen, wobei die Erfindung nicht auf die erläuterten bevorzugten Ausführungsformen beschränkt ist.
  • Internet-Streaming von linearen Fernsehsendern gemäß dem Stand der Technik
  • Ein Server stellt den Endgeräten bzw. Clients eine spezifisch formatierte Liste von Mediendateien zur Verfügung, welche typischerweise als Playlist und/oder Manifest bezeichnet wird. Der Medienstream bzw. das Manifest beinhaltet ein Initialisierungssegment, das sich für die bloße Wiedergabe eines linearen Fernsehprogramms (ohne Individualisierung) über die Zeit nicht ändert. Dieses Initialisierungssegment beinhaltet Initialisierungsparameter, um einen Decoder im Endgerät zu initialisieren. Im Falle von Mediendateien in Form von Videodateien können diese zum Beispiel die horizontale und vertikale Auflösung des Videos in Pixeln, im Falle von Audio zum Beispiel die Anzahl der Kanäle (Mono/Stereo) umfassen. Weiterhin enthält der Medienstream eine Mehrzahl von Mediensegmenten bzw. Mediendateien. Dies sind Dateien, die die wiederzugebenden Inhalte beinhalten, wie etwa komprimierte (encodierte) Video- und/oder Audioinhalte, beispielsweise den eigentlichen Inhalt des Fernsehsenders aus der jüngsten Vergangenheit. Jede Mediendatei enthält in seiner Datenstruktur auch einen Zeitstempel, der den Zeitpunkt der Darstellung repräsentiert. Die Zeitangaben können dabei relativ zueinander oder zu einem vorbestimmten Zeitpunkt sein, wie etwa dem Zeitpunkt des Beginns der Wiedergabe. Mit Fortschreiten der Zeit wird das Manifest fortlaufend geändert: Wenn eine neue Mediendatei zur Verfügung steht, wird diese an das Ende der Liste hinzugefügt und die älteste Mediendatei, die bereits wiedergegeben wurde, entfernt.
  • Als Beispiel: Der Server stellt Mediendateien zur Verfügung, die jeweils fünf Sekunden Video enthalten. Zum Zeitpunkt t könnte der Medienstream die folgenden Elemente beinhalten:
    • - ein Initialisierungssegment
    • - eine Mediendatei mit Startpunkt t - 27s und Dauer 5s
    • - eine Mediendatei mit Startpunkt t - 22s und Dauer 5s
    • - eine Mediendatei mit Startpunkt t - 17s und Dauer 5s
    • - eine Mediendatei mit Startpunkt t - 12s und Dauer 5s
    • - eine Mediendatei mit Startpunkt t - 7s und Dauer 5s (Liste 1)
  • Das nächstfolgende Segment bzw. die nächstfolgende Mediendatei (t - 2s) steht für die Endgeräte noch nicht zur Verfügung, da es beispielsweise gerade auf dem Server mit Sendematerial gefüllt wird. Zehn Sekunden später, also zum Zeitpunkt t + 10s wäre die Liste um zwei Segmente fortgeschritten:
    • - Initialisierungssegment
    • - Mediendatei mit Startpunkt t - 17s und Dauer 5s
    • - Mediendatei mit Startpunkt t - 12s und Dauer 5s
    • - Mediendatei mit Startpunkt t - 7s und Dauer 5s
    • - Mediendatei mit Startpunkt t - 2s und Dauer 5s
    • - Mediendatei mit Startpunkt t + 3s und Dauer 5s (Liste 2)
  • Will ein Endgerät diesen Medienstream wiedergeben, geht es wie folgt vor:
    • 1) Es lädt sich die Liste bzw. das Manifest vom Server
    • 2) Es lädt das im Manifest referenzierte Initialisierungsegment, um seinen Decoder (Umwandler der komprimierten Audio/Video-Daten in darstellbare Bilder und Töne) zu initialisieren.
    • 3) Es lädt eine aktuelle Mediendatei und übergibt sie seinem Decoder
    • 4) Es lädt die Liste erneut, prüft auf einen neuen Eintrag und wiederholt ab Punkt 3).
  • Mit diesem Verfahren kann eine lineares Fernsehprogramm über ein Computernetzwerk als Medienstream bereitgestellt werden. Dieses Verfahren sieht jedoch keine Möglichkeit der Individualisierung des Medienstreams für den jeweiligen Benutzer vor.
  • Dynamische Werbe-Einblendung in linearem Strom gemäß Stand der Technik
  • Gemäß diesem Beispiel aus dem Stand der Technik hat der Streamingserver die im vorherigen Beispiel beschriebene Funktionsweise. Zusätzlich weiß der Server, dass der lineare Sender vom Zeitpunkt t bis zum Zeitpunkt t + 10s eine Werbung mit mehreren Werbeclips ausstrahlt und möchte diese durch eine an das Endgerät bzw. Benutzer gebundene, individualisierte Werbung ersetzen. In diesem Falle würde die Liste zum Zeitpunkt t noch aussehen wie oben in Liste 1, zum Zeitpunkt t+10s würde die Liste aber wie folgt lauten:
    • - Initialisierungssegment des linearen Sender
    • - Mediendatei mit Startpunkt t - 17s und Dauer 5s
    • - Mediendatei mit Startpunkt t - 12s und Dauer 5s
    • - Mediendatei mit Startpunkt t - 7s und Dauer 5s
    • - Mediendatei mit Startpunkt t - 2s und Dauer 2s
    • - Initialisierungssegment der Werbung
    • - Mediendatei der Werbung mit Startpunkt 0s und Dauer 5s
    • - Mediendatei der Werbung mit Startpunkt 5s und Dauer 5s (Liste 3) und bei einem weiteren Fortschreiten der Zeit um zehn Sekunden auf t + 20s würden wieder neue Segmente des linearen Senders an die Liste angefügt werden.
    • - Initialisierungssegment des linearen Sender
    • - Mediendatei mit Startpunkt t - 7s und Dauer 5s
    • - Mediendatei mit Startpunkt t - 2s und Dauer 2s
    • - Initialisierungssegment der Werbung
    • - Mediendatei der Werbung mit Startpunkt 0s und Dauer 5s
    • - Mediendatei der Werbung mit Startpunkt 5s und Dauer 5s
    • - Initialisierungssegment des linearen Sender
    • - Mediendatei mit Startpunkt t + 10s und Dauer 3s
    • - Mediendatei mit Startpunkt t + 13s und Dauer 5s
  • (Liste 4)
  • Diese Vorgehensweise benötigt allerdings eine erweiterte Funktionalität des Endgeräts. Ein Initialisierungssegment ist bei diesem Verfahren nicht mehr dauerhaft gültig. Vielmehr muss in diesem Fall ein neues Initialisierungssegment für die Werbung übergeben werden, mittels welchem der Decoder für die Decodierung der Werbungs-Mediendateien initialisierbar ist. Erscheint in der Liste ein neues Initialisierungssegment, so müssen nach Abspielen der vorherigen Mediendateien und vor Abspielen der folgenden (Werbungs-) Mediendatei der bzw. die Decoder für Audio und Video neu initialisiert werden. Dies benötigt in der Regel ein vorheriges Deaktivieren der Decoder und kann zu einer unerwünschten Unterbrechung in der Darstellung führen.
  • Beispiel für ein Verfahren zur Erstellung eines Medienstreams gemäß einer bevorzugten Ausführungsform der Erfindung
  • Im Folgenden wird ein beispielhaftes Verfahren gemäß einer bevorzugten Ausführungsform der Erfindung beschrieben, bei welchem das Initialisierungssegment dauerhaft gültig bleibt. Dies bietet den Vorteil, dass das Endgerät keine erweiterte Funktionalität zu seiner Aktualisierung benötigt. Auch kann dadurch eine Unterbrechung der Darstellung beim Wechsel der Inhalte vermieden werden.
  • Ausgangspunkt für dieses Beispiel ist die oben dargestellte Liste 1 zum Zeitpunkt t. Die Liste stellt sich zum Zeitpunkt t + 10s sodann wie folgt dar:
    • - Initialisierungssegment des linearen Sender
    • - Mediendatei mit Startpunkt t - 17s und Dauer 5s
    • - Mediendatei mit Startpunkt t - 12s und Dauer 5s
    • - Mediendatei mit Startpunkt t - 7s und Dauer 5s
    • - Mediendatei mit Startpunkt t - 2s und Dauer 2s
    • - Mediendatei mit Startpunkt t und Dauer 5s
    • - Mediendatei mit Startpunkt t + 5s und Dauer 5s (Liste 5)
  • Zum Zeitpunkt t+20s stellt sich die Liste wie folgt dar:
    • - Initialisierungssegment des linearen Sender
    • - Mediendatei mit Startpunkt t - 7s und Dauer 5s
    • - Mediendatei mit Startpunkt t - 2s und Dauer 2s
    • - Mediendatei mit Startpunkt t und Dauer 5s
    • - Mediendatei mit Startpunkt t + 5s und Dauer 5s
    • - Mediendatei mit Startpunkt t + 10s und Dauer 3s
    • - Mediendatei mit Startpunkt t + 13s und Dauer 5s (Liste 6)
  • Die Erstellung eines derartigen Medienstreams ist durch ein erfindungsgemäßes Verfahren gemäß einer bevorzugten Ausführungsform möglich. Im Gegensatz zum Stand der Technik weist das Verfahren die folgenden Funktionalitäten auf:
  • Auslieferung der Mediendateien: Wenn ein Endgerät „Mediendatei mit Startpunkt t“ oder „Mediendatei mit Startpunkt t+5s“ anfordert, übergibt der Server stattdessen die im Rahmen der Individualisierung für das Endgerät bestimmte Mediendatei der Werbung.
  • Manipulation der Mediendateien: Wenn ein Endgerät „Mediendatei mit Startpunkt t“ oder „Mediendatei mit Startpunkt t+5s“ anfordert, passt der Server vor Auslieferung den Startpunkt (Zeitstempel) in der Mediendatei der Werbung an, im Beispiel von 0s auf t oder von 5s auf t + 5s .
  • Kompatibilität zwischen linearem Sender und Endgeräte-gebundener Werbung: Gemäß diesem Verfahren ist sichergestellt, dass die (zweiten) Mediendateien der Werbung mit dem Initialisierungssegment des ersten Encoders, welcher das lineare Fernsehprogramm bereitstellt, abspielbar sind. Dazu erfolgt eine Anpassung des Video-Encodings (Erzeugung komprimierten Videos aus unkomprimierten Bildern) der Werbung an das Encoding des Broadcasts gemäß einem erfindungsgemäßen Verfahren.
  • Ein typisches Initialisierungssegment eines Video-Codecs enthält etwa 50 verschiedene Parameter, die im vorliegenden Fall für die ersten und zweiten Mediendateien, d.h. für die Mediendateien des linearen Fernsehprogramms und für die zweiten Mediendateien der indivdualisierten Werbung gleich sein sollen, um die gewünschte Kompatibilität im Decoder zu erreichen. Das Encoding des Broadcasts (d.h. des linearen Fernsehprogramms) wird in der Regel von einem ersten Encoder übernommen, der als Hardware-Encoder ausgebildet ist (Appliance), dessen Parameter nur sehr beschränkt einstellbar sind. Dagegen werden vorzugsweise die Werbungs-Mediendateien statisch hinterlegt und die Inhalte, d.h. die Werbefilme, mittels eines zweiten Encoders, vorzugsweise per Software-Encoder, verarbeitet. Der zweite Encoder wird gemäß diesem derart angepasst oder neu erzeugt, dass er die gleichen Parameter erzeugt wie der Hardware-Encoder für den Broadcast, was im folgenden beispielhaft erläutert wird.
  • Erstellen eines Medienstreams
  • Für die Erstellung des Medienstreams werden zunächst die vom Hardware-Encoder (erster Encoder) erzeugten Initialisierungsparameter aus dem Initialisierungssegment des vom ersten Encoder linearen Stroms bzw. Medienstreams extrahiert. Dazu ist die Kenntnis des Segment-Formats vorteilhaft. Typischweise liegt der Medienstream im Standard „mp4“ vor, welcher auch das Segment-Format vorgibt. Aus dem Initialisierungssegment wird sodann ein Datenblock extrahiert, der die Initialisierungsparameter enthält.
  • Der extrahierte Datenblock ist ein komprimierter Bitstrom, in dem die Parameter mit zum Teil variablen Bit-Längen abgelegt sind. Um diesen Bitstrom gemäß der Syntax und Semantik des entsprechenden Video-Standards zu interpretieren. Typischerweise werden die Videostandards H.264/AVC und H.265/HEVC verwendet. Das Auslesen der Initialisierungsparameter aus dem Bitstrom kann mittels geeigneter Software erfolgen. Bei Bedarf können die extrahierten Initialisierungsparameter in für Menschen lesbarer Form dargestellt werden. Die Initialisierungsparameter können Parameter umfassen, die in drei Klassen eingeteilt werden können und im Folgenden nach aufsteigendem Aufwand der Anpassung beschrieben werden:
    • Extern sichtbare Parameter: Dies sind Parameter, die Eigenschaften des Videostroms an sich - unabhängig vom verwendeten Video-Standard - beschreiben.
  • Die Parameter umfassen beispielsweise:
    • - die horizontale und vertikale Auflösung des Videos in Pixeln und Angaben darüber, wie viel geringer die Farbauflösung ist (sogenanntes Chroma-Subsampling)
    • - Die Bildwiederholrate in Hz
    • - Darstellung im Zeilensprungverfahren (interlaced) oder progressiv
    • - Farbtiefe bzw. Bits pro Pixel
  • Die Semantik dieser Parameter ist in den Video-Standards allerdings in der Regel komplexer. Als Beispiel wird die horizontale Auflösung des Videos im Standard H.264/AVC dargestellt durch den Wert „pic_width_in_mbs_minus1 : 119“, was man ausschreiben könnte als „Bildbreite in Macroblöcken minus eins“. Mit dem Wissen, dass ein typischerweise Macroblock 16 x 16 Pixel groß ist, käme man auf eine horizontale Auflösung von (119 + 1) x 16, also 1920 Pixeln.
  • Interne konfigurierbare Parameter: Diese Parameter legen bestimmte Kompressions-Werkzeuge fest, die Encoder eines bestimmten Video-Standards verwenden können. Die Konfiguration stellt dabei in der Regel einen Trade-Off dar: Höhere Kompressionsraten werden mit höherem Rechenaufwand auf En- und Decoder-Seite erkauft. Der wesentlichste Parameter davon ist das „Profil“, das ganze Gruppen von Kompressions-Werkzeugen erlaubt oder verbietet. Weitere Beispiele sind:
    • - Anzahl der Referenzbilder. Der Encoder nimmt eine Bewegungsschätzung vor, in dem er Bildblöcke im aktuellen Bild in vorigen Bildern sucht und die Verschiebung als Bewegungsvektor im Videostrom speichert. Die Anzahl dieser vorigen Bilder muss übertragen werden, da der Decoder die gleiche Anzahl an vorigen Bildern im Speicher vorhalten muss, um die Bildblöcke zur Rekonstruktion des aktuellen Bildes kopieren zu können.
    • - Blockgrößen der Frequenztransformationen. Bildblöcke werden per diskreter Cosinus- Transformation oder ähnlichen Verfahren in Frequenzspektren umgewandelt, um hohe Frequenzanteile stärker komprimieren zu können. Die möglichen Blockgrößen dieser Transformationen sind einstellbar.
  • Interne nicht-konfigurierbare Parameter: Diese Parameter müssen zwar vom Enzum Decoder übertragen werden, haben aber oftmals keinen relevanten Einfluss auf die Kompressionsrate und können deswegen in der Regel nicht vom Nutzer eines Encoders konfiguriert werden. Beispiele sind:
    • - Bildnumerierungsverfahren: H.264/AVC definiert drei verschiedene Verfahren, wie Bilder intern nummeriert werden. Diese Nummerierung dient zur Identifikation der Referenzbilder und im Decoder zur Anzeige der dekodierten Bilder in der richtigen Reihenfolge - denn die Reihenfolge komprimierter Bilder im Bitstrom muss nicht der Reihenfolge der Anzeige im Endgerät entsprechen.
    • - Bitbreite der Bildnummern: Es wird festgelegt, wie viele Bits im Datenstrom eines komprimierten Bildes für seine Nummerierung verwendet werden. Da dieser Datenstrom ein Bitstrom mit teilweise variabel langen Elementen ist, würde ein Abweichen dieser Bitbreite zwischen En- und Decoder den Datenstrom auf Decoder-Seite bereits unlesbar machen.
  • Um die „extern sichtbaren“ und die „internen konfigurierbaren“ Parameter im Werbe-Encoding auf den linearen Strom anzupassen, können die entsprechenden Parameter im zweiten Encoder konfiguriert werden, wobei der zweite Encoder als ein Software-Encoder ausgebildet ist und typischerweise für die Anpassung des Software-Encoders keine Neu-Kompilation des Encoders erforderlich ist. Für die Einstellung bzw. Änderung von internen nicht-konfigurierbaren Parameter muss jedoch in vielen Fällen der Quelltext des Encoders geändert werden, was einen in Software-implementierten Encoder und ein Vorhandensein erfordert. Beispielsweise kann das Verfahren zur Bildnummerierung und Berechnung der nötigen Bitbreiten im Quelltext des Software-Encoders angepasst werden und aus diesem ein entsprechender angepasster Encoder kompiliert und erzeugt werden.
  • Bezugszeichenliste
  • 10
    Anordnung zur Durchführung eines Verfahrens zur automatisierten Anpassung und/oder Erzeugung eines Encoders und zur Erstellung eines Medienstreams
    12
    erster Encoder
    14
    zweiter Encoder
    16
    Signalquelle
    100
    Medienstream
    102
    Initialisierungssegment
    104 - 114
    Mediendateien
    202 - 206
    Medienelemente

Claims (16)

  1. Verfahren zur automatisierten Anpassung und/oder Erzeugung eines Encoders (14) für Mediendateien (108, 110) mit einer vorbestimmten Encodierung, das Verfahren umfassend: - Ermitteln eines Initialisierungssegments (102), welches Initialisierungsparameter für die Decodierung von Mediendateien (108, 110) mit der vorbestimmten Encodierung enthält; - Extrahieren zumindest eines Teils der Initialisierungsparameter aus dem Initialisierungssegment (102); - Erzeugen eines Encoders (14) und/oder Anpassen eines bestehenden Encoders (14) anhand der extrahierten Initialisierungsparameter derart, dass der erzeugte und/oder angepasste Encoder (14) zum Encodieren von Mediendateien (108, 110) derart geeignet ist, dass die encodierten Mediendateien unter Verwendung der Initialisierungsparameter des Initialisierungssegments (102) decodierbar sind, - wobei das Erzeugen eines Encoders (14) ein Kompilieren des Encoders (14) umfasst.
  2. Verfahren gemäß Anspruch 1, wobei das Anpassen eines bestehenden Encoders (14) ein Hinzufügen und/oder Konfigurieren und/oder Entfernen von im Encoder hinterlegten Parametern umfasst, wobei das Anpassen des bestehenden Encoders (14) vorzugsweise ohne eine Notwendigkeit einer erneuten Kompilierung des Encoders (14) erfolgt.
  3. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei der angepasste und/oder erzeugte Encoder (14) als ein Computerprogramm ausgebildet ist.
  4. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei die Initialisierungsparameter extern sichtbare Parameter und/oder interne konfigurierbare Parameter und/oder interne nicht konfigurierbare Parameter umfassen.
  5. Verfahren gemäß Anspruch 4, wobei die Mediendateien (108, 110) Videodateien umfassen oder als solche ausgebildet sind und einen oder mehrere der folgenden extern sichtbaren Parameter umfassen: - eine horizontale und/oder vertikale Auflösung des Videos; - eine Angabe über eine Farbauflösung des Videos; - eine Bildwiederholrate; - eine Angabe eines verwendeten Zeilensprungverfahrens; - eine Angabe über eine Farbtiefe des Videos.
  6. Verfahren gemäß Anspruch 4 oder 5, wobei die Mediendateien (108, 110) Videodateien umfassen oder als solche ausgebildet sind und einen oder mehrere der folgenden internen konfigurierbaren Parameter umfassen: - eine Angabe über die Anzahl der Referenzbilder; - eine Angabe über Blockgrößen einer Frequenztransformation.
  7. Verfahren gemäß einem der Ansprüche 4 bis 6, wobei die Mediendateien (108, 110) Videodateien umfassen oder als solche ausgebildet sind und einen oder mehrere der folgenden internen nicht-konfigurierbaren Parameter umfassen: - eine Angabe zum Bildnumerierungsverfahren; - eine Angabe zur Bitbreite der Bildnummern.
  8. Verfahren gemäß einem der Ansprüchen 4 bis 6, wobei das Anpassen eines bestehenden Encoders (14) anhand der externen sichtbaren Parameter und/oder der internen konfigurierbaren Parameter der extrahierten Initialisierungsparameter erfolgt; und/oder wobei das Erzeugen eines Encoders (14) anhand der externen sichtbaren Parameter und/oder der internen konfigurierbaren Parameter und/oder der internen nicht-konfigurierbaren Parameter der extrahierten Initialisierungsparameter erfolgt.
  9. Verfahren zur Erstellung eines Medienstreams (100) mit einer vorbestimmten Encodierung unter Verwendung eines ersten Encoders (12) und eines zweiten Encoders (14), das Verfahren umfassend: - Bereitstellen eines Initialisierungssegments (102) durch den ersten Encoder (12), wobei das Initialisierungssegment (102) einen oder mehrere Initialisierungsparameter für die Decodierung von Mediendateien (104, ..., 114) mit der vorbestimmten Encodierung enthält; - Bereitstellen einer oder mehrerer erster Mediendateien (104, 106, 112, 114), welche mittels des ersten Encoders (12) encodiert und unter Verwendung des einen oder der mehreren Initialisierungsparameter decodierbar sind; - Bereitstellen einer oder mehrerer zweiter Mediendateien (108, 110), welche mittels des zweiten Encoders (14) derart encodiert sind, dass die eine oder die mehreren zweiten Mediendateien (108, 110) unter Verwendung des einen oder der mehreren Initialisierungsparameter decodierbar sind, wobei ein Erzeugen des zweiten Encoders (14) ein Kompilieren des zweiten Encoders (14) umfasst; - Erstellen eines Medienstreams (100) aus den ersten und zweiten Mediendateien (104, ..., 114).
  10. Verfahren gemäß Anspruch 9, wobei die ersten Mediendateien (104, 106, 112, 114) mittels des ersten Encoders (12) fortlaufend encodiert werden und wobei die zweiten Mediendateien (108, 110) durch den zweiten Encoder (14) bereits vorab encodiert wurden.
  11. Verfahren gemäß Anspruch 9 oder 10, wobei das Erstellen des Medienstreams (100) durch ein zeitliches Aneinanderreihen der ersten und zweiten Mediendateien (104, 106, 112, 114) zu einem linearen Medienstream (100) erfolgt oder ein solches umfasst.
  12. Verfahren gemäß Anspruch 11, wobei die Mediendateien (104, 106, 112, 114) des linearen Medienstreams jeweils mit einem Zeitstempel versehen sind, wobei die Zeitstempel der Mediendateien des linearen Medienstreams (104, 106, 112, 114) eine fortlaufende Reihenfolge der Mediendateien festlegen.
  13. Verfahren gemäß einem der Ansprüche 9 bis 12, ferner umfassend: - Versehen der einen oder mehreren zweiten Mediendateien (108, 110) mit jeweils einem Zeitstempel derart, dass die eine oder die mehreren zweiten Mediendateien (108, 110) im Medienstream (100) für die Wiedergabe zu einem vorbestimmten Zeitpunkt vorgesehen werden.
  14. Verfahren gemäß Anspruch 13, wobei die eine oder die mehreren zweiten Mediendateien (108, 110) zumindest hinsichtlich ihrer Wiedergabedauer und ihres Zeitstempels derart bereitgestellt werden, dass der resultierende Medienstream (100) unterbrechungsfrei wiedergebbar ist.
  15. Recheneinheit, die dazu eingerichtet ist, ein Verfahren gemäß einem der vorhergehenden Ansprüche durchzuführen.
  16. Computerprogrammprodukt, umfassend computerlesbare Anweisungen, welche, wenn geladen in einen Speicher eines Computers und ausgeführt von dem Computer, bewirken, dass der Computer ein Verfahren nach einem der Ansprüche 1 bis 14 ausführt.
DE102020106101.3A 2020-03-06 2020-03-06 Verfahren zur automatisierten Anpassung und/oder Erzeugung eines Encoders und/oder zur Erstellung eines Medienstreams, Recheneinheit und Computerprogrammprodukt Active DE102020106101B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102020106101.3A DE102020106101B4 (de) 2020-03-06 2020-03-06 Verfahren zur automatisierten Anpassung und/oder Erzeugung eines Encoders und/oder zur Erstellung eines Medienstreams, Recheneinheit und Computerprogrammprodukt

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020106101.3A DE102020106101B4 (de) 2020-03-06 2020-03-06 Verfahren zur automatisierten Anpassung und/oder Erzeugung eines Encoders und/oder zur Erstellung eines Medienstreams, Recheneinheit und Computerprogrammprodukt

Publications (2)

Publication Number Publication Date
DE102020106101A1 DE102020106101A1 (de) 2021-09-09
DE102020106101B4 true DE102020106101B4 (de) 2022-03-10

Family

ID=77388681

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020106101.3A Active DE102020106101B4 (de) 2020-03-06 2020-03-06 Verfahren zur automatisierten Anpassung und/oder Erzeugung eines Encoders und/oder zur Erstellung eines Medienstreams, Recheneinheit und Computerprogrammprodukt

Country Status (1)

Country Link
DE (1) DE102020106101B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117395434B (zh) * 2023-12-07 2024-03-26 西安芯云半导体技术有限公司 硬件编解码调试方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160057465A1 (en) 2014-08-19 2016-02-25 At&T Intellectual Property L, L.P. Extracting data from advertisement files for ad insertion
US20190141367A1 (en) 2016-12-31 2019-05-09 Turner Broadcasting Systems, Inc. Publishing a disparate per-client live media output stream based on dynamic insertion of targeted non-programming content and customized programming content

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160057465A1 (en) 2014-08-19 2016-02-25 At&T Intellectual Property L, L.P. Extracting data from advertisement files for ad insertion
US20190141367A1 (en) 2016-12-31 2019-05-09 Turner Broadcasting Systems, Inc. Publishing a disparate per-client live media output stream based on dynamic insertion of targeted non-programming content and customized programming content

Also Published As

Publication number Publication date
DE102020106101A1 (de) 2021-09-09

Similar Documents

Publication Publication Date Title
DE69935342T2 (de) Sicheres Informationsverteilungssystem unter Verwendung von Segmentverschlüsselung
DE69734117T2 (de) Integriertes System für interaktives Video und Internet
DE69917971T2 (de) Verfahren und Vorrichtung zur Verarbeitung von komprimierten Videodatenströmen
DE112013003835B4 (de) Verfahren und Vorrichtung zum Verarbeiten eines digitalen Dienstsignals
DE60104013T2 (de) Transkodierung von progressiv-kodierten i-slice-aufgefrischten mpeg datenströmen für trickmodi
DE112016001646T5 (de) Verarbeiten und bereitstellen eines bildes, in dem mehrere symbole codiert sind
DE10392598T5 (de) Unterstützung von fortschrittlichen Codierungsformaten in Mediendateien
DE102005063136B3 (de) Verfahren und Vorrichtung zum Generieren eines markierten Datenstroms, Verfahren und Vorrichtung zum Einfügen eines Wasserzeichens in einen markierten Datenstrom und markierter Datenstrom
DE112014000261T5 (de) Verfahren und Gerät zum Senden und Empfangen eines Übertragungssignals zum Bereitstellen eines Trickmodusdienstes
DE112016004560T5 (de) Gateway Multi-View-Video-Stream-Verarbeitung für Zweitbildschirminhalts-Überlagerung
DE102020106101B4 (de) Verfahren zur automatisierten Anpassung und/oder Erzeugung eines Encoders und/oder zur Erstellung eines Medienstreams, Recheneinheit und Computerprogrammprodukt
DE112016002504T5 (de) Sendevorrichtung und Sendeverfahren und Empfangsvorrichtung und Empfangsverfahren
DE19960295A1 (de) Verfahren und Anordnung zum Ändern des Informationsinhaltes eines digitalen Video-Transportstromes in ausgewählten Regionen
DE60008016T2 (de) Mpeg-4 videospezifisches kontrollpaket zur lieferung von personalisierten kodierungswerkzeugen
DE112016001450T5 (de) Videoinhaltswiedergabe
EP2127382A2 (de) Verfahren und system zum störungsfreien umschalten zwischen programmkanälen in einer videoumgebung
DE10146036B4 (de) Verfahren zur Umwandlung eines Video-und /oder Audio-Datenstromes
DE10139069A1 (de) Verfahren und Anordnung zum regionalen Einblenden von Lokalprogrammen in einem DVB-Gleichwellennetz
DE10333252B4 (de) Vorrichtung und Verfahren zum Transcodieren von komprimierten Daten
DE19717453C2 (de) Verfahren zum Einblenden eines neuen Bildabschnittes an einer vorbestimmten Stelle eines datenreduzierten Video-Datenstromes
WO2008009245A1 (de) Verfahren zur optimierung der umschaltzeiten zwischen verschiedenen kanälen mit komprimiertem digitalem inhalt
DE60120745T2 (de) Verfahren und gerät zur zusammenstellung von videoszenen aus verschiedenartigen daten
DE10208480A1 (de) Verfahren zum Erzeugen und zum Abspielen eines Mediadatenstroms, Vorrichtungen zur Ausführung der Verfahren und Computerprogrammprodukt
AT503668B1 (de) Verfahren und vorrichtung zur darstellung von signalen auf einer anzeigevorrichtung
DE102012112137B4 (de) Multimediastrom-Verwürfelungsvorrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final