DE102016207230A1 - Wahrnehmbare Farbumwandlungen für Videokodierung mit einem breiten Farbumfang - Google Patents

Wahrnehmbare Farbumwandlungen für Videokodierung mit einem breiten Farbumfang Download PDF

Info

Publication number
DE102016207230A1
DE102016207230A1 DE102016207230.7A DE102016207230A DE102016207230A1 DE 102016207230 A1 DE102016207230 A1 DE 102016207230A1 DE 102016207230 A DE102016207230 A DE 102016207230A DE 102016207230 A1 DE102016207230 A1 DE 102016207230A1
Authority
DE
Germany
Prior art keywords
color space
computer
components
chromaticity
color
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
DE102016207230.7A
Other languages
English (en)
Inventor
Daniel Luginbuhl
Tunc Ozan AYDIN
Aljosa SMOLIC
Nikolce Stefanovski
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.)
Disney Enterprises Inc
Original Assignee
Disney Enterprises Inc
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 Disney Enterprises Inc filed Critical Disney Enterprises Inc
Publication of DE102016207230A1 publication Critical patent/DE102016207230A1/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/67Circuits for processing colour signals for matrixing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • H04N9/8045Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction using predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)

Abstract

Es wird eine Videokodierungspipeline bereitgestellt, die bei einer festen Bitrate Inhalt mit einem hohen Dynamikbereich (HDR) und mit einem breiten Farbumfang (WCG) aufnehmen kann. Die Videokodierungspipeline beruht auf separaten chromatizitäts- und luminanzspezifischen Umwandlungen, um Bildinhalte zu verarbeiten. Bildinhalt kann in einen in der Wahrnehmung fast einheitlichen Farbraum konvertiert werden für eine Kodierung bei konstanter Luminanz. Es werden des Weiteren Chromatizitätsumwandlungen eingesetzt, welche Kodierungsfehler in den Chromakomponenten reduzieren (bei der festen Bitrate), indem die Distribution von Kodewörtern für die Kompression vergrößert wird.

Description

  • Querverweis auf verwandte Anmeldungen
  • Diese Anmeldung beansprucht den Rechtsvorteil der vorläufigen US-Patentanmeldung Nr. 62/156124, angemeldet am 1. Mai 2015 und der US-Patentanmeldung Nr. 14/862 027, angemeldet am 22. September 2015, welche hiermit in ihrer Gesamtheit durch Bezugnahme eingeschlossen wird.
  • Technisches Gebiet
  • Die vorliegende Offenbarung bezieht sich allgemein auf Videokodierung.
  • Beschreibung des Standes der Technik
  • Es gibt ein wachsendes Interesse an der Distribution von Video oder anderem visuellen Inhalt mit einem hohen Dynamikbereich (high dynamic range, HDR) und einem breiten Farbumfang (wide color gamut, WCG), da dadurch ein im Vergleich zu Inhalten mit herkömmlichen Standarddynamikbereichen (standard dynamic range, SDR) und Standardfarbumfängen (standard color gamut, SCG) ein verbessertes Betrachtungserlebnis erreicht werden kann. Normalerweise hat ein SDR-Inhalt eine Helligkeit von z. Bsp. 0,1 bis 100 Nits, einem Bereich, der signifikant geringer ist, als derjenige, den das menschliche Auge der Realität sehen kann. Filmmaterial, das in HDR oder WCG aufgenommen wurde bzw. aufbereitet wurde, enthält jedoch mehr Information, wodurch wiederum die Dateien größer sein müssen und die Bitrate erhöht werden muss.
  • Kurze Beschreibung der Offenbarung
  • Verschiedene Ausführungsformen beziehen sich auf die Bereitstellung von Inhalt mit besserer Qualität (z. Bsp. Bild) bei einer festen Bitrate, indem eine Kodierungspipeline mit konstanter Luminanz eingesetzt wird, in welcher Bildinhalt in einen in der Wahrnehmung fast einheitlichen Luminanz/Chrominanz (Y/U'V') Farbraum konvertiert wird. Es werden zusätzlich verschiedene Chromatizitätsumwandlungen zum Einsatz in der Kodierungspipeline offenbart (über eine dezidierte Chromatizitätsumwandlung separat und im Unterschied zur Luminanzumwandlung).
  • Gemäß einer Ausführungsform der vorliegenden Offenbarung umfasst ein computerimplementiertes Verfahren das Konvertieren eines additiven Farbmodellsignals in ein einheitliches Farbraumsignal mit Chromatizitätskomponenten und einer Luminanzkomponente. Das computerimplementierte Verfahren umfasst des Weiteren das Umwandeln der Chromatizitätskomponenten und der Luminanzkomponente durch eine chromatizitätsspezifische Umwandlung, welche auf die Chromatizitätskomponenten angewendet wird und eine luminanzspezifische Umwandlung, welche auf die Luminanzkomponente angewendet wird. Immer noch des Weiteren umfasst das computerimplementierte Verfahren das Quantisieren der umgewandelten Chromatizitätskomponenten und der Luminanzkomponente und das Kodieren der quantisierten Chromatizitätskomponenten und der Luminanzkomponente.
  • Gemäß einer anderen Ausführungsform der vorliegenden Offenbarung weist ein nicht-transitorisches computerlesbares Medium darauf enthaltenen computerausführbaren Programmcode auf, wobei der computerausführbare Programmcode dazu eingerichtet ist, zu bewirken, dass der Prozessor:
    quantisierte Farb- und Helligkeitskomponenten eines Input-Bitstroms dekodiert, welcher ein Bildsignal trägt, das durch ein erstes Farbraummodell dargestellt ist, das Helligkeits- und Farbkomponenten aufweist; die quantisieren Farb- und Helligkeitskomponenten dequantisiert; eine erste inverse Umwandlung auf die dequantisierte Farbkomponente anwendet; eine zweite inverse Umwandlung auf die dequantisierte Helligkeitskomponente anwendet; und das Bildsignal, das durch ein erstes Farbraummodell dargestellt ist, in das konvertiert, welches durch ein zweites Farbraummodell dargestellt ist, wobei das zweite Farbraummodell ein additives Farbraummodell ist.
  • In Übereinstimmung mit noch einer anderen Ausführungsform der vorliegenden Offenbarung umfasst ein System einen Konverter, um ein Bildsignal, das durch ein erstes Farbraummodell dargestellt ist, zu konvertieren, in eines, welches durch ein zweites Farbraummodell mit Helligkeits- und Farbkomponenten dargestellt ist. Das System beinhaltet des Weiteren einen ersten Umwandler, um eine erste Umwandlung auf die Farbkomponente anzuwenden, einen opto-elektronischen Transferfunktionskodierer, um eine zweite Umwandlung auf die Helligkeitskomponente anzuwenden, einen Quantisierer, um die umgewandelten Farb- und Helligkeitskomponenten zu quantisieren und einen Kodierer, um die quantisierten Farb- und Helligkeitskomponenten zu kodieren und einen Bitstrom herauszugeben.
  • Kurze Beschreibung der Zeichnungen
  • In Übereinstimmung mit einer oder mehr verschiedenen Ausführungsformen wird die vorliegende Offenbarung im Einzelnen in Bezug auf die folgenden Figuren beschrieben. Die Figuren werden rein zu Darstellungszwecken bereitgestellt und zeigen lediglich typische oder beispielhafte Ausführungsformen.
  • Bei 1 handelt es sich um ein Flussdiagramm, welches beispielhafte Vorgänge darstellt, die durchgeführt werden können, um eine konstante Luminanzkodierungspipeline mit einer dedizierten Chromatizitätsumwandlung gemäß verschiedener Ausführungsformen zu erhalten.
  • 2A ist eine schematische Darstellung einer Videoverarbeitungspipeline in welcher die konstante Luminanzkodierungspipeline mit einer dedizierten Chromatizitätsumwandlung aus 1 gemäß verschiedener Ausführungsformen implementiert werden kann.
  • 2B ist eine schematische Darstellung der konstanten Luminanzkodierungspipeline mit einer dedizierten Chromatizitätsumwandlung aus 1, welche in der Videoverarbeitungspipeline aus 2A verwendet werden kann.
  • 3 ist eine schematische Darstellung einer herkömmlichen nicht-konstanten Luminanzpipeline.
  • 4 ist eine konzeptuelle Darstellung einer Chromatizitätsumwandlung, welche in der konstanten Luminanzkodierungspipeline mit einer dedizierten Chromatizitätsumwandlung aus 1 verwendet werden kann.
  • 5 ist eine beispielhafte Darstellung von Unterteilungen eines Farbraums in ein Netz, um die Chromatizitätsumwandlung anzuwenden, welche in der konstanten Luminanzkodierungspipeline mit einer dedizierten Chromatizitätsumwandlung aus 1 verwendet werden kann.
  • 6 ist eine beispielhafte Darstellung der Bildung eines regelmäßigen Rasters bei Anwendung einer Umwandlung auf jeden Eckpunkt eines Netzes.
  • 7A ist eine beispielhafte Darstellung eines Streckungsschrittes einer direkten Umwandlung, angewendet bei der Umwandlung von Chromatizitätswerten.
  • 7B ist eine beispielhafte Darstellung eines Eckpunktes, der mit den Grenzpunkten eines Polygons verbunden ist.
  • 7C ist eine beispielhafte Darstellung von äquidistanten Punkten eines Farbraumdreiecks, welches einem Einheitsquadrat zugeordnet ist.
  • 8A ist eine beispielhafte Darstellung einer nicht optimierten kleinste-Quadrate-Chromatizitätsumwandlung, welche in der konstanten Luminanzkodierungspipeline mit einer dedizierten Chromatizitätsumwandlung aus 1 angewendet werden kann.
  • 8B ist eine beispielhafte Darstellung einer optimierten kleinste-Quadrate-Chromatizitätsumwandlung, welche in der konstanten Luminanzkodierungspipeline mit einer dedizierten Chromatizitätsumwandlung aus 1 angewendet werden kann.
  • 9 ist eine beispielhafte Berechnungskomponente, welche verwendet werden kann, um verschiedene Merkmale von Ausführungsformen, die in der vorliegenden Offenbarung beschrieben sind, zu implementieren.
  • Die Figuren sind nicht abschließend und beschränken die vorliegende Offenbarung nicht auf die genaue offenbarte Form.
  • Detaillierte Beschreibung
  • Im Gegensatz zu herkömmlichen, nicht konstanten Luminanzkodierungspipelines stellen verschiedene vorliegend offenbarte Ausführungsformen eine konstante Luminanzkodierungspipeline mit einer dedizierten Chromatizitätsumwandlung bereit. Wie obenstehend beschrieben enthält Filmmaterial in HDR oder WCG mehr Informationen als SDR, was mehr Speicherplatz bzw. eine erhöhte Bitrate für die Distribution erfordert. Da die Bitrate für gewisse Distributionskanäle zu hoch sein kann, gibt es einen Bedarf an einer höheren Kompressionseffizienz.
  • 1 zeigt beispielhafte Vorgänge gemäß verschiedener Ausführungsformen, die durchgeführt werden, um eine effizientere Farb-(SCG und WCG)Videokodierung mit Hilfe einer konstanten Luminanzkodierungspipeline mit einer dedizierten Chromatizitätsumwandlung durchzuführen. 1 wird zusammen mit 2B beschrieben, wobei es sich um eine schematische Darstellung einer solchen Kodierungspipeline handelt. Die Kodierungspipeline 201 hat einen Vorverarbeitungsabschnitt 209 und einen Kodierungsabschnitt (verkörpert durch den Kodierer 210) aufweist.
  • Bei Vorgang 100 wird ein additives Farbmodellsignal in ein einheitliches Farbraumsignal mit Chromatizitätskomponenten oder Kanälen und Luminanzkomponente oder Kanal konvertiert (durchgeführt durch den Konverter 202 der 2B). Das rote, grüne und blaue (RGB) Farbmodell ist ein Beispiel eines additiven Farbmodells, in dem rotes, grünes und blaues Licht auf verschiedene Art und Weise addiert wird, um eine Vielzahl an anderen Farben zu erreichen. Das RGB-Farbmodell kann für die Erkundung, die Darstellung und das Anzeigen von Bildern in elektronischen Systemen, wie Bildschirmen, Fernsehern, etc. verwendet werden. Eingabegeräte wie Videokameras, Bildscanner, Videospielkonsolen, Digitalkameras und ähnliches können ein RGB-Signal in ein Ausgabegerät einbringen, wie zum Beispiel einen Fernseher, Bildschirm, Beamer oder anderen Display. Der einheitliche Farbraum kann CIE-Farbraum oder YUV-Farbraum genannt werden, welcher in einer Farbbildpipeline verwendet wird. Dieser kann ein Farbbild oder Video kodieren, das die menschliche Wahrnehmung berücksichtigen kann und es ermöglicht, dass Chromatizitätskomponenten Übertragungsfehler oder Kompressionsartefakte maskieren (im Gegensatz zur Verwendung einer „direkten” RGB-Darstellung des Bildes oder Videos). Das Ergebnis der Konvertierung ist ein Signal, das eine Luminanzkomponente oder einen Kanal aufweist, Y (steht für die Helligkeit) und Chromatizitätskomponenten oder Kanäle, U und V (stehen für die Farbe).
  • Es sollte festgehalten werden, dass, wie obenstehend beschrieben, die Konvertierung von dem RGB-Farbraum in den YUV-Farbraum „direkt” von RGB- zu YUV-Komponenten oder Kanälen erfolgen kann. Es kann jedoch gemäß anderer Ausführungsformen eine sofortige Konvertierung (nicht gezeigt) durchgeführt werden, um die RGB-Komponenten oder Kanäle in einen XYZ-Farbraum zu konvertieren, wobei XYZ-Komponenten anschließend in die vorab genannten YUV-Komponenten konvertiert werden können.
  • Bei Vorgang 102 werden die Chromatizitätskomponenten und die Luminanzkomponente umgewandelt, wobei eine chromatizitätsspezifische Umwandlung auf die Chromatizitätskomponenten und eine luminanzspezifische Umwandlung auf die Luminanzkomponente angewendet wird (Chromatizitäts- und Luminanzumwandlung wird jeweils durch Umwandler 206 und 204 aus 2B durchgeführt). Wie in 2B gezeigt ist, werden die U und V Kanäle in U' und V' Kanäle umgewandelt, wobei die Chromatizitätsumwandlung gemäß verschiedener Ausführungsformen eine wahrnehmbare Einheitlichkeit behält (was bei herkömmlichen Umwandlungen, die in herkömmlichen Kodierungspipelines verwendet werden, nicht möglich ist.). Es sollte festgehalten werden, dass die Luminanzkomponente oder Kanal separat verarbeitet wird, z. Bsp. mit einer opto-elektronischen Transferfunktion (OETF) (durchgeführt von OETF-Kodierer 204 der 2B), was zu einer gamma-komprimierten oder -kodierten Lumakomponente Y' führt. Die getrennte Behandlung der Luminanz- und Chromatizitätskomponenten trägt auch zu einer effizienteren Kompression bei.
  • Bei Vorgang 104, werden die Luma Y' und die Chromatizitätskomponenten U' und V' quantisiert (durch den Quantisierer 208 aus 2B), was zu einem Signal mit DY', DU' und DV' Komponenten oder Kanälen führt. Unter Quantisierung kann eine verlustbehaftete Kompressionstechnik verstanden werden, die erreicht wird, wenn eine Bandbreite von Werten in einen einzelnen Mengenwert komprimiert wird, in diesem Fall die Luma- und Chromatizitätskomponentenwerte, und dadurch die Anzahl an Farben reduziert wird, die zur Bilddarstellung verwendet werden.
  • Bei Vorgang 106 werden die Chromatizitätskomponenten DU' und DV' kodiert (durch den Kodierer 210 aus 2B). Dasselbe gilt für die quantisierte Lumakomponente DY'. Kodierer 210 kann eine Speichereinheit aufweisen mit einem Computercode, so konfiguriert, dass er bewirkt, dass der Prozessor einen Videocodec anwendet, wie etwa einen Hochleistungs-Video-Kodierungs-(high efficiency vdeo coding, HEVC)-Codec, wobei es sich um einen Nachfolger zum Advanced Video Coding (AVC) handelt, was auch als H.264 bekannt ist. Es wird festgehalten, dass HEVC ursprünglich für SDR- und SCG-Inhalt entwickelt wurde und sich in herkömmlichen Anwendungen nicht optimal zur Kodierung von HDR- oder WCG-Videosequenzen eignet, was die Kompressionseffizienz angeht. Die vorab erwähnte Chromatizitätsumwandlung der vorliegenden Erfindung konvertiert jedoch die Chromatizitätskomponenten (U, V) in verschiedene Werte (U', V'), die für Kompressionszwecke effizienter sind (die Codewörter auf dem Codecniveau (z. Bsp. HEVC) besser einsetzen). Des Weiteren sind, wie auch vorab beschrieben, die umgewandelten Chromatizitätskomponenten soweit es geht so gestaltet, dass sie in der Wahrnehmung einheitlich sind, um die Wahrnehmungsanpassung des CIE- oder YUV-Farbraums zu erhalten.
  • 2A zeigt beispielhaft ein Kodierer- und Dekodierer-Architektursystem 200, in welchem verschiedene Ausführungsformen implementiert werden können. System 200 kann einen Kodierer 210, einen Dekodierer 218 und ein Netzwerk oder Distributionskanal/Distributionskanäle 216 umfassen, an den sowohl Dekodierer 218 und Kodierer 210 übertragbar verbunden sind. Kodierer 210 kann einen Speicher 212 und einen Prozessor 214 umfassen, während Dekodierer 218 auch einen Speicher 220 und einen Prozessor 222 beinhalten kann. Dekodierer 218 kann eine Set-Top-Box, ein Tuner, etc. sein. Im Betrieb kann Prozessor 214 des Kodierers 210 Computeranweisungen ausführen, welche im Speicher 212 gespeichert sind, wie zum Beispiel Computeranweisungen zur Kodierung einer Videosequenz. Dies bedeutet, dass Videoinhalt, welcher im HDR- oder WCG-Format vorliegen kann, in den Kodierer 210 eingebracht wird und dann in Vorbereitung der Speicherung und/oder Übertragung komprimiert wird. Prozessor 214 des Kodierers 210 kann zum Beispiel einen Prozess zur Kodierung einer Videosequenz durchführen und dazu den vorab beschriebenen HEVC-Codec verwenden und die kodierte Videosequenz über das Netzwerk 216 an den Dekodierer 218 übertragen. Dekodierer 218, der als eine Art Empfangsgerät verkörpert ist, also z. Bsp. in Form einer Set-Top-Box, eines Tuners, etc. kann die kodierte HDR- und WCG-Videosequenz zur Dekodierung und Darstellung auf dem Display 224 empfangen. Das bedeutet, dass Prozessor 222 des Dekodierers 218 Computeranweisungen ausführen kann, die im Speicher 220 gespeichert sind, wie z. Bsp. Computeranweisungen für das Dekodieren der empfangenen HEVC-kodierten Videosequenz.
  • Wie vorab schon angedeutet wurde, beinhaltet das System 200 Abschnitte 209 und 223 jeweils zur Vor- und Nachverarbeitung, in welchen einer oder mehr Algorithmen gemäß verschiedener Ausführungsformen ausgeführt werden (vis-à-vis Konverter 202, OETF-Kodierer 204, Chromatizitätsumwandler 206 und Quantisierer 208). Bei diesen Komponenten kann es sich um separate Hardware- und/oder Softwarekomponenten oder funktionale Aspekte der gleichen Hardware- und/oder Softwarekomponente handeln. Auch wenn die entsprechenden Komponenten des Abschnitts zur Nachverarbeitung 223 nicht gezeigt sind, wäre es klar, dass ähnliche Hardware- und/oder Software beinhaltet ist, um eine De-Quantisierung und eine inverse Bildumwandlung auf einer kodierten Videosequenz durchzuführen. Das bedeutet, dass ein Eingabe-Bitstrom durch den Dekodierer 218 dekodiert werden kann. Durch die Dekodierung des Eingabe-Bitstroms kann Decodierer 218 den Eingabe-Bitstrom in eine Reihe von Umwandlungskoeffizienten, räumliche Vorhersagemodi und Bewegungskomponsationsvektoren konvertieren. Es wird festgehalten, dass an den Kodierungs- und Dekodierungsaspekten der Kodierungspipeline kein modifizierter (z. Bsp. HEVC) Codec beteiligt sein muss.
  • Wie auch bereits vorab schon angedeutet wurde, beruhen die herkömmlichen Kodierungspipelines auf nicht-konstanter Luminanzkodierung. 3 zeigt ein Beispiel einer herkömmlichen Kodierungspipeline 301, um die Unterschiede zwischen dem Stand der Technik und den verschiedenen vorliegend offenbarten Ausführungsformen aufzuzeigen. Bei der herkömmlichen Kodierungspipeline 301 wird ein Bild im RGB-Farbraum als Eingabe gemacht. Da jeder Frame der Eingabe-Videosequenz individuell verarbeitet werden muss, wird jeder Schritt in der Referenz-Pipeline auf jeden Frame nacheinander angewendet. Das Eingabe-(RGB)Bild wird zunächst konvertiert, um die Präzision innerhalb des Bereichs [0, 1] zu verdoppeln. Somit wendet der Gammakodierer 302 eine nichtlineare Transferfunktion (TF) an, wodurch die lineare Luminanz der R, G und B Kanäle neu auf andere Code-Niveaus verteilt wird und im Ergebnis zu nichtlinearen RGB-Komponenten führt, die mit R', G' und B' bezeichnet werden. Es kann festgehalten werden, dass kleine Änderungen der Luminanz in niedrigeren Intensitäten viel besser wahrgenommen werden als in höheren Intensitäten. Zusätzlich werden zumindest einige der darauffolgenden Vorgänge bei der herkömmlichen Pipeline 300 verlustbehaftet sein und es gibt eine begrenzte Anzahl von Bits für die Speicherung. Die TF bewahrt wertvolle Information in niedrigeren Intensitäten, indem ein größerer Teil des Bitplatzes für diese niedrigen Werte verwendet wird. Falls gewisse erkennbare Kodierungsfehler eines Bildes in RGB eingebracht würden, würden die Betrachter diese mehr in den niedrigeren Intensitäten als in den höheren wahrnehmen. Falls diese Fehler stattdessen in der R'G'B' Domain auftreten würden, wären sie in allen Intensitäten gleich wahrnehmbar, sobald das Bild zurück zu RGB konvertiert wurde. Die Werte für die niedrigeren Intensitäten werden demnach erweitert, während die Werte für die höheren Intensitäten zusammen komprimiert werden.
  • Konverter 304 konvertiert die R'G'B' Komponenten in den Y'C'bC'r-Farbraum gemäß der BT.2020 Spezifikation. Der Y'C'bC'r-Farbraum steht für eine Lumakomponente Y', die Blau-Differenz C'b und die Rot-Differenz C'r für Chromakomponenten. Quantisierer 306 agiert, um die Y-', C'r- und C'b-Komponenten zu quantisieren, die durch CY', DC'r und DC'b dargestellt sind. Kodierer 308 (z. Bsp. durch Anwendung des AVC/H.264 Codec) kodiert die quantisierten Komponenten, um einen kodierten Bitstrom auszugeben, der gespeichert und/oder übertragen werden kann, wie vorab beschrieben.
  • Im Gegensatz zur Kodierungspipeline 201 steht die Lumakomponente Y' für eine Lichtintensität, die auf Basis von gamma-korrigierten RGB-Primären nichtlinear kodiert ist. In Luma eingebrachte Kodierungsfehler können in die Chrominanz gelangen und zu Abweichungen führen, die nicht nur in der Helligkeit beobachtet werden können, sondern auch in den vom Display gezeigten Farben – daher der nicht-konstante Luminanzaspekt zu herkömmlichen Kodierungspipelines, wie der Kodierungspipeline 300. Während diese nicht-konstante Luminanzkodierungspipeline für das Kodieren von SDR-Signalen (z. Bsp. RGB bis zu 100 Nits im BT.709 Farbraum) entworfen wurde, kann sie auch zur Kodierung von HDR und WCG-Signalen (z. Bsp. RGB bis zu 10000 Nits im BT.2020 Farbraum) verwendet werden. Diese herkömmliche Kodierungspipeline ist jedoch weiterhin schlecht konzipiert, da weiterhin eine nicht-konstante Luminanzkodierung durchgeführt wird. Im HDR-Kontext lässt sich das Kodieren von Fehlern besser bemerken (z. Bsp. Kodierungsartefakte im Farbbereich sind im HDR-Inhalt im Gegensatz zum SDR-Inhalt sogar noch auffälliger).
  • Wieder wird in 2B und im Gegensatz zur herkömmlichen Kodierungspipeline 301 die Luminanzkomponente Y in der Kodierungspipeline 201 mit konstanter Luminanz explizit ausgedrückt (separat von den Chromatizitätskomponenten U und V). Somit hat jegliche Quantisierung und jeglicher Kodierungsfehler, die in der Lumakomponente Y' eingeführt sind, nicht nur eine Auswirkung auf die Luminanz Y. Insbesondere gibt es keinen Übergang von Kompressionsfehlern auf die Chrominanz.
  • Insbesondere wird statt der Konvertierung von Bildern von dem RGB-Farbraum in den Y'C'bC'r-Farbraum (wie bei der herkömmlichen Kodierungspipeline 301) das RGB-Signal z. Bsp. zum XYZ-Farbraum konvertiert (Gl. 1) und dann zum YUV-Farbraum (Gl. 2). Um zum RGB-Farbraum zurückzukehren (während des Dekodierens im Abschnitt der Nachverarbeitung 223 des Systems 200) kann eine inverse Matrix der Gl. 1 verwendet werden (Gl. 3).
    Figure DE102016207230A1_0002
    Gl. 1 U = 2x / 6y – x + 1.5 x = X / X + Y + Z und V = 4.5y / 6y – x + 1.5 y = Y / X + Y + Z Gl. 2 X = Y / yx x = 9u / 6u – 16v + 12 und Z = Y / y(1 – x – y) y = 4v / 6u – 16v + 12 Gl. 3
  • Zusätzlich zum Aspekt der konstanten Luminanz der Kodierungspipeline 201 wird eine dedizierte Chromatizitätsumwandlung bereitgestellt, um eine verbesserte Chrominanzkompression und eine verbesserte insgesamte Kompressionseffizienz zu ermöglichen. Die dedizierte Chromatizitätsumwandlung (angewendet von Umwandler 206 der 2B während des Vorgangs 102 aus 1) verringert Kodierungsfehler in den Chromakanälen bei einer festen Bitrate, indem die Distribution von Codewörtern zur Kompression vergrößert wird. Wie gezeigt ist, betrifft die dedizierte Chromatizitätsumwandlung nur die Chromatizitätskomponenten U und V. Die Chromatizitätsumwandlung nimmt diese beiden Komponenten und gibt die Kanäle (U', V') = T(U, V) zurück, wobei T eine Umwandlung ist, welche untenstehend näher beschrieben wird.
  • Es sollte festgehalten werden, dass die Chromatizitätsumwandlung auf Bilder angewendet werden kann, wenn diese zu niedrigeren Bittiefen quantisiert werden. Außerdem kann die Umwandlung zur Erhöhung der Bildqualität bei einer festen Bitrate verwendet werden, bevor ein Bild mit einem Codec wie etwa HEVC komprimiert wird. Herkömmliche Umwandlungen haben nicht denselben Effekt der Qualitätserhöhung bei dergleichen Bitrate für Videosequenzen.
  • Das Gesamtziel der Chromatizitätsumwandlung wird in 4 dargestellt, welche die konzeptuelle Darstellung der Farbe (als ein Dreieck mit drei Primärfarben rot, grün und blau in den Ecken des Dreiecks und allen möglichen Farbkombinationen zwischen diesen Ecken) zeigt, welche in ein konzeptionelles Quadrat umgewandelt wurde (was die Anzahl an verschwendeten Codewörtern verringert).
  • Erläuternd ist zu erwähnen, dass die Chromatizitätskoordinaten aller Farben in einem Farbraum innerhalb des CIE-Diagramms des YUV-Farbraums liegen (Dreieck 402). Die Ecken des Dreiecks 402 zeigen die drei Primärkoordinaten RGB des Farbraums (z. Bsp. BT.2020). Alle in diesem Farbraum definierten Chromatizitätswerte liegen innerhalb des Dreiecks 402. Die drei RGB-Primären eines Farbraums definieren den Farbumfang oder den Bereich aller möglichen Farben für diesen Farbraum. Je näher ein Punkt an der Grenze des Diagramms liegt, desto gesättigter ist die Farbe. Somit gilt, dass je größer das Dreieck eines Farbraums ist, desto gesättigter sind die drei Primären und desto größer ist der Farbumfang. Es wird festgehalten, dass das mit BT.2020 Primären aufgenommene oder gespeicherte Filmmaterial den größten Farbumfang hat und als WCG bezeichnet wird (im Gegensatz zu z. Bsp. BT.709, wobei es sich um ein Beispiel eines SCG-Farbraums handelt).
  • Der Dynamikbereich wird als Verhältnis zwischen der maximalen und der minimalen Lichtintensität bezeichnet. Je höher der Dynamikbereich ist, desto größer ist der Unterschied zwischen der maximalen und der minimalen Lichtintensität. Filmmaterial in SDR liegt normalerweise im Helligkeitsbereich von 0,1 bis 100 Nits (cd/m2). In der Realität liegen Lichtquellen jedoch weiter über 200 cd/m2 und der Nachthimmel kann weit unter 0,1 cd/m2 liegen. Bei HDR-Inhalt kann ein Mindestwert sogar bei 0,005 cd/m2 oder bei 10,000 cd/m2 liegen.
  • Da RGB-Bilder als Eingabe für die Kodierungspipeline 201 genutzt werden, befinden sich alle Chromatizitätskomponenten von Pixeln eines RGB-Bildes im U-V Chromatizitätsraum des Dreiecks 402, definiert über die R, G, B Eckpunkte. Durch das Kodieren im U-V Chromatizitätsraum können jedoch viele Wertepaare außerhalb des Dreiecks 402 dargestellt werden, z. Bsp. ungültige Chromatizitätswerte. Um das Verschwenden solcher Codewörter zu reduzieren, ordnen verschiedene Ausführungsformen der vorliegenden Offenbarung alle (U, V)-Paare einem rechteckigen Bereich zu (z. Bsp. dem Einheitsquadrat 404). Um von der wahrnehmbaren Einheitlichkeit des U-V-Raums in Bezug auf die Kompression wie vorab beschrieben zu profitieren, werden keine ausgeprägten lokalen Deformationen in die Abbildung des Dreiecks 402 auf das Einheitsquadrat 404 eingebracht. Das Paar (u, v) kann als ein Chromatizitätswert eines Pixels definiert werden, wobei u ∈ U, v ∈ V. Der (u, v) Wert für jeden Pixel eines Bildes wird innerhalb dieses Dreiecks oder an dessen Grenze liegen.
  • Wie vorab schon angedeutet ist ein Ziel der vorliegend offenbarten Chromatizitätsumwandlung den (z. Bsp. HEVC) Codec mit einem breiteren Angebot an Codewörtern zu versorgen. Beim Quantisierungsschritt wird ein Bild im doppelten Präzisionsformat im Bereich [0, 1] genommen und auf 12-Bit ganzzahlige Werte im Bereich [0,4095] quantisiert, wobei der Mindesteingabewert (0) auf 0 zugeordnet wird und der maximale Eingabewert (1) auf 4095. Somit könnten die U und V Komponenten beide den Bereich [0, 1] ausschöpfen. Bei dem Chromatizitätswert (u, v) für jedes Bildpixel könnte es sich um jeden Wert im Einheitsquadrat 404 handeln, welches durch die Punkte (0, 0), (0, 1), (1, 0) und (1, 1) definiert wird. Das wäre auf Basis der Frage, wie der YUV-Farbraum in das kartesische Koordinatensystem passt, nicht der Fall. Es wird festgehalten, dass das Dreieck 402 nur einen relativ „kleinen” Teil des Einheitsquadrats einnimmt.
  • Bei der gewünschten Umwandlung T wird somit jeder mögliche Wert innerhalb des Dreiecks 402 definiert durch die drei (z. Bsp. BT.2020) Primären irgendeinem Punkt im Einheitsquadrat 404 zugeordnet und sein Bereich wird soweit es geht ausgeschöpft – in anderen Worten ein Dreieck wird in ein Quadrat umgewandelt. Die umgewandelten Chromatizitätswerte eines jeden Pixels (u', v') und gewisse Beschränkungen dieser Umwandlung werden im Folgenden diskutiert.
  • Wie vorab beschrieben muss in einem Nachverarbeitungsschritt 223 der 2 die inverse Umwandlung T–1 durchgeführt werden, was bedeutet, dass jeder umgewandelte Wert (u', v') dem ursprünglichen Wert (u, v) wieder zugeordnet werden muss, wenn T–1 angewendet wird. In anderen Worten muss sich die Eigenschaft der unten gezeigten Gl. 4 erweisen, was impliziert, dass T umkehrbar ist und dass die Chromatizitätsumwandlung ein verlustfreier Schritt in der Kodierungspipeline 201 ist. ∀(u, v)((u, v) = T–1(T(u, v))) Gl. 4.1
  • Es wird festgehalten, dass die Umwandlung T zu einer großen globalen Verformung führen wird, wodurch die Form des Dreiecks drastisch geändert wird. Sobald die Chromatizitätsumwandlung in die Kodierungspipeline 201 integriert ist, werden die U' und V' Kanäle modifiziert, da das Kodieren und Dekodieren verlustbehaftet sind und Fehler einbringen. Dies bedeutet, dass (urec, vrec) = (u, v) + ∈, wobei ∈ ein kleiner Fehlervektor in einer willkürlichen Richtung ist. Der YUV-Farbraum ist in der Wahrnehmung fast einheitlich, wodurch der wahrnehmbare Unterschied zwischen (urec, vrec) und (u, v) nur von der Länge von ∈ abhängen sollte, nicht von der Richtung. Dies impliziert, dass T eine minimale lokale Verformung einbringen sollte, was bedeutet, dass für alle Chromatizitätswerte in der unmittelbaren Nähe zu einem Wert (u, v) ihr neuer Abstand zum umgewandelten Wert (u', v') sich verringern oder erhöhen kann, aber mehr oder weniger zueinander gleich sein sollte.
  • Wie im Folgenden beschrieben kann gemäß einer Ausführungsform die Chromatizitätsumwandlung auf einer direkten Umwandlung beruhen. Gemäß einer anderen Ausführungsform, welche auch im Folgenden beschrieben wird, kann die Chromatizitätsumwandlung auf der kleinste-Quadrate-Umwandlung beruhen. Es wird festgehalten, dass auch andere Umwandlungen gemäß anderer Ausführungsformen eingesetzt werden können.
  • 5 zeigt beispielhafte Verfahren zur Unterteilung des Dreiecks 402 aus 4, um die Umwandlung der Chromatizitätswerte gemäß verschiedener Ausführungsformen vorzubereiten. Dreieck 402 kann in ein Netz unterteilt werden, dass aus kleineren Dreiecken, die durch drei Eckpunkte beschrieben werden, besteht. Um ein Dreieck zu unterteilen, werden Punkte in der Mitte zwischen den drei Ecken des Dreiecks markiert und verbunden, wodurch vier kleinere Dreiecke entstehen. Eine zweite Unterteilung kann dann an jedem der kleineren Dreiecke durchgeführt werden, was insgesamt zu 16 Dreiecken führt. Dieser Unterteilungsvorgang kann wiederholt werden, wann immer eine neue Unterteilung die Zahl an Dreiecken um einen Faktor vier erhöht, was bedeutet, dass n Unterteilungen zu 4n Dreiecken führen, wobei n ∈ N und n ≥ 1. Dreiecke 502 und 504 sind Beispiele von Hauptdreiecken, die jeweils drei und vier Mal unterteilt wurden. Dreieck 504 hat 64 kleinere Dreiecke nach den drei Unterteilungen, während Dreieck 504 256 kleinere Dreiecke nach vier Unterteilungen aufweist. Dies führt zu einer Liste von Dreiecken, in welcher jedes Dreieck gespeichert werden kann, indem drei Eckpunkte im Netz vermerkt sind. Tr(a, b, c) bezeichnet ein Dreieck, das durch die Eckpunkte a, b und c definiert ist.
  • Sobald eine Auswahl bezüglich n getroffen wurde, werden die 4n kleineren Dreiecke dem Einheitsquadrat 404 zugeordnet. Dies führt zu einiger Verformung. Für jedes Dreieck Tr(a, b, c) wird das entsprechende zugeordnete Dreieck Tr(a', b', c') gespeichert. Die zugeordneten Dreiecke sollten sich nicht gegenseitig überlappen.
  • Wenn ein einzelner Chromatizitätswert (u, v) zugeordnet wird, liegt jeder (u, v)-Wert innerhalb des Haupt-YUV-Farbraum-Dreiecks 402 (Haupt bezieht sich auf das größere, nicht unterteilte Dreieck), und somit auch innerhalb eines der kleineren Dreiecke, die nach der Unterteilung von Dreieck 402 (Dreieck 502) entstanden. Sobald dieses Dreieck Tr(a, b, c) gefunden wurde, kann die Position p des Punktes (u, v) über die Schwerpunk-Koordinaten λ1, λ2 und λ3 bezüglich Tr(a, b, c) ausgedrückt werden, wobei i1 ≥ λi ≥ 0 Gl. 4.2
  • Die korrekte Position p' in dem zugeordneten Dreieck Tr(a', b', c') kann daher über die folgende Formel bestimmt werden: p' = λ1a' + λ2b' + λ3c' Gl. 4.3
  • Dieser Vorgang wird für jeden Punkt einzeln durchgeführt. Die Schwerpunk-Koordinaten werden mit Hilfe der folgenden Formel berechnet:
    Figure DE102016207230A1_0003
    Gl. 4.4 wobei die tiefgestellte Zahl eines Punkte seine u oder v Komponente bestimmt und
    Figure DE102016207230A1_0004
    Gl. 4.5
  • Eine Eigenschaft der Abbildung unter der Verwendung von Schwerpunk-Koordinaten ist, dass diese umkehrbar ist, was bedeutet, dass die inverse Abbildung eines Punktes (u', v') an seiner Position p' diesen an seine ursprüngliche Position p bringt. Wie vorab beschrieben sollte die Umwandlung umkehrbar sein, damit ein Bildsignal angemessen dekodiert werden kann.
  • Ein Dreieck, welches einen Chromatizitätspunkt (u, v) enthält, kann in einer „angemessenen” Zeitspanne aufgefunden werden, z. Bsp. sollte während einer Live-Übertragung das Kodieren schnell genug ablaufen, um eine Verzögerung zu verhindern. Gemäß einer Ausführungsform können die drei Schwerpunk-Koordinaten eines jeden Dreiecks berechnet werden und es kann überprüft werden, ob Gl. 4.2 gilt. Wenn dies der Fall ist, dann liegt der Chromatizitätspunkt im Dreieck. Eine individuelle Überprüfung eines jeden Dreiecks, das sich aus der/den oben beschriebenen Unterteilung(en) ergibt, ist ineffizient. Dementsprechend beruhen verschiedene Ausführungsformen auf einer konstanten Zeitüberprüfung, die wie folgt durchgeführt wird:
    Berücksichtigen Sie die lineare Umwandlung, die einen gegebenen Chromatizitätswert (u, v) umwandelt:
    Figure DE102016207230A1_0005
    Gl. 4.6 wobei R, G und B für die drei Primärfarben stehen (drei Ecken des Dreiecks 402). Wenn diese Umwandlung auf jeden Eckpunkt des Netzes angewendet wird, sollte das Hauptdreieck die untere linke Hälfte des Einheitsquadrats 404 ausfüllen. Wie in 6 gezeigt, werden die kleineren Dreiecke so ausgerichtet, dass ihre zwei kürzeren Seiten entweder horizontal oder vertikal stehen (in diesem Beispiel ist n gleich drei). Wenn zwei benachbarte Dreiecke gruppiert werden, um ein Quadrat 600 zu bilden, würde sich ein regelmäßiges Raster bilden.
  • Um ein einem Punkt (u, v) entsprechendes Dreieck zu finden, sollte Gl. 4.3 auf (u, v) angewendet werden an Stelle auf das Netz an sich. Für eine spezifische Unterteilungswert n, ist das Quadrat des regelmäßigen Rasters, in welcher der umgewandelte Punkt (u, v)trans liegt, trivial. Da alle Dreiecke indiziert sind und jedes Quadrat zwei Dreiecke enthält, muss im verbleibenden Schritt herausgefunden werden, welches der Dreiecke den Punkt (u, v) enthält. Dies kann durch die Berechnung der Schwerpunk-Koordinaten von (u, v) in Bezug auf die zwei Dreiecke erfolgen und dann muss überprüft werden, ob Gl. 4.2 gilt.
  • Während der Nachverarbeitung 223 (2A) muss die Position eines jeden zugeordneten Chromatizitätswerts (u', v') im ursprünglichen Netz bestimmt werden (z. Bsp. 5). Gemäß einer Ausführungsform wird eine Nachschlagetabelle verwendet. Das bedeutet, dass für jeden möglichen Wert im umgewandelten Netz die Nachschlagetabelle angibt, welcher Position der Wert im ursprünglichen Netz zugeordnet ist. Die einzelnen Dreiecke werden dann dem Einheitsquadrat zugeordnet, wobei die Eigenschaften der Umwandlung T beachtet werden.
  • Wie vorab beschrieben kann eine Umwandlung, die in der Umwandlung von Chromatizitätswerten verwendet wird, eine direkte Umwandlung sein. Wenn eine direkte Umwandlung eingesetzt wird, wird davon ausgegangen, dass das Netz eine Sammlung von Eckpunkten ist, wobei jeder Eckpunkt kopiert wird und irgendeiner neuen Position im Einheitsquadrat zugeordnet wird. Bei dieser Art der Umwandlung werden vier Eckpunkte an den Grenzen des Hauptdreiecks ausgewählt, welches „gestreckt” wird, indem diese Eckpunkte in die vier Ecken des Quadrats „gezogen” werden. Es ist sinnvoll, die drei Ecken des Dreiecks auszuwählen, nämlich Primäre R, G und B als die drei Eckpunkte, die gezogen werden. Es kann ein vierter Eckpunkt ausgewählt werden, auch an der Grenze des Dreiecks. Gemäß einem Aspekt der vorliegenden Offenbarung kann der Eckpunkt P in der Mitte gewählt werden, welche auf der Linie liegt, die die Punkte/Eckpunkte R und B verbindet. Da n ≥ 1, ist bekannt, dass P existiert.
  • 7A zeigt ein Beispiel dieses Konzeptes der Streckung, wobei die vier Eckpunkte R, G, B und P auf dem Hauptdreieck 702 gezeigt sind und auch wie sie zugeordnet sind. R kann nach rechts oben gezogen werden, G nach links oben, B nach links unten und P in die rechte untere Ecke des Einheitsquadrats 704. Außerdem wird der Rest der Eckpunkte entlang der Grenzen des Hauptdreiecks markiert (unterstrichen mit fettgedruckten Punkten). All diese m-Eckpunkte bilden zusammengenommen die Grenze eines konvexen Polygons P. Da sich diese m-Eckpunkte auf einer geraden Linie zwischen jeweils zwei der vier Eckpunkte R, G, B und P befinden, werden sie den entsprechenden Grenzen des Einheitsquadrats 704 im gleichen Abstand zueinander zugeordnet. Einer der Eckpunkte zwischen G und B, abgekürzt als v ∈ GB, wird beispielsweise der linken Ecke des Einheitsquadrats zugeordnet. Noch einmal, diese m-Eckpunkte an den vier Ecken des Einheitsquadrats bilden ein konvexes Polygon P'. Der Rest der Eckpunkte werden jetzt von P nach P' unter Verwendung von Mittelwerts-Koordinaten (mean value coordinates, MVC) zugeordnet.
  • MVC kann als eine Verallgemeinerung von Schwerpunkt-Koordinaten beschrieben werden. Schwerpunkt-Koordinaten (welche vorab bereits erwähnt wurden) werden für Dreiecke verwendet, die im Wesentlichen Polygone mit drei Eckpunkten sind. MVC kann jedoch zum gleichen Ziel bei Polygonen eingesetzt werden, die eine willkürliche Anzahl an Eckpunkten aufweisen. Somit ergibt sich eine Abbildung eines Eckpunktes v im Polygon P auf eine neue Position im Polygon P' mit MVC λi bezüglich P durch
    Figure DE102016207230A1_0006
    Gl. 4.7 wobei pi und f(pi) die Grenz Eckpunkte der Polygone P und P' bezeichnen. 7B zeigt einen Eckpunkt v, der mit den Grenzpunkten eines Polygons (zusammen mit Winkeldefinitionen für MVC) verbunden ist, welche entgegen dem Uhrzeigersinn geordnet sind. Die MVC λi eines Eckpunktes v wird erhalten durch
    Figure DE102016207230A1_0007
    Gl. 4.8 wobei
    Figure DE102016207230A1_0008
    Gl. 4.9 und αi ist der Winkel ∡pi, v, pi+1.
  • Die in Gl. 4.7 beschriebene Abbildung hat auch wieder die Eigenschaft umkehrbar zu sein (wieder für Umwandlung T), wodurch die Abbildung eines Eckpunktes von T' zurück zu T diesen wieder zu seinem ursprünglichen Platz bringt. Wieder in Bezug auf 7A, welche die Dreiecke zeigt, die sich aus einer Abbildung der inneren Eckpunkte des Hauptdreiecks unter Verwendung von MVC ergeben. Dem Fachmann wäre klar, dass die kleinen Dreiecke in unmittelbarer Nähe des Eckpunktes P unten rechts viel verformter sind im Vergleich zu denen um den Eckpunkt G herum. Da das menschliche Auge Veränderungen in Grüntönen viel besser wahrnimmt als in den Rot- oder Blautönen, sollten sich so wenig wie möglich Verformungen um den Eckpunkt G bilden. Daher wird der vierte Eckpunkt P so gewählt, dass er entlang dieser Ecke des Hauptdreiecks 502 liegt. Dabei handelt es sich des Weiteren um die längste Ecke des Dreiecks, würde also ein Eckpunkt an einer anderen Ecke gewählt, würde dies wahrscheinlich zu einer größeren insgesamten Verformung führen.
  • Zusammenfassend lässt sich feststellen, dass zur Implementierung einer direkten Umwandlung für den Vorgang der Chromatizitätsumwandlung ein Netz an Eckpunkten und Ecken gebildet wird, das kleinere Dreiecke innerhalb des Hauptfarbraumdreiecks, z. Bsp. Dreieck 702, bildet. Das Hauptdreieck wird durch die Auswahl von vier Eckpunkten, die zu den Ecken des Einheitsquadrats gezogen werden, z. Bsp. Einheitsquadrat 704, gestreckt. MVC kann eingesetzt werden, um die inneren Eckpunkte zuzuordnen. Schwerpunkt-Koordinaten eines Chromatizitätswertes (u, v) in Bezug auf ein kleineres Dreieck Tr(a, b, c) werden verwendet, um (u, v) dem entsprechenden Dreieck Tr(a', b', c') zuzuordnen. 7C zeigt ein Beispiel von äquidistanten Punkten, die dem Einheitsquadrat mit einer direkten Umwandlung wie vorliegend beschrieben zugeordnet wurden. 7C zeigt wie die äquidistanten Punkte (des Hauptdreiecks 702) dem Einheitsquadrat 704 zugeordnet werden und die Art von Verformungsmuster, das auftreten kann. Wenn die Eckpunkte „optimal” verteilt werden, wird eine Chrominanz erhalten, die in der Wahrnehmung so einheitlich wie möglich ist.
  • Gemäß einer anderen Ausführungsform kann die Chromatizitätsumwandlung, die zur Umwandlung der Chromatizitätswerte eingesetzt wird, auf der kleinste-Quadrate-Umwandlung basieren. 8A zeigt ein Beispiel einer Umwandlung von Chromatizitätswerten im Farbraumdreieck 802 zu Einheitsquadrat 804 (wobei es sich um ein nicht optimiertes Beispiel handelt).
  • Wie im Vorgang bei Verwendung einer direkten Umwandlung werden die gleichen vier Eckpunkte R, G, B und P auf dem Hauptdreieck 802 ausgewählt und es wird ein Netz erstellt. Für diese Umwandlung gibt es drei Sätze an Beschränkungen, die für die Verformung des Netzes gelten. Laut einiger Beschränkungen wird das Hauptdreieck 802 zwingend so weit wie möglich gestreckt, während bei anderen versucht wird, die Formen der kleineren Dreiecke zu erhalten. Es sollte feststehen, dass nicht alle Beschränkungen perfekt eingehalten werden können, sodass die kleineste-Quadrate-Umwandlung einen Kompromiss beinhaltet.
  • Diese Sätze an Beschränkungen können bezüglich der Energien E1, E2 und E3 ausgedrückt werden, wobei die insgesamte Summe an Energien minimiert werden sollte. Je kleiner eine Energie Ei ist, desto besser wird der i-te Satz an Beschränkungen erfüllt. Im Beispiel in 8 wird ein Unterteilungswert n = 3 und die Parameter α = β = γ = 1 (untenstehend beschrieben) verwendet.
  • Eine erste Beschränkung kann als eine Ankerbeschränkung bezeichnet werden, welche bestimmt, dass die vier Eckpunkte den gleichen vier Ecken des Einheitsquadrats wie in der direkten Umwandlung zugeordnet werden. Dies wird mathematisch wie folgt ausgedrückt:
    Figure DE102016207230A1_0009
    Gl. 4.10
  • Der erste Energiebegriff E1 kann ausgedrückt werden durch:
    Figure DE102016207230A1_0010
    Gl. 4.11
  • Eine zweite Beschränkung kann als Grenzbeschränkung bezeichnet werden, welche bestimmt, dass die Eckpunkte auf den Grenzen des Hauptdreiecks 802 (in fettgedruckten Punkten hervorgehoben) irgendwo auf den Grenzen des Einheitsquadrats 804 liegen sollten, wie dies auch gemäß der direkten Umwandlung vorgenommen wird. Ein Eckpunkt v beispielsweise, der zwischen den Punkten B und G liegt, sollte der linken Ecke des Einheitsquadrats 804 zugeordnet werden, wodurch seine u-Koordinate vu gleich null wird. Für alle Grenz Eckpunkte werden diese Beschränkungen definiert durch
    Figure DE102016207230A1_0011
    Gl. 4.12 und die Energie E2 wird definiert durch:
    Figure DE102016207230A1_0012
    Gl. 4.13
  • Die ersten beiden Sätze an Beschränkungen (Anker und Grenze) versuchen, das Hauptdreieck in der gleichen Weise wie bei einer direkten Umwandlung zu strecken. Bezüglich der inneren Eckpunkte des Hauptdreiecks besteht jedoch das Ziel des dritten Satzes an Beschränkungen (die als Einheitlichkeitsbeschränkungen bezeichnet werden) darin, dass die kleineren Dreiecke (nach Unterteilung des Hauptdreiecks) ihre „Form” soweit wie möglich behalten und nicht verformt werden. Jedes Dreieck Tr(a, b, c) hat einen Umkreismittelpunkt crm, wobei es sich um einen einzigartigen Punkt handelt, der äquidistant zu den Eckpunkten a, b und c ist. Diese drei Eckpunkte liegen somit auf einem Zirkel um crm. Die Abstände von den Eckpunkten eines zugeordneten Dreiecks Tr(a', b', c') zu seinem neuen Umkreismittelpunkt sollten in gleicher Weise minimiert werden. Daher sollten diese Beschränkungen zu ähnlichen Dreiecken führen. Für alle Dreiecke in dem Satz an Dreiecken T ist die Gesamtenergie E3 gleich der Summe der quadrierten Abstände von jedem Eckpunkt zu seinen zugeordneten Umkreismittelpunkt der Dreiecke.
    Figure DE102016207230A1_0013
    Gl. 4.14
  • Der Umkreismittelpunkt crm kann über die Schwerpunkt-Koordinaten λ1, λ2 und λ3 ausgedrückt werden, indem berechnet wird: crm = λ1a' – λ1b' – λ2c', Gl. 4.15 wobei λ1 = bc(–bc 2 + ac 2 + ab 2), λ2 = ac(bc 2ac 2 + ab 2), λ3 = ab(bc 2 + ac 2ab 2), Gl. 4.16 wobei v1v2 den euklidischen Abstand zwischen zwei Eckpunkten bezeichnet. Um sicherzustellen, dass die Summe dieser drei Koordinaten gleich 1 ist, werden sie normalisiert, indem eine jede von ihnen durch die Summe der drei Werte dividiert wird. Die Einheitlichkeitsbeschränkungen erhalten nicht notwendigerweise die Formen der Dreiecke im Netz, sondern erhalten sie einfach nur „steif” (also weniger anfällig für eine Verformung). Ein Dreieck könnte sich ernsthaft verformen und immer noch den Einheitlichkeitsbeschränkungen entsprechen, da es eine unendliche Anzahl an Dreiecken mit dem gleichen Umkreismittelpunkt gibt. In Kombination mit zwei anderen Beschränkungen bleiben die Dreiecke jedoch weiterhin steif und bleiben nahe an ihrer ursprünglichen Form.
  • Idealerweise sollte ein Netz verformt werden, damit es den gesamten Bereich des Einheitsquadrats ausnutzt (um den Codec mit einem größeren Angebot an Codewörtern zu versorgen). Um dies zu erreichen, werden die Grenz- und Ankerbeschränkungen definiert, aber gleichzeitig wird die lokale Verformung minimiert, d. h. durch eine Definition der Einheitlichkeitsbeschränkungen. Dies führt zu dem vorab beschriebenen Kompromiss zwischen den Energiebegriffen E1, E2 und E3, die aus Gl. 4.11, 4.13 und 4.14 abgeleitet wurden. Um ein optimales Ergebnis zu erreichen, wird die Summe der Gesamtenergie E wie folgt minimiert: E = αE1 + β3E2 + γE3 Gl. 4.17
  • Es werden zusätzliche Parameter α, β und γ eingeführt, um festzulegen, wie viel Gewicht ein Energiebegriff bei der Lösung von Gl. 4 haben sollte. Zu Beginn sind diese drei Parameter alle gleich 1. Falls es beispielsweise wünschenswert ist, in E2 Grenzbeschränkungen durchzusetzen und die Grenz Eckpunkte näher an den Ecken des Einheitsquadrats zu setzen, kann der Wert von β erhöht werden. Es wird festgehalten, dass die drei Sätze an Beschränkungen linear sind. Dies erleichtert die Lösung von Gl. 4.17 als wenn sie nichtlinear wäre. Aufgrund dieser Eigenschaft kann Gl. 4.17 in Matrizendarstellung neu formuliert werden und das endgültige zu lösende Problem wird in einem linearen System von Gleichungen dargestellt:
    Figure DE102016207230A1_0014
    Gl. 4.18 welches im Sinne der kleinsten Quadrate gelöst werden kann. Hier ist x der Lösungsvektor, der die Werte für die zugeordneten Eckpunkte enthält. Für k-Eckpunkte muss x die u- und v-Koordinaten von jedem Eckpunkt enthalten, so x ∈ R2k. Die Lösung führt zu einer Distribution der Eckpunkte, die in der Wahrnehmung so einheitlich wie möglich ist. Die zugeordneten Eckpunkte v' werden wie folgt in x ausgerichtet:
    Figure DE102016207230A1_0015
    Gl. 4.19
  • Mit insgesamt l individueller Beschränkungen haben wir A ∈ Rlx2k und b ∈ Rl, welche die individuellen Beschränkungen für jeden Wert in x halten. Da jeder Eckpunkt mehreren Beschränkungen unterliegt, l ≥ 2k, so dass das System von Gleichungen überbestimmt ist.
  • Die resultierende Form der kleinste-Quadrate-Umwandlung, wie vorliegend beschrieben, wird in Einheitsquadrat 804 gezeigt. Das verformte Dreieck deckt einen weiten Bereich des Einheitsquadrats ab, aber nicht den gesamten Bereich. Ein Vergleich zwischen der direkten Umwandlung und der kleinste-Quadrate-Umwandlung zeigt den Kompromiss zwischen den beiden. Wenn die direkte Umwandlung eingesetzt wird, kann die Gesamtheit des Einheitsquadrats unterstützt werden, aber die Dreiecke im Netz sind stark verformt. Bei der kleinste-Quadrate-Umwandlung wird nicht notwendigerweise der gesamte Bereich des Einheitsquadrats verwendet, aber es kommt zu weniger Verformung bezüglich der zugeordneten Dreiecke.
  • Wie schon in Bezug auf Gl. 4.17 erwähnt, kann die resultierende Umwandlung modifiziert werden, je nachdem, welche Beschränkungen ein Nutzer optimieren möchte, indem die Parameter α, β und γ verändert werden. Die kleinste-Quadrate-Umwandlung wird als nicht-optimiert erachtet, wenn diese Werte nicht modifiziert werden. Wenn ein Nutzer beispielsweise einen größeren Bereich des Einheitsquadrats abdecken möchte, können die Einheitlichkeitsbeschränkungen außer Acht gelassen werden. Um dies zu erreichen, können die α- und β-Werte erhöht werden. Ein Beispiel für diese Umwandlung, eine so genannte optimierte kleinste-Quadrate-Umwandlung, ist als Einheitsquadrat 806 gezeigt, in welchem wir die Parameter α = β = 3 und γ = 1 gesetzt haben. Ein Vergleich der nicht-optimierten kleinste-Quadrate-Umwandlung (als Einheitsquadrat 804 gezeigt) mit der optimierten Version (als Einheitsquadrat 806 gezeigt) zeigt, wie das Netz seine Form ändert.
  • Video- oder Bildinhalt in WCG wie P3 oder BT.2020 hat einen breiteren Farbumfang und braucht daher mehr Bits für die Speicherung und Übertragung. Gemäß verschiedener Ausführungsformen bieten die Systeme und Verfahren eine verbesserte Bildqualität bei einer festen gegebenen Bitrate, bzw. alternativ bieten sie die Möglichkeit, eine gewisse gewünschte Bildqualität auszuwählen, indem eine gewisse Bildqualität gewählt wird und die Bitrate gesenkt wird. Diese Optimierung kann durch eine Chromatizitätsumwandlung erreicht werden, wobei die beiden Chromatizitätskanäle U und V umgewandelt werden. Wenn der YUV-Farbraum für die Kodierung verwendet wird, werden dem Codec weniger Codewörter zur Verfügung gestellt, als dieser tatsächlich annehmen kann. Wenn die Verteilung der Codewörter in U und V vergrößert wird, können erwartungsgemäß gewisse Kodierungsfehler im rekonstruierten Signal weniger auffällig werden und aufgrund der vorliegend offenbarten Chromatizitätsumwandlung wird die Bildqualität des Video- und Bildinhalts verbessert. Trotz der Vergrößerung der Distribution von Codewörtern (was sich in einer Versorgung des Codecs mit mehr Information zeigt), wird die Kompression effizienter, die Effekte der erhöhten Bitrate werden aufgehoben (z. Bsp. bei der gleichen Bitrate kann bei ½ dB Verbesserung oder besser für die Farbe erreicht werden), was zu einem Farberhalt und insgesamt besserer Farbqualität des Inhaltes führt.
  • 9 zeigt ein Beispiel einer Berechnungskomponente, die zur Implementierung verschiedener Merkmale des vorliegend offenbarten Systems und der Verfahren verwendet werden kann, wie zum Beispiel die vorab genannten Merkmale und die Funktionalität von einem oder mehr Aspekten jeweils der Abschnitte der Vorverarbeitung und Nachverarbeitung 209 und 223 der Videokodierungspipeline 200.
  • Wie vorliegend verwendet kann der Begriff Komponente eine gegebene Einheit einer Funktionalität beschreiben, die gemäß einer oder mehr Ausführungsformen der vorliegenden Anwendung durchgeführt werden kann. Wie vorliegend verwendet kann eine Komponente unter Verwendung irgendeiner Art von Hardware, Software oder einer Kombination daraus implementiert werden. Zum Beispiel können eine oder mehr Prozessoren, Controller, ASICs, PLAs, PALs, CPLDs, FPGAs, logische Komponenten, Softwareroutinen oder andere Mechanismen implementiert werden, um eine Komponente zu bilden. Bei der Implementierung können die vorab beschriebenen verschiedenen Komponenten als diskrete Komponenten implementiert werden oder die beschriebenen Funktionen und Merkmale können teilweise oder insgesamt unter einer oder mehr Komponenten geteilt werden. In anderen Worten – und so wäre es für den Fachmann nach dem Lesen dieser Beschreibung klar – können die vorliegend beschriebenen verschiedenen Merkmale und Funktionalität in jeder gegebenen Anwendung implementiert werden und in einer oder mehr separaten oder geteilten Komponenten in verschiedenen Kombinationen und Permutationen implementiert werden. Auch wenn verschiedene Merkmale oder Elemente der Funktionalität einzeln beschrieben werden oder als separate Komponenten beansprucht werden, ist es für den Fachmann klar, dass diese Merkmale oder Funktionalität unter einer oder mehr gemeinsamer Software und Hardwareelementen geteilt werden können und eine solche Beschreibung soll nicht erfordern oder implizieren, dass separate Hardware oder Softwarekomponenten verwendet werden, um solche Merkmale oder Funktionalitäten zu implementieren.
  • Wo Komponenten oder Komponenten der Anwendung im Ganzen oder teilweise mit Software, in einer Ausführungsform, implementiert werden, können diese Softwareelemente implementiert werden, um mit einer Berechnungs- oder Verarbeitungskomponente betrieben zu werden, die in der Lage ist, die in diesem Zusammenhang beschriebene Funktion auszuführen. Eine solche beispielhafte Berechnungskomponente wird in 9 gezeigt. Es werden verschiedene Ausführungsformen in Bezug auf diese Beispiel-Berechnungskomponente 900 beschrieben. Der Fachmann des relevanten Fachgebietes lernt aus der Beschreibung wie die Anwendung unter Verwendung von anderen Berechnungskomponenten oder Architekturen implementiert wird.
  • In Bezug auf 9 kann die Berechnungskomponente 900 zum Beispiel stehen für Berechnungs- oder Verarbeitungsfähigkeiten aus einem selbst-ausrichtenden Display, Desktop, Laptop, Notebook, Tablet-Computer; portablen Berechnungsgeräten (Tablets, PDAs, Smartphones, Handys, Palmtops, etc.); Workstations oder anderen Geräten mit Displays; Servern; oder jeglicher Art von speziellen oder allgemeinen Berechnungsgeräten, die für eine gegebene Anwendung oder Umgebung wünschenswert oder angemessen sind. Die Berechnungskomponente 900 kann auch darin eingebettete oder anderweitig verfügbare Berechnungsfähigkeiten eines gegebenen Gerätes darstellen. Eine Berechnungskomponente kann sich beispielsweise auch in anderen elektronischen Geräten befinden, wie zum Beispiel Navigationssystemen, tragbaren Computergeräten und anderen elektronischen Geräten, die eine Art von Verarbeitungsfähigkeit aufweisen.
  • Die Berechnungskomponente 900 kann beispielsweise einen oder mehr Prozessoren, Controller, Kontrollkomponenten oder andere Verarbeitungsgeräte aufweisen, wie zum Beispiel Prozessor 904. Prozessor 904 kann mit einem allgemeinen oder speziellen Processing Engine wie einem Mikroprozessor, Controller oder einer anderen Kontrolllogik implementiert sein. In dem gezeigten Beispiel ist Prozessor 904 mit Bus 902 verbunden, obgleich jegliches Kommunikationsmedium verwendet werden kann, um die Interaktion mit anderen Komponenten einer Berechnungskomponente 900 zu vereinfachen, oder um extern zu kommunizieren.
  • Die Berechnungskomponente 900 kann auch eine oder mehr Speicherkomponenten beinhalten, die vorliegend einfach als Hauptspeicher 908 bezeichnet wird. Es kann vorzugsweise zum Beispiel ein Arbeitsspeicher (RAM) oder ein anderer dynamischer Speicher verwendet werden, um Informationen und Anweisungen, die durch den Prozessor 904 ausgeführt werden sollen, zu speichern. Der Hauptspeicher 908 kann auch zur Speicherung von vorübergehenden Variablen oder anderer sofortiger Information während der Ausführung von Anweisungen durch den Prozessor 904 verwendet werden. Die Berechnungskomponente 900 kann auch einen Festspeicher („ROM”) oder ein anderes statisches Speichergerät beinhalten, das an den Bus 902 zur Speicherung von statischen Informationen und Anweisungen für den Prozessor 904 gekoppelt ist.
  • Die Berechnungskomponente 900 kann auch eine oder mehrere verschiedene Formen von Informationsspeichermechanismen 910 beinhalten, welche zum Beispiel ein Medienspeicherlaufwerk 912 und eine Speichereinheitschnittstelle 920 beinhalten können. Das Medienspeicherlaufwerk 912 kann ein Laufwerk oder einen anderen Mechanismus zur Unterstützung des festen und herausnehmbaren Speichermediums 914 beinhalten. Beispielsweise ein Festplattenlaufwerk, ein Solid-State-Laufwerk, ein Magnetbandlaufwerk, ein Laufwerk für optische Datenträger, ein Compact Disc(CD)- oder Digital Video Disc(DVD)-Laufwerk (R oder RW) oder ein anderes herausnehmbares oder festes Medienlaufwerk. Dementsprechend kann Speichermedium 914 zum Beispiel eine Festplatte, eine integrierte Schaltung, Magnetband, Kassette, eine optische Disk, eine CD oder eine DVD oder ein anderes festes oder herausnehmbares Medium, das Medienlaufwerk 912 liest, schreibt oder darauf zugreift. Wie diese Beispiele zeigen, kann das Speichermedium 914 ein Speichermedium beinhalten, das von einem Computer verwendet werden kann und in welchem Computer-Software oder Daten gespeichert sind.
  • In alternativen Ausführungsformen kann der Informationsspeichermechanismus 910 andere ähnliche Instrumente beinhalten, damit Computerprogramme oder andere Anweisungen oder Daten in die Berechnungskomponente 900 geladen werden können. Bei diesen Instrumenten kann es sich beispielsweise um eine feste oder herausnehmbare Speichereinheit 922 und eine Schnittstelle 920 handeln. Beispiele für solche Speichereinheiten 922 und Schnittstellen 920 können eine Programmkassette und eine Kassettenschnittstelle, einen herausnehmbaren Speicher (zum Beispiel einen Flash-Speicher oder eine andere herausnehmbare Speicherkomponente) und einen Speicherschlitz, einen PCMCIA-Schlitz und Karte und andere feste und herausnehmbare Speichereinheiten 922 und Schnittstellen 920 beinhalten, die es ermöglichen, Software und Daten von der Speichereinheit 922 auf die Berechnungskomponente 900 zu transferieren.
  • Die Berechnungskomponente 900 kann auch eine Kommunikationsschnittstelle 924 beinhalten. Die Kommunikationsschnittstelle 924 kann verwendet werden, um Software und Daten zwischen der Berechnungskomponente 900 und externen Geräten zu transferieren. Beispiele einer Kommunikationsschnittstelle 924 können ein Modem oder Softmodem, eine Netzwerkschnittstelle (wie ein Ethernet, eine Netzwerkschnittstellenkarte, WiMedia, IEEE 802.XX oder eine andere Schnittstelle), einen Kommunikationsport (wie zum Beispiel einen USB-Port, IR-Port, RS232-Port Bluetooth® Schnittstelle oder einen anderen Port) oder eine andere Kommunikationsschnittstelle beinhalten. Software und Daten, die über die Kommunikationsschnittstelle 924 transferiert werden, werden normalerweise auf Signalen übertragen, wobei es sich um elektronische, elektromagnetische (was optisch beinhaltet) oder andere Signale handeln kann, die über eine gegebene Kommunikationsschnittstelle 924 ausgetauscht werden können. Diese Signale können der Kommunikationsschnittstelle 924 über den Kanal 928 bereitgestellt werden. Dieser Kanal 928 kann Signale tragen und kann über ein verdrahtetes oder drahtloses Kommunikationsmedium implementiert sein. Einige Beispiele eines Kanals können eine Telefonleitung, eine Mobilfunkverbindung, eine RF-Verbindung, eine optische Verbindung, eine Netzwerkschnittstelle, ein lokales oder Weitverkehrsnetz oder andere verdrahtete oder drahtlose Kommunikationskanäle beinhalten.
  • In diesem Dokument werden die Begriffe „Computerprogrammmedium” und „computerverwendbares Medium” verwendet, um allgemein auf die transitorischen und nicht-transitorischen Medien wie zum Beispiel Speicher 908, Speichereinheit 920, Medien 914 und Kanal 928 hinzuweisen. Diese und andere verschiedene Formen von Computerprogrammmedien oder computerverwendbaren Medien können an der Übertragung einer oder mehr Sequenzen von einer oder mehr Anweisungen an ein Verarbeitungsgerät zur Ausführung beteiligt sein. Solche Anweisungen, die auf dem Medium verkörpert sind, werden allgemein als „Computerprogrammcode” oder „Computerprogrammprodukt” bezeichnet (welche in Form von Computerprogrammen oder anderweitig gruppiert werden können). Bei der Ausführung können solche Anweisungen die Berechnungskomponente 900 dazu befähigen, Merkmale oder Funktionen der vorliegenden Anwendung wie beschrieben durchzuführen.
  • Trotz der obenstehenden Beschreibung in Bezug auf verschiedene beispielhafte Ausführungsformen und Implementierungen wird festgehalten, dass die verschiedenen Merkmale, Aspekte und Funktionalität, die in einer oder mehr der einzelnen Ausführungsformen beschrieben sind, in ihrer Anwendbarkeit auf die spezielle Ausführungsform mit welcher sie beschrieben sind, nicht beschränkt sind, sondern stattdessen allein oder in verschiedenen Kombinationen auf eine oder mehr der anderen Ausführungsformen der Anwendung angewendet werden können, unabhängig davon, ob solche Ausführungsformen beschrieben sind und ob solche Merkmale als Teil der beschriebenen Ausführungsform präsentiert sind, oder nicht. Somit werden die Breite und der Umfang der vorliegenden Anwendung nicht durch eine der vorab beschriebenen beispielhaften Ausführungsformen beschränkt.
  • Die in diesem Dokument verwendeten Begriffe und Formulierungen, sowie deren Variationen werden als offen im Gegensatz zu beschränkend angesehen, sofern nicht anderweitig ausdrücklich genannt. Einige Beispiele zu dem vorab Gesagten lauten wie folgt: Der Begriff „beinhalten” hat die Bedeutung „beinhalten ohne Einschränkung” oder ähnliches; der Begriff „Beispiel” wird verwendet, um beispielhafte Fälle des genannten Gegenstandes zu benennen und keine vollständige oder beschränkende Liste desselben; die Begriffe „ein/eine/einer” bedeuten „mindestens eins”, „eines oder mehr” oder ähnliches; und Adjektive wie „herkömmlich”, „traditionell”, „normal”, „Standard”, „bekannt” und Begriffe mit ähnlicher Bedeutung beschränken den beschriebenen Gegenstand nicht auf eine gegebene Zeitspanne oder einen Gegenstand, der ab einer gegebenen Zeit zur Verfügung steht, sondern bedeuten, dass herkömmliche, traditionelle, normale oder Standardtechnologien umfasst sind, die jetzt bekannt sind oder zu irgendeiner Zeit in der Zukunft. In gleicher Art und Weise gilt, dass wenn in diesem Dokument ein Bezug auf Technologien hergestellt wird, die für den Fachmann auf der Hand liegen oder dem Fachmann bekannt sind, diese Technologien solche umfassen, die jetzt oder zu irgendeiner Zeit in der Zukunft für den Fachmann auf der Hand liegen oder dem Fachmann bekannt sind.
  • Die Verwendung von verbreiternden Wörtern und Formulierungen wie „eines oder mehr”, „mindestens”, „aber nicht beschränkt auf” oder anderen ähnlichen Formulierungen in manchen Fällen bedeutet nicht, dass in den Fällen, in denen solch verbreiternden Formulierungen nicht verwendet werden, der engere Fall beabsichtigt oder erforderlich war. Die Verwendung des Begriffs „Komponente” impliziert nicht, dass die als Teil der Komponente beschriebenen oder beanspruchten Aspekte oder Funktionalitäten alle in einem gemeinsamen Paket konfiguriert sind. Tatsächlich kann jeder oder alle der verschiedenen Aspekte einer Komponente, ob die Kontrolllogik oder andere Komponenten in einem einzelnen Paket kombiniert werden oder separat unterhalten werden und kann in mehreren Gruppierungen oder Paketen oder über mehrere Orte verteilt werden.
  • Zusätzlich werden die vorliegend beschriebenen verschiedenen Ausführungsformen in Bezug auf beispielhafte Blockdiagramme, Ablaufdiagramme oder anderen Darstellungen beschrieben. Nach Lesen des Dokuments ist dem Fachmann klar, dass die dargestellten Ausführungsformen und ihre verschiedenen Alternativen ohne Einschränkung auf die gezeigten Beispiele implementiert werden können. Blockdiagramme und die damit einhergehende Beschreibung schreiben keine besondere Architektur oder Konfiguration vor.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • IEEE 802.XX [0084]

Claims (20)

  1. Computerimplementiertes Verfahren, umfassend: Konvertieren eines additiven Farbmodellsignals in ein einheitliches Farbraumsignal mit Chromatizitätskomponenten und einer Luminanzkomponente; Umwandeln der Chromatizitätskomponenten und der Luminanzkomponente durch Anwenden einer chromatizitätsspezifischen Umwandlung auf die Chromatizitätskomponenten und Anwenden einer luminanzspezifischen Umwandlung auf die Luminanzkomponente; Quantisieren der umgewandelten Chromatizitätskomponenten und der Luminanzkomponente; und Kodieren der quantisieren Chromatizitätskomponenten und der Luminanzkomponente.
  2. Computerimplementiertes Verfahren nach Anspruch 1, wobei das additive Farbmodellsignal ein rot-grün-blaues, RGB, Farbmodellsignal umfasst.
  3. Computerimplementiertes Verfahren nach Anspruch 1, wobei das einheitliche Farbraumsignal ein YUV-Farbraumsignal umfasst.
  4. Computerimplementiertes Verfahren nach Anspruch 3, wobei das Umwandeln der Chromatizitätskomponenten umfasst, dass eine Hauptdreiecksdarstellung der Chromatizitätskomponenten in dem YUV-Farbraum in ein Netz unterteilt wird, das eine Vielzahl von sekundären Dreiecken umfasst.
  5. Computerimplementiertes Verfahren nach Anspruch 4, wobei jeder Eckpunkt der Hauptdreiecksdarstellung eine der Primären des additiven Farbmodells umfasst.
  6. Computerimplementierte Verfahren nach Anspruch 5, weiterhin Definieren eines Eckpunktes in der Mitte zwischen zwei der Primären des additiven Farbmodells umfassend.
  7. Computerimplementiertes Verfahren nach Anspruch 6, weiterhin Abbilden jedes Eckpunktes der Hauptdreiecksdarstellung und des definierten Eckpunktes in der Mitte auf eine rechteckige Darstellung der Chromatizitätskomponenten im YUV-Farbraum umfassend.
  8. Computerimplementiertes Verfahren nach Anspruch 7, wobei die rechteckige Darstellung ein Einheitsquadrat umfasst.
  9. Computerimplementiertes Verfahren nach Anspruch 7, wobei jeweilige Eckpunkte eines jeden Dreiecks aus der Vielzahl der sekundären Dreiecke auf die rechteckige Darstellung der Chromatizitätskomponenten im YUV-Farbraum unter Verwendung von Mittelwert-Koordinaten abgebildet werden.
  10. Computerimplementiertes Verfahren nach Anspruch 9, wobei Werte einer jeden der Chromatizitätskomponenten im YUV-Farbraums auf die rechteckige Darstellung desselben abgebildet werden unter Verwendung von Schwerpunkt-Koordinaten, entsprechend der Werte einer jeden der Chromatizitätskomponenten.
  11. Computerimplementiertes Verfahren nach Anspruch 6, weiterhin Abbilden eines jeden Eckpunktes der Hauptdreiecksdarstellung und des definierten Eckpunkts in der Mitte auf eine vierseitige polygonalen Darstellung der Chromatizitätskomponenten im YUV-Farbraum umfassend.
  12. Computerimplementiertes Verfahren nach Anspruch 11, weiterhin umfassend Anwenden von zumindest einer aus einer Vielzahl an Beschränkungen, welche die Abbildung eines jeden Eckpunkts der Hauptdreiecksdarstellung, eines jeden Eckpunkts eines jeden Dreiecks aus der Vielzahl an sekundären Dreiecken und des definierten Eckpunkts in der Mitte beeinflussen, auf die vierseitige polygonale Darstellung.
  13. Computerimplementiertes Verfahren nach Anspruch 12, weiterhin umfassend Anpassungscharakteristika von zumindest einer aus der Vielzahl an Beschränkungen, um die chromatizitätsspezifische Umwandlung zu modifizieren.
  14. Computerimplementiertes Verfahren nach Anspruch 1, wobei die luminanzspezifische Umwandlung eine opto-elektronische Transferfunktion umfasst.
  15. Nicht-transitorisches computerlesbares Medium, das darauf enthaltenen computerausführbaren Programmcode aufweist, wobei der computerausführbare Programmcode dazu eingerichtet ist, zu bewirken, dass der Prozessor: quantisierte Farb- und Helligkeitskomponenten eines Input-Bitstroms dekodiert, welcher ein Bildsignal trägt, das durch ein erstes Farbraummodell dargestellt ist, das Helligkeits- und Farbkomponenten aufweist; die quantisieren Farb- und Helligkeitskomponenten dequantisiert; eine erste inverse Umwandlung auf die dequantisierte Farbkomponente anwendet; eine zweite inverse Umwandlung auf die dequantisierte Helligkeitskomponente anwendet; und das Bildsignal, das durch ein erstes Farbraummodell dargestellt ist in das konvertiert, welches durch ein zweites Farbraummodell dargestellt ist, wobei das zweite Farbraummodell ein additives Farbraummodell ist.
  16. Nicht-transitorisches computerlesbares Medium von Anspruch 15, wobei die erste inverse Umwandlung eine inverse Direkt-Umwandlung oder eine inverse Kleinste-Quadrate-Umwandlung umfasst, wobei die Farb- und Helligkeitskomponenten vorab umgewandelt wurden, um die Anzahl an Codewörtern zu erhöhen, die einem Videocodec zur Komprimierung des Bildsignals zur Verfügung stehen.
  17. Nicht-transitorisches computerlesbares Medium von Anspruch 16, wobei das erste Farbraummodell ein YUV-Farbraummodell umfasst, das zweite Farbraummodell ein Rot-Grün-Blau, RGB, Farbraummodell umfasst und der Videocodec einen Hochleistungs-Video-Kodierungs-HEVC-Codec umfasst.
  18. Nicht-transitorisches computerlesbares Medium von Anspruch 15, wobei das Bildsignal ein Bildsignal mit einem Standarddynamikbereich, SDR, oder ein Bildsignal mit einem hohen Dynamikbereich, HDR, oder ein Bildsignal mit einem, SCG, oder ein Bildsignal mit einem breiten Farbumfang, WCG, umfasst.
  19. System, umfassend: einen Konverter, um ein Bildsignal, das durch ein erstes Farbraummodell dargestellt ist, zu konvertieren, in eines, welches durch ein zweites Farbraummodell mit Helligkeits- und Farbkomponenten dargestellt ist; einen ersten Umwandler, um eine erste Umwandlung auf die Farbkomponente anzuwenden; einen opto-elektronischen Transferfunktionskodierer, um eine zweite Umwandlung auf die Helligkeitskomponente anzuwenden; einen Quantisierer, um die umgewandelten Farb- und Helligkeitskomponenten zu quantisieren; und einen Kodierer, um die quantisierten Farb- und Helligkeitskomponenten zu kodieren und einen Bitstrom auszugeben.
  20. System nach Anspruch 19, wobei die erste Umwandlung umkehrbar ist.
DE102016207230.7A 2015-05-01 2016-04-28 Wahrnehmbare Farbumwandlungen für Videokodierung mit einem breiten Farbumfang Pending DE102016207230A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562156124P 2015-05-01 2015-05-01
US62/156,124 2015-05-01
US14/862,027 2015-09-22
US14/862,027 US10257526B2 (en) 2015-05-01 2015-09-22 Perceptual color transformations for wide color gamut video coding

Publications (1)

Publication Number Publication Date
DE102016207230A1 true DE102016207230A1 (de) 2016-11-03

Family

ID=57136014

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016207230.7A Pending DE102016207230A1 (de) 2015-05-01 2016-04-28 Wahrnehmbare Farbumwandlungen für Videokodierung mit einem breiten Farbumfang

Country Status (5)

Country Link
US (1) US10257526B2 (de)
JP (1) JP6738645B2 (de)
KR (1) KR102566291B1 (de)
CN (1) CN106101708B (de)
DE (1) DE102016207230A1 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10043237B2 (en) * 2015-08-12 2018-08-07 Gopro, Inc. Equatorial stitching of hemispherical images in a spherical image capture system
US11087644B2 (en) 2015-08-19 2021-08-10 E Ink Corporation Displays intended for use in architectural applications
CN108141507B (zh) * 2015-10-02 2020-02-07 Vid拓展公司 利用查找表进行颜色校正
US10750173B2 (en) * 2016-03-07 2020-08-18 Koninklijke Philips N.V. Encoding and decoding HDR videos
EP3446486B1 (de) * 2016-04-22 2021-12-08 Dolby Laboratories Licensing Corporation Codierung von hdr-videosignalen im ictcp-farbformat
US10163030B2 (en) * 2016-05-20 2018-12-25 Gopro, Inc. On-camera image processing based on image activity data
PL3465628T3 (pl) 2016-05-24 2020-12-14 E Ink Corporation Sposób renderowania barwnych obrazów
WO2018006390A1 (en) * 2016-07-08 2018-01-11 SZ DJI Technology Co., Ltd. System and method for image processing
WO2018070822A1 (ko) * 2016-10-14 2018-04-19 엘지전자 주식회사 적응적 영상 재생을 위한 데이터 처리 방법 및 장치
JP2018107580A (ja) * 2016-12-26 2018-07-05 富士通株式会社 動画像符号化装置、動画像符号化方法、動画像符号化用コンピュータプログラム、動画像復号装置及び動画像復号方法ならびに動画像復号用コンピュータプログラム
EP3386198A1 (de) * 2017-04-07 2018-10-10 Thomson Licensing Verfahren und vorrichtung zur prädiktiven bildcodierung und -decodierung
CN108024110B (zh) * 2017-12-15 2019-06-21 四川长虹电器股份有限公司 一种高色域液晶电视的色彩调试方法
CN112995615B (zh) * 2019-12-13 2022-05-31 澜至电子科技(成都)有限公司 图像处理方法、装置以及存储介质
EP4217996A1 (de) 2020-09-24 2023-08-02 Edward M. Granger Bildtransformationssystem und -verfahren
WO2022081851A1 (en) * 2020-10-14 2022-04-21 Dolby Laboratories Licensing Corporation Color transformation for hdr video with a coding-efficiency constraint

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6100998A (en) * 1996-11-29 2000-08-08 Fuji Xerox Co., Ltd. Print processor with efficient memory use
KR100467600B1 (ko) * 2002-07-30 2005-01-24 삼성전자주식회사 컬러 정정 방법
KR100938846B1 (ko) * 2003-05-22 2010-01-26 삼성전자주식회사 색변환장치 및 그 방법
JP3791848B2 (ja) 2003-10-28 2006-06-28 松下電器産業株式会社 画像表示装置、画像表示システム、撮影装置、画像表示方法、およびプログラム
KR101058125B1 (ko) * 2004-02-23 2011-08-24 삼성전자주식회사 화상 표시 방법 및 표시 장치와, 이의 구동 장치 및 방법
US7692663B2 (en) * 2005-10-19 2010-04-06 Canon Kabushiki Kaisha Multi-shelled gamut boundary descriptor for an RGB projector
US8085438B2 (en) * 2007-04-23 2011-12-27 Ecole Polytechnique Federale De Lausanne (EPPL) Printing color images visible under UV light on security documents and valuable articles
JP2009278538A (ja) * 2008-05-16 2009-11-26 Ricoh Co Ltd 画像処理装置、画像処理方法、プログラムおよび記録媒体
US8289344B2 (en) * 2008-09-11 2012-10-16 Apple Inc. Methods and apparatus for color uniformity
US8233705B2 (en) * 2008-10-03 2012-07-31 Eastman Kodak Company Potential field-based gamut mapping
EP2406943B1 (de) 2009-03-10 2016-06-15 Dolby Laboratories Licensing Corporation Bildsignalumsetzung mit erweitertem dynamikumfang und erweiterter dimensionalität
CN102388612B (zh) 2009-03-13 2014-10-08 杜比实验室特许公司 高动态范围、可视动态范围和宽色域视频的分层压缩
GB2469794B (en) * 2009-04-24 2014-02-19 Photonstar Led Ltd High colour quality luminaire
RU2013149856A (ru) 2011-04-08 2015-05-20 Конинклейке Филипс Н.В. Кодирование и декодирование видео
US11640656B2 (en) 2011-09-27 2023-05-02 Koninklijke Philips N.V. Apparatus and method for dynamic range transforming of images
KR20130141920A (ko) * 2012-06-18 2013-12-27 삼성디스플레이 주식회사 색역 변환 시스템 및 방법
US9445109B2 (en) 2012-10-16 2016-09-13 Microsoft Technology Licensing, Llc Color adaptation in video coding
CN105324997B (zh) * 2013-06-17 2018-06-29 杜比实验室特许公司 用于增强动态范围信号的分层编码的自适应整形
US9948916B2 (en) * 2013-10-14 2018-04-17 Qualcomm Incorporated Three-dimensional lookup table based color gamut scalability in multi-layer video coding
JP5940039B2 (ja) * 2013-10-31 2016-06-29 京セラドキュメントソリューションズ株式会社 色変換テーブル作成装置、画像形成装置、色変換テーブル作成方法、及び色変換テーブル作成プログラム
JP2017512393A (ja) * 2014-02-21 2017-05-18 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 高解像度及び高ダイナミックレンジを可能とするビデオデコーダ
CN111654697B (zh) * 2015-01-30 2022-07-19 交互数字Vc控股公司 对彩色画面进行编码和解码的方法和装置
US20160309154A1 (en) * 2015-04-17 2016-10-20 Qualcomm Incorporated Dynamic range adjustment for high dynamic range and wide color gamut video coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEEE 802.XX

Also Published As

Publication number Publication date
JP2016213828A (ja) 2016-12-15
KR20160130163A (ko) 2016-11-10
JP6738645B2 (ja) 2020-08-12
CN106101708B (zh) 2019-11-05
US10257526B2 (en) 2019-04-09
CN106101708A (zh) 2016-11-09
KR102566291B1 (ko) 2023-08-10
US20160323556A1 (en) 2016-11-03

Similar Documents

Publication Publication Date Title
DE102016207230A1 (de) Wahrnehmbare Farbumwandlungen für Videokodierung mit einem breiten Farbumfang
DE19983253B4 (de) Die Kompression von Farbbildern auf der Grundlage einer zweidimensionalen diskreten Wavelet-Transformation, die ein scheinbar verlustloses Bild hervorbringt
DE112018005250T5 (de) Punktwolkenkomprimierung
DE69434862T2 (de) Segmentierungs-basiertes entfernen von artefakten aus einem jpeg-bild
DE112017006657T5 (de) Adaptive planare Prädiktion mit ungleichen Gewichten
DE112009004408T5 (de) Videoaufzeichnungs- und verarbeitungssysteme
DE102016121734A1 (de) Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren und computerlesbares speichermedium
DE102016125117A1 (de) Bewegungsvektorkodierung mit dynamischen Referenzbewegungsvektoren
DE202012013410U1 (de) Bildkompression mit SUB-Auflösungsbildern
DE112009001679T5 (de) Skalierbarkeitstechniken einer Farbskala
DE202016008175U1 (de) Adaptive gerichtete Intra-Prädiktion mit Blockgröße
DE102010055454A1 (de) Techniken für die Anpassung einer Farbskala
DE102013203884A1 (de) Bildkomprimierung
DE112012006541B4 (de) Verfahren zur Videokompression
DE202016008164U1 (de) Intelligente Sortierung der rekursiven Blockaufteilung für die erweiterte Intra-Prädiktion bei der Videocodierung
DE102016125591A1 (de) Hybrid-Prädiktionsmodi zur Kodierung von Videos
DE60313664T2 (de) Digitale bildkompression durch ausnutzung übereinstimmender msb
EP1374559B1 (de) Verfahren zur komprimierung und dekomprimierung von bilddaten
DE102011006036B4 (de) Verfahren und Vorrichtungen zur Bildung eines Prädiktionswertes
DE102016124917A1 (de) Anpassungsfähige Kachel-Daten-Grössenkodierung für Video- und Bildkompression
DE69833785T2 (de) Farbstanzverfahren für ein digitales videokompressionssystem
DE102012015084A1 (de) Jpeg-bitratencontroller mit nulldurchlauf
DE10152612B4 (de) Verfahren zur Komprimierung und Dekomprimierung von Bilddaten
EP2294825A2 (de) Vorrichtung und verfahren zum codieren und decodieren einer mehrzahl von fliesskommawerten
EP0929975A1 (de) Verfahren und anordnung zur vektorquantisierung und zur inversen vektorquantisierung eines digitalisierten bildes

Legal Events

Date Code Title Description
R012 Request for examination validly filed