DE102022120724A1 - Verfahren und Vorrichtungen zum Erzeugen einer Bitraten-Leiter für Videostreaming - Google Patents

Verfahren und Vorrichtungen zum Erzeugen einer Bitraten-Leiter für Videostreaming Download PDF

Info

Publication number
DE102022120724A1
DE102022120724A1 DE102022120724.2A DE102022120724A DE102022120724A1 DE 102022120724 A1 DE102022120724 A1 DE 102022120724A1 DE 102022120724 A DE102022120724 A DE 102022120724A DE 102022120724 A1 DE102022120724 A1 DE 102022120724A1
Authority
DE
Germany
Prior art keywords
quality
bit rate
resolution
support points
generating
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
DE102022120724.2A
Other languages
English (en)
Inventor
Matthias Narroschke
Andreas Kah
Maurice Klein
Wolfgang Ruppel
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.)
Hochschule Rheinmain Koerperschaft Des Oeffentlichen Rechts
Original Assignee
Hochschule Rheinmain Koerperschaft Des Oeffentlichen Rechts
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 Hochschule Rheinmain Koerperschaft Des Oeffentlichen Rechts filed Critical Hochschule Rheinmain Koerperschaft Des Oeffentlichen Rechts
Priority to DE102022120724.2A priority Critical patent/DE102022120724A1/de
Priority to PCT/EP2023/072400 priority patent/WO2024038019A1/de
Publication of DE102022120724A1 publication Critical patent/DE102022120724A1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Die vorliegende Erfindung betrifft Verfahren und Vorrichtungen zum Erzeugen einer Bitraten-Leiter zum Codieren von Repräsentationen eines Videoabschnitts. Das Erzeugen beinhaltet das Generieren eines Satzes von Stützstellen, wobei eine Stützstelle eine Qualität einer Repräsentation basierend auf Bitrate und Auflösung angibt. Eine Teilmenge von Stützstellen wird unter der Berücksichtigung von Qualitätsvorgaben zur Erzeugung der Bitraten-Leiter ausgewählt.

Description

  • Die vorliegende Erfindung betrifft Verfahren und Vorrichtungen zum Erzeugen einer Bitraten-Leiter zum Codieren von Repräsentationen eines Videoabschnitts.
  • Bei der Übertragung von Videodaten hängt die Qualität des Videos von der Bitrate ab. Die Datenmenge, die notwendig ist, kann so groß sein, dass Schwierigkeiten bei der Datenübertragung über Netzwerke limitierter Bandbreite auftreten können. Beispiele hierfür sind die Ausstrahlung eines digitalen Fernsehprogramms und Bild-/Videoübertragung über das Internet oder mobile Netzwerke.
  • Trotz der üblichen Komprimierung von Bild- bzw. Videodaten, bevor sie gespeichert oder über ein Netzwerk übertragen werden, kann die Datenmenge einer Qualität des Videos oftmals nicht ausreichend für Netzwerke limitierter Bandbreite reduziert werden.
  • Streamingdienste stellen daher üblicherweise mehrere Versionen desselben Videos mit jeweils unterschiedlichen Qualitätsstufen zur Verfügung. Diese unterschiedlichen Versionen desselben Videos werden auch Repräsentationen eines Videos genannt. Sie haben voneinander unterschiedliche Bitraten. Die unterschiedlichen Bitraten werden durch unterschiedliche Einstellungen der Codierparameter beim Encoder erreicht. Beispielsweise kann die Quantisierungsstufenbreite für unterschiedliche Repräsentationen unterschiedlich eingestellt werden. Der Satz an Repräsentationen wird als Bitraten-Leiter bezeichnet.
  • Da die angestrebte Bildqualität möglichst hoch sein sollte, ist es somit erstrebenswert, die Auswahl der Bitrate an die zur Verfügung stehende Bandbreite des Nutzers anzupassen, ohne dabei signifikante Verluste der Bildqualität hinnehmen zu müssen. Es ist somit Aufgabe der vorliegenden Erfindung, eine Bitraten-Leiter effizient zu erzeugen, welche vorbestimmte Qualitätsvorgaben erfüllt.
  • Diese Aufgabe wird durch die unabhängigen Ansprüche gelöst. Die abhängigen Ansprüche definieren vorteilhafte Ausführungsformen.
  • Einige Ausführungen der vorliegenden Erfindung erlauben es, einen Satz an Repräsentationen von Videoabschnitten so zu erstellen, dass der maximale Qualitätsunterschied in einem Qualitätsmaß unter Berücksichtigung der Kosten für Codierung und Speicherung minimiert wird.
  • Die vorliegende Erfindung betrifft gemäß einem ersten Aspekt ein Verfahren zum Erzeugen einer Bitraten-Leiter zum Codieren von Repräsentationen eines Videoabschnitts. Das Verfahren umfasst das Bestimmen eines ersten Satzes an Stützstellen, wobei eine Stützstelle eine Qualität einer Repräsentation basierend auf Bitrate und Auflösung angibt und die Qualität auf einem Vergleich mit einer Originalrepräsentation basiert. Das Verfahren umfasst ferner das Erzeugen eines zweiten Satzes von Stützstellen basierend auf dem ersten Satz an Stützstellen, wobei der zweite Satz mehr Stützstellen enthält als der erste Satz. Des Weiteren umfasst das Verfahren das Auswählen einer Teilmenge an Stützstellen des zweiten Satzes unter der Berücksichtigung von Qualitätsvorgaben zur Erzeugung der Bitraten-Leiter basierend auf der Teilmenge an Stützstellen.
  • Entsprechend einer Ausführungsform der vorliegenden Erfindung kann das Bestimmen des ersten Satzes an Stützstellen die Auswahl eines ersten Gitters an Wertepaaren in einem Bitraten-Auflösungs-Raum, und das Bestimmen von Qualitäten von Repräsentationen an den Wertpaaren des ersten Gitters um einen ersten Satz an Stützstellen zu erhalten, umfassen.
  • In einer Ausführungsform kann das erste Gitter wenigstens die vorbestimmten Wertepaare
    • - maximale Bitrate, maximale Auflösung, und
    • - minimale Bitrate, minimale Auflösung
    enthalten, wobei die minimale Bitrate für die minimale Auflösung unter Berücksichtigung von Qualitätsvorgaben bestimmt wird, die maximale Bitrate für die maximale Auflösung unter Berücksichtigung von Qualitätsvorgaben bestimmt wird, die maximale Auflösung einer Auflösung der Originalrepräsentation entspricht, und die minimale Auflösung einer vorbestimmten Auflösung entspricht, die kleiner ist als die Auflösung der Originalrepräsentation.
  • Zum Beispiel können die Qualitätsvorgaben mindestens zwei Zielqualitätsstufen enthalten, die einer minimalen Zielqualität und einer maximalen Zielqualität entsprechen. Ferner kann eine Qualität einer Repräsentation, welche auf Basis der minimalen Bitrate und der minimalen Auflösung erzeugt wird, die minimale Zielqualität unterschreiten, und eine Qualität einer Repräsentation, welche auf Basis der maximalen Bitrate und der maximalen Auflösung erzeugt wird, die maximale Zielqualität überschreiten.
  • In einer Ausführungsform kann das Erzeugen des zweiten Satzes an Stützstellen ferner das Erzeugen eines zweiten Gitters an Wertepaaren in einem Bitraten-Auflösungs-Raum, welches Wertepaare des ersten Satzes enthält, und das Erzeugen von Qualitäten für die Wertepaare des zweiten Satzes basierend auf den Stützstellen des ersten Satzes umfassen.
  • Gemäß einer Ausführungsform kann das Erzeugen von Qualitäten für die Wertepaare des zweiten Satzes wenigstens eines der folgenden umfassen:
    • - Interpolation der Stützstellen, und/oder
    • - Verarbeitung durch ein neuronales Netzwerk, und/oder
    • - eine Kombination daraus.
  • Zum Beispiel kann die Verarbeitung durch ein neuronales Netzwerk das Erhalten von Stützstellen des ersten Satzes oder einer Interpolation von Stützstellen des ersten Satzes als Eingangsdaten, und das Erzeugung von Ausgangsdaten umfassend Verarbeiten der Eingangsdaten durch ein oder mehrere Schichten des neuronalen Netzwerks umfassen.
  • In einer Ausführungsform können Ausgangsdaten des neuronalen Netzwerks durch Filterung der Ausgangsdaten um Monotonie-Bedingungen einzuhalten, und/oder Begrenzung des Wertebereichs der prädizierten Qualitäten verarbeitet werden.
  • Zum Beispiel können die Qualitätsvorgaben mindestens zwei Zielqualitätsstufen enthalten, die einer minimalen Zielqualität und einer maximalen Zielqualität entsprechen. Ferner kann das das Auswählen der Teilmenge an Stützstellen für jede Zielqualitätsstufe aus den Qualitätsvorgaben die Bestimmung einer Bitrate für eine Bitratenvorgabe eines Encoders umfassen. Des Weiteren kann die Bestimmung der einer Bitrate für eine Bitratenvorgabe die Bestimmung einer Bitrate für jede Auflösung, deren zugehörige prädizierte Qualität die Qualitätsvorgaben für die jeweilige Zielqualitätsstufe erfüllt, und die Auswahl der minimalen Bitrate aus den bestimmten Bitraten als Bitratenvorgabe umfassen.
  • In einer Ausführungsform kann die Bestimmung der Bitrate für die Bitratenvorgabe eine Interpolation auf Basis der Stützstellen des zweiten Satzes umfassen.
  • Zum Beispiel kann das Auswählen der Teilmenge an Stützstellen das Erzeugen einer Repräsentation umfassend Codieren des Videoabschnitts mit der jeweiligen Bitratenvorgabe für jede Zielqualitätsstufe aus den Qualitätsvorgaben umfassen.
  • In einer Ausführungsform kann das Verfahren ferner die Bestimmung einer Qualität der erzeugten Repräsentation und das Vergleichen der bestimmten Qualität mit den Qualitätsvorgaben umfassen. Wenn die bestimmte Qualität die Qualitätsvorgaben einhält, kann das Verfahren ferner die Aufnahme der Repräsentation in die Bitraten-Leiter umfassen. Wenn die bestimmte Qualität die Qualitätsvorgaben nicht einhält, kann das Verfahren ferner die Bestimmung einer neuen Repräsentation basierend auf einer neuen Bitratenvorgabe umfassen.
  • Die vorliegende Erfindung betrifft ferner gemäß einem zweiten Aspekt ein Verfahren zum Codieren von Repräsentationen eines Videoabschnitts. Das Verfahren umfasst das oben erwähnte Erzeugen einer Bitraten-Leiter, wobei die Bitraten-Leiter zwei oder mehrere Qualitätsstufen enthält. Das Verfahren umfasst ferner für jede der Qualitätsstufen der Bitraten-Leiter das Erzeugen einer Repräsentation, wobei das Erzeugen der Repräsentation das Codieren des Videoabschnitts gemäß der jeweiligen Qualitätsstufe umfasst.
  • Gemäß einer vorteilhaften Ausführungsform wird ein Computerprogramm breitgestellt, welches Programmanweisungen umfasst, die auf einem nicht-übertragbaren, computerlesbaren Medium gespeichert sind, und die, wenn sie auf einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, die Schritte eines der oben erwähnten Verfahren durchzuführen.
  • Die vorliegende Erfindung betrifft ferner gemäß einem dritten Aspekt eine Vorrichtung zum Erzeugen einer Bitraten-Leiter zum Codieren von Repräsentationen eines Videoabschnitts. Die Vorrichtung umfasst eine Einheit zum Bestimmen eines ersten Satzes an Stützstellen, wobei eine Stützstelle eine Qualität einer Repräsentation basierend auf Bitrate und Auflösung angibt und die Qualität auf einem Vergleich mit einer Originalrepräsentation basiert. Die Vorrichtung umfasst ferner eine Einheit zum Erzeugen eines zweiten Satzes von Stützstellen basierend auf dem ersten Satz an Stützstellen, wobei der zweite Satz mehr Stützstellen enthält als der erste Satz. Des Weiteren umfasst die Vorrichtung eine Einheit zum Auswählen einer Teilmenge an Stützstellen des zweiten Satzes unter der Berücksichtigung von Qualitätsvorgaben zur Erzeugung der Bitraten-Leiter basierend auf der Teilmenge an Stützstellen.
  • Die vorliegende Erfindung betrifft ferner gemäß einem vierten Aspekt eine Vorrichtung zum Codieren von Repräsentationen eines Videoabschnitts. Die Vorrichtung umfasst eine oben erwähnte Vorrichtung zum Erzeugen einer Bitraten-Leiter. Die Vorrichtung umfasst ferner eine Einheit um für jede der Qualitätsstufen der Bitraten-Leiter eine Repräsentation zu erzeugen, wobei das Erzeugen der Repräsentation das Codieren des Videoabschnitts gemäß der jeweiligen Qualitätsstufe umfasst.
  • Zusätzliche Vorteile und Vorzüge der vorliegenden Erfindung ergeben sich aus der detaillierten Beschreibung einer bevorzugten Ausführungsform und den Zeichnungen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
    • 1 zeigt ein Blockdiagram einer beispielhaften Vorrichtung zum Bestimmen einer Bitraten-Leiter.
    • 2 zeigt exemplarische Beziehungen zwischen Bitrate und Qualität.
    • 3 zeigt Beispiele für Qualitätsverlust und maximalen Qualitätsverlust in einem Qualitäts-Bitraten-Diagramm.
    • 4 zeigt eine beispielhafte Einteilung in Qualitätsstufen.
    • 5 zeigt eine beispielhafte Bestimmung der maximalen Qualitätsstufe.
    • 6 zeigt Beispiele für die Akzeptanzrate und die VMAF-Bewertung für Videoabschnitte länger als 30 Sekunden.
    • 7 zeigt Beispiele für die Akzeptanzrate und die VMAF-Bewertung für Videoabschnitte kürzer als 30 Sekunden.
    • 8 zeigt die ermittelte Abhängigkeit zwischen MOS und VMAF-Bewertung.
    • 9 zeigt eine exemplarische Unterteilung in Qualitätsstufen anhand der VMAF-Bewertung.
    • 10 zeigt ein exemplarisches Blockdiagramm eines Skalierers und Encoders.
    • 11 zeigt ein beispielhaftes Flussdiagramm zur Erzeugung einer Bitraten-Leiter.
    • 12 zeigt ein beispielhaftes Flussdiagramm zur Ermittlung eines ersten Satzes an Stützstellen.
    • 13 zeigt ein beispielhaftes Flussdiagramm zur Ermittlung eines zweiten Satzes an Stützstellen.
    • 14 zeigt ein beispielhaftes Flussdiagramm zur Auswahl von Repräsentationen basierend auf dem zweiten Satz.
    • 15 zeigt exemplarisch einen ersten Satz an Stützstellen.
    • 16 zeigt exemplarisch einen zweiten Satz an Stützstellen.
    • 17 zeigt schematisch die Struktur eines neuronalen Netzwerks zur Erzeugung von geschätzten Qualitätswerten.
    • 18a-d zeigen schematisch die Monotonie-Filterung von geschätzten Qualitäten.
    • 19 zeigt exemplarisch eine lineare Interpolation von Stützstellen des zweiten Satzes für eine konstante örtliche Auflösung.
    • 20 zeigt exemplarisch eine Auswahl einer Bitratenvorgabe in einem Zielbereich.
    • 21 zeigt beispielhaft eine erzeugte Bitraten-Leiter im Bitraten-Auflösungs-Raum.
    • 22 zeigt eine beispielhafte Vorrichtung die Programmanweisungen ausführen kann.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Im Folgenden wird eine bevorzugte Ausführungsform der vorliegenden Erfindung anhand der Zeichnungen detailliert beschrieben.
  • 1 zeigt eine Vorrichtung 100 zum Bestimmen einer Bitraten-Leiter, die zum Codieren von einer Videosequenz 140 in eine Mehrzahl von Repräsentationen 109 unterschiedlicher Qualitätsstufen verwendet werden kann. Eine solche Bitraten-Leiter kann für jedes Video oder für jeden Videoabschnitt individuell bestimmt werden. Sie kann aber auch einmal bestimmt werden und dann als Vorlage zum Codieren von einer Vielzahl von Videosequenzen verwendet werden. Das Codieren wird durch den Encoder 150 durchgeführt. Der Encoder 150 kann ein standardisierter Encoder sein, wie beispielsweise H.264/AVC („Advanced Video Coding“), H.265/HEVC („High-Efficiency Video Coding“), H.266/VVC („Versatile Video Coding“), oder auch AV1 („AOMedia Video 1“). Die vorliegende Erfindung kann mit beliebigen Encodern verwendet werden, soweit diese parametrisierbar sind, so dass eine gewünschte Bitrate und/oder Qualität der codierten Videosequenz durch einen oder mehrere Codierparameter einstellbar ist.
  • Eine Videosequenz 140 ist eine Folge einer Mehrzahl (zwei oder mehr) von Bildern, die abgekürzt auch „Video“ oder „Videosignal“ bezeichnet werden kann. Im Folgenden wird auch der Begriff „Videoabschnitt“ verwendet, um zu betonen, dass eine zu codierende Videosequenz, beispielsweise ein Film, nicht notwendigerweise in ihrer Gesamtheit codiert werden muss, sondern in einem oder mehreren Abschnitten. Ein Videoabschnitt kann einerseits ein zeitlicher Abschnitt sein, d.h. eine Untermenge der Gesamtzahl von Bildern in einer Videosequenz sein. Ein Videoabschnitt kann aber stattdessen oder zusätzlich ein räumlicher Abschnitt sein, z.B. ein Unterbild (engl. Subpicture) eines Gesamtbildes sein.
  • Die Vorrichtung 100 zum Bestimmen einer Bitraten-Leiter kann beispielsweise eine Einrichtung 110 zum Bestimmen der Qualitätsstufen enthalten.
  • Alternativ kann die Vorrichtung 100 zum Bestimmen einer Bitraten-Leiter beispielsweise vorbestimmte Qualitätsvorgaben als Eingangsparameter erhalten.
  • Dabei wird Qualität durch eine vordefinierte Qualitätsmetrik gemessen. Bevorzugterweise weist die Qualitätsmetrik eine Korrelation zu der durch Zuschauer wahrgenommenen Qualität auf. Die Bestimmung der Qualitätsstufen enthält das Bestimmen von einem Qualitätsbereich in dem sich die Mehrzahl der Repräsentationen befinden soll und der Stufen selbst (Anzahl und/oder Verteilung der Stufen in dem Qualitätsbereich).
  • Nachdem die Qualitätsstufen bestimmt worden sind, kann eine Bestimmung der Bitraten-Leiter in einer Einrichtung 120 auf Basis der bestimmten Qualitätsvorgaben, welche die Qualitätsstufen enthalten, erfolgen. Diese kann beispielsweise für einen bestimmten Codec durchgeführt werden. Allgemein ist es jedoch auch möglich, für bestimmte Qualitätsstufen unterschiedliche Codecs einzusetzen. Es kann von Vorteil sein, die Repräsentationen einer Bitraten-Leiter, die mit einer hohen Qualität verbunden sind, mit einem hinsichtlich der Codierungseffizienz effizienteren Codec zu codieren, als die Repräsentationen, die mit einer geringen Qualität verbunden sind. Wenn der weniger effiziente Codec mit geringerer Encodierungszeit verbunden ist, kann hierdurch die Encodierungszeit reduziert werden.
  • Eine Bitraten-Leiter ist ein Satz von Repräsentationen, die jeweils mit einer Bitrate und einer örtlichen Auflösung verbunden sind, welche den jeweiligen (in der Einrichtung 110) vorbestimmten Qualitätsstufen entsprechen. Zum Beispiel wird eine Repräsentation in der Bitraten-Leiter so bestimmt, dass sie zu einer der Qualitätsstufen führt. Eine Bitrate hier bezeichnet die Bitrate einer codierten Videosequenz (oder eines Videoabschnittes). Die örtliche Auflösung bezeichnet die Anzahl der Abtastwerte, bzw. Bildpunkte, in horizontaler und vertikaler Richtung, die die Videosequenz (oder der Videoabschnitt) aufweist. Ein konkreter Codec oder Encoder 150 erlaubt typischerweise eine Einstellung der Bitrate. Eine Bestimmung der Bitraten-Leiter kann also dadurch erfolgen, dass unterschiedliche Bitrateneinstellungen getestet werden. Dabei wird das Video mit jeder der Bitrateneinstellungen codiert und die Qualität ermittelt. Dann werden diejenigen Bitraten ausgewählt, deren Qualitäten den vorbestimmten Qualitätsstufen am nächsten kommen. Ein solches Vorgehen kann jedoch eine Vielzahl an Codierungen erfordern, bis eine passende Bitraten-Leiter gefunden ist. Es wäre wünschenswert, die Zahl der Codierungen zu verringern. In 1 wird diese Suche nach den Bitraten durch die Schleife 121 dargestellt - die Einrichtung 120 konfiguriert die Bitrateneinstellungen und die zu codierenden Videoabschnitte für den Encoder 150 und der Encoder 150 gibt einen codierten Bitstrom („Bitstream“) aus, welches von einem Decoder 155 decodiert wird. Die Qualität des decodierten Videoabschnitts wird ermittelt. Die Qualitätsbestimmung kann noch in dem Decoder 155, oder aber in der Einrichtung 120 aufgrund des decodierten Videoabschnitts erfolgen.
  • Es ist anzumerken, dass unterschiedliche Videosequenzen (z.B. mit unterschiedlichen Inhalten) auch bei gleicher Bitrateneinstellung zu unterschiedlichen Qualitäten nach dem Codieren und Decodieren (auch als Rekonstruktion bezeichnet) führen können. Deshalb kann die Bestimmung der Bitraten-Leiter auf Basis einer Vielzahl von codierten Videoabschnitten 101 (bereitgestellt als Eingang 140 des Encoders 150) erfolgen. Zudem muss ein Encoder 150 nicht direkt eine Eingabe der Bitrate unterstützen. Die Einstellung der Bitrate kann indirekt erfolgen, z.B. durch Einstellung von der örtlichen (oder auch zeitlichen) Auflösung des Videos, dem Quantisierungsschritt (d.h. der Quantisierungsstufenbreite), der Bittiefe, oder durch weitere Codierparameter. Die oben erwähnten Einrichtungen sind funktional und können alle in einer beliebigen Software und/oder Hardware umgesetzt werden. Streamingdienste verwenden adaptive Bitraten (ABR), um Endnutzern mit verschiedenen Bandbreiten verschiedene Qualitätsstufen des Videosignals anzubieten. Bei ABR-Streaming wird das Videosignal in verschiedenen Bitraten R1, ..., Rk,..., RK encodiert. Diese verschiedenen Bitraten R1, ..., Rk, ..., RK entsprechen verschiedenen Qualitätsstufen Q1, ..., Qk,..., QK. Ein encodiertes Videosignal einer bestimmten Bitrate und zugehörigen Qualitätsstufe ist eine Repräsentation (Rk, Qk) und die Menge aller K Repräsentationen (R1, Q1), ..., (RK, Qx) ist eine Bitraten-Leiter.
  • Die Qualität Q eines digitalen Videosignals erhöht sich mit der Bitrate R, wie in 2 dargestellt. Des Weiteren kann die zu einer Bitrate gehörende Qualität abhängig vom Inhalt des Videoabschnitts sein. Ein komplexerer Inhalt eines Videosignals mit geringer Redundanz hat bei gleicher Bitrate typischerweise eine geringere Qualität als ein Inhalt mit höherer Redundanz.
  • Das Videosignal kann vor der Codierung skaliert werden, um eine andere (örtliche) Auflösung zu erhalten. Beispielsweise hat ein Videosignal eine Originalauflösung von 1920x1080 Bildpunkten, welches skaliert wird um eine kleinere örtliche Auflösung, z.B. 640x360 zu erhalten. Eine Skalierung kann beispielsweise das Auslassen von Bildpunkten („Downsampling“), oftmals in Kombination mit einer vorherigen Tiefpassfilterung, und/oder eine Interpolation der Bildpunkte enthalten.
  • In einem solchen Fall kann die Qualität Q zusätzlich von dieser Auflösung S abhängen. in anderen Worten, die Qualität lässt sich als Funktion von Bitrate und Auflösung angeben: Q(R,S).
  • Demzufolge lässt sich eine Bitraten-Leiter um die Auflösung als zusätzlichen Parameter erweitern: eine Repräsentation k lässt sich abhängig von Bitrate Rk und Auflösung Sk angeben als (Rk, Sk, Qk(Rk,Sk)).
  • Werden für die Erstellung einer Bitraten-Leiter vordefinierte Bitraten für alle Videoinhalte verwendet, führt dies dazu, dass bei weniger komplexen Inhalten Datenrate bzw. Speicher verschenkt werden. Genauso kann es dazu kommen, dass bei komplexeren Inhalten nicht genügend Datenrate bereitgestellt wird und dies zu einer Minderung der subjektiven (durch Zuschauer (Nutzer) wahrgenommene) Qualität führt.
  • Inhaltsabhängige Bitraten-Leitern können für vollständige Videoinhalte, wie zum Beispiel einen kompletten Film, optimiert sein („per-title encoding“) oder für feinere Unterteilungen, z.B. für Videoabschnitte, z.B. einzelne Szene eines Films, optimiert sein („per-scene encoding“). Durch die Berücksichtigung der resultierenden Qualität können Datenrate und ebenso Speicherplatz eingespart werden.
  • Die K Bitraten in der Bitraten-Leiter sind zum Beispiel folgenderweise sortiert: R1 < ... < Rk < ... < RK. Demzufolge gilt für die zugehörigen Qualitätsstufen Q1 < ... < Qk < ... < QK. Die K örtlichen Auflösungen sind vorzugsweise so sortiert, dass S1 ≤ ... ≤ Sk ≤ ... ≤ SK gilt. Liegen die Repräsentationen nicht in dieser Sortierung vor, so lassen sie sich durch Umsortierung in diese Sortierung bringen. Die vorliegende Erfindung gilt daher auch für alle Sortierungen.
  • Jedes Endnutzergerät kann Inhalte aus einem Ausliefernetzwerke für Inhalte (Content Delivery Network, CDN) mit einer Bitrate, welche für die individuelle Übertragungsrate T der Internetverbindung des Nutzers geeignet ist, anfordern und streamen. Es gibt eine Mehrzahl möglicher Auswahlstrategien für eine passende Bitrate. So kann beispielhaft die höchstmögliche Bitrate, die kleiner ist als die individuelle Übertragungsrate T, gewählt werden, d.h. R p ( T ) = max k = 1, , K | R k T R k .
    Figure DE102022120724A1_0001
  • Des Weiteren ist es zum Beispiel möglich zwischen verschiedenen Repräsentationen, z.B. (Rp, Qp) und (Rp+1, Qp+1), nach gewissen Zeitabschnitten zu alternieren, um die zur Verfügung stehende Übertragungsrate effizient auszunutzen. Die vorliegende Erfindung ist jedoch nicht auf diese Beispiele beschränkt.
  • Bei der Verwendung eines Satzes von Repräsentationen mit diskreten Bitraten R1, ... , Rk, ...,RK hat das gestreamte Video eine geringere Qualität, wenn die individuelle Übertragungsrate T nicht in der Menge R1, ...,Rk, ..., RK enthalten ist. Dieser Unterschied definiert den Qualitätsverlust Δ Q ( T ) = Q ( T ) Q ( R p ( T ) ) ,
    Figure DE102022120724A1_0002
    wobei Q(T) die Qualitätsstufe bezeichnet, die der Nutzer aufgrund seiner individuellen Übertragungsrate empfangen könnte, und Q (Rp(T)) die maximale Qualitätsstufe bezeichnet, die der Nutzer aufgrund des diskreten Satzes an Repräsentationen empfangen kann. Dieser Qualitätsverlust ist in 3 exemplarisch dargestellt.
  • Zusätzlich lässt sich ein maximaler Qualitätsverlust ΔQmax definieren. Dieser maximaler Qualitätsverlust bezeichnet den Qualitätsunterschied zweier aufeinanderfolgender Bitraten Rp und Rp+1 mit den zugehörigen Qualitätsstufen Qp und Qp+1, Δ Q m a x ( Q p , Q p + 1 ) = Q p + 1 Q p .
    Figure DE102022120724A1_0003
  • 3 zeigt ein Beispiel eines solchen maximalen Qualitätsverlusts. Bei signifikanten Unterschieden zwischen den Qualitätsstufen aufeinanderfolgender Repräsentationen kann ein Qualitätsverlust ΔQ(T) zu einem erheblichen subjektiven Qualitätsverlust führen.
  • Es ist eine große Anzahl an Repräsentationen nötig um den maximalen Qualitätsverlust für alle Nutzer zu minimieren, wobei sowohl Nutzer geringer Bandbreiten, z.B. in Mobilfunknetzen, als auch Nutzer hoher Bandbreiten, z.B. in Verbindungen über Glasfaserkabel, berücksichtigt werden sollten. Dies führt jedoch zu hohen Kosten für Codierung und Speicherung für die Betreiber. Demzufolge sollte der maximale Qualitätsverlust in einem Qualitätsmaß unter Berücksichtigung der Kosten für Codierung und Speicherung minimiert werden.
  • Um die Erzeugung des Satzes von Repräsentationen zu automatisieren wird die subjektive Nutzerwahrnehmung durch ein objektives Qualitätsmaß geschätzt. Ein solches objektives Qualitätsmaß kann eine Schätzung einer subjektiven Qualität sein. Beispiele für objektive Qualitätsmaße, die die subjektive Qualität schätzen, sind VMAF, ITU-T P.1203 oder Index struktureller Ähnlichkeit (structural similarity, SSIM). Die vorliegende Erfindung ist jedoch nicht auf die Verwendung der genannten Beispiele eingeschränkt und weitere, sowie nicht standardisierte Qualitätsmaße können verwendet werden.
  • Das Qualitätsmaß kann eine VMAF-Metrik (Video Multi-Method Assessment Fusion, VMAF) sein. Die VMAF-Metrik ist eine objektive Metrik zur algorithmischen Bewertung von Bildqualität in Videos. Sie bewertet ein (beispielsweise durch Umcodieren und/oder Skalieren) verändertes Video anhand des Vergleiches mit einer ungestörten Referenz (Original). Die ungestörte Referenz (Originalrepräsentation) entspricht dem zu codierenden Originalvideosignal mit einer Originalauflösung.
  • Die VMAF-Metrik ordnet einem Videosignal eine Bewertung zwischen 0 und 100 zu. Eine Bewertung von 0 entspricht einer niedrig geschätzten subjektiven Qualität, eine Bewertung von 100 entspricht einer hohen geschätzten subjektiven Qualität. Der Mittelwert der VMAF-Bewertungen aller Frames eines Videosignals wird im Folgenden als VMAF-Bewertung des Videosignals definiert. Die Qualität Q entspricht der VMAF-Bewertung VMAF. Daraus ergibt sich der Qualitätsunterschied Δ V M A F ( T ) = V M A F ( T ) V M A F ( R p ( T ) ) .
    Figure DE102022120724A1_0004
  • Bestimmung von Qualitätsstufen
  • Im Folgenden wird eine beispielhafte Bestimmung von Qualitätsstufen beschrieben. Unter Verwendung eines solchen oben beschriebenen Qualitätsmaßes lässt sich eine Bitraten-Leiter, welche aus einem Satz von Repräsentationen besteht, so erzeugen, dass ein vordefinierter, maximaler Qualitätsverlust zwischen benachbarten Qualitätsstufen eingehalten wird.
  • Anhand eines Qualitätsmaßes kann eine minimale Qualitätsstufe Qmin und eine maximale Qualitätsstufe Qmax bestimmt werden. Ausgehend von der minimalen oder der maximalen Qualitätsstufe kann ein Satz von Qualitätsstufen erzeugt werden. Dieser Satz von Qualitätsstufen besteht aus K Qualitätsstufen, wobei gilt K ≥ 2.
  • Die niedrigste Qualitätsstufe Q1 liegt dabei unterhalb der minimalen Qualitätsstufe Qmin oder ist gleich der minimalen Qualitätsstufe Qmin. Es gilt Q1 ≤ Qmin. Die höchste Qualitätsstufe QK liegt dabei oberhalb der maximalen Qualitätsstufe Qmax oder ist gleich der maximalen Qualitätsstufe Qmax. Es gilt QK ≥ Qmax.
  • In anderen Worten, der Wertebereich zwischen der niedrigsten und der höchsten Qualitätsstufe Q1 ≤ Qmin < Qk < Qmax ≤ QK wird in dieser beispielhaften Bestimmung von Qualitätsvorgaben in Abschnitte unterteilt, welche den maximalen Qualitätsunterschied nicht überschreiten. Der maximale Qualitätsunterschied zwischen jedem Paar direkt aufeinanderfolgender Repräsentationen (Rk, Qk) und (Rk+1, Qk+1) ist kleiner oder gleich ΔQmax für alle Übertragungsraten T im Wertebereich R1 ≤ T ≤ RK.
  • Die Einteilung anhand eines solchen maximalen Qualitätsunterschieds wird in 4 beispielhaft für eine VMAF-Bewertung gezeigt.
  • Die maximale Qualitätsstufe kann anhand einer Qualität bestimmt werden, bei welcher eine vorbestimmte Anzahl von Zuschauern die der Qualität entsprechende Repräsentation nicht von einer Originalrepräsentation unterscheiden können.
  • Die vorbestimmte Anzahl an Zuschauern kann sich aus standardisierten Testmethoden ergeben. Ein Beispiel ist die bekannte und standardisierte „Double Stimulus Impairmenf“-Testmethode nach ITU-R BT.500 (ITU-R., „Rec. BT.500-14: Methodologies for the subjective assessment of the quality of television images“ (2019)). Die vorliegende Erfindung ist jedoch nicht auf die Verwendung des genannten Beispiels eingeschränkt. Eine andere Methodologie kann bestimmt und angewendet werden.
  • Eine beispielhafte Bestimmung der maximalen Qualitätsstufe ist in 5 gezeigt. Um ein mögliches Set an Bewertungen auf der VMAF-Skala erhalten, wurden Tests mit Probanden durchgeführt. Anhand der ermittelten mittleren Meinungsbewertung (Mean Opinion Score, MOS) für verschiedene VMAF-Bewertungen von Testvideosequenzen ist ein Beispiel für eine kleinstmögliche maximale Qualitätsstufe durch eine VMAF-Bewertung von 95 erreicht. Der MOS wird in diesem Beispiel auf einer Skala zwischen 0 (sehr störende Beeinträchtigungen) und 10 (unmerkliche Beeinträchtigungen) angegeben.
  • Die minimale Qualitätsstufe Qmin kann anhand eines Akzeptanzmaßes bestimmt werden. Diese Akzeptanzmaß kann eine Mindestqualität angeben, bei welcher eine vorbestimmte Anzahl von Zuschauern die zur Mindestqualität zugehörige Repräsentation akzeptabel finden.
  • Eine beispielhafte Bestimmung der maximalen Qualitätsstufe ist in 6 und 7 gezeigt. 6 zeigt eine beispielhafte Akzeptanzrate für Videosequenzen, die länger als 30 Sekunden sind. Es wird zwischen freien und bezahlten Streamingangeboten unterscheiden. 7 zeigt eine beispielhafte Akzeptanzrate für Videosequenzen, die kürzer als 30 Sekunden sind. Die Akzeptanz wird mit 0 (nicht akzeptable subjektive Qualität) oder 1 (akzeptable subjektive Qualität) angegeben. Die Akzeptanzrate ergibt sich aus dem Mittelwert für alle Testpersonen.
  • Falls eine Akzeptanzrate von 0,5 gefordert wird, ergab sich eine mögliche minimale Qualitätsstufe von 55 auf der VMAF-Skala. Diese Untergrenze kann sich durch weitere Kriterien ändern. Beispielsweise sollte die minimale Bewertung auf der VMAF-Skala für einen ersten Streamingdienst um 10 bis 15 höher sein als für einen zweiten Streamingdienst. Wenn es sich um Videosequenzen von mehr als 30 Sekunden handelt, sollte die minimale VMAF-Qualitätsstufe bei 70 für Streamingdienste zweiter Art oder 85 bei Streamingdiensten erster Art liegen. Bei dem ersten und zweiten Streamingdienst kann es sich um einen bezahlten beziehungsweise freien Streamingdienst handeln, aber es muss sich nicht einen bezahlten beziehungsweise freien Streamingdienst handeln.
  • Eine minimale Anzahl an Qualitätsstufen kann durch die maximale Qualitätsstufe, die minimale Qualitätsstufe und den maximalen Qualitätsabstand bestimmt sein. Die minimale Anzahl kann sich aus der Erzeugung der Qualitätsstufen ergeben.
  • Ein ermittelter Zusammenhang zwischen der VMAF-Bewertung und dem MOS ist ungefähr linear, wodurch ein konstanter, maximaler Qualitätsabstand für alle benachbarten Paare im Satz von Repräsentationen gerechtfertigt ist. Dieser annähernd lineare Zusammenhang ist exemplarisch in 8 in einem MOS-VMAF-Diagramm dargestellt.
  • Der maximale Qualitätsunterschied kann so gewählt werden, dass eine subjektive Qualität des Videosignals für Rk und Rk+1 für eine vorbestimmte Anzahl an Zuschauern gleich ist. Für die Bestimmung des maximalen Qualitätsunterschieds ΔQmax können am Beispiel der VMAF-Metrik alle Paare der VMAF-Bewertung und zugehörigen Meinungsbewertung (opinion score, OS) ausgewertet werden. Die niedrigere VMAF-Bewertung wird mit VMAFI und die höhere VMAF-Bewertung wird mit VMAFh angegeben. Daraus ergeben sich Werte für maximale Qualitätsunterschiede Δ V M A F m a x = V M A F h V M A F l .
    Figure DE102022120724A1_0005
    ΔVMAFmax kann beispielsweise anhand der 8 bestimmt werden. Dabei können nichtüberlappende Konfidenzintervalle der gemessenen MOS-Werte eine Unterscheidbarkeit der Qualität bedeuten. Demnach kann ΔVMAFmax so groß gewählt werden, dass sich überlappende Konfidenzintervalle der gemessenen MOS-Werte ergeben, um identische subjektive Qualität zu erreichen. Für den maximalen Qualitätsabstand kann sich ein Abstand von ΔVMAFmax = 2 ergeben.
  • Für eine maximale Qualitätsstufe von 95 auf der VMAF-Skala, eine minimale Qualitätsstufe von 55 und einen maximalen Qualitätsabstand von 2 ergeben sich mindestens 21 Qualitätsstufen. Die vorliegende Erfindung ist jedoch nicht auf die Verwendung der genannten beispielhaften Werte eingeschränkt. Bei der Verwendung eines anderen Qualitätsmaßes können sich andere Werte ergeben.
  • 9 zeigt eine beispielhafte Einteilung in einem VMAF-Bitraten-Diagramm. Aus Gründen der Übersichtlichkeit wurde in diesem Beispiel ein maximaler Qualitätsabstand von 5 auf der VMAF-Skala gewählt. In diesem Beispiel ergeben sich neun Qualitätsstufen im Wertebereich, der die minimale und die maximale Qualitätsstufe umfasst. Diese beispielhafte Darstellung entspricht jedoch nicht einem idealen Satz von Qualitätsstufen, da zwischen den Stufen Qualitätsunterschiede wahmehmbar sein können. Es ist jedoch möglich, dass die Darstellung einem praktischen Satz entspricht.
  • Erzeugen einer Bitraten-Leiter
  • Wie oben erwähnt, erlaubt ein konkreter Codec oder Encoder 150 typischerweise eine Einstellung der gewünschten Bitrate, nicht jedoch eine direkte Einstellung einer Zielqualität. Ein Testen von unterschiedlichen Bitrateneinstellungen erfordert üblicherweise das Codieren eines Videos mit jeder dieser Bitrateneinstellungen und die Ermittlung der zugehörigen Qualität. Es ist wünschenswert, die Anzahl solcher Probecodierungen zu minimieren um somit den Verarbeitungsaufwand zu reduzieren. Gleichzeitig ist es wünschenswert vorbestimmte Qualitätsvorgaben einzuhalten und ebenso den Speicheraufwand zu minimieren.
  • Die Qualitätsvorgaben können Qualitätsstufen enthalten. Diese Qualitätsstufen können beispielsweise durch eine maximale Zielqualität Qmax, eine minimale Zielqualität Qmin und einen maximalen Qualitätsabstand ΔQmax bestimmt sein. Solche Qualitätsstufen können beispielsweise gemäß dem Verfahren in Abschnitt Bestimmung von Qualitätsstufen generiert werden. Im Falle der oben erwähnten VMAF-Metrik können Zielqualitätsstufen zum Beispiel gemäß der folgenden Werte erhalten werden: VMAFmax = 95, VMAFmin = 79 und ΔVMAFmax = 2. Die vorliegende Erfindung ist nicht auf diese beispielhaften Werte beschränkt, insbesondere kann ΔVMAFmax auch von dem absoluten VMAF-Wert der jeweiligen Qualitätsstufe abhängen.
  • Des Weiteren können die Qualitätsvorgaben einen oder mehrere Parameter εi enthalten, deren Werte zulässige Abweichungen von Zielqualitätsstufen angeben.
  • Beispielsweise könnte die niedrigste Qualitätsstufe Q1 in der Bitraten-Leiter maximal um einen vorbestimmten Wert eines Parameters ε1 von der minimalen Zielqualität Qmin abweichen: Qmin ~ ε1 ≤ Q1 ≤ Qmin. Ähnlich könnte die höchste Qualitätsstufe QK in der Bitraten-Leiter maximal um einen vorbestimmten Wert eines Parameters ε2 von der maximalen Zielqualität Qmax abweichen: Qmax ≤ QK ≤ Qmax + ε2, Der Abstand zweier benachbarter Qualitätsstufen Qk und Qk+1 könnte sich beispielsweise in einem Bereich befinden, der durch den maximalen Qualitätsabstand ΔQmax und dem Wert eines dritten Parameters ε3 bestimmt ist: ΔQmax - ε3 ≤ Qk+1 - Qk ≤ ΔQmax. Die Werte der Parameter εi können unterschiedlich sein oder die Werte der Parameter εi können gleich sein, d.h. ε1 = ε2 = ε3 = ε. Die Werte sind vorzugsweise alle positiv. Die Werte ε3 können auf für jedes k unterschiedlich sein, d.h. ΔQmax - ε3,k ≤ Qk+1 - Qk ≤ ΔQmax. Zum Beispiel liegen mögliche Werte des einen oder der mehreren Parameter für die VMAF-Metrik in einem Intervall von [0,05; 0,5]. Kleinere Werte können die Erzeugung von Repräsentationen ermöglichen, die näher an der jeweiligen gewünschten Zielqualität liegen, jedoch kann eine größere Anzahl an Probecodierungen nötig sein, um diese Genauigkeit zu erreichen. Auf der anderen Seite, können größere, erlaubte Abweichungen eine Verringerung der Anzahl von Probecodierungen zur Erzeugung einer Repräsentation ermöglichen.
  • Zur Erzeugung einer Bitraten-Leiter unter der Berücksichtigung von Qualitätsvorgaben wird ein erster Satz an Stützstellen bestimmt. Eine Stützstelle gibt eine Qualität einer Repräsentation basierend auf Bitrate und Auflösung an. in anderen Worten ist eine Stützstelle ein Tupel bestehend aus Bitrate R, Auflösung S und zugehöriger Qualität Q, (R,S, Q(R,S)).
  • Ein Verfahren zur Erzeugung einer Bitraten-Leiter ist in dem Flussdiagramm in 11 beispielhaft dargestellt.
  • Der erste Satz an Stützstellen kann bestimmt werden S1110 indem eine Gruppe an Wertepaaren in einem Bitraten-Auflösungs-Raum ausgewählt werden. Die Bestimmung eines ersten Satzes an Stützstellen ist beispielsweise in dem Flussdiagramm in 12 dargestellt.
  • Die Gruppe an Wertepaaren kann als Gitter angeordnet sein. Zum Beispiel können drei Bitraten und drei Auflösungen ausgewählt werden um ein 3x3 Gitter an Wertepaaren (Ri,Sj) zu erzeugen. Das Gitter kann auch mit jeder anderen Anzahl an Bitraten und/oder jeder anderen Anzahl an Auflösungen erzeugt werden. Ein solches Gitter kann eine beliebige Dimension NR × NS haben, wobei NR und NS Ganzzahlen größer gleich 1 sind.
  • Beispielsweise kann ein NR × NS-Gitter, z.B. ein 5x5 Gitter, an Wertepaaren (Ri,Sj) erzeugt werden S1220. Daraus kann eine Untermenge an S Stützpunkten ausgewählt werden S1230. Eine solche Untermenge kann beispielsweise ein 3x3 Gitter, die Hauptdiagonale des NR × NS-Gitters, ein Schachbrettmuster, oder ähnliches sein.
  • Die Qualität, welche von der Bitrate R und der Auflösung S des (skalierten und) codierten Videoabschnitts (Repräsentation) abhängt, kann an den ausgewählten Wertepaaren bestimmt werden S1240.
  • Die Bestimmung umfasst beispielsweise eine Skalierung und Codierung des Originalvideoabschnitts (Originalrepräsentation) in Originalauflösung. Eine beispielhafte Ausgestaltung eines solchen Encoders ist in 10 gezeigt. Der Originalvideoabschnitt 1010 wird skaliert um eine von der Originalauflösung verschiedene Auflösung zu erhalten. Diese Zielauflösung SCoded 1020 ist ein Eingangsparameter für den Skalierer und Encoder 1040.
  • Des Weiteren erhält der beispielhafte Skalierer und Encoder 1040 die zugehörige Bitrate des Wertepaares als Zielbitrate RRC 1130. Der Encoder 1040 erzeugt eine codierte Repräsentation 1050 mit Auflösung SCoded und Bitrate RCoded. Die Bitrate RCoded des codierten Videosignals 1050 kann sich von der Zielbitrate RRC unterscheiden. Es kann auch sein, dass der Encoder nicht deterministisch arbeitet und sich bei wiederholter Encodierung mit gleichen Parametern leicht unterschiedliche Bitraten RCoded ergeben. Der Skalierer und der Encoder müssen nicht notwendigerweise in einer Einheit zusammengefasst sein, wie dies beispielhaft in 10 gezeigt ist. Skalierer und Encoder können getrennte Einheiten sein. Beispielsweise kann ein Skalierer ein Videosignal mit geänderter Auflösung ausgeben und ein Encoder kann einen Videoabschnitt mit Zielauflösung empfangen um diesen zu codieren.
  • In diesem Beispiel wird die codierte Repräsentation decodiert und, falls erforderlich, auf die Originalauflösung skaliert. Eine solche Skalierung („Upsampling“) kann durch eine Interpolation, z.B. einer bikubischen Filterung, des decodierten Videosignals erhalten werden. Der decodierte (und skalierte) Videoabschnitt wird mit der Originalrepräsentation verglichen um eine (objektive) Qualität der codierten Repräsentation zu bestimmen. Diese objektive Qualität kann beispielsweise mit der VMAF-Metrik, oder einer beliebigen anderen objektiven Videometrik angegeben werden.
  • Im Allgemeinen erfordert die Angabe einer Stützstelle nicht notwendigerweise das Erzeugen eines codierten Videoabschnitts zur Bestimmung der Qualität basierend auf einem Vergleich mit einer Originalrepräsentation. Beispielsweise kann eine Stützstelle auch erzeugt werden, indem eine geschätzte Qualität Q angegeben wird. Eine geschätzte Qualität kann beispielsweise durch eine Interpolation, eine Extrapolation, Verarbeiten durch ein neuronales Netzwerk, oder ähnliches erhalten werden.
  • Das erste Gitter, welches die Bitraten-Auflösungs-Wertepaare für den ersten Satz an Stützstellen beinhaltet, enthält wenigstens die (vorbestimmten) Wertepaare
    • - maximale Bitrate RNR , maximale Auflösung SNS , und
    • - minimale Bitrate R1, minimale Auflösung S1.
  • Die maximale Auflösung entspricht typischerweise der Originalauflösung. Die minimale Auflösung entspricht beispielsweise einer vorbestimmten Auflösung entspricht, die kleiner ist als die Auflösung der Originalrepräsentation.
  • In einer beispielhaften Ausführung wird die minimale Bitrate R1 für die minimale Auflösung S1 unter Berücksichtigung von Qualitätsvorgaben bestimmt S1210. Die minimale Bitrate kann so gewählt werden, dass eine vorbestimmte minimale Qualität unterschritten wird. Ebenso kann die maximale Bitrate RNR für die maximale Auflösung SNS unter Berücksichtigung von Qualitätsvorgaben bestimmt werden. Die maximale Bitrate kann so gewählt werden, dass eine vorbestimmte maximale Qualität überschritten wird.
  • Wie oben beschrieben können die Qualitätsvorgaben mindestens zwei Zielqualitätsstufen enthalten, die einer minimalen Zielqualität Qmin und einer maximalen Zielqualität Qmax entsprechen.
  • Die minimale Bitrate kann so gewählt werden, dass eine zugehörige Repräsentation für die kleinste Auflösung S1 eine Qualität Q(R1,S1) erreicht, die kleiner gleich der minimalen Zielqualität und der zulässigen Abweichung ε1 ist: Q(R1,S1) ≤ Qmin - ε1. Die maximale Bitrate kann so gewählt werden, dass eine zugehörige Repräsentation für die größte Auflösung SNS eine Qualität Q(RNR , S1) erreicht, die größer gleich der maximalen Zielqualität und der zulässigen Abweichung ε2 ist: Q(RNR , SNS ) ≥ Wmax + ε2.
  • Die weiteren (NR - 2) Bitraten R2, ..., RNR-1 können beispielsweise wie folgt berechnet werden: f ( R n ) = f ( R n 1 ) + f ( R N R ) f ( R 1 ) N R 1 ,
    Figure DE102022120724A1_0006
    wobei f(Bitrate) andeutet, dass auf die Bitrate eine Funktion angewendet wird. Zum Beispiel kann hierfür der Logarithmus zur Basis 2 verwendet werden, d.h. log 2 ( R n kbit/s ) = log 2 ( R n 1 kbit/s ) + log 2 ( R N R kbit/s ) log 2 ( R 1 kbit/s ) N R 1 log 2 ( R n / R n 1 ) = 1 N R 1 log 2 ( R N R / R 1 ) .
    Figure DE102022120724A1_0007
  • Neben der maximalen und der minimalen Auflösung können weitere NS - 2 örtliche Auflösungen S2, ..., SNS-1 bestimmt werden. Dabei soll gelten, dass jede örtliche Auflösung Sn größer sein soll als Sn-1. Beispielsweise können typische örtliche Auflösungen W × H, z.B. 1920x1080, 1280x720, 640x360, 320x180, 160x140 verwendet werden.
  • Ein beispielhaftes 5x5 Gitter kann Auflösungen mit einer Breite W an {512; 768; 1024; 1280; 1920} Bildpunkten enthalten. Die Bitraten eines solchen 5x5 Gitters können zwischen einer vorbestimmten minimalen Bitrate und einer vorbestimmten maximalen Bitrate logarithmisch angeordnet sein. Eine vorbestimmte minimale Bitrate und eine vorbestimmte maximale Bitrate kann beispielsweise basierend auf Qualitätsvorgaben bestimmt werden. In einer beispielhaften Umsetzung wird als minimale Bitrate R1 = 250 kbit/s und als maximale Bitrate R1 = 2000 kbit/s verwendet. Als logarithmisch angeordnete weitere Bitraten ergeben sich in diesem Beispiel R2 ≈ 420 kbit/s, R3 ≈ 707 kbit/s und R4 ≈ 1189 kbit/s. Aus diesem 5x5 Gitter kann wie oben beschrieben eine Untermenge als erster Satz an Stützstellen ausgewählt werden. Alternativ können alle Wertepaare des beispielhaften 5x5 Gitters zur Bestimmung des ersten Satzes an Stützstellen verwendet werden.
  • Wie oben beschrieben wird für jedes ausgewählte Wertepaar (Ri,Sj) eine codierte Repräsentation erzeugt und die Qualität bestimmt, um jeweils eine Stützstelle für den ersten Satz an Stützstellen zu erzeugen. Ein erster Satz an Stützstellen ist beispielhaft in 15 gezeigt. Die Eck- bzw. Kreuzungspunkte des dargestellten Gitters repräsentieren die bestimmten Stützstellen (Rn,Sm, Q(Rn,Sm)) in der VMAF-Metrik.
  • Basierend auf dem ersten Satz an Stützstellen wird ein zweiter Satz von Stützstellen erzeugt S1120, wobei der zweite Satz mehr Stützstellen enthält als der erste Satz. Der zweite Satz kann eine oder mehrere Stützstellen des ersten Satzes enthalten. Bevorzugterweise werden alle Stützstellen des ersten Satzes in den zweiten Satz aufgenommen.
  • Das Erzeugen des zweiten Satzes an Stützstellen umfasst beispielsweise ein Prädizieren (Erzeugen) von Qualitäten Q, für Wertepaare (Ri,Sj) im Bitraten-Auflösungs-Raum, die nicht im ersten Satz an Stützstellen enthalten sind. Das Erzeugen umfasst beispielsweise eine Interpolation, eine Extrapolation, ein Verarbeiten durch ein neuronales Netzwerk, eine Kombination daraus, oder andere Methoden zur Generierung zusätzlicher Stützstellen basierend auf dem ersten Satz an Stützstellen. Eine Nebenbedingung für eine Prädiktion umfasst beispielsweise, dass für jede Auflösung Sm mit steigender Bitrate auch die Qualität steigt: VMAF(Rn,Sm) > VMAF(Rn-1,Sm).
  • Zum Erzeugen des zweiten Satzes an Stützstellen kann ein zweites Gitter an Wertpaaren erzeugt werden. Das zweite Gitter hat beispielsweise eine beliebige Dimension MR × MS haben, wobei MR ≥ NR und MS ≥ NS gilt. Ein beispielhaftes zweites Gitter enthält die Wertepaare des ersten Satzes. Zum Beispiel umfasst ein solches zweites Gitter 45 Auflösungen und 129 Bitraten. Die vorliegende Erfindung ist nicht auf diese beispielhaften Zahlenwerte beschränkt. Wie oben beschrieben, kann das zweite Gitter eine beliebige Anzahl an Wertepaaren umfassen, die größer ist als die Anzahl von Wertepaaren im ersten Satz.
  • Die Qualitäten Q an den Wertepaaren des zweiten Satzes werden basieren auf den Stützstellen des ersten Satzes erzeugt (prädiziert). Die Stützstellen des ersten Satzes enthalten, wie oben beschrieben, die bestimmten Qualitäten Q an den Wertpaaren des ersten Satzes.
  • Wie bereits angedeutet, kann das Erzeugen von Qualitäten Q für die Wertepaare des zweiten Satzes wenigstens eines der folgenden umfassen: Interpolation der Stützstellen und/oder Verarbeitung durch ein neuronales Netzwerk, und/oder eine Kombination daraus.
  • In dem oben erwähnten, beispielhaften zweiten Gitter mit 45 Auflösungen und 129 Bitraten werden so 5805 geschätzte Qualitäten erzeugt.
  • In einer ersten beispielhaften Ausführungsform werden die Stützstellen des ersten Satzes interpoliert, um (geschätzte) Qualitäten Q an den Wertepaaren des zweiten Satzes zu erhalten. Eine Interpolation für die Auflösung kann beispielsweise durch ein kubisches Interpolationspolynom erfolgen. Eine Interpolation für die Bitrate kann beispielsweise durch ein Potenzreihenmodell mit einem oder mehreren Termen erfolgen.
  • In einer zweiten beispielhaften Ausführungsform werden die Stützstellen des ersten Satzes durch ein neuronales Netz verarbeitet um geschätzte Qualitäten Q an den Wertepaaren des zweiten Satzes zu erhalten. Zum Beispiel erhält das neuronale Netz die Stützstellen des ersten Satzes als Eingangsdaten, wobei die Stützstellen jeweils eine Bitrate; eine Auflösung und die zugehörige bestimmte (gemessene) Qualität Q enthalten. Zusätzlich kann das neuronale Netzwerk die Wertepaare des zweiten Satzes als Eingangsparameter erhalten. Das neuronale Netzwerk ist beispielsweise so trainiert, dass es für die Wertepaare des zweiten Satzes geschätzte Qualitäten Q ausgibt. Das neuronale Netzwerk verarbeitet durch ein oder mehrere Lagen die Eingangsdaten um Ausgangsdaten zu erzeugen. Die Ausgangsdaten enthalten geschätzte Qualitäten Q an den Wertepaaren des zweiten Satzes.
  • In einer dritten beispielhaften Ausführungsform, dargestellt in dem Flussdiagramm in 13, werden die Stützstellen des ersten Satzes, analog zur ersten beispielhaften Ausführungsform, interpoliert S1310, um geschätzte Qualitäten Q an den Wertepaaren des zweiten Satzes zu erhalten. Diese Schätzung kann verfeinert werden, indem die Stützstellen des ersten Satzes als Eingangsdaten eines neuronalen Netzwerkes verwendet werden. Ein solches neuronales Netzwerk ist beispielsweise so trainiert, dass es die durch die Interpolation geschätzte Qualitäten Q verbessert (verfeinert). Das neuronale Netzwerk verarbeitet S1320 durch ein oder mehrere Lagen die Eingangsdaten um Ausgangsdaten zu erzeugen. Die Ausgangsdaten enthalten geschätzte Qualitäten Q an den Wertepaaren des zweiten Satzes.
  • Eine beispielhafte Struktur eines neuronalen Netzwerks ist in 17 dargestellt. Eine Eingangsschicht 1710 erhält die Eingangsdaten als zweidimensional Matrix. Ein neuronales Netz kann beispielsweise ein oder mehrere faltende Schichten („convolutional layer“) enthalten, die mit unterschiedlichen Faltungsmatrizen („kernel“) und Schrittweiten („strides“) unterschiedlicher Größe arbeiten können. Eine Normalisierung des Ausgangs einer faltenden Schicht kann die Effizienz dieser erhöhen. Typischerweise wird ein (normalisierter) Ausgang einer solchen Faltung durch eine nicht-lineare Aktivierungsfunktion verarbeitet. Mehrere Blöcke 1720, 1730, 1740 bestehend aus einer Faltung, einer Normalisierung und einer nichtlinearen Aktivierung können sowohl parallel als auch in Reihe angewendet werden. Eine mögliche Anwendung in Reihe ist in 17 durch „1x“, „2x“, usw. angedeutet. Eine Normalisierung kann beispielsweise jeweils auf eine geringe Anzahl von Datensätzen der vorherigen Schicht angewendet werden („Batch normalization“) Eine nichtlineare Aktivierungsfunktion ist beispielsweise eine Sigmoidfunktion, ein hyperbolischer Tangens oder ein Gleichrichter („Rectified Linear Unit“, ReLU). Das neuronale Netzwerk kann darüber hinaus auch vollständig verknüpfte Schichten 1750 („fully connected layer“) und weitere Filter 1751 enthalten, die beispielsweise die Dimension der Gewichte reduzieren und/oder einzelne Neuronen einer vorherigen Schicht deaktivieren können („Drop out layer“). Weitere Schichten 1760 können die gewünschte Dimension der Ausgansdaten erzeugen („Depth to Space“). Mögliche parallel erzeugte Daten können durch eine elementweise Addition 1770 zusammengefasst werden. Eine Ausgabeschicht 1780 erzeugt die oben beschriebenen Ausgansdaten.
  • Die vorliegende Erfindung ist jedoch nicht auf ein Netzwerk dieser beispielhaften Struktur beschränkt. Im Allgemeinen kann das neuronale Netzwerk eine beliebige Kombination aus (unterschiedlichen) Schichten („layer“) beinhalten, die aus den oben beschriebenen Eingangsdaten die gewünschten Ausgangsdaten erzeugt. Faltungsnetze können zwar durch ihre Fähigkeit zweidimensionale korrelierte Daten effektiv zu komprimieren, vorteilhaft sein, die vorliegende Erfindung ist jedoch nicht auf Anwendung von Faltungsnetzen eingeschränkt.
  • Die Ausgangsdaten eines neuronalen Netzwerks können durch Filterung und/oder Begrenzung des Wertebereichs der prädizierten (geschätzten) Qualitäten weiterverarbeitet werden.
  • In einer beispielhaften Umsetzung können Monotonie-Bedingungen durch eine Filterung S1330 eingehalten werden. Eine solche Monotonie-Bedingung umfasst beispielsweise, dass für jede Auflösung Sm mit steigender Bitrate auch die Qualität steigt: VMAF(Rn,Sm) > VMAF(Rn-1,Sm). Dies kann zum Beispiel durch eine lokale (Tiefpass-)Filterung erreicht werden.
  • 18 zeigt eine beispielhafte Filterung unter Verwendung der VMAF-Metrik. Wenn, wie in 18a, ein Minimum 1810 gefunden werden kann, z.B. durch eine Vorzeichenänderung des Gradienten, wird ein neuer Qualitätswert VMA neu 1840 aus dem alten Wert VMAFalt 1810 und den zwei benachbarten Werten VMAFN1 1820 und VMAFN2 1830 bestimmt werden, z.B. V M A F n e u = 0,50 V M A F a l t + 0,25 V M A F N 1 + 0,25 V M A F N 2 .
    Figure DE102022120724A1_0008
    Die Anpassung eines Wertes ist in 18b dargestellt. Wenn der neue Wert 1840 wieder ein Minimum darstellt, wird der Schritt wiederholt um einen weiteren neuen Wert 1850 zu erhalten, wie in 18c dargestellt ist. Die Qualität als Funktion der Bitrate, kann nun an einem weiteren Punkt 1860 ein Minimum aufweisen. Die Bestimmung eines neuen Qualitätswerts wird wiederholt, bis die Funktion, wie in 18d gezeigt, kein Minimum mehr aufweist. Die Qualität als Funktion der Bitrate ist somit monoton steigend.
  • Beispielsweise kann der Wertebereich der prädizierten Qualitäten beschränkt S1340 werden. Es ist möglich, dass das neuronale Netzwerk Qualitätswerte schätzt, die außerhalb des Wertebereichs des verwendeten Qualitätsmaßes liegen. Die VMAF-Metrik erlaubt beispielsweise Werte zwischen 0 und 100 und kann wie folgt beschränkt werden: V M A F ^ ( R n , S m ) = { 100 ; V M A F ^ ( R n , S m ) > 100 0 ; V M A F ^ ( R n , S m ) < 0 V M A F ^ ( R n , S m ) ; s o n s t
    Figure DE102022120724A1_0009
  • Ein zweiter Satz an Stützstellen ist beispielhaft in 16 gezeigt. Die Eck- bzw. Kreuzungspunkte des dargestellten Gitters repräsentieren die erzeugten Stützstellen (Rn,Sm, Q̂(Rn,Sm)) mit den geschätzten Qualitäten Q in der VMAF-Metrik.
  • Die Stützstellen können beispielsweise zusätzlich durch vorbestimmte Kriterien, wie z.B. Bitrate, zu erwartende Codierzeit oder örtliche Auflösung, gewichtet S1350 werden.
  • Aus den Stützstellen des zweiten Satzes wird eine Teilmenge an Stützstellen unter der Berücksichtigung von Qualitätsvorgaben ausgewählt S1130 um die Bitraten-Leiter zu erzeugen S1140. 14 zeigt ein beispielhaftes Flussdiagramm zur Erzeugung der Bitraten-Leiter aus den Stützstellen des zweiten Satzes.
  • Wie oben beschrieben können die Qualitätsvorgaben mindestens zwei Zielqualitätsstufen enthalten, die einer minimalen Zielqualität Qmin und einer maximalen Zielqualität Qmax entsprechen. Darüber hinaus können die Qualitätsvorgaben weitere Zielqualitätsstufen enthalten, die beispielsweise über einen maximalen Qualitätsabstand zweier benachbarter Qualitätsstufen, wie oben beschrieben, definiert sind. Alternativ können weitere Zielqualitätsstufen beispielsweise auch explizit im verwendeten Qualitätsmaß angegeben werden.
  • Für jede der K Zielqualitätsstufen aus den Qualitätsvorgaben kann eine Repräsentation bestimmt werden und in die Bitraten-Leiter aufgenommen werden. Im Folgenden wird das Bestimmen der Repräsentation beispielhaft für eine aktuelle k-te Zielqualitätsstufe beschrieben. Repräsentation für weitere Qualitätsstufen können analog erzeugt werden. Die Bitraten-Leiter kann sowohl ausgehend von der minimalen Zielqualität Qmin, also auch ausgehend von der maximalen Zielqualität Qmax erzeugt werden. 14 zeigt ein beispielhaftes Flussdiagramm zur Erzeugung der Bitraten-Leiter ausgehend von der maximalen Zielqualität Qmax, also beginnend mit der K-ten Stufe der Bitraten-Leiter.
  • Für eine aktuelle Stufe aus den Zielqualitätsstufen werden initiale Codierparameter, z.B. Auflösung und Bitratenvorgabe, berechnet S1410. Dafür wird eine Bitrate für eine Bitratenvorgabe eines Encoders bestimmt. Für jede Auflösung des zweiten Satzes wird eine Bitrate bestimmt, deren prädizierte Qualität die Qualitätsvorgaben erfüllt. Es kann örtliche Auflösungen geben, deren zugehörige Qualitäten die Qualitätsvorgaben nicht erfüllen. Diese werden für die Auswahl einer Bitratenvorgabe nicht berücksichtigt. Ferner können auch weitere Randbedingungen hinsichtlich der örtlichen Auflösung vorgegeben werden. Zum Beispiel können nur örtliche Auflösungen berücksichtigt werden, die eine Mindestgröße aufweisen, z.B. alle örtliche Auflösungen über 1280x720 Abtastwerten. Es können aber auch nur örtliche Auflösungen berücksichtigt werden, die kleiner gleich einer vorgegebenen Größe sind, z.B. alle örtliche Auflösungen kleiner gleich 1280x720 Abtastwerte.
  • Die Qualitätsvorgaben für bestimmte (gemessene) Qualitäten Q als auch für prädizierte Qualitäten Q umfassen beispielsweise die oben beschriebenen Bedingungen: Q m i n 1 Q 1 Q m i n ,
    Figure DE102022120724A1_0010
    Q m a x Q K Q m a x + 2 ,
    Figure DE102022120724A1_0011
    Δ Q m a x 3 Q k + 1 Q k Δ Q m a x .
    Figure DE102022120724A1_0012
  • Aus den so bestimmten Bitraten wird die kleinste Bitrate als Bitratenvorgabe ausgewählt. Die zu der ausgewählten Bitrate zugehörige Auflösung wird als Zielauflösung verwendet. Bei der Auswahl der Bitrate für die k-te Stufe von K Qualitätsstufen kann zusätzlich berücksichtigt werden, dass die örtliche Auflösung Sk für steigende Qualität Q1 < ... < Qk < ... < QK nicht kleiner werden sollte: S1 ≤ ... ≤ Sk ≤ ... ≤ SK.
  • Die Bestimmung der Bitrate für die Bitratenvorgabe umfasst beispielsweise eine Interpolation auf Basis der Stützstellen des zweiten Satzes. Zum Beispiel kann, wie in 19 für die geschätzten Werte VMAF-Metrik gezeigt, eine Interpolation der (geschätzten) Qualität als Funktion der Bitrate bei konstanter Auflösung Sm durchgeführt werden. Eine solche Interpolation kann beispielsweise eine lineare Interpolation sein.
  • 20 zeigt ein Beispiel zur Bestimmung einer Bitratenvorgabe („Rate Control“) RRC für eine Zielqualität im Bereich zwischen VMAFziel und VMAFziel + e. Die Bitratenvorgabe RRC wird so gewählt, dass der Wert der Qualität VMAFziel + ε/2 beträgt, wobei dieser Wert durch Interpolation der prädizierten Qualitäten ermittelt wurde. Dies erhöht die Wahrscheinlichkeit, dass sich die tatsächliche Qualität in dem gewünschten Bereich befindet.
  • Für die aktuelle Zielqualitätsstufe aus den Qualitätsvorgaben kann eine Repräsentation erzeugt werden. Dies umfasst das Codieren S1420 des Videoabschnitts mit der jeweiligen ausgewählten Bitratenvorgabe. Der Videoabschnitt kann, falls erforderlich, vor der Codierung auf die zugehörige örtliche Auflösung skaliert werden.
  • Von der erzeugten Repräsentation kann die Qualität Q bestimmt (gemessen) werden. Dies kann, wie oben beschrieben, durch einen objektiven Vergleich mit der Originalrepräsentation erfolgen. Die bestimmte Qualität Q kann mit den Qualitätsvorgaben verglichen werden S1430.
  • Wenn die bestimmte Qualität die Qualitätsvorgaben einhält („Ja“ in S1430), kann die Repräsentation in die Bitraten-Leiter aufgenommen werden S1440. Nach der Aufnahme der Repräsentation für die aktuelle k-te Zielqualitätsstufe in die Bitraten-Leiter kann analog eine Repräsentation für die (k-1 )-te Zielqualitätsstufe bestimmt werden S1460, sofern die unterste Zielstufe der Bitraten-Leiter noch nicht erreicht wurde („Nein“ in S1450), also k > 1 gilt. Wenn k = 1 gilt („Ja“ in S1450), wurde die Bitraten-Leiter vollständig erzeugt und der beispielhafte Ablauf in 14 ist beendet.
  • Die weiteren zu erzeugenden Repräsentationen werden auf Basis der jeweiligen vorherigen in die Bitraten-Leiter aufgenommen Repräsentation bestimmt. Dies kann durch die Qualitätsvorgabe für benachbarte Qualitätsstufen ΔQmax - ε3 ≤ Qk+1 - Qk ≤ ΔQmax, die den maximalen Qualitätsunterschied ΔQmax und die zugehörige zulässige Abweichung ε3 berücksichtigt, erreicht werden. Des Weiteren sollte die örtliche Auflösung Sk für steigende Qualität nicht kleiner werden.
  • Wenn die bestimmte Qualität der erzeugten Repräsentation die Qualitätsvorgaben nicht einhält („Nein“ in S1430), kann eine neue Repräsentation basierend auf einer neuen Bitratenvorgabe bestimmt werden. Für eine Neubestimmung der Codierparamer S1470, kann beispielsweise die (geschätzte) Qualität als Funktion der Bitrate, welche beispielshaft in 19 gezeigt ist, durch die neue, gemessene Qualität der erzeugten Repräsentation ergänzt werden. Beispielsweise kann die Interpolation, die mit Bezug zu 20 detailliert beschrieben wurde, mit dem hinzugefügten (bestimmten) Qualitätswert wiederholt werden. Beispielsweise kann mit dem hinzugefügten (bestimmten) Qualitätswert eine bilineare Interpolation zwischen den bereits kodierten und prädizierten Stützpunkten erfolgen, um mögliche Abweichungen von geschätzten und bestimmten Qualitätswerten zu verringern. Mit den neu bestimmten Codierparametern wird eine weitere Repräsentation in der Schleife S1480 erzeugt.
  • Dieses Erzeugen von Repräsentationen und Vergleichen der jeweiligen bestimmten Qualitäten mit den Qualitätsvorgaben kann wiederholt werden, bis eine Repräsentation erzeugt wird, die die Qualitätsvorgaben einhält.
  • Das Erzeugen von (geschätzten) Qualitäten Q ermöglicht eine verbesserte Bestimmung von Codierparametern und kann so die Zahl der benötigten Probecodierungen zur Erzeugung einer Repräsentation der Bitraten-Leiter verringern. Die Zahl der benötigten Probecodierungen kann von den zulässigen Abweichungen εi von Zielqualitätsstufen abhängen.
  • Eine beispielhafte Bitraten-Leiter ist in 21 gezeigt. Die Punkte markieren die Qualitätsstufen der Bitraten-Leiter.
  • Die beschriebenen beispielhaften Ausführungsformen zur Erzeugung einer Bitraten-Leiter können beliebig kombiniert werden, sofern nicht explizit anders angegeben.
  • Eine, wie oben beschrieben, erzeugte Bitraten-Leiter kann zum Codieren von Repräsentationen eines weiteren Videoabschnitts verwendet werden. In anderen Worten, die erzeugte Bitraten-Leiter kann verwendet werden, um einen oder mehrere andere Videoabschnitte zu codieren. Die erzeugte Bitraten-Leiter enthält zwei oder mehrere Qualitätsstufen. Für jede der Qualitätsstufen der Bitraten-Leiter kann eine Repräsentation des weiteren Videoabschnitts erzeugt werden. Die Erzeugung umfasst Codieren des weiteren Videoabschnitts gemäß der jeweiligen Qualitätsstufe. Die Qualitätsstufe enthält eine zugehörige Zielbitrate und eine Zielauflösung.
  • Obwohl die Ausführungsformen der Erfindung basierend auf einer Codierung von Videodaten beschrieben wurden, ist die Erfindung nicht darauf beschränkt, sondern kann auch zur Codierung von unbewegten Bildern verwendet werden.
  • Ausführungsformen der vorliegenden Erfindung und deren Funktionen können in Hardware, Software, Firmware oder einer Kombination daraus implementiert sein, wie beispielhaft in 22 gezeigt ist. Wenn Ausführungsformen in Form von Software implementiert sind, können die Funktionen auf einem computerlesbaren Speichermedium 2230 gespeichert sein oder über einen Kommunikationskanal 2240 (Beispielsweise ein Bus) übertragen werden als Anweisungen oder Code, der von einer hardwarebasierten Prozessoreinheit 2220 ausgeführt wird. Zum Beispiel kann ein computerlesbares Speichermedium 1130 ein RAM, ROM, EEPROM, CD-ROM oder ein anderes optisches Speichermedium, ein magnetisches Speichermedium, Flash-Speicher, oder ein anderes Speichermedium sein, das verwendet werden kann, Programmcode in Form von Anweisungen zu speichern, so dass sie von einem Computer ausgelesen werden können.
  • Anweisung können von einem oder mehreren Prozessoren ausgeführt werden, wie zum Beispiel Digitalsignalprozessoren (DSP), allgemeine Mikroprozessoren, anwendungsspezifische integrierte Schaltkreise, programmierbare Logikgatter (Field Programmable Gate Array, FPGA), oder anderen integrierte oder diskrete Logikschaltungen. Entsprechend kann sich der Ausdruck „Prozessor“ auf eine der genannten Strukturen oder andere Strukturen beziehen, die geeignet sind, die oben beschriebenen Verfahren zu implementieren. Darüber hinaus können die beschriebenen Funktionalitäten in dafür vorgesehener Hardware- und/oder Softwaremodulen implementiert sein, die eingerichtet sind, Bilddaten zu codieren und/oder zu decodieren, auch in Rahmen eines kombinierten Codecs. Die Verfahren können auch in einem oder mehreren Schaltkreisen oder Logikelementen implementiert sein.
  • Der Prozessor 2220 kann also die Einrichtung 110 oder 120, oder die Vorrichtung 100 zum Bestimmen einer Bitraten-Leiter umsetzen.
  • Eine Vorrichtung zum Bestimmen der Qualitätsvorgaben zum Codieren von Repräsentationen eines Videoabschnitts umfasst eine Einheit, die die maximale und die minimale Qualitätsstufe wie oben beschrieben bestimmt, und eine Einheit, welche den Satz an Qualitätsstufen mit vordefinierten, maximalen Qualitätsabstand zwischen benachbarten Qualitätsstufen wie oben beschrieben bestimmt.
  • Eine Vorrichtung zum Erzeugen einer Bitraten-Leiter zum Codieren von Repräsentationen eines Videoabschnitts, umfasst eine Einheit zum Bestimmen eines ersten Satzes an Stützstellen, wobei eine Stützstelle eine Qualität einer Repräsentation basierend auf Bitrate und Auflösung angibt und die Qualität auf einem Vergleich mit einer Originalrepräsentation basiert, eine Einheit zum Erzeugen eines zweiten Satzes von Stützstellen basierend auf dem ersten Satz an Stützstellen, wobei der zweite Satz mehr Stützstellen enthält als der erste Satz, und eine Einheit zum Auswählen einer Teilmenge an Stützstellen des zweiten Satzes unter der Berücksichtigung von Qualitätsvorgaben zur Erzeugung der Bitraten-Leiter basierend auf der Teilmenge an Stützstellen.
  • Eine Vorrichtung zum Codieren von Repräsentationen eines Videoabschnitts, umfasst eine Einheit, die die Bitraten-Leiter wie oben beschrieben erzeugt, und eine Einheit um für jede der Qualitätsstufen der Bitraten-Leiter eine Repräsentation zu erzeugen, umfassend Codieren des Videoabschnitts gemäß der jeweiligen Qualitätsstufe.
  • Zusammenfassend betrifft die vorliegende Erfindung Verfahren und Vorrichtungen zum Erzeugen einer Bitraten-Leiter zum Codieren von Repräsentationen eines Videoabschnitts. Das Erzeugen beinhaltet das Generieren eines Satzes von Stützstellen, wobei eine Stützstelle eine Qualität einer Repräsentation basierend auf Bitrate und Auflösung angibt. Eine Teilmenge von Stützstellen wird unter der Berücksichtigung von Qualitätsvorgaben zur Erzeugung der Bitraten-Leiter ausgewählt.

Claims (16)

  1. Verfahren zum Erzeugen einer Bitraten-Leiter zum Codieren von Repräsentationen eines Videoabschnitts, umfassend: Bestimmen eines ersten Satzes an Stützstellen, wobei eine Stützstelle eine Qualität einer Repräsentation basierend auf Bitrate und Auflösung angibt und die Qualität auf einem Vergleich mit einer Originalrepräsentation basiert; Erzeugen eines zweiten Satzes von Stützstellen basierend auf dem ersten Satz an Stützstellen, wobei der zweite Satz mehr Stützstellen enthält als der erste Satz, Auswählen einer Teilmenge an Stützstellen des zweiten Satzes unter der Berücksichtigung von Qualitätsvorgaben zur Erzeugung der Bitraten-Leiter basierend auf der Teilmenge an Stützstellen.
  2. Verfahren gemäß Anspruch 1, wobei das Bestimmen des ersten Satzes an Stützstellen umfasst: Auswahl eines ersten Gitters an Wertepaaren in einem Bitraten-Auflösungs-Raum, und Bestimmen von Qualitäten von Repräsentationen an den Wertpaaren des ersten Gitters um einen ersten Satz an Stützstellen zu erhalten.
  3. Verfahren gemäß Anspruch 2, wobei das erste Gitter wenigstens die vorbestimmten Wertepaare - maximale Bitrate, maximale Auflösung, und - minimale Bitrate, minimale Auflösung enthält, wobei die minimale Bitrate für die minimale Auflösung unter Berücksichtigung von Qualitätsvorgaben bestimmt wird, die maximale Bitrate für die maximale Auflösung unter Berücksichtigung von Qualitätsvorgaben bestimmt wird, die maximale Auflösung einer Auflösung der Originalrepräsentation entspricht, und die minimale Auflösung einer vorbestimmten Auflösung entspricht, die kleiner ist als die Auflösung der Originalrepräsentation.
  4. Verfahren gemäß Anspruch 3, wobei die Qualitätsvorgaben mindestens zwei Zielqualitätsstufen enthalten, die einer minimalen Zielqualität und einer maximalen Zielqualität entsprechen, eine Qualität einer Repräsentation, welche auf Basis der minimalen Bitrate und der minimalen Auflösung erzeugt wird, die minimale Zielqualität unterschreitet, und eine Qualität einer Repräsentation, welche auf Basis der maximalen Bitrate und der maximalen Auflösung erzeugt wird, die maximale Zielqualität überschreitet.
  5. Verfahren gemäß eines der Ansprüche 1 bis 4, wobei das Erzeugen des zweiten Satzes an Stützstellen folgendes umfasst: Erzeugen eines zweiten Gitters an Wertepaaren in einem Bitraten-Auflösungs-Raum, welches Wertepaare des ersten Satzes enthält, und Erzeugen von Qualitäten für die Wertepaare des zweiten Satzes basierend auf den Stützstellen des ersten Satzes.
  6. Verfahren gemäß Anspruch 5, wobei das Erzeugen von Qualitäten für die Wertepaare des zweiten Satzes wenigstens eines der folgenden umfasst: - Interpolation der Stützstellen, und/oder - Verarbeitung durch ein neuronales Netzwerk, und/oder - eine Kombination daraus.
  7. Verfahren gemäß Anspruch 6, wobei die Verarbeitung durch ein neuronales Netzwerk folgendes umfasst: Erhalten von Stützstellen des ersten Satzes oder einer Interpolation von Stützstellen des ersten Satzes als Eingangsdaten, Erzeugung von Ausgangsdaten umfassend Verarbeiten der Eingangsdaten durch ein oder mehrere Schichten des neuronalen Netzwerks.
  8. Verfahren gemäß eines der Ansprüche 6 oder 7, wobei Ausgangsdaten des neuronalen Netzwerks durch - Filterung der Ausgangsdaten um Monotonie-Bedingungen einzuhalten, und/oder - Begrenzung des Wertebereichs der prädizierten Qualitäten verarbeitet werden.
  9. Verfahren gemäß eines der Ansprüche 1 bis 8, wobei die Qualitätsvorgaben mindestens zwei Zielqualitätsstufen enthalten, die einer minimalen Zielqualität und einer maximalen Zielqualität entsprechen, und das Auswählen der Teilmenge an Stützstellen folgendes umfasst: für jede Zielqualitätsstufe aus den Qualitätsvorgaben Bestimmung einer Bitrate für eine Bitratenvorgabe eines Encoders umfassend Bestimmung einer Bitrate für jede Auflösung, deren zugehörige prädizierte Qualität die Qualitätsvorgaben für die jeweilige Zielqualitätsstufe erfüllt, und Auswahl der minimalen Bitrate aus den bestimmten Bitraten als Bitratenvorgabe.
  10. Verfahren gemäß Anspruch 9, wobei die Bestimmung der Bitrate für die Bitratenvorgabe eine Interpolation auf Basis der Stützstellen des zweiten Satzes umfasst.
  11. Verfahren gemäß eines der Ansprüche 9 oder 10, wobei das Auswählen der Teilmenge an Stützstellen ferner folgendes umfasst Erzeugen einer Repräsentation umfassend Codieren des Videoabschnitts mit der jeweiligen Bitratenvorgabe für jede Zielqualitätsstufe aus den Qualitätsvorgaben.
  12. Verfahren gemäß Anspruch 11, ferner umfassend Bestimmung einer Qualität der erzeugten Repräsentation, Vergleichen der bestimmten Qualität mit den Qualitätsvorgaben, wenn die bestimmte Qualität die Qualitätsvorgaben einhält: Aufnahme der Repräsentation in die Bitraten-Leiter; wenn die bestimmte Qualität die Qualitätsvorgaben nicht einhält: Bestimmung einer neuen Repräsentation basierend auf einer neuen Bitratenvorgabe.
  13. Verfahren zum Codieren von Repräsentationen eines Videoabschnitts, umfassend: Erzeugen einer Bitraten-Leiter nach einem der Ansprüche 1 bis 12, wobei die Bitraten-Leiter zwei oder mehrere Qualitätsstufen enthält; für jede der Qualitätsstufen der Bitraten-Leiter: Erzeugen einer Repräsentation umfassend Codieren des Videoabschnitts gemäß der jeweiligen Qualitätsstufe.
  14. Computerprogramm, umfassend: Programmanweisungen, die auf einem nicht-übertragbaren, computerlesbaren Medium gespeichert sind, und die, wenn sie auf einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, Schritte eines der Verfahren 1 bis 13 auszuführen.
  15. Vorrichtung zum Erzeugen einer Bitraten-Leiter zum Codieren von Repräsentationen eines Videoabschnitts, umfassend: eine Einheit zum Bestimmen eines ersten Satzes an Stützstellen, wobei eine Stützstelle eine Qualität einer Repräsentation basierend auf Bitrate und Auflösung angibt und die Qualität auf einem Vergleich mit einer Originalrepräsentation basiert; eine Einheit zum Erzeugen eines zweiten Satzes von Stützstellen basierend auf dem ersten Satz an Stützstellen, wobei der zweite Satz mehr Stützstellen enthält als der erste Satz, eine Einheit zum Auswählen einer Teilmenge an Stützstellen des zweiten Satzes unter der Berücksichtigung von Qualitätsvorgaben zur Erzeugung der Bitraten-Leiter basierend auf der Teilmenge an Stützstellen.
  16. Vorrichtung zum Codieren von Repräsentationen eines Videoabschnitts, umfassend: eine Vorrichtung zum Erzeugen einer Bitraten-Leiter nach Anspruch 15; eine Einheit um für jede der Qualitätsstufen der Bitraten-Leiter eine Repräsentation zu erzeugen, umfassend Codieren des Videoabschnitts gemäß der jeweiligen Qualitätsstufe.
DE102022120724.2A 2022-08-17 2022-08-17 Verfahren und Vorrichtungen zum Erzeugen einer Bitraten-Leiter für Videostreaming Pending DE102022120724A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102022120724.2A DE102022120724A1 (de) 2022-08-17 2022-08-17 Verfahren und Vorrichtungen zum Erzeugen einer Bitraten-Leiter für Videostreaming
PCT/EP2023/072400 WO2024038019A1 (de) 2022-08-17 2023-08-14 Verfahren und vorrichtungen zum erzeugen einer bitraten-leiter für videostreaming

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022120724.2A DE102022120724A1 (de) 2022-08-17 2022-08-17 Verfahren und Vorrichtungen zum Erzeugen einer Bitraten-Leiter für Videostreaming

Publications (1)

Publication Number Publication Date
DE102022120724A1 true DE102022120724A1 (de) 2024-02-22

Family

ID=87580233

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022120724.2A Pending DE102022120724A1 (de) 2022-08-17 2022-08-17 Verfahren und Vorrichtungen zum Erzeugen einer Bitraten-Leiter für Videostreaming

Country Status (2)

Country Link
DE (1) DE102022120724A1 (de)
WO (1) WO2024038019A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200296362A1 (en) 2019-03-15 2020-09-17 Mux, Inc. Method for generating video- and audience-specific encoding ladders
US20210329255A1 (en) 2018-10-22 2021-10-21 Bitmovin, Inc. Video Encoding Based on Customized Bitrate Table

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3051059A1 (en) * 2017-01-30 2018-08-02 Euclid Discoveries, Llc Video characterization for smart encoding based on perceptual quality optimization
US11019374B2 (en) * 2019-02-04 2021-05-25 Netflix, Inc. Techniques for efficiently performing subsequence-based encoding for a media title

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210329255A1 (en) 2018-10-22 2021-10-21 Bitmovin, Inc. Video Encoding Based on Customized Bitrate Table
US20200296362A1 (en) 2019-03-15 2020-09-17 Mux, Inc. Method for generating video- and audience-specific encoding ladders

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KAH, Andreas [et al.]: Fundamental relationships between subjective quality, user acceptance, and the VMAF metric for a quality-based bit rate ladder design for over-the-top video streaming services. In: TESCHNER, Andrew G. ; EBRAHIMI, Touradj (eds.): Applications of digital image processing XLIV. Bellingham : SPIE, 2021 (Proceedings of SPIE ; 11842). Article No. 118420Z (10 S.) – ISBN 9781510645226

Also Published As

Publication number Publication date
WO2024038019A1 (de) 2024-02-22

Similar Documents

Publication Publication Date Title
DE60003070T2 (de) Adaptive bewegungsvektorfeldkodierung
DE10300048B4 (de) Verfahren und Vorrichtung zur Bildcodierung und -decodierung
EP1599835B1 (de) Verfahren und anordnung zur videocodierung, wobei die videocodierung texturanalyse und textursynthese umfasst, sowie ein entsprechendes computerprogramm und ein entsprechendes computerlesbares speichermedium
DE69625945T2 (de) Hierarchischer Bildkodierer und -dekodierer
DE19758761B4 (de) Verfahren zum Intrakodieren eines von einer Pixelmatrix gebildeten Bildes
DE2550928C2 (de) Einrichtung zur Komprimierung einer m·n-Matrix deltacodierter Punkte
DE69813349T2 (de) Vorrichtung zur Kontrolle der Datenmenge und Kodierer dieselbige anwendend
EP0201679A1 (de) Verfahren zur Bilddatenreduktion für digitale Fernsehsignale
DE69837361T2 (de) Verfahren und Vorrichtung zur Bildkodierung
DE3109795A1 (de) Bandeinengungsverfahren fuer getoente bilder
DE3546136A1 (de) Bildverarbeitungsverfahren und -vorrichtung
DE4242796A1 (en) High efficiency coding of two level mixed natural images for image transmission - identifying input signals and digitising before image synthesis and coding processing into final form
DE602004006716T2 (de) Verarbeitung von bildern unter verwendung einer begrenzten anzahl von bits
DE60017825T2 (de) Verfahren und Vorrichtung zur Kodierung und Dekodierung von Audiosignalen und Aufzeichnungsträger mit Programmen dafür
EP2373030A1 (de) Verfahren zur Kompression von Bilddaten
EP3624456A1 (de) Verfahren zur kompression und dekompression von bilddaten
EP0335872B1 (de) Verfahren und schaltungsanordnung zur reduktion der datenrate digitalisierter bilder
EP1197067B1 (de) Verfahren und schaltungsanordnung zur kontrastverbesserung eines bildes
DE60012113T2 (de) Vorrichtung zur Bearbeitung von dekomprimierten Bildern
DE102022120724A1 (de) Verfahren und Vorrichtungen zum Erzeugen einer Bitraten-Leiter für Videostreaming
DE102018112215B3 (de) Quantisiererbestimmung, computerlesbares Medium und Vorrichtung, die mindestens zwei Quantisierer implementiert
DE102021118216A1 (de) Verfahren und Vorrichtungen zum Entwurf einer Bitraten-Leiter für Videostreaming
EP0577631B1 (de) Verfahren zur kompression von bilddaten
EP0241745B1 (de) Verfahren zur Datenreduktion digitaler Bildsignale durch Vektorquantisierung von durch orthonormale Transformation mittels einer symmetrischen fastzyklischen Hadamard-Matrix gewonnenen Koeffizienten
DE102006048432A1 (de) Verfahren und Aufzeichnungsformat für Bildkomprimierung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication