-
GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung bezieht sich auf die Verarbeitung von Bildern mit hohem Dynamikumfang (HDR-Bildverarbeitung) und insbesondere auf ein System und ein Verfahren zur Tonwertumsetzung (Tonemapping, Dynamikkompression) eines MPEG-HDR-Video-Datenstroms.
-
HINTERGRUND DER ERFINDUNG
-
Die Qualität digitaler Bilder hat sich in den letzten Jahren drastisch verbessert. Die Anzahl von Bildpunkten (Pixeln) in einem Bild hat sich aufgrund von Verbesserungen sowohl bei Kameras als auch bei Anzeigen vergrößert. Mit dem Anstieg der Anzahl von Bildpunkten in einem hochauflösenden Bild (HD-Bild) und den verbesserten Dynamikinformationen in einem Bild mit hohem Dynamikumfang (HDR-Bild) ist den Bildern jedoch ein erhöhter Datenumfang zugehörig. Das verursacht Probleme in Bezug auf die Anzeige derartiger Bilder. Bei Standbildern ist es üblich, Techniken der Tonwertumsetzung anzuwenden, die die Verminderung des Dynamikumfangs eines Bilds in der Weise ermöglichen, dass versucht wird, dass der Benutzer alle Einzelheiten beobachten kann, die für das menschliche Auge relevant sind. Für Videodaten, die eine Vielzahl von Einzelbildern (frames) aufweisen, leiden vorhandene Lösungen unter mehreren Einschränkungen.
-
Tatsächlich gibt es bei der Anzeige von hochauflösenden Videodaten (HD-Videodaten) Videodaten mit hohem Dynamikumfang (HDR-Videodaten) auf herkömmlichen Anzeigen (8-Bit-Anzeigen) mehrere technische Schwierigkeiten. Ein HDR-Video weist einen Dynamikumfang auf, der mit dem der realen Szene übereinstimmt, der viel größer ist als der, der auf üblichen Anzeigen mit geringem Dynamikumfang (8-Bit-Anzeigen) dargestellt wird. Das Anzeigen von HDR-Inhalt auf derartigen Anzeigen erfordert eine Komprimierung des Dynamikumfangs unter Verwendung einer Operation ”Tonwertumsetzung”, damit sich trotzdem eine ähnliche visuelle Erfahrung bei der Visualisierung der reellen Szene ergibt. Ein Hauptproblem besteht darin, dass Operationen für eine hochwertige Tonwertumsetzung eine erhebliche Verarbeitungsleistung erfordern, um die übliche Bildrate von 60 Bildern/s und eine hohe Bildauflösung von 1920 × 1080 für hochauflösendes Video (HD-Video) aufrechtzuerhalten.
-
Ein erster bekannter Ansatz zum Ermöglichen einer Echtzeit-Anzeige von HDR-Video besteht darin, die Tonwertumsetzung nicht in Echtzeit auszuführen sondern stattdessen einen im Voraus im Tonwert umgesetzten Video-Datenstrom, der in den HDR-Datenstrom eingebettet ist, zu verwenden. Dieser Ansatz wurde im
US-Patent 20080310501 , im
US-Patent 2009/0003718 A1 , in dem Artikel ”Perception-motivated high dynamic range video encoding” (ACM SIGGRAPH 2004 Papers; Los Angeles, Kalifornien: ACM 2004, S. 733 bis 741) von R. Mantiuk, G. Krawczyk, K. Myszkowski, und H. Seidel und auch in dem Artikel ”New Standardized Extensions of MPEG4-AVC/H.264 for Professional-Quality Video Applications” (Bildverarbeitung, 2007. ICIP 2007. IEEE Internationale Konferenz, 2007, S. I-13 bis I-16) von G. Sullivan, Haoping Yu, S. Sekiguchi, Huifang Sun, T. Wedi, S. Wittmann, Yung-Lyul Lee, A. Segall, und T. Suzuki beschrieben. Dieser Ansatz vermeidet die Notwendigkeit zur Tonwertumsetzung und deswegen erfolgt das Anzeigen von HDR-Video einfach durch Decodieren des im Tonwert umgesetzten Datenstroms. Dieser Ansatz weist jedoch den wesentlichen Nachteil der ”Offline” ausgeführten Tonwertumsetzung auf. Das begrenzt die Anwendungsmöglichkeit dieses Ansatzes auf im Voraus aufgezeichnete Videos, und er ist dadurch nicht für Live-Fernsehsendungen geeignet. Darüber hinaus ist der Tonwertumsetzungsoperator im Voraus festgelegt und kann nicht geändert werden.
-
Ein anderer Ansatz für dieses Problem ist derjenige, der in dem Artikel ”Perceptual effects in real-time tone mapping” (Proceedings of the 21st spring conference on Computer graphics, Budmerice, Slovakia: ACM, 2005, S. 195 bis 202) von G. Krawczyk, K. Myszkowski, und H. Seidel, und in dem Artikel ”Interactive time-dependent tone mapping using programmable graphics hardware” (Proceedings of the 14th Eurographics workshop on Rendering, Leuven, Belgium: Eurographics Association, 2003, S. 26 bis 37) von N. Goodnight, R. Wang, C. Woolley, und G. Humphreys) verwendet wird. Dieser Ansatz enthält die näherungsweise Bestimmung einer bestimmten Tonwertumsetzungsoperation und beruht auf einer leistungsstarken Berechnung wie etwa durch Grafik-Verarbeitungseinheiten, um eine Tonwertumsetzung in Echtzeit auszuführen. Dieser Ansatz weist jedoch den Nachteil auf, dass die Qualität der Tonwertumsetzung möglicherweise vermindert wird, um eine Echtzeit-Verarbeitung zu ermöglichen, wobei trotzdem eine zugrunde liegende leistungsstarke/kostenintensive Hardware für eine Tonwertumsetzung mit annehmbarer Qualität erforderlich ist. Des Weiteren sind Lösungen, die diesen Ansatz verwenden, gewöhnlich stark auf einen speziellen Tonwertumsetzungsoperator abgestimmt, wodurch es nicht möglich ist, den Tonwertumsetzungsoperator so zu ändern, dass er den vorgesehenen Betrachtungscharakeristiken entspricht (z. B. das Hervorheben von Einzelheiten anstelle der Bereitstellung von in der Wahrnehmung gefälligen Bildern).
-
Eine weitere vorhandene Lösung für diese Problem ist jene, die in
US 2009/041376 A1 beschrieben ist. Diese Lösung stellt eine kundenspezifische Hardware-Realisierung dar, die die Tonwertumsetzung in Echtzeit ausführt. Diese Lösung beruht jedoch auf einer wesentlichen Näherung des Tonwertumsetzungsoperators, um die Hardware-Kosten zu verringern. Außerdem ist die Hardware für die Anwendung/Tonwertumsetzung spezifisch, wodurch die Realisierungskosten steigen, da die Hardware nicht für andere Funktionen verwendet werden kann.
-
Das Darstellen von HDR-Video auf herkömmlichen Anzeigen ist unter der Voraussetzung von vorhandenen Technologien stark eingeschränkt.
-
Demzufolge besteht ein Bedarf an einem verbesserten Verfahren, das eine Echtzeit-Tonwertumsetzung für einen HDR-Video-Datenstrom ermöglicht.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Gemäß der vorliegenden Erfindung werden ein Verfahren zur Tonwertumsetzung eines Video-Datenstroms mit hohem Dynamikumfang gemäß dem angefügten unabhängigen Anspruch 1 bzw. ein Computerprogramm, gemäß dem angefügten Anspruch 14, bereitgestellt. Bevorzugte Ausführungsformen sind in den angefügten abhängigen Ansprüchen definiert.
-
Die Erfindung stellt dementsprechend ein Verfahren zur Echtzeit-Tonwertumsetzung für hochauflösende HDR-Videos bereit, das nicht an einen speziellen Tonwertumsetzungsoperator gebunden ist.
-
Die Erfindung ermöglicht die Verwendung des üblichen Vorgangs der MPEG-Video-Decodieroperation zum Ausführen der Tonwertumsetzung als ein ”Nebenprodukt”, das keinen bedeutenden zusätzlichen Aufwand in Bezug auf den Decodiervorgang beinhaltet. Die verschiedenen Ausführungsformen der Erfindung beruhen auf der Ausnutzung von zeitlichen Redundanzen im Video, die bereits während des MPEG-Codiervorgangs identifiziert werden, und deren Verwendung zum Reduzieren der Tonwertumsetzungsoperation auf eine reine globale Addition und Skalieroperationen. Als Ergebnis wird lediglich eine vollständige Tonwertumsetzungsoperation für eine Gruppe von Bildern ausgeführt.
-
Ein Vorteil der vorliegenden Erfindung besteht darin, die Operation der Video-Tonwertumsetzung um einen Faktor zu beschleunigen, der mit der Video-Bildrate vergleichbar ist (z. B. 15fache Beschleunigung für Bildraten von 60 Bildern pro Sekunde für einen hochauflösenden Video-Datenstrom).
-
Ein weiterer Vorteil der Erfindung besteht darin, dass eine Auswahl eines Tonwertumsetzungsoperators für eine bildinterne Tonwertumsetzung möglich ist.
-
Die Lösung der vorliegenden Erfindung kann einfach in einen MPEG-Video-Decodiervorgang und andere ähnliche Video-Codiertechniken integriert werden, wobei begrenzte Hardware-Verarbeitungsleistung und Leistungsanforderungen erforderlich sind.
-
Es ist ein weiterer Vorteil der Erfindung, die Qualität der Tonwertumsetzung mit der Tonwertumsetzung der MPEG-Videokompression zu verbinden.
-
Weitere Vorteile der vorliegenden Erfindung werden einem Fachmann bei der Prüfung der Zeichnungen und der genauen Beschreibung deutlich. Es ist beabsichtigt, dass alle zusätzlichen Vorteile darin eingeschlossen sind.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Ausführungsformen der vorliegenden Erfindung werden beispielhaft unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen gleiche Bezugszeichen ähnliche Elemente bezeichnen und in denen:
-
1 eine Folge von Bildern gemäß der MPEG-Norm zeigt;
-
2 die Tonwertumsetzungsoperationen, die an MPEG-Bildern ausgeführt werden, schematisch veranschaulicht;
-
3 ein höherer Ablaufplan zum Anzeigen eines Videodaten-Datenstroms mit hohem Dynamikumfang (HDR-Video-Datenstroms) gemäß Ausführungsformen der vorliegenden Erfindung ist;
-
4 ein System-Blockschaubild zur Tonwertumsetzung eines Bilds mit hohem Dynamikumfang (HDR-Bilds) gemäß Ausführungsformen der vorliegenden Erfindung zeigt; und
-
5 ein Computersystem veranschaulicht, das zur Tonwertumsetzung eines HDR-Bilds gemäß Ausführungsformen der vorliegenden Erfindung verwendet wird.
-
Es ist vorgesehen, dass die Zeichnungen lediglich typische Ausführungsformen der Erfindung darstellen und deshalb nicht als Einschränkung des Umfangs der Erfindung betrachtet werden sollten.
-
GENAUE BESCHREIBUNG
-
Multimedia-Geräte setzen im Allgemeinen Videocodiertechniken wie z. B. MPEG-2, ITU-H.263, MPEG-4, usw. um, um digitale Inhalte zu übertragen, empfangen, speichern und abzurufen. Von diesen Codiertechniken wurde die internationale Norm MPEG erweitert, um einen HDR-Video-Datenstrom zu komprimieren wie in ”New Standardized Extensions of MPEG4-AVC/H.264 for Professional-Quality Video Applications”, Image Processing, 2007, ICIP 2007, IEEE International Conference, 2007, S. I-13 bis I-16, von G. Sullivan, Haoping Yu, S. Sekiguchi, Huifang Sun, T. Wedi, S. Wittmann, Yung-Lyul Lee, A. Segall, und T. Suzuki beschrieben.
-
Ein MPEG-Datenstrom enthält einen Video-Datenstrom, der mit einem Audio-Datenstrom und anderen Bit-Datenströmen komprimiert ist.
-
1 veranschaulicht eine beispielhafte MPEG-Sequenz 100, die Bilder enthält, die in Intervallen aufgenommen wurden. Bilder werden durch die Art bezeichnet, wie zeitliche Informationen codiert werden.
-
MPEG-Codierung wird verwendet, um eine Bildsequenz zu erzeugen, die eine Vielzahl von Bildern mit unterschiedlichen Typen aufweist. Im Einzelnen weist eine MPEG-Bildsequenz logische Gruppen auf, wovon jede drei Typen von Bildern aufweist: I-Bilder 101, P-Bilder 102 und B-Bilder 103.
-
Das I-Bild 101 ist eine komprimierte Version eines einzelnen nicht komprimierten Bilds. Er basiert lediglich auf bildinternen Daten zum Codieren ohne Bezugnahme auf andere Typen von Bildern (d. h. keine zeitliche Codierung von Redundanz). Im Unterschied zu P-Bildern und B-Bildern hängen I-Bilder nicht von Daten in den vorhergehenden und nachfolgenden Bildern ab.
-
Das P-Bild 102 basiert auf einer Vorhersage von einem früheren I-Bild 101. B-Bilder 103 werden über ein vorhergehendes I-Bild 101 und ein nächstes P-Bild 102 zeitlich codiert. Wie in 1 gezeigt lautet eine typische Sequenz von Bildern wie folgt: IBB...BP. In bestimmten MPEG-Anwendungen kommen I-Bilder in jedem 15ten Bild für einen HD-Video-Datenstrom vor.
-
Im Allgemeinen unterscheiden sich bei dem/den Bild(ern) (P-Bilder und B-Bilder), das/die einem Referenzbild (I- oder P-Bild) folgt/folgen, lediglich kleine Abschnitte dieser Bilder von den entsprechenden Abschnitten des entsprechenden Referenzbilds. Bei diesen Referenzbildern werden lediglich die Unterschiede aufgenommen und unter Verwendung von Bewegungsvektoren gespeichert.
-
Um eine Rückwärts-Vorhersage von einem späteren Bild zu ermöglichen, ordnet die Codiervorrichtung im Allgemeinen die Bilder von der Anzeigereihenfolge zu der Reihenfolge des Bit-Datenstroms um, so dass ein B-Bild nach dem vorhergehenden und nächsten Bild, auf die es Bezug nimmt, übertragen wird.
-
Eine MPEG-Video-Codiereinheit führt zwei Hauptoperationen aus. Die erste Operation, die durch die MPEG-Video-Codiereinheit ausgeführt wird, codiert die zeitliche Redundanz von Daten über die MPEG-Bilder. Für einen vorgegebenen Bildblock sucht der Codierer nach der Übereinstimmung von zwei Blöcken von einem vorhergehenden Bild und einem nächsten Bild. Der aktuelle Bildblock wird dann von den übereinstimmenden beiden Blöcken subtrahiert.
-
Die zweite MPEG-Operation ist das Codieren der räumlichen Redundanz in jedem Bild nach der zeitlichen Reduktionsoperation. Eine bildinterne Operation einer diskreten Cosinus-Transformation (DCT) und eine bewegungskompensierte bildinterne Vorhersageoperation werden zusätzlich zu einem Quantisierungsschritt verwendet, um die räumliche Redundanz zu codieren.
-
In dem MPEG-Codierer wird zuerst die bewegungskompensierte bildinterne Vorhersage ermittelt und mit der DCT kombiniert. Die bewegungskompensierte Vorhersage wird von dem Quellenbild subtrahiert, um ein ”Vorhersagefehler”-Bild zu bilden, und anschließend wird der Vorhersagefehler mit der DCT transformiert, die Koeffizienten werden quantisiert und diese quantisierten Werte werden unter Verwendung einer Variable Length Encoding (VLC, Codierung mit variabler Länge) codiert. Der codierte Luminanz- und Chrominanz-Vorhersagefehler wird mit ”Seiteninformationen” kombiniert, die durch den Decodierer gefordert werden wie etwa Bewegungsvektoren und Synchronisierungsinformationen, und zu einem Bit-Datenstrom zur Übertragung gebildet.
-
Der HDR-Bit-Datenstrom (im Folgenden auch als ”Bit-Datenstrom” bezeichnet), der auf diese Weise codiert wurde, weist mehrere horizontale Segmente auf, die jeweils mehrere Makroblöcke aufweisen. Jeder Makroblock weist neben anderen Informationen einen Quanitisierungswert, Bewegungsvektoren, Luminanz- und Chrominanzblöcke aus quantisierten DTC-Koeffizienten auf.
-
Das Verfahren zur Tonwertumsetzung gemäß den verschiedenen Ausführungsformen der Erfindung ermöglicht eine effiziente Anzeige eines HDR-Video-Datenstroms, der nach einem MPEG-Format codiert wurde. Das Verfahren zur Tonwertumsetzung wendet einen Tonwertumsetzungsoperator an, um I-Bilder einer Tonwertumsetzung zu unterziehen, während P-Bilder und B-Bilder basierend auf den im Tonwert umgesetzten Bildern, die vorher für die Referenzbilder (I- und P-Bilder) bestimmt wurden, und Informationen, die sich aus der MPEG-Codierung des HDR-Video-Datenstroms ergeben, im Tonwert umgesetzt werden.
-
2 stellt schematisch die Phasen des Verfahrens zur Tonwertumsetzung gemäß den verschiedenen Ausführungsformen der Erfindung dar.
-
Wenn ein I-Bild des HDR-Bit-Datenstroms empfangen wird, wird eine Tonwertumsetzungsoperation auf das I-Bild 201 des eingegebenen Datenstroms angewendet, um gemäß einer Tonwertumsetzungstechnik ein im Tonwert-umgesetztes I-Bild 210 zu erhalten. Das im Tonwert-umgesetzte I-Bild wird im Speicher gespeichert, um eine differenzielle Berechnung von Tonwert-Umsetzungs-Werten für die Bilder, auf die es Bezug nimmt (P-Bilder oder B-Bilder), zu ermöglichen.
-
Während das Intra-Bild eine vollständige Tonwertumsetzungsoperation beinhaltet, ist es ein Vorteil der Erfindung, eine ”differenzielle” Tonwertumsetzung von abhängigen Bildern (P-Bilder und B-Bilder) anhand von Additions- und Skalierungsoperationen in Bezug auf im Tonwert umgesetzte I-Bildwerte, die für das I-Bild erhalten werden, das als ein Referenzbild dient, zu ermöglichen.
-
Wenn im Einzelnen ein P Bild 202 empfangen wird, das von einem Referenz-I-Bild abhängt, werden im Tonwert umgesetzte Werte für das P-Bild unter Verwendung einer Additions- und Skalierungsfunktion in Bezug auf das im Tonwert umgesetzte I-Bild 210, das für das Referenz-I-Bild erhalten wird, und auf andere Informationen, die sich auf die MPEG-Decodierung des Bit-Datenstroms beziehen, berechnet, wodurch ein im Tonwert umgesetztes P-Bild 212 bereitgestellt wird. Die im Tonwert umgesetzten P-Bildwerte werden im Speicher gespeichert, um eine differenzielle Berechnung von im Tonwert umgesetzten Werten für die Bilder, auf die Bezug genommen wird (B-Bildern) zu ermöglichen.
-
Wenn ein B-Bild 203 empfangen wird, das von vorgegebenen I-Bildern und P-Bildern abhängt, werden im Tonwert umgesetzte Werte für die B-Bilder anhand des im Tonwert umgesetzten I-Bilds 210, das für das Referenz-I-Bild erhalten wird, des im Tonwert umgesetzten P-Bilds 212, das für das Referenz-P-Bild erhalten wird, und zusätzlicher Informationen, die sich auf die MPEG-Decodierung des Bit-Datenstroms beziehen, differenziell berechnet. Hierdurch wird ein im Tonwert umgesetztes B-Bild 214 bereitgestellt, ohne dass damit eine tatsächliche Tonwert-Umsetzungs-Operation auf das Bild verbunden ist, wodurch erhebliche Rechenzeit, Speicher und Leistung eingespart werden.
-
Demzufolge erfordert das Verfahren zur Tonwertumsetzung gemäß den verschiedenen Ausführungsformen der Erfindung lediglich eine Tonwertumsetzungsoperation für die Intra-Bilder. Für die Bilder, die einem Referenzbild (P-Bilder und B-Bilder) folgen, beinhaltet die Berechnung von entsprechenden im Tonwert umgesetzten Bildern lediglich mehrere Additionen und Skalierungen, die zur Komplexität der Decodierzeit nicht beitragen. Der HDR-Video-Datenstrom kann dann in eine Sequenz von Bildern transformiert werden, die so beschaffen ist, dass sie auf herkömmlichen Anzeigevorrichtungen bei geringeren Berechnungskosten und einer verbesserten Geschwindigkeit angezeigt werden kann.
-
3 ist ein Ablaufplan zum Anzeigen eines HDR-Video-Datenstroms, der mit MPEG codiert ist.
-
Das Verfahren beginnt im Schritt 300 mit dem Empfang eines HDR-Video-Datenstroms gemäß dem MPEG-Format. Der eingegebene Video-Datenstrom kann von jedem Typ einer Codiervorrichtung empfangen werden, die so beschaffen ist, dass sie einen ursprünglichen Video-Datenstrom im MPEG-Format oder von einer Datenspeichervorrichtung, die einen Video-Datenstrom speichert, wie etwa Festplatten, optische Platten und dergleichen im MPEG-Format codiert. Die Codiervorrichtung kann ein Mehrzweck-Computer sein, der einen ursprünglichen Video-Datenstrom von jedem Typ einer Quelle wie etwa ein Satelliten-Receiver, eine Video-Kamera empfängt.
-
Der HDR-Video-Datenstrom im MPEG-Format weist Codes mit variabler Länge auf, die während des Vorgangs der MPEG-Codierung erhalten wurden.
-
Im Schritt 302, werden MPEG-Decodieroperationen auf den HDR-Bit-Datenstrom angewendet. Der MPEG-Decodiervorgang decodiert und speichert alle empfangenen Bilder, die als eine Referenz für andere Bilder dienen, wie etwa I- oder P-Bilder. Jedes neu rekonstruierte Bild, das als ein Referenzbild dient, wie etwa ein I-Bild oder ein P-Bild, ersetzt das zuvor gespeicherte Referenzbild, um als die neue Referenz für ankommende Bilder zu dienen. Ein P-Bild oder ein B-Bild, das von einem Referenzbild abhängt, wird unter Verwendung einer Bewegungskompensationsfunktion rekonstruiert, die auf das Bild unter Verwendung der benachbarten decodierten Referenzbilder (I-Bilder und/oder P-Bilder) angewendet wird. Die Bilder, die von Referenzbildern (wie etwa P-Bildern und B-Bildern) abhängen, werden entsprechenden Bewegungsvektoren zugeordnet, die auf Blöcke in benachbarten decodierten Referenzbildern (I-Bild oder P-Bild) Bezug nehmen. Der MPEG-Decodierer verwendet jeden Bewegungsvektor, um einen entsprechenden Referenzblock in jedem Referenzbild (I-Bild oder P-Bild) zu bestimmen, um auf den Referenzblock, auf den durch den Bewegungsvektor gezeigt wird, zuzugreifen. Demzufolge wird ein P-Bild aus dem zugehörigen Referenz-I-Bild rekonstruiert, das zuvor decodiert und in einem Bildpuffer zwischengespeichert wurde, und ein B-Bild wird aus zwei zugehörigen Referenzbildern (I-Bild und P-Bild) rekonstruiert, die zuvor decodiert und in einem Bildpuffer gespeichert wurden.
-
Der MPEG-Decodierschritt erzeugt dadurch I-Bilder (vollständige Werte), rekonstruierte P-Bilder und rekonstruierte B-Bilder. Er stellt außerdem dazwischenliegende Fehlerwerte ep(x, y) für jedes empfangene P-Bild und Fehlerwerte eb(x, y) für jedes empfangene B-Bild bereit. Das Fehlersignal ep(x, y) repräsentiert den Fehlerwert in einem P-Bild an dem Pixelort (x, y), und das Fehlersignal eb(x, y) repräsentiert den Fehlerwert in einem B-Bild an dem Pixelort (x, y). Die Fehlerwerte für die P- und B-Bilder werden ursprünglich durch den MPEG-Codierer codiert. Der MPEG-Decodierer verwendet eine inverse diskrete Cosinus-Transformation, um sie zu decodieren. Fehler werden üblicherweise in einer Operation zur Bewegungskompensation verwendet, um die ursprünglichen Bilder des Video-Datenstroms zu rekonstruieren, deren Wert deshalb ein Fehler oder eine Differenz zwischen dem ursprünglichen Pixelwert und einem vorübergehend rekonstruierten Wert ist, der unter Verwendung von Pixelwerten von anderen Bildern erhalten wird, um ein aktuelles Bildpixel zu berechnen.
-
Der MPEG-Codierschritt 302 wendet eine Decodierfunktion mit variabler Länge an, um Programmlauf, Pegel und Länge jedes Code mit variabler Länge gemäß der verwendeten MPEG-Codiernorm und des Bildtyps wiederherzustellen. Codes mit variabler Länge können unter Verwendung einer Technik mit Nachschlagtabelle oder jeder anderen geeigneten Technik decodiert werden. Der Schritt 302 enthält außerdem das Zuweisen der Koeffizienten der Decodierfunktion mit variabler Länge zu Makroblöcken (z. B. 8·8 Pixel) und das Anwenden einer inversen Quantisierungsfunktion, um jeden Koeffizienten in einem Makroblock mit derselben entsprechenden Quantisierungskonstante zu multiplizieren, die in der Quantisierungsphase der Codierung verwendet wurde, und das Runden des Ergebnisses auf die nächste Ganzzahl. Der Schritt 302 wendet außerdem eine Funktion einer inversen diskreten Cosinus-Transformation (inverse DCT-Funktion) auf die Makroblöcke an, um die Blöcke zu einer Darstellung in einer Zeit/Raum-Domäne zurückzuführen, die das I-Bild und die Fehlerwerte e(x, y) für P-Bilder und B-Bilder bereitstellt.
-
Für jedes empfangene P-Bild oder B-Bild verwendet der MPEG-Decoderschritt 302 außerdem den bzw. die zugehörigen Bewegungsvektoren, um rekonstruierte P-Bilder und B-Bilder bereitzustellen.
-
Im Schritt 304 wird jedes I-Bild, das im Schritt 302 decodiert wurde, gemäß einer geeigneten Technik der Tonwertumsetzung im Tonwert umgesetzt. In der folgenden Beschreibung wird der Pixelwert des I-Bilds an dem Ort (x, y) als I(x, y) bezeichnet, während der im Tonwert umgesetzte Wert des I-Bilds an einem vorgegebenen Pixel (x, y) an dem Pixelort (x, y) als I1(x, y) bezeichnet wird. Das im Tonwert umgesetzte I-Bild I1 kann unter Verwendung eines geeigneten Operators zur Tonwertumsetzung erzeugt werden, wie z. B. der fotografische Tonwertumsetzungsoperator von Reinhard et al. (Erik Reinhard, Michael Stark, Peter Shirley und James Ferwerda, Photographic tone reproduction for digital images, SIGGRAPH '02: Proceedings of the 29th annual conference on Computer graphics and interactive techniques, S. 267 bis 276, New York, N.Y., 2002, ACM Press), der ein lokaler adaptiver Operator ist, der die Dodging-and-Burning-Technik von Ansel Adams beinhaltet (Ansel Adams, The Print, The Ansel Adams Photography Series/Book 3, Little, Brown and Company, New York and Boston, zehnte Ausgabe, 2003, in Zusammenarbeit mit Robert Balker), die auf bekannten fotografischen Prinzipien basiert, um jedes einzelne Pixel im Tonwert umzusetzen. Jeder Tonwertumsetzungsoperator kann verwendet werden, solange eine Tonwertumsetzung räumlich (in einem Bild) erfolgt. Das ist im Allgemeinen für die meisten Tonwertumsetzungsoperatoren erfüllt. Die Erfindung gilt außerdem für Tonwertumsetzungsoperatoren, für die ein Zeitanpassungsschritt ausgeführt werden kann (nach der räumlichen Tonwertumsetzung), um eine zeitliche Änderung der Luminanz anzupassen. Wenn eine derartige Zeitanpassung auf einem aktuellen im Tonwert umgesetzten Bild und Zeitinformationen beruht, kann ein besonderer Zeitoperator benötigt werden, der auf das Bild anzuwenden ist. Der Aufwand von derartigen Operationen ist jedoch gering im Vergleich zu der Operation der Tonwertumsetzung. Ein beispielhaftes zeitliches Anpassungsverfahren ist in ”Perceptual effects in real-time tone mapping” (Proceedings oft the 21st spring conference on Computer graphics, Budmerice, Slovakia: ACM, 2005, S. 195 bis 202) von G. Krawczyk, K. Myszkowski und H. Seidel beschrieben.
-
Im Schritt 306 wird das im Tonwert umgesetzte P-Bild P1(x, y) für ein empfangenes P-Bild, das einem Referenz-I-Bild folgt, aus dem Wert des im Tonwert umgesetzten I-Bilds I1(x', y'), das an einem entsprechenden Ort (x', y') für das Referenz-I-Bild (gemäß Schritt 304) erhalten wird und einem Skalierungsfaktor, der sich auf das Fehlersignal ep(x, y) bezieht, das für das P-Bild codiert wurde, das (unter Verwendung von Funktionen der inversen Quantisierung und der inversen diskreten Cosinus-Transformation) im Schritt 302 erhalten wird, differenziell berechnet. Ein Bewegungsvektor, der dem P-Bild zugehörig ist, kann verwendet werden, um den Pixelort (x', y') in dem Referenz-I-Bild zu bestimmen, der dem Pixelort (x, y) in dem P-Bild entspricht. Der Bewegungsvektor kann durch die Decodierfunktion mit variabler Länge bereitgestellt werden, die während des Decodierens des MPEG-Video-Datenstroms verwendet wird.
-
Im Schritt 308 wird der im Tonwert umgesetzte B-Bildwert B1(x, y) am Pixelort (x, y) für ein empfangenes B-Bild in Abhängigkeit von einem Referenz-I-Bild und einem Referenz-P-Bild aus dem Wert des im Tonwert umgesetzten I-Bilds I1(x', y'), das für das Referenz-I-Bild an dem ersten vorgegebenen Ort (x', y') erhalten wird, dem Wert des im Tonwert umgesetzten P-Bilds P1(x'', y''), das für das Referenz-P-Bild an einem zweiten vorgegebenen Ort (x'', y'') erhalten wird, und einem Skalierungsfaktor, der das Fehlersignal eb(x, y) betrifft, das für das B-Bild codiert wurde, das (unter Verwendung von Funktionen der inversen Quantisierung und der diskreten Cosinus-Transformation) im Schritt 302 erhalten wurde, berechnet. Der erste vorgegebene Ort (x', y') ist der Pixelort in dem Referenz-I-Bild, der dem Pixelort (x, y) des B-Bilds entspricht, und der zweite vorgegebene Ort (x'', y'') ist der Pixelort in dem Referenz-P-Bild, der dem Pixelort (x, y) des B-Bilds entspricht. Der erste vorgegebene Ort (x', y') kann unter Verwendung des Bewegungsvektors bestimmt werden, der dem Referenz-I-Bild zugehörig ist. Der zweite vorgegeben Ort (x'', y'') kann aus dem Bewegungsvektor bestimmt werden, der dem Referenz-P-Bild zugehörig ist. Diese beiden Bewegungsvektoren können durch die Video-Längen-Decodierfunktion (VLC-Funktion) erzeugt werden, die am Beginn der MPEG-Decodierung des Video-Datenstroms (Schritt 302) angewendet wurde.
-
Im Schritt 310 wird eine Farbraumumsetzung des HDR-Video-Datenstroms ausgeführt aus den im Tonwert umgesetzten I-Bildern (I1(x, y)), die gemäß Schritt 304 erhalten werden, den im Tonwert umgesetzten P-Bildern (P1(x, y)), die gemäß Schritt 306 erhalten werden, und den im Tonwert umgesetzten B-Bildern (B1(x, y)), die gemäß Schritt 308 erhalten werden. Die Umsetzung kann zu dem Farbraum der RGB-Norm erfolgen, in dem die Farbe jedes Pixels durch drei Komponenten und zwar Rot (R), Grün (G) und Blau (B) dargestellt wird. Die Umsetzung kann alternativ zu dem Farbraum Luv erfolgen, wobei L die Luminanz-Komponente ist und u und v jeweils eine Chrominanz-Komponente sind.
-
4 zeigt ein System-Blockschaubild, das ein Anzeigesystem 400 zum Decodieren und zur Tonwertumsetzung eines HDR-Video-Datenstroms gemäß bestimmten Ausführungsformen der Erfindung darstellt.
-
Das Anzeigesystem 400 verwendet einen HDR-MPEG-Datenstrom als eine Eingabe. Er wird zu einer Anzeigevorrichtung geschaltet zum Anzeigen des Video-Datenstroms anhand von Daten, die aus Referenz-I-Bildern entnommen werden, und von Informationen, die aus zeitlich komprimierten oder codierten Bildern, P-Bildern und/oder B-Bildern entnommen werden.
-
Der im MPEG-Format codierte HDR-Video-Datenstrom weist „Segmente” auf. Jedes Segment stellt einen horizontalen Abschnitt eines Einzelbilds dar und weist eine Sequenz von Makroblöcken auf. Jeder Makroblock enthält einen Makroblock-Kopfabschnitt, einen Bewegungsvektor-Abschnitt und codierte Blöcke aus Koeffizienten einer diskreten Cosinus-Transformation (DCT). Der Bewegungsvektor-Abschnitt wird verwendet, um die Bewegungsvektoren für den Makroblock zu erzeugen.
-
Das System 400 weist einen Block C1 der Decodierung mit variabler Länge für eine erste Verarbeitung des HDR-MPEG-Datenstroms auf. Der Block C1 der Decodierung mit variabler Länge führt eine übliche Decodierung mit variabler Länge an dem HDR-MPEG-Datenstrom aus, um quantisierte Koeffizienten einer diskreten Cosinus-Transformation (DCT) bereitzustellen (z. B. durch Verwendung einer vorgegebenen Huffman-Tabelle). Eine (nicht gezeigte) inverse Abtastfunktion weist die Koeffizienten von dem Block der Decodierung mit variabler Länge Blöcken (z. B. 8·8 Blöcken) zu.
-
Der Transformationsblock C2 führt dann Operationen der inversen Quantisierung und der inversen diskreten Cosinus-Transformation aus. Die Operation der inversen Quantisierung multipliziert jeden Koeffizienten in einem Block, der von der inversen Abtastfunktion bereitgestellt wird, mit derselben entsprechenden Quantisierungskonstante, die in der Quantisierungsprozedur während der Codierung verwendet wurde, und rundet das Ergebnis auf die nächste ganze Zahl. Die Operation der inversen diskreten Cosinus-Transformation wird auf die Blöcke angewendet, um die Blöcke zu einer Darstellung in einer räumlichen Domäne zurückzuführen (Bildung eines Bilddifferenzblocks). Eine der Funktionen der inversen DCT-Operation gemäß bestimmten Ausführungsformen der Erfindung enthält insbesondere das Decodieren der Fehlersignale, die den P- bzw. B-Bildern zugehörig sind (die ursprünglich durch den MPEG-Codierer codiert wurden).
-
Die codierten Bewegungsvektoren und Fehlersignale werden dann zu einem Bewegungskompensationsblock C3 übertragen.
-
Der Bewegungskompensationsblock C3 wird verwendet, um die Fehlersignale, die den P- bzw. B-Bildern zugehörig sind (hier nachfolgend als ep(x, y) und eb(x, y) für P- und B-Bilder bezeichnet), den codierten Satz von Bewegungsvektoren für jedes P-Bild (dem Referenz-I-Bild zugehörig) und die zwei Sätze von codierten Bewegungsvektoren für jedes B-Bild (dem Referenz-I-Bild und P-Bild zugehörig) zu decodieren. Bei üblichen MPEG-Decodierern wird jeder Bewegungsvektor im Allgemeinen verwendet, um einen Referenz-Bildblock abzurufen, der mit dem Ausgang der Operation der inversen diskreten Cosinus-Transformation kombiniert ist, um einen decodierten Bildblock zu erzeugen. Der Bewegungskompensationsblock C3 stellt somit rekonstruierte P-Bilder und B-Bilder bereit. Gemäß den Ausführungsformen der Erfindung wird jedoch der Bewegungskompensationsblock C3 hauptsächlich verwendet, um die Fehlersignale und die Bewegungsvektoren zu decodieren, um sie an die Blöcke der unidifferenziellen Tonwertumsetzungsberechnung C6 und der bidifferenziellen Tonwertumsetzungsberechnung C7 zu liefern.
-
Die Blöcke C2 und C3 werden demzufolge verwendet, um I-Bilder (vollständige Werte) und Fehlersignalwerte ep(x, y) und eb(x, y) für P-Bilder und B-Bilder zu erzeugen und decodierte Bewegungsvektoren bereitzustellen.
-
Jedes decodierte I-Bild vom Transformationsblock C2 wird in einen Tonwertumsetzungsblock C5 geleitet. Der Tonwertumsetzungsblock ist vorgesehen, um eine Tonwertumsetzungsoperation an I-Bildern gemäß einer geeigneten Tonwertumsetzungstechnik auszuführen. Die Tonwertumsetzungsoperation wird ausgeführt, um einen Satz von Farben in einen anderen umzusetzen und das Erscheinungsbild des HDR-Videos anzugleichen. Die Werte I1(x, y), die von dem Tonwertumsetzungsblock C5 erhalten werden (im Tonwert umgesetztes I-Bild), werden in den Block C6 der unidifferenziellen Tonwertumsetzungsberechnung und den Block C7 der bidifferenziellen Tonwertumsetzungsberechnung für eine differenzielle Berechnung von im Tonwert umgesetzten Werten für die P-Bilder und die B-Bilder, auf die Bezug genommen wird, geleitet.
-
Für jedes decodierte P-Bild werden das im Tonwert umgesetzte I-Bild, das seinem Referenz-I-Bild zugehörig ist (erhalten vom Block C5), der codierte Fehlerwert ep(x, y) im P-Bild (erhalten vom Block C2), der P-Bild-Bewegungsvektor und das rekonstruierte P-Bild (empfangen von C3) von einem Block C6 der unidifferenziellen Tonwertumsetzungsberechnung (bezeichnet als „unidifferenziell” in Bezug auf das früheren I-Bild, das als Referenzbild für das P-Bild dient) verwendet, um im Tonwert umgesetzte Werte für das P-Bild zu berechnen. Der Block C6 der unidifferenziellen Tonwertumsetzungsberechnung berechnet Werte für das im Tonwert umgesetzte P-Bild aus den Werten des im Tonwert umgesetzten I-Bilds gemäß der folgenden Gleichung: P1(x, y) = I1(x', y') + ep(x, y)·I1(x', y')/I(x', y'), wobei P1(x, y) der Pixelwert des im Tonwert umgesetzten P-Bilds am Ort (x, y) ist, ep(x, y)·I1(x', y')/I(x', y') ist der Skalierungsfaktor, I(x', y') ist der Pixelwert des I-Bilds am Ort (x', y') in dem I-Bild und ep(x, y) ist der im P-Bild codierte Fehlerwert am Ort (x, y); I1(x', y') ist der im Tonwert umgesetzte Wert des Referenz-I-Bilds, der zuvor durch den Tonwertumsetzungsblock C5 bestimmt wurde. Der Ort (x', y') ist durch den Bewegungsvektor des P-Bilds festgelegt.
-
Das Fehlersignal ep(x, y) wird als die akkumulierten absoluten Differenzen ep(x, y) berechnet. Wenn das Fehlersignal ep(x, y) alternativ groß ist (d. h. größer als ein im Voraus definierter Schwellenwert), kann das gesamte P-Bild vollständig ohne Näherung im Tonwert umgesetzt werden.
-
Für jedes decodierte B-Bild werden das im Tonwert umgesetzte I-Bild I1(x, y), das zuvor für das Referenz-I-Bild ermittelt wurde (erhalten von C5), das im Tonwert umgesetzte P-Bild P1(x, y), das zuvor für das Referenz-P-Bild ermittelt wurde (erhalten von C5), der Fehlerwert eb(x, y) im B-Bild (erhalten von Block C2), die beiden Bewegungsvektoren, die dem Referenz-I-Bild bzw. P-Bild zugehörig sind, und das rekonstruierte Referenz-P-Bild von dem Block C7 der bidifferenziellen Tonwertumsetzungsberechnung (C7 wird als bidifferenziell bezeichnet in Bezug auf die Referenz-I-Bilder und P-Bilder) verwendet, um Tonwertumsetzungswerte B1(x, y) für das B-Bild gemäß der folgenden Gleichung zu berechnen: B1(x, y) = I1(x', y') + P1(x'', y'') + eb(x, y)·(I1(x', y') + P1(x'', y''))/(I(x', y') + P(x'', y'')) wobei B1(x, y) der im Tonwert umgesetzte Werte des Pixels (x, y) im B-Bild ist, I1(x', y') ist das entsprechende Pixel in dem im Tonwert umgesetzten I-Bild, P1(x'', y'') ist der entsprechende Pixelwert in dem im Tonwert umgesetzten P-Bild, und eb(x, y) ist der Fehlerwert (Pixelwert) des B-Bilds. Der entsprechende Pixelort (x', y') im Referenz-I-Bild wird mit dem Bewegungsvektor des B-Bilds, das dem Referenz-I-Bild zugehörig ist, bestimmt und der entsprechende Pixelort (x'', y'') im Referenz-P-Bild wird mit dem Bewegungsvektor des B-Bilds, das dem Referenz-P-Bild zugehörig ist, bestimmt.
-
Wenn das als die akkumulierten absoluten Differenzen eb(x, y) gemessene Fehlersignal alternativ groß ist (d. h. größer als ein im Voraus definierter Schwellenwert), wird das gesamte B-Bild (unter Verwendung des Tonwertumsetzungsoperators) vollständig ohne Näherung im Tonwert umgesetzt, andernfalls wird die Tonwertumsetzung differenziell berechnet (d. h. mit Näherung).
-
Ursprünglich befinden sich die I-Bilder, P-Bilder und B-Bilder in dem MPEG-Datenstrom im HSB-Raum, wobei die Pixelkomponenten ”Farbton”, ”Sättigung” und ”Helligkeit” oder Luminanz darstellen. Das System 400 weist einen Farbraum-Transformationsblock C4 auf, der die berechneten Bilder (im Tonwert umgesetzte I-, P- und B-Bilder) empfängt und sie wieder in den RGB-Raum transformiert, damit sie mit dem Farbraum der Anzeige übereinstimmen. Dadurch wird ein im Tonwert umgesetztes RGB-Vollbild bereitgestellt, das angezeigt werden kann.
-
In einer beispielhaften Anwendung der Erfindung, bei der jedes Bild eine mittlere Zeit t1 zur Tonwertumsetzung und eine mittlere Zeit t2 zum Video-Decodieren benötigt, ist die Tonwertumsetzungsoperation gemäß Ausführungsformen der Erfindung lediglich für I-Bilder erforderlich. Für P-Bilder und B-Bilder beinhaltet die Tonwertumsetzung lediglich mehrere Additionen und Skalierungen, die nicht zur Komplexität der Decodierzeit t2 beitragen. Deswegen fällt für die Tonwertumsetzungsoperation für I-Bilder und P-Bilder lediglich die Zeit t1 an. Wenn I-Bilder nach jeweils n Bildern auftreten, beträgt die benötigte Gesamtausführungszeit Ta daher Ta = t1 + t2. Da Decodierschritte in Echtzeit ausgeführt werden, ist t2 im Wesentlichen klein.
-
Es ist ein Vorteil der Erfindung, die Tonwertumsetzungsoperation in Bezug auf vorhandene Techniken zu beschleunigen, bei denen eine Tonwertumsetzung für jedes Bild unabhängig von den anderen Bildern erfolgt. Wird tatsächlich die Zeit Tb = nt1 + t2 betrachtet, wobei Tb die Gesamtausführungszeit darstellt, wenn eine Tonwertumsetzung an jedem Bild ausgeführt wird, lautet die resultierende Beschleunigung S folgendermaßen: S = Tb/Ta = (nt1 + t2)/(t1 + t2)
-
Da üblicherweise gilt t2 << t1, ist Tb/Ta = n. Fehlerwerte werden mit schnellen Szenenänderungen korreliert. MPEG-Codierer fügen üblicherweise I-Bilder bei derartigen Bildern ein, so dass Fehler wahrscheinlich klein sind. MPEG-Codierer fügen üblicherweise nach jeweils 15 Bildern ein I-Bild ein. Bei einem derartigen Beispiel gilt n = 15 (z. B. PAL DVD). Eine 15fache Beschleunigung kann deshalb erwartet werden. Der wesentliche Aufwand, der eingeführt wird, ist hauptsächlich die Tonwertumsetzungsoperation für das Bild I. Ein weiterer Aufwand kann das Prüfen nach einem Fehlerschwellenwert sein, der vernachlässigt werden kann.
-
5 veranschaulicht ein Computersystem 50, das zum Umwandeln eines Videovollbilds von einem MPEG-HDR-Bild in ein in einen Farbraum umgesetztes Vollbild gemäß Ausführungsformen der vorliegenden Erfindung verwendet wird. Das Computersystem 50 weist einen Prozessor 51, eine Eingabeeinheit 52, die mit dem Prozessor 51 verbunden ist, eine Ausgabeeinheit 53, die mit dem Prozessor 51 verbunden ist, und Speichereinheiten 54 und 55 auf, die jeweils mit dem Prozessor 51 verbunden sind. Der Prozessor 51 ist eine Verarbeitungseinheit wie etwa eine zentrale Verarbeitungseinheit (CPU). Die Eingabeeinheit 52 kann u. a. eine Tastatur, eine Maus usw. sein. Die Ausgabeeinheit 53 kann u. a. ein Drucker, ein Plotter, eine Anzeigeeinheit (z. B. ein Computerbildschirm), ein Magnetband, eine Wechselfestplatte, eine Diskette usw. sein. Die Speichereinheiten 54 und 55 können u. a. eine Festplatte, eine Diskette, ein Magnetband, eine optische Speichervorrichtung wie etwa eine Compact Disk (CD) oder eine digitale Videodisk (DVD), ein dynamischer Direktzugriffsspeicher (DRAM), ein Festwertspeicher (ROM) usw. sein. Die Speichereinheit 55 enthält Computercode 57, der ein Computerprogramm ist, das computerausführbare Befehle aufweist. Der Computercode 57 enthält einen Algorithmus zum Transformieren des MPEG-HDR-Bilds in ein Farbraumbild. Der Prozessor 51 führt den Computercode 57 aus. Die Speichereinheit 54 enthält Eingabedaten 56. Die Eingabedaten 56 enthalten Eingaben, die vom Computercode 57 gefordert werden. Die Ausgabeeinheit 53 zeigt Ausgaben vom Computercode 57 an. Eine oder beide Speichereinheiten 54 und 55 können als ein computernutzbares Speichermedium (oder eine Programmspeichereinheit) verwendet werden, das ein computerlesbares Programm, das darin verkörpert ist, und/oder andere Daten, die darin gespeichert sind, aufweist, wobei das computerlesbare Programm den Computercode 57 aufweist. Im Allgemeinen kann ein Computerprogrammprodukt (oder alternativ ein Herstellungsgegenstand) des Computersystems 50 das computernutzbare Speichermedium (oder die Programmspeichereinheit) aufweisen.
-
Obwohl 5 das Computersystem 50 als eine bestimmte Konfiguration aus Hardware und Software zeigt, kann wie für einen Fachmann klar ist jede Konfiguration aus Hardware und Software für die oben in Verbindung mit dem speziellen Computersystem 50 von 5 festgelegten Zwecke genutzt werden. Die Speichereinheiten 54 und 55 können z. B. Abschnitte einer einzelnen Speichereinheit und keine separaten Speichereinheiten sein.
-
Obwohl bestimmte Ausführungsformen der vorliegenden Erfindung hier für Zwecke der Erläuterung beschrieben wurden, werden einem Fachmann viele Modifikationen und Änderung erscheinen.