DE102022112366A1 - Flüssigkristallanzeigesystem mit niedriger Latenz und variabler Hintergrundbeleuchtung - Google Patents

Flüssigkristallanzeigesystem mit niedriger Latenz und variabler Hintergrundbeleuchtung Download PDF

Info

Publication number
DE102022112366A1
DE102022112366A1 DE102022112366.9A DE102022112366A DE102022112366A1 DE 102022112366 A1 DE102022112366 A1 DE 102022112366A1 DE 102022112366 A DE102022112366 A DE 102022112366A DE 102022112366 A1 DE102022112366 A1 DE 102022112366A1
Authority
DE
Germany
Prior art keywords
pixel values
pixels
subset
backlights
display
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
DE102022112366.9A
Other languages
English (en)
Inventor
Jens Roever
Gerrit Ary Slavenburg
Robert Jan Schutten
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.)
Nvidia Corp
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Publication of DE102022112366A1 publication Critical patent/DE102022112366A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/34Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
    • G09G3/3406Control of illumination source
    • G09G3/342Control of illumination source using several illumination sources separately controlled corresponding to different display panel areas, e.g. along one dimension such as lines
    • G09G3/3426Control of illumination source using several illumination sources separately controlled corresponding to different display panel areas, e.g. along one dimension such as lines the different display panel areas being distributed in two dimensions, e.g. matrix
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/34Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
    • G09G3/3406Control of illumination source
    • GPHYSICS
    • G02OPTICS
    • G02FOPTICAL DEVICES OR ARRANGEMENTS FOR THE CONTROL OF LIGHT BY MODIFICATION OF THE OPTICAL PROPERTIES OF THE MEDIA OF THE ELEMENTS INVOLVED THEREIN; NON-LINEAR OPTICS; FREQUENCY-CHANGING OF LIGHT; OPTICAL LOGIC ELEMENTS; OPTICAL ANALOGUE/DIGITAL CONVERTERS
    • G02F1/00Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics
    • G02F1/01Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics for the control of the intensity, phase, polarisation or colour 
    • G02F1/13Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics for the control of the intensity, phase, polarisation or colour  based on liquid crystals, e.g. single liquid crystal display cells
    • G02F1/133Constructional arrangements; Operation of liquid crystal cells; Circuit arrangements
    • G02F1/1333Constructional arrangements; Manufacturing methods
    • G02F1/1335Structural association of cells with optical devices, e.g. polarisers or reflectors
    • G02F1/1336Illuminating devices
    • G02F1/133602Direct backlight
    • G02F1/133603Direct backlight with LEDs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • G06V10/507Summing image-intensity values; Histogram projection analysis
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/2092Details of a display terminals using a flat panel, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G3/2096Details of the interface to the display terminal specific for a flat panel
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/34Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
    • G09G3/36Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using liquid crystals
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0233Improving the luminance or brightness uniformity across the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0252Improving the response speed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0257Reduction of after-image effects
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0266Reduction of sub-frame artefacts
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/06Adjustment of display parameters
    • G09G2320/0626Adjustment of display parameters for control of overall brightness
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/06Adjustment of display parameters
    • G09G2320/0626Adjustment of display parameters for control of overall brightness
    • G09G2320/0646Modulation of illumination source brightness and image signal correlated to each other
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/16Calculation or use of calculated indices related to luminance levels in display data

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Nonlinear Science (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Optics & Photonics (AREA)
  • Liquid Crystal Display Device Control (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

In verschiedenen Beispielen wird ein Flüssigkristallanzeigesystem (LCD-System) mit niedriger Latenz und variabler Hintergrundbeleuchtung offenbart. Das LCD-System kann Latenz und Videoverzögerung reduzieren, indem es eine Analyse von Pixelspitzenwerten innerhalb von Teilmengen von Pixeln unter Verwendung einer Rendering-Vorrichtung durchführt, bevor es das Bild zur Anzeige an ein Anzeigegerät überträgt. Infolgedessen kann das Anzeigegerät die Spitzenpixelwertdaten vor oder gleichzeitig mit den Frame-Daten empfangen und mit der Aktualisierung der Hintergrundbeleuchtungseinstellungen der Anzeige beginnen, ohne darauf warten zu müssen, dass ein wesentlicher Teil des Frames empfangen wird. Auf diese Weise kann das LCD-System die Verzögerung eines vollständigen Frames herkömmlicher Systeme vermeiden, wodurch das LCD-System Hochleistungsanwendungen wie Spiele zuverlässiger unterstützen kann.

Description

  • HINTERGRUND DER ERFINDUNG
  • Flüssigkristallanzeigen (LCDs), wie zum Beispiel High Dynamic Range (HDR)-LCDs, verwenden üblicherweise eine Hintergrundbeleuchtung, die aus einer Matrix von Leuchtdioden (LEDs) besteht. Um Helligkeitsunterschieden zwischen verschiedenen Teilen der Anzeige Displays Rechnung zu tragen, können einige der LEDs heller beleuchtet werden, während die Beleuchtung anderer gedimmt wird - oft als lokales Dimmen bezeichnet. Im Gegensatz zu Anzeigegeräten mit fester Hintergrundbeleuchtung, bei denen für jede Hintergrundbeleuchtung ein einheitlicher Beleuchtungswert angewandt wird, wird dadurch ein höherer Kontrast erzielt - und HDR-Fähigkeit kann erreicht werden. Um die Beleuchtungswerte für die verschiedenen LEDs festzulegen, kann ein Strom für jede LED auf der Grundlage eines aktuellen Frames oder Bildes, das angezeigt werden soll, festgelegt werden, dann kann der Beitrag jeder LED zu jedem Pixel festgelegt werden, um ein Beleuchtungsfeld für das Pixel zu berechnen, und Pixelwerte für die Pixel können auf der Grundlage einer Kombination des zugehörigen Beleuchtungsfeldes und der gewünschten Pixelwerte eingestellt werden - zum Beispiel Rot- (R), Grün- (G) und Blauwerte (B) für RGB-Anzeigen.
  • Jedoch müssen herkömmliche Algorithmen, welche verwendet werden, um Entscheidungen über die Hintergrundbeleuchtung für einen aktuellen Frame bzw. ein aktuelles Bild zu treffen, entweder eine Verzögerung einführen, während sie darauf warten, dass das Bild vor der Analyse auf der LCD-Geräteseite empfangen wird (zusätzlich zu der Verzögerung bei der Durchführung der Analyse), oder neue Pixelwerte müssen aus früheren Bildern vorhergesagt werden - was zum Beispiel zu potenziell nicht optimalen Entscheidungen bei dynamischen Bildinhalten führt, bei denen sich die Pixelwerte zwischen aufeinanderfolgenden Bildern schnell ändern. Somit führen herkömmliche Algorithmen zu einer Anzeigeverzögerung (z. B. ein Zeitintervall von der Übertragung einer ersten Zeile eines gerenderten Bildes auf einem Rendering-Gerät bis zur Sichtbarkeit der ersten Zeile des Bildes auf einem Anzeigegerät) aufgrund einer Verzögerung beim Empfang und bei der Analyse aktueller Bilddaten und/oder zu Bildartefakten aufgrund von unter- oder überbeleuchteten Bildern, welche sich bei der Bestimmung der zugehörigen Pixelwerte auf vorherige Bilder gestützt haben. Die eingesetzte Verzögerung und/oder die Bildartefakte dieser herkömmlichen Methoden verringern die Gesamtleistung des Systems und beeinträchtigen das Benutzererlebnis - insbesondere bei leistungsstarken Anwendungen wie wettbewerbsorientierten Online- oder Cloud-Spielen, bei denen Reaktionszeiten der Benutzer einen größeren Einfluss auf Benutzererlebnis und -fähigkeit haben.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Ausführungsformen der vorliegenden Erfindung betreffen Flüssigkristallanzeigesysteme (LCD-Systeme) mit niedriger Latenz und variabler Hintergrundbeleuchtung. Es werden Systeme und Verfahren offenbart, welche anstelle des „Ausspionierens“ eingehender Bilder auf der Seite eines LCD-Gerätes zur Durchführung einer Bildanalyse eine Bildanalyse auf der Seite eines Rendering-Gerätes durchführen. Beispielsweise kann das Rendering-Gerät gerenderte Bilder analysieren, um Spitzenwerte von Pixeln oder Pixelzellen innerhalb von Teilmengen von Pixeln des Bildes zu bestimmen, und die Spitzenwertbestimmungen an ein LCD-Gerät mit variabler Hintergrundbeleuchtung übertragen, um Beleuchtungsentscheidungen schneller zu verarbeiten - zum Beispiel mit minimaler Latenz. Im Gegensatz zu herkömmlichen Systemen, welche darauf warten, dass der größte Teil oder das gesamte Bild in einem Bildspeicher auf dem LCD-Gerät vor Durchführung der Bildanalyse empfangen wird, führen die vorliegenden Systeme und Verfahren die Bildanalyse am Rendering-Gerät durch - zum Beispiel, wenn das Bild nach dem Rendering bereits vollständig gepuffert ist - und dies vor oder gleichzeitig mit der Übertragung des gerenderten Bildes an das LCD-Gerät. Das LCD-Gerät kann die analysierten Bilddaten vor Erhalt des gesamten Bildes empfangen, so dass Beleuchtungsentscheidungen und Festlegungen von Beleuchtungsvarianten mit minimaler Latenz bzw. Verzögerung am LCD-Gerät durchgeführt werden können. Beispielsweise können zu dem Zeitpunkt, zu dem ein Pixelzellenwert auf ein Pixel der LCD-Anzeige angewendet werden soll, Aktualisierungen zum Pixelzellenwert bereits auf der Grundlage der akkumulierten Beleuchtungsbeiträge der umgebenden LEDs bestimmt werden, so dass das Pixel an die LCD-Anzeige ausgelesen werden kann, ohne auf zu berechnende Beleuchtungsbeitragsinformationen zu warten. Dadurch kann statt Einführung einer Verzögerung eines fast vollständigen Bildes (z. B. 80 % eines Bildes, bei einer Bildwiederholrate von 72 Hz, mit einer gemeinsamen Zeilenfrequenz von 160,8 KHz, bei einer 4K-Auflösung, kann die Verzögerung ~10,7 Millisekunden betragen), die einzige Verzögerung Übertragungsverzögerung sein, welche mit der Übertragung der analysierten Bilddaten und der Bilddaten verbunden ist (z. B. bei der Übertragung einer einzelnen Datenzeile, die die Beleuchtungsinformationen aus den analysierten Bilddaten enthält, vor oder gleichzeitig mit den vollständigen Bilddaten, kann die Verzögerung ~6,7 Mikrosekunden betragen), womit die Leistung des Systems und die Benutzerfreundlichkeit erhöht werden - insbesondere bei leistungsstarken Anwendungen wie Spielen.
  • Figurenliste
  • Die vorliegenden Systeme und Verfahren für Flüssigkristallanzeigesysteme (LCD-Systeme) mit niedriger Latenz und variabler Hintergrundbeleuchtung werden im Folgenden mit Bezug auf die beigefügten Figuren ausführlich beschrieben:
    • 1 ist ein Blockdiagramm eines LCD-Systems mit niedriger Latenz und variabler Hintergrundbeleuchtung gemäß einigen Ausführungsformen der vorliegenden Erfindung,
    • 2A zeigt Vorschauverzögerung und Anzeigeverzögerung für herkömmliche Systeme gemäß einigen Ausführungsformen der vorliegenden Erfindung,
    • 2B zeigt Vorschauverzögerung und Anzeigeverzögerung für das LCD-System mit geringer Latenz und variabler Hintergrundbeleuchtung von 1 gemäß einigen Ausführungsformen der vorliegenden Erfindung,
    • 3 zeigt ein beispielhaftes Anzeigegerät und entsprechende Pixel, Hintergrundbeleuchtungen und Hintergrundbeleuchtungspixelblöcke gemäß einigen Ausführungsformen der vorliegenden Erfindung,
    • 4 ist ein Flussdiagramm, das ein Verfahren zum Bestimmen von Beleuchtungseinstellungen und Pixelwerten für Anzeigen mit niedriger Latenz und variabler Hintergrundbeleuchtung gemäß einigen Ausführungsformen der vorliegenden Erfindung veranschaulicht,
    • 5 ist ein Blockdiagramm eines beispielhaften Content-Streaming-Systems, das zur Verwendung bei der Implementierung einiger Ausführungsformen der vorliegenden Erfindung geeignet ist,
    • 6 ist ein Blockdiagramm eines beispielhaften Rechners, der zur Verwendung bei der Implementierung einiger Ausführungsformen der vorliegenden Erfindung geeignet ist, und
    • 7 ist ein Blockdiagramm eines beispielhaften Rechenzentrums, das zur Verwendung bei der Implementierung einiger Ausführungsformen der vorliegenden Erfindung geeignet ist.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Es werden Systeme und Verfahren offenbart, die ein Flüssigkristallanzeigesystem (LCD-System) mit variabler Hintergrundbeleuchtung und niedriger Latenz betreffen. Obwohl sie in erster Linie in Bezug auf LCDs-Varianten mit Hintergrundbeleuchtung beschrieben sind, ist dies nicht als Einschränkung gedacht. Beispielsweise können Ausführungsformen der vorliegenden Erfindung unter Verwendung eines beliebigen Anzeigetyps mit Hintergrundbeleuchtung implementiert sein, wie einschichtige LCDs, zweischichtige LCDs, mehrschichtige LCDs, Megazonen-LCDs und/oder andere Anzeigetypen mit einer beliebigen Anzahl von Schichten, welche eine Hintergrundbeleuchtung nutzen. Wenn LCDs verwendet werden, kann das LCD-Feld ein beliebiger Typ sein, wie zum Beispiel Twisted Nematic (TN), In-Plane-Switching (IPS), Vertical Alignment (VA), Advanced Fringe Field Switching (AFFS), und/oder andere Typen. Obwohl hier in erster Linie weiße LED-Hintergrundbeleuchtungen beschrieben werden, ist dies nicht als Einschränkung zu verstehen, und jeder Typ von LED-Hintergrundbeleuchtungen - wie zum Beispiel rote (R), grüne (G), blaue (B) (RGB) LED-Hintergrundbeleuchtungen - können eingesetzt werden, ohne dass dies vom Anwendungsbereich der vorliegenden Erfindung abweicht. In einigen Ausführungsformen können zusätzlich oder alternativ zu LED-Hintergrundbeleuchtungen andere Arten von Hintergrundbeleuchtungen, wie zum Beispiel Kaltkathoden-Leuchtstofflampen (Cold Cathode Fluorescent Lamp, CCFL), verwendet werden ohne auf diese beschränkt zu sein. Die hier beschriebenen Hintergrundbeleuchtungen können jeder beliebigen Anordnung von Hintergrundbeleuchtungen entsprechen, wie zum Beispiel kantenbeleuchteten LEDs (Edge-Lit LEDs, ELEDs), direkt beleuchteten LEDs (Direct-Lit LEDs, DLEDs), lokal dimmbaren LEDs (z. B. Cluster von DLEDs), Full Array Local Dimming (FALD) (z. B. mit direkter Steuerung einzelner DLEDs) und/oder anderen Anordnungen.
  • 1 ein beispielhaftes LCD-System 100 mit variabler Hintergrundbeleuchtung und niedriger Latenz (hier alternativ als System 100 bezeichnet) gemäß einigen Ausführungsformen der vorliegenden Erfindung. Es versteht sich, dass diese und andere hier beschriebene Anordnungen nur als Beispiele dargestellt sind. Andere Anordnungen und Elemente (z. B. Maschinen, Schnittstellen, Funktionen, Anordnungen, Gruppierungen von Funktionen etc.) können zusätzlich zu oder anstelle der gezeigten verwendet werden, und einige Elemente können ganz weggelassen werden. Außerdem sind viele der hier beschriebenen Elemente funktionale Einheiten, welche als einzelne oder verteilte Komponenten oder in Verbindung mit anderen Komponenten und in jeder geeigneten Kombination und an jedem geeigneten Ort implementiert werden können. Verschiedene Funktionen, die hier als von Einheiten ausgeführt beschrieben sind, können von Hardware, Firmware und/oder Software ausgeführt werden. Beispielsweise können verschiedene Funktionen von einem Prozessor ausgeführt werden, der im Speicher gespeicherte Anweisungen ausführt. In einigen Ausführungsformen kann das System 100 ähnliche Komponenten, Features und/oder Funktionen aufweisen wie das beispielhafte System zum Streamen von Inhalten (Content-Streaming-System) 500 von 5, der beispielhafte Rechner 600 von 6 und/oder das beispielhafte Rechenzentrum 700 von 7. Beispielsweise kann das System 100 lokal implementiert sein - zum Beispiel, wenn Frames unter Verwendung eines Laptops, eines mit einer Anzeige gekoppelten Desktop-Computers, eines Tablet-Computers, eines Virtual-Reality-, Augmented-Reality- oder Mixed-Reality-Systems usw. gerendert werden - oder kann in einer cloudbasierten Umgebung implementiert sein, zum Beispiel in einer Cloud-Gaming-, virtuellen Telekonferenz-, Streaming- und/oder anderen cloudbasierten Umgebung, in der Frames zum Beispiel unter Verwendung eines oder mehrerer Server aus der Ferne gerendert und zu einem lokalen Client-Gerät gestreamt werden können.
  • Das System 100 kann ein oder mehrere Rechner 102 und/oder ein oder mehrere Anzeigegeräte 104 umfassen. Obwohl in 1 als diskrete Komponenten dargestellt, ist dies nicht als Einschränkung gedacht, und der/die Rechner 102 und das/die Anzeigegerät(e) 104 können einzelne Komponenten eines einzelnen Gerätes sein - wie zum Beispiel eines Laptop-Computers, Tablet-Computers, All-in-One-Computers, Virtual-, Augmented- oder Mixed-Reality-Headsets, Smart-TVs, Smartphones und/oder dergleichen. In solchen Beispielen können der eine oder die mehreren Rechner 102 (hier alternativ als Rendering-Gerät 102 bezeichnet) Komponenten - wie eine oder mehrere Grafikverarbeitungseinheiten (GPUs) 106 - enthalten, welche einen Datenframe vor der Übertragung an das Anzeigegerät 104 zur Anzeige rendern. In einigen Ausführungsformen können der/die Rechner 102 und das/die Anzeigegerät(e) 104 diskrete Geräte oder Komponenten des Systems 100 umfassen, wie zum Beispiel eines System, welches ein Streaming-Media-Gerät und eine Anzeige, einen Cloud-Rechner (z. B. ähnlich dem beispielhaften Content-Streaming-System 500 von 5 und/oder dem beispielhaften Rechenzentrum 700 von 7) und eine lokale Anzeige (z. B. unter Verwendung eines Zwischengerätes wie eines Computers, eines Streaming-Gerätes, einer Spielkonsole etc.), einen Desktop-Computer und eine gekoppelte Anzeige, eine Spielkonsole und eine gekoppelte Anzeige, eine andere Art von Rechner 102 (der eine integrierte Anzeige umfasst oder nicht) und eine gekoppelte Anzeige (z. B. eine zweite Anzeige) und/oder dergleichen umfasst.
  • Somit kann das System 100 in einigen Ausführungsformen einem einzelnen Gerät (z. B. einem LCD-Fernseher) oder einem lokalen Gerät (z. B. einem Desktop-Computer, einem Laptop-Computer, einem Tablet-Computer etc.) entsprechen, und die Komponenten des Systems 100 können lokal von dem System 100 ausgeführt werden. Handelt es sich bei dem/den Rechner(n) 102 um ein lokales Gerät, zum Beispiel eine Spielkonsole, einen Plattenspieler, ein Smartphone, einen Computer, einen Tablet-Computer usw., können die Bilddaten über das Netzwerk (z. B. ein LAN) über eine drahtgebundene und/oder drahtlose Verbindung (z. B. über einen Display-Port, eine HDMI etc.) übertragen werden. Beispielsweise können der eine oder die mehreren Rechner102 ein Bild rendern (was die Rekonstruktion des Bildes aus kodierten Bilddaten beinhalten kann), das gerenderte Bild im Bildspeicher 110 speichern, das gerenderte Bild - zum Beispiel unter Verwendung einer Videosteuerung - gemäß einer Abtastreihenfolge scannen, um Anzeigedaten zu erzeugen, und die Anzeigedaten - zum Beispiel über die Anzeigeschnittstelle 114 - an ein Anzeigegerät 104 zur Anzeige übertragen.
  • In anderen Ausführungsformen können einige oder alle Komponenten des Systems 100 getrennt von dem Anzeigegerät 104 - zum Beispiel einem LCD-Anzeigegerät - vorhanden sein. Beispielsweise können der eine oder die mehreren Rechner 102 - einschließlich der GPU(s) 106, der 3D-Engine 108, des Bildspeichers 110, der Anzeigeschnittstelle 114A, des Bildanalysators 112A und/oder eines Beleuchtungsentscheiders 118 (in 1 nicht als Komponente des Rechners bzw. der Rechner 102 dargestellt) - Komponenten eines anderen, von dem Anzeigegerät 104 getrennten Systems sein. Beispielsweise kann das System 100 eine Komponente oder ein Knotenpunkt eines verteilten Computersystems - wie zum Beispiel eines cloudbasierten Systems -zum Streamen von Bildern, Videos, Videospielvorgängen usw. sein. In solchen Ausführungsformen kann das System 100 mit einem oder mehreren Rechnern 102 (z. B. Servern) über ein oder mehrere Netzwerke (z. B. ein Weitverkehrsnetzwerk (WAN), ein lokales Netzwerk (LAN) oder eine Kombination davon, über drahtgebundene und/oder drahtlose Kommunikationsprotokolle) kommunizieren. Beispielsweise kann ein Rechner 102 ein Bild erzeugen und/oder rendern, das Bild kodieren und die kodierten Bilddaten über das Netzwerk an einen anderen Rechner 102 (z. B. ein Streaming-Gerät, einen Fernseher, einen Computer, ein Smartphone, einen Tablet-Computer etc.) übertragen. Das empfangende Gerät (das einen anderen Rechner 102 und/oder das Anzeigegerät 104 selbst umfassen kann) kann die kodierten Bilddaten dekodieren, das Bild rekonstruieren (z. B. jedem Pixel einen Farbwert zuweisen), die rekonstruierten Bilddaten im Bildspeicher 116 speichern, die rekonstruierten Bilddaten aus dem Bildspeicher 110 - zum Beispiel unter Verwendung einer Videosteuerung - gemäß einer Abtastreihenfolge abtasten, um Anzeigedaten zu erzeugen, und die Anzeigedaten dann zur Anzeige durch ein Anzeigegerät 104 (z. B. eine LCD-Anzeige) des Systems 100 übertragen. Wenn die Bilddaten kodiert sind, kann die Kodierung einer Videokompressionstechnologie entsprechen, wie zum Beispiel H.264, H.265, M-JPEG, MPEG-4 usw., ohne auf diese beschränkt zu sein.
  • Unabhängig davon, ob der Prozess des Erzeugens eines gerenderten Bildes zur Speicherung im Bildspeicher 116 intern (z. B. innerhalb des Anzeigegerätes 104, wie zum Beispiel eines Fernsehgerätes), lokal (z. B. über einen lokal angeschlossenen Rechner 114), aus der Ferne (z. B. über einen oder mehrere Server in einem cloudbasierten System) oder in einer Kombination davon erfolgt, können die Bilddaten, welche Werte (z. B. Farbwerte etc.) für jedes Pixel einer Anzeige darstellen, aus dem Bildspeicher 116 (oder einer anderen Speichervorrichtung) gescannt werden, um Anzeigedaten (z. B. repräsentativ für Spannungswerte, Kapazitätswerte etc.) zu erzeugen, die zur Verwendung durch das Anzeigegerät konfiguriert sind - zum Beispiel in einem digitalen und/oder analogen Format. Zudem kann das Anzeigegerät 104 - zum Beispiel die LCD-Schicht(en) eines Anzeigefeldes 126 - konfiguriert sein, die Anzeigedaten entsprechend der Abtastreihenfolge zu empfangen, um sie korrekt zu aktualisieren.
  • Der eine oder die mehreren Rechner 102 können eine GPU (GPUs) 106, und/oder andere Prozessortypen umfassen, wie eine oder mehrere zentrale Verarbeitungseinheiten (CPUs), eine oder mehrere Datenverarbeitungseinheiten (DPUs) usw., welche konfiguriert sind, für Standbilder, Videobilder und/oder andere Bildtypen repräsentative Bilddaten wiederzugeben. Sobald die Bilddaten gerendert oder anderweitig für die Anzeige durch ein Anzeigegerät 104 des Systems 100 geeignet sind, können sie im Speicher - zum Beispiel im Bildspeicher 110 - gespeichert werden. In einigen Ausführungsformen können die Bilddaten repräsentativ für ein Teilbild pro Feld eines Anzeigegerätes 104 sein - zum Beispiel in Ausführungsformen, in denen eine LCD-Anzeige zwei oder mehr Felder umfasst. So kann ein einzelnes Bild in zwei oder mehr separate Bilder unterteilt sein, um einer Anzahl von Zeilen und/oder Spalten von Pixeln zu entsprechen, die in jedem Anzeigefeld 126 enthalten ist.
  • Die eine oder mehreren GPUs 106 - und/oder andere Arten von Verarbeitungseinheiten - können eine 3D-Engine 108, einen Bildspeicher 110, eine Anzeigeschnittstelle 114A und/oder einen Bildanalysator 112A ausführen. Die 3D-Engine 108 kann eine Rendering-Engine zum Rendern von 3D-Grafiken umfassen. Frames (z. B. Bilder, Videos etc.) können unter Verwendung der 3D-Engine 108 erzeugt werden, und sobald sie gerendert sind können die Frames im Bildspeicher 110 gespeichert werden. In herkömmlichen Systemen kann der Frame, sobald er im Bildspeicher 110 des einen oder der mehreren Rechner 102 gespeichert ist, über eine Anzeigeschnittstelle 114A des einen oder der mehreren Rechner 102 und eine Anzeigeschnittstelle 114B des einen oder der mehreren Anzeigegeräte104 an das Anzeigegerät 104 gesendet werden. Die Anzeigeschnittstellen 114 können DisplayPort, Mini-DisplayPort, HDMI, Mini-HDMI, Micro-HDMI, VGA, Mini-VGA, DVI-D, DVI-I, Mini-DVI, Micro-DVI, USB und/oder einem anderen Anzeigeschnittstellentyp entsprechen. Sobald die Daten von dem einen oder den mehreren Anzeigegeräten 104 empfangen und im Bildspeicher 116 gespeichert wurden, kann die Analyse des Frames ausgeführt werden, um Beleuchtungsentscheidungen zu treffen und die Hintergrundbeleuchtung des Anzeigegerätes 104 zu steuern. Jedoch kann es zu einer erheblichen Zeitdifferenz bzw. Verzögerung kommen, wenn mit der Analyse des Frames gewartet wird, bis zumindest ein Teil des Frames im anzeigeseitigen Bildspeicher 116 gespeichert ist. Zusätzlich zu der Verzögerung bei der Frameanalyse können die Beleuchtungsentscheidungen erfordern, dass ein größerer Teil des Frames im Bildspeicher 116 zwischengespeichert wird, und das Beleuchtungsmodell kann einen noch größeren Teil des Frames erfordern, zum Beispiel 80 bis 100 % des Frames. Diese konventionellen Systeme können daher eine Verzögerung von bis zu einem vollständigen Frame erfordern, bevor Beleuchtungsentscheidungen getroffen werden, um die Hintergrundbeleuchtung einzustellen und die Pixelwerte so anzupassen, dass die Einstellungen der Hintergrundbeleuchtung berücksichtigt sind.
  • Wenn beispielsweise die Bildauflösung auf eine Matrixauflösung für Hintergrundbeleuchtung (z. B. LED) reduziert ist, können Teilmengen von Pixeln den jeweiligen Hintergrundbeleuchtungen (z. B. Hintergrundbeleuchtungs- oder LED-Pixelblöcken) zugeordnet werden. Obwohl konzeptionell eine Teilmenge von Pixeln einer jeweiligen Hintergrundbeleuchtung zugeordnet werden kann, können die Beleuchtungsbeiträge für jedes einzelne Pixel sowohl von der jeweiligen Hintergrundbeleuchtung als auch von einer beliebigen Anzahl (z. B. allen) anderen Hintergrundbeleuchtungen kommen. In Ausführungsformen kann die Bildauflösung durch die Auflösung der Hintergrundbeleuchtung (oder ein Vielfaches davon) geteilt werden, um die Größe der Hintergrundbeleuchtungspixelblöcke (oder Teilmengen von Pixeln) zu bestimmen. In einem Beispiel, in dem die Bildauflösung 3840 × 2160 und die Auflösung der Hintergrundbeleuchtung 24 × 6 beträgt, kann jeder Hintergrundbeleuchtungspixelblock eine Auflösung von 160 (z. B. 3840/24) × 135 (z. B. 2160/16) aufweisen. Als nicht einschränkendes visuelles Beispiel und mit Bezug auf 3, bei der die Bildauflösung 16 × 8 und die LED-Auflösung 4 × 4 ist, kann jeder Hintergrundbeleuchtungspixelblock eine Auflösung von 4 × 2 haben. So kann der Hintergrundbeleuchtungspixelblock 304A der Hintergrundbeleuchtung 306A, der Hintergrundbeleuchtungspixelblock 304B der Hintergrundbeleuchtung 306B usw. entsprechen. Um eine Bildanalyse nach herkömmlichen Ansätzen durchzuführen, müssen somit die Bilddaten, welche den obersten ein bis anderthalb Hintergrundbeleuchtungspixelblöcken entsprechen (z. B. bei Verwendung einer Top-Down-Scan-Reihenfolge), im Bildspeicher 116 zwischengespeichert werden. Um Beleuchtungsentscheidungen zu treffen, müssen möglicherweise weitere drei Hintergrundbeleuchtungspixelblöcke im Bildspeicher 116 zwischengespeichert werden, und um das Beleuchtungsmodell zu bestimmen, müssen zusätzlich zehn Hintergrundbeleuchtungspixelblöcke (z. B. 14 oder 14,5 Hintergrundbeleuchtungspixelblöcke) gespeichert werden. In dem Beispiel mit einer Bildauflösung von 3840 × 2160 und einer Hintergrundbeleuchtung von 24 × 16 müssen also 14 bis 14,5 von 16 Reihen von Hintergrundbeleuchtungspixelblöcken im Bildspeicher 116 gespeichert werden, bevor ein Bild tatsächlich angezeigt wird. Diese Verzögerung in herkömmlichen Systemen wird in 2A veranschaulicht, in der ein Bild A unter Verwendung der GPU 106A gerendert, an das Anzeigegerät 104A übertragen, unter Verwendung der Bildanalyse analysiert, für Beleuchtungsentscheidungen analysiert, für ein Beleuchtungsmodell analysiert und dann angezeigt wird. Wie in 2A dargestellt, umfasst die Zeitdifferenz zur Anzeige fast eine Verzögerung eines vollständigen Bildes.
  • Um diesen Nachteilen herkömmlicher Systeme Rechnung zu tragen, kann das System 100 einen Bildanalysator 112A auf dem einen bzw. den mehreren Rechnern 102 enthalten, um den Vorteil der Speicherung des gesamten Frames im Bildspeicher 110 zu nutzen. Statt die eingehenden Bilddaten im anzeigeseitigen Bildspeicher 116 „auszuspionieren“, kann die Bildanalyse in dem einen bzw. den mehreren Rechnern 102 ausgeführt werden, und Daten, welche die Ausgabe der Bildanalyse darstellen - zum Beispiel Spitzenpixelwerte - können vor oder gleichzeitig mit den Frame- bzw. Bilddaten über die Anzeigeschnittstelle 114 übertragen werden. In einem solchen Beispiel können die Informationen über die Pixelspitzenwerte - zum Beispiel unmittelbar nach dem Empfang - von dem Beleuchtungsentscheider 118 und dem Beleuchtungsmodellierer 120 des Anzeigegerätes 104 verwendet werden, um die Pixelwerte zu aktualisieren und die Beleuchtungseinstellungen der Hintergrundbeleuchtung 128 des Anzeigegerätes 104 vorzunehmen. In einem solchen Beispiel, und wie in 2B dargestellt, kann die einzige Verzögerung die Übertragungsverzögerung und/oder jede zusätzliche Verarbeitungsverzögerung durch den Beleuchtungsentscheider 118 und/oder den Beleuchtungsmodellierer 120 sein. Bei Versuchen unter Verwendung des Beispiels einer Bildauflösung von 3840 × 2160, einer Hintergrundbeleuchtung von 24 × 16, einer Bildwiederholrate von 72 Hz und einer gemeinsamen Zeilenfrequenz von 160,8 KHz kann die Vorschauverzögerung für das System 100 ~6,2 Mikrosekunden betragen (z. B. Verzögerung von der Datenübertragung (einer einzelnen Zeile in Ausführungsformen), die repräsentativ sind für die analysierten Beleuchtungsinformationen (Pixelspitzenwert(e)), die dem vollständigen Bild entsprechen) im Vergleich zu einer Vorschauverzögerung von ~10,7 Millisekunden (z. B. 0,8 (80 % des Frames) ×2160 Pixelzeilen × 6,2 Mikrosekunden pro Zeile) in der beispielhaften herkömmlichen Implementierung von 2A.
  • Somit kann der Bildanalysator 112A im System 100, sobald ein Bild im Bildspeicher 110 gepuffert ist, das Bild analysieren, um einen oder mehrere Pixelspitzenwerte zu bestimmen. Beispielsweise kann der Bildanalysator 112A für jeden Hintergrundbeleuchtungspixelblock (z. B. für jeden 160 × 135-Pixelblock, wenn eine Bildauflösung von 3840 × 2160- und eine Hintergrundbeleuchtungsauflösung von 24 × 16 verwendet werden) einen oder mehrere Pixelspitzenwerte bestimmen. Handelt es sich bei dem Anzeigefeld 126 um ein RGB-Anzeigefeld, wie zum Beispiel ein LCD-RGB-Anzeigefeld, so können der eine oder die mehreren Spitzenpixelwerte einen Spitzenwert für eine rote Zelle (z. B. entsprechend einer Zelle mit einem LC-Ventil und einem Inline-Rotfilter), einen Spitzenwert für eine grüne Zelle und/oder einen Spitzenwert für eine blaue Zelle umfassen. In einigen Ausführungsformen können der eine oder die mehreren Spitzenwerte einem tatsächlichen Spitzenwert für eine oder mehrere der Zellen des Hintergrundbeleuchtungspixelblocks entsprechen oder einem gefilterten oder analysierten Spitzenwert entsprechen. Wenn beispielsweise gefilterte Spitzenpixelwerte verwendet werden, können Ausreißerpixelwerte (die z. B. auf Rauschen hindeuten können) herausgefiltert werden, um zu verhindern, dass ein Ausreißer oder ein einzelnes Pixel mit hohem Wert einen negativen Einfluss auf andere Pixel des Blocks hat - zum Beispiel, wenn die Mehrheit der anderen Pixel niedrigere Pixelwerte hat (z. B. näher an 0 auf einer Skala von 0-255), die eine geringere Beleuchtung durch die Hintergrundbeleuchtung erfordern würden. Um Ausreißer herauszufiltern, können in Ausführungsformen ein oder mehrere Histogramme für jeden Hintergrundbeleuchtungspixelblock erstellt werden - zum Beispiel ein Histogramm für rote Zellen, ein Histogramm für grüne Zellen und/oder ein Histogramm für blaue Zellen - um einen gefilterten Spitzenwert für rote, grüne und/oder blaue Zellen für den Hintergrundbeleuchtungspixelblock zu bestimmen. In anderen Ausführungsformen kann ein einziges Histogramm erzeugt werden, das alle Pixelwerte enthält, zum Beispiel einschließlich der Werte für rote, grüne, blaue und/oder andere Farbzellen. In jedem Beispiel kann das Histogramm verwendet werden, um einen oder mehrere gefilterte Spitzenwerte, die einem entsprechenden Hintergrundbeleuchtungspixelblock zugeordnet werden können, zu bestimmen. Der eine oder die mehreren ausgewählten gefilterten Spitzenwerte müssen nicht dem/den Bin(s) mit den meisten Daten entsprechen, sondern können dazu verwendet werden, den/die Bin(s) mit dem höchsten Wert auszuwählen, der eine Schwellenzahl (z. B. 3 oder mehr Einträge) oder einen Prozentsatz von Daten (z. B. 1 % oder mehr) aufweist. In einigen Beispielen können der eine oder die mehreren ausgewählten Spitzenwerte aus den Histogrammen einem Spitzenwert entsprechen, der es noch erlaubt, dass eine bestimmte Schwellenzahl oder ein bestimmter Prozentsatz (z. B. mehr als 90 %) anderer Pixel in einem gleichen Hintergrundbeleuchtungspixelblock ihren korrekten Pixelwert erreicht. Wenn ein tatsächlicher Pixelspitzenwert es beispielsweise anderen Pixeln mit niedrigerem Wert (z. B. näher an 0 auf einer Skala von 0-255) nicht erlaubt, ihren Wert zu erreichen (z. B. aufgrund von Überbelichtung), kann das Histogramm verwendet werden, um einen Pixelspitzenwert zu bestimmen, der es zumindest einer bestimmten Schwellenzahl oder einem bestimmten Prozentsatz der anderen Pixel mit niedrigerem Wert (und/oder anderen Pixeln mit höherem Wert) erlaubt, ihren zugehörigen Pixelwert zu erreichen. Infolgedessen kann ein einzelnes Ausreißerpixel mit hohem Wert nicht als Spitzenpixelwert für den Hintergrundbeleuchtungspixelblock herangezogen werden.
  • In einigen Ausführungsformen kann eine zeitliche und/oder räumliche Glättung verwendet werden, um den einen oder die mehreren Spitzenpixelwerte für einen bestimmten Hintergrundbeleuchtungspixelblock festzulegen. Beispielsweise können ein oder mehrere vorherige Frames von Daten verwendet werden, um den einen oder die mehreren Spitzenpixelwerte zu bestimmen, zum Beispiel, wenn ein oder mehrere vorherige Frames einen niedrigen Spitzenpixelwert für einen bestimmten Hintergrundbeleuchtungspixelblock enthielten und der aktuelle Frame einen sehr hohen Spitzenpixelwert enthält, kann der aktuelle Spitzenpixelwert mit dem einen oder den mehreren niedrigen Spitzenpixelwerten eines oder mehrerer vorheriger Frames gewichtet werden. Wenn ein Pixelspitzenwert für eine bestimmte Pixelzelle festgelegt wird, können eine oder mehrere benachbarte Pixelzellen analysiert werden, um festzustellen, ob es einen scharfen Kontrast bei den Pixelwerten gibt. Wenn in einem solchen Beispiel ein scharfer Kontrast in benachbarten Pixelwerten vorliegt (z. B., wenn eine Zelle mit einem Spitzenpixelwert von Pixelzellen mit viel niedrigeren Werten umgeben ist), kann der Spitzenpixelwert angesichts der benachbarten Pixelzelle(n) gewichtet werden, um den Wert zu reduzieren.
  • Die Ausgaben oder Bestimmungen des Bildanalysators 112A - zum Beispiel der eine oder die mehreren Spitzenpixelwerte, die jedem Hintergrundbeleuchtungspixelblock entsprechen - können dann über die Anzeigeschnittstellen 114 an das Anzeigegerät 104 übertragen werden. Die Daten können vor und/oder gleichzeitig mit den im Bildspeicher 110 gespeicherten Bilddaten übertragen werden, und die Daten können einer zusätzlichen Zeile von Bild- oder Videodaten entsprechen. In einigen Ausführungsformen können diese Spitzenwertdaten eine Anzahl von Werten enthalten, welche der Auflösung der Hintergrundbeleuchtung mal der Anzahl der Spitzenwerte pro Hintergrundbeleuchtungspixelblock entspricht. In dem Beispiel mit einer Auflösung von 24 × 16, in dem für jedes Bild ein roter, grüner und blauer Spitzenwert bestimmt wird, können die Spitzenwertpixeldaten 24 × 16 × 3 (bzw. 1152) Werte enthalten. In einem anderen Beispiel, in dem ein einzelner Spitzenpixelwert für jeden Hintergrundbeleuchtungspixelblock bestimmt wird, können die Spitzenpixeldaten 24 × 16 (bzw. 384) Werte umfassen.
  • In einigen Ausführungsformen kann die Bildanalyse unter Verwendung der GPU(s) 106 - und/oder anderer Typen von Verarbeitungseinheiten - parallel zu bestehenden Nachverarbeitungsschritten (z. B. Tonemapping) ausgeführt werden, so dass durch die Bildanalyse keine oder nur eine minimale zusätzliche Verzögerung (außer der Übertragungsverzögerung bei der Übertragung der Spitzenpixelwertdaten) im Vergleich zu bestehenden Systemen entsteht. Zum Beispiel können eine oder mehrere parallele Verarbeitungseinheiten - zum Beispiel Threads der GPU(s) 106 - verwendet werden, um die vorhandenen Nachbearbeitungstechniken und die Bildanalyse parallel auszuführen.
  • Der Bildanalysator 112B ist auf dem Anzeigegerät 104 dargestellt, um Implementierungen zu erfassen, bei denen das Anzeigegerät 104 und/oder der/die Rechner102 nicht für eine rechnerseitige Bildanalyse ausgelegt sind. In diesen Ausführungsformen kann die Bildanalyse auf dem Anzeigegerät 104 erfolgen.
  • Sobald die Spitzenwertdaten empfangen wurden, verfügt der Beleuchtungsentscheider 118 über alle notwendigen Informationen, um mit der Verarbeitung der Beleuchtungsentscheidungen für jede der Hintergrundbeleuchtungen 128 zu beginnen. Beispielsweise kann der Beleuchtungsentscheider 118 die Pixelspitzenwerte für die Hintergrundbeleuchtungspixelblöcke verwenden, um die Beleuchtungswerte für jede der Hintergrundbeleuchtungen 128 festzulegen - und somit die Stromwerte, die sie ansteuern sollen. Beispielsweise kann die Beleuchtungsentscheidung eine oder mehrere Hintergrundbeleuchtungen (z. B. LEDs) in der Nähe eines aktuell ausgewerteten Hintergrundbeleuchtungspixelblocks betrachten. In einem solchen Beispiel können die Hintergrundbeleuchtungen, welche für einen gegebenen Hintergrundbeleuchtungspixelblock ausgewertet werden, eine Hintergrundbeleuchtung umfassen, die sich in Bezug auf ein zentrales Pixel (bzw. zentrale Pixel) des Hintergrundbeleuchtungspixelblocks am nächsten befindet, und in Ausführungsformen eine oder mehrere benachbarte Hintergrundbeleuchtungen umfassen (z. B. Hintergrundbeleuchtungen innerhalb von fünf oder weniger Zeilen und/oder fünf oder weniger Spalten der dem zentralen Pixel am nächsten liegenden Hintergrundbeleuchtung). Obwohl fünf oder weniger Zeilen und/oder fünf oder weniger Spalten beschrieben sind, handelt es sich hierbei nur um ein Beispiel und ist nicht als Einschränkung zu verstehen. In einigen Beispielen kann eine beliebige Anzahl (z. B. drei, vier, fünf, sechs etc.) von Hintergrundbeleuchtungen in der Bewertung berücksichtigt werden. Die Festlegung der Anzahl der zu berücksichtigenden Reihen und/oder Spalten von Hintergrundbeleuchtungen kann auf der Form der Lichtverteilung einer einzelnen Hintergrundbeleuchtung beruhen (z. B. je konzentrierter die Form der Lichtverteilung auf die von einer einzelnen Hintergrundbeleuchtung abgedeckten Fläche ist, desto weniger müssen umliegende Hintergrundbeleuchtungen berücksichtigt werden). In ähnlicher Weise kann die Auswahl der Anzahl der Spalten und/oder Zeilen auf einem Kompromiss oder einem Gleichgewicht zwischen Latenz, Rechenleistung (z. B. je mehr Reichweite, desto mehr Rechenleistung) und/oder Überbeleuchtung (z. B. kann zu geringe Reichweite zu einer Überbeleuchtung führen) beruhen. Bei den Beleuchtungsentscheidungen für die nächstgelegene(n) Hintergrundbeleuchtung(en) kann das kumulierte Licht von einer oder mehreren Hintergrundbeleuchtungen, die den größten Einfluss auf das Beleuchtungsfeld für den Hintergrundbeleuchtungspixelblock haben, berücksichtigt werden. Wenn zusätzliche Hintergrundbeleuchtungen, welche sich nicht in der Nähe des zentralen Pixels des Hintergrundbeleuchtungspixelblocks befinden, berücksichtigt werden, können diese zusätzlichen Hintergrundbeleuchtungen verwendet werden, um höhere Pixelwerte zu erreichen (z. B. Werte, die näher an 255 auf einer Skala von 0-255 liegen). Indem nur die dem Hintergrundbeleuchtungspixelblock am nächsten gelegenen Hintergrundbeleuchtungen berücksichtigt werden, können die Verarbeitungsanforderungen reduziert werden, wodurch die Laufzeit des Systems 100 ohne große Verluste bei der Genauigkeit der Beleuchtungsentscheidungen verkürzt wird (z. B., weil die am nächsten gelegenen Hintergrundbeleuchtungen den Großteil des Lichts zum Hintergrundbeleuchtungspixelblock beitragen können).
  • Um die Beleuchtungsentscheidungen für die dem Hintergrundbeleuchtungspixelblock 304A zugeordneten Hintergrundbeleuchtungen 306 festzulegen, können beispielsweise die Hintergrundbeleuchtung 306A und eine oder mehrere benachbarte Hintergrundbeleuchtungen 306C, 306D und/oder 306E berücksichtigt werden, um die richtigen Beleuchtungsniveaus für die Pixel des Hintergrundbeleuchtungspixelblocks 304A zu erreichen (s. 3). Dieser Prozess kann für jeden Hintergrundbeleuchtungspixelblock und/oder jede Hintergrundbeleuchtung wiederholt werden, bis eine endgültige Beleuchtungsentscheidung für den jeweiligen Frame getroffen ist. Die Stromwerte für die Hintergrundbeleuchtungen können dann für die Hintergrundbeleuchtung 128 festgelegt werden, und der zugehörige Strom kann zu den Hintergrundbeleuchtungen 306 geleitet werden, wenn die Bilddaten aus dem Bildspeicher ausgelesen und von einer Ventilsteuerung 122 verarbeitet werden.
  • Wieder bezugnehmend auf 1 können die Beleuchtungsentscheidungen für die Hintergrundbeleuchtung 128 vom Beleuchtungsmodellierer 120 verwendet werden, um die Stromwerte zur Hintergrundbeleuchtung 128 zu leiten und die Aktualisierung der Pixelwerte zusammen mit der Ventilsteuerung 122 zu unterstützen. Sobald die Beleuchtungswerte bzw. - einstellungen für jede der Hintergrundbeleuchtungen festgelegt sind, kann zum Beispiel ein akkumuliertes Beleuchtungsfeld für jede Pixelzelle oder jedes -ventil (z. B. kann ein Pixel eine rote Zelle, eine grüne Zelle und/oder eine blaue Zelle in einer RGB-LCD-Anzeige haben) bekannt sein. Unter Verwendung des akkumulierten Beleuchtungswertes für jede Pixelzelle - der Beleuchtungsbeiträge von einer beliebigen Anzahl (z. B. allen) der Hintergrundbeleuchtungen 128 des Anzeigegerätes 104 berücksichtigen kann - können Aktualisierungen der im Bildspeicher 116 gepufferten Pixelwerte für eine oder mehrere der Pixelzellen vorgenommen werden, um die akkumulierte Beleuchtung an dieser Zelle zu berücksichtigen. Hat beispielsweise ein bestimmtes Pixel - zum Beispiel das Pixel 302A in 3 - einen Pixelwert von 240 auf einer Skala von 0-255 und sind die Hintergrundbeleuchtungen 306A, 306B, 306D, 306C und 306E (und/oder andere Hintergrundbeleuchtungen, die zum akkumulierten Beleuchtungsfeld am Pixel 302A beitragen) schwach beleuchtet, kann der Pixelwert auf einen Pixelwert von 255 aktualisiert werden, um der geringeren Helligkeit Rechnung zu tragen, die unter Verwendung der aktuellen Hintergrundbeleuchtungseinstellungen erreichbar ist. In einem solchen Beispiel kann, wenn der ursprüngliche Pixelwert beibehalten werden soll, an die Zelle(n) des Pixels 302A eine Spannung angelegt werden, die einem Wert von 240 entspricht, und aufgrund des schwach beleuchteten Beleuchtungsfeldes kann der resultierende Pixelwert eher einem Wert von 225 entsprechen. Somit kann durch Erhöhen des Pixelwerts - und damit der an die Zelle(n) des Pixels 302A angelegten Spannung - der resultierende Pixelwert, welcher auf dem Anzeigegerät 104 angezeigt wird, dem ursprünglichen Wert von 240 näherkommen. Ein ähnlicher Prozess kann stattfinden, um die Helligkeit einer oder mehrerer Pixelzellen zu verringern, wenn das akkumulierte Beleuchtungsfeld sehr hell ist. Beispielsweise kann eine an die Pixelzelle(n) angelegte Spannung reduziert werden, um dem zusätzlichen akkumulierten Licht an der/den Pixelzelle(n) Rechnung zu tragen, so dass der ursprüngliche Pixelwert während der Anzeige genauer dargestellt werden kann.
  • Die aktualisierten Pixelwerte, welche unter Verwendung des Beleuchtungsmodellierers 120 und der Ventilsteuerung 122 festgelegt sind, können zusätzlich zu den Beleuchtungseinstellungen für jede der Hintergrundbeleuchtungen 128 verwendet werden, um den Frame auf dem Anzeigefeld 126 anzuzeigen. Beispielsweise kann die Ventilsteuerung 122 die Pixelwerte gemäß einer Scanreihenfolge (z. B. von oben nach unten, von der Mitte nach außen etc.) aus dem Bildspeicher auslesen, einen oder mehrere der Pixelwerte auf der Grundlage des Beleuchtungsmodells aktualisieren und die aktualisierten Pixelwerte über die Feldschnittstelle 124 an das Anzeigefeld 126 übertragen - zum Beispiel kann sie veranlassen, dass eine Spannung an die Pixelzellen auf der Grundlage der aktualisierten Pixelwerte angelegt wird. Im Wesentlichen zur gleichen Zeit (z. B., wenn die Pixelzeilen für die Anzeige abgetastet werden, können die zugehörigen Hintergrundbeleuchtungen gleichzeitig eingeschaltet werden) kann der Beleuchtungsmodellierer 120 die Stromwerte an die Hintergrundbeleuchtung 128 weiterleiten, um die Hintergrundbeleuchtungen entsprechend ihrer jeweiligen Beleuchtungseinstellungen zum Leuchten zu bringen.
  • Das Anzeigefeld 126 kann eine beliebige Anzahl von Schichten enthalten, welche eine beliebige Anzahl von Zellen (oder Ventilen) umfassen können, die jeweils einem Pixel oder einem Subpixel eines Pixels entsprechen können. Beispielsweise können die Schichten eine Rot-, Grün- und Blau-Schicht (RGB-Schicht) umfassen, wobei jede Zelle einem Subpixel entsprechen kann, dem eine Farbe (z. B. rot, grün oder blau) über eine oder mehrere Farbfilterschichten des Systems 100 zugeordnet ist. So kann eine erste Zelle einem ersten Subpixel entsprechen, dem ein roter Farbfilter in Reihe geschaltet ist, eine zweite Zelle kann einem zweiten Subpixel entsprechen, dem ein blauer Farbfilter in Reihe geschaltet ist, und so weiter. Obwohl hier eine RGB-Schicht beschrieben ist, ist dies nicht als Einschränkung zu verstehen, und jede andere individuelle Farbe oder Farbkombination kann je nach Ausführungsform verwendet werden. In einigen Ausführungsformen können die Schichten beispielsweise eine einfarbige Schicht oder eine Graustufenschicht (Y) enthalten, welche einem Graustufenbereich von Schwarz bis Weiß entspricht. So kann eine Zelle einer Y-Schicht so eingestellt sein, dass sie einer Farbe im Graustufenfarbspektrum entspricht.
  • Wenn das Anzeigegerät 104 einer LCD-Anzeige entspricht, können, sobald die aktualisierten Werte (z. B. Farbwerte, Spannungswerte, Kapazitätswerte etc.) für jede Zelle jeder Schicht des Anzeigefeldes 126 bestimmt sind, zum Beispiel unter Verwendung des Bildspeichers 116, einer Videosteuerung, der Ventilsteuerung 122, der Feldschnittstelle 124 usw., die den aktualisierten Werten entsprechenden Signale über Zeilentreiber und Spaltentreiber, die über Schieberegister und einen Taktgeber gesteuert werden, an jede Zelle angelegt werden. Beispielsweise kann für eine bestimmte Zelle ein Zeilentreiber, welcher der Zeile der Zelle entspricht, gemäß einem Schieberegister aktiviert werden (z. B. auf einen Wert von 1 über ein entsprechendes Flip-Flop), und ein Spaltentreiber, welcher der Spalte der Zelle entspricht, kann aktiviert werden, um ein Signal - zum Beispiel eine Spannung - an ein Transistor/Kondensator-Paar der Zelle zu treiben. Infolgedessen kann der Kondensator der Zelle auf einen dem Farbwert für den aktuellen Frame der Bilddaten entsprechenden Kapazitätswert aufgeladen werden. Dieser Prozess kann gemäß einer Scanreihenfolge - zum Beispiel von links oben nach rechts unten, von der Mitte nach außen usw. - für jede Zelle jeder Schicht der LCD-Anzeige wiederholt werden.
  • Als nicht einschränkendes Beispiel für eine Implementierung des Systems 100 können die eine oder mehreren GPUs 106 des einen oder der mehreren Rechner 102 - welche ein cloudbasiertes Gerät, ein lokales Gerät, ein in das Anzeigegerät 104 integriertes Gerät und/oder einen anderen Gerätetyp umfassen können - das Anzeigegerät 104 abfragen (z. B. über HDMI, DisplayPort und/oder einen anderen Anzeigeschnittstellentyp), um zu erkennen oder zu bestimmen, ob der Monitor HDR-Fähigkeit mit niedriger Latenz hat - zum Beispiel, ob der Monitor konfiguriert ist, die Spitzenpixelwertdaten von der/den Rechner(n) 102 zu empfangen oder nicht. Beispielsweise kann der Rechner 102 eine Suche nach erweiterten Anzeigeidentifikationsdaten (Extended Display Identification Data, EDID) durchführen, und das EDID-Feld kann Daten enthalten, die anzeigen, dass das Anzeigegerät 102 für den HDR-Modus mit niedriger Latenz ausgelegt ist. Wenn das Anzeigegerät 104 gemäß den hier beschriebenen Systemen und Verfahren für HDR mit niedriger Latenz ausgelegt ist, kann die GPU (bzw. können die GPUs) 106 die bevorzugte oder zugehörige Bildanalysegeometrie empfangen, welche die Auflösung der Hintergrundbeleuchtung, ein Vielfaches davon und/oder eine andere Bildanalysegeometrie umfassen kann. Auf Anforderung der GPU(s) 106 kann das Anzeigegerät 104 in den HDR-Modus mit niedriger Latenz eintreten. Nach dem Rendern eines Frames und dem Speichern des Frames im Bildspeicher 110 kann die GPU einen Analysedurchlauf über den gesamten Frame durchführen - unter Verwendung der bekannten Bildanalysegeometrie - um Bildanalysedaten mit reduzierter Geometrie zu erzeugen. Dies kann beispielsweise Bestimmung eines maximalen Komponentenwerts für R-, G- und B-Werte einzeln für jeden Hintergrundbeleuchtungspixelblock und/oder Durchführung einiger Filter, Erstellung von Histogrammen und/oder andere Analysen zur Bestimmung der Spitzenpixelwerte umfassen. Beträgt die Bildauflösung beispielsweise 3840 × 2160 und die Auflösung der Hintergrundbeleuchtung 24 × 6, kann der Bildanalyseprozess die Bestimmung der Spitzenpixelwertdaten für jedes Rechteck von Pixeln von 160 × 135 (z. B. für jeden Hintergrundbeleuchtungspixelblock) umfassen. Die eine oder mehreren GPUs 106 können andere Operationen an den vollständigen Bilddaten durchführen - wie zum Beispiel Tonemapping, bei dem Fließkommadaten in Ganzzahldaten umgewandelt werden - und die Bildanalyseoperation kann parallel zu Tonemapping und/oder anderen Nachverarbeitungsoperationen ausgeführt werden, wodurch keine zusätzliche Speicherbandbreite für das GPU-System entsteht und keine zusätzliche Verzögerung verursacht wird, abgesehen von der für die Übertragung einer zusätzlichen Zeile von Video- oder Bilddaten entsprechend den Pixelspitzenwerten erforderlichen Zeit. So können die eine oder mehreren GPUs 106 vor (z. B. während vertikaler Unterdrückung/Austastung) oder gleichzeitig mit dem Senden der Bilddaten an das Anzeigegerät 104 die Spitzenpixelwerte (z. B. 1152 Analysewerte - 24 × 16 × 3 Werte) übertragen. Das Anzeigegerät 104 kann die Spitzenpixelwertdaten empfangen, und da sich das Anzeigegerät 104 im HDR-Modus mit niedriger Latenz befindet, kann das Anzeigegerät 104 die eingehenden Spitzenpixelwertdaten aus den Datenpaketen direkt an den Beleuchtungsentscheider118 übertragen - zum Beispiel unter Umgehung der Bildanalysestufe auf der Anzeigeseite.
  • Nun bezugnehmend auf 4 umfasst jeder Block des hier beschriebenen Verfahrens 400 einen Rechenprozess, welcher unter Verwendung einer beliebigen Kombination von Hardware, Firmware und/oder Software durchgeführt werden kann (s. 4). Beispielsweise können verschiedene Funktionen von einem Prozessor ausgeführt werden, der im Speicher gespeicherte Anweisungen ausführt. Das Verfahren 400 kann auch in Form von computerverwendbaren Anweisungen, welche auf Computerspeichermedien gespeichert sind, verkörpert sein. Das Verfahren 400 kann, um nur einige Beispiele zu nennen, als eigenständige Anwendung, als Dienst oder gehosteter Dienst (eigenständig oder in Kombination mit einem anderen gehosteten Dienst) oder als Plug-in für ein anderes Produkt bereitgestellt sein. Darüber hinaus ist das Verfahren 400 beispielhaft für das System 100 von 1 beschrieben. Dieses Verfahren 400 kann jedoch zusätzlich oder alternativ von einem beliebigen System oder einer beliebigen Kombination von Systemen ausgeführt werden, einschließlich aber nicht beschränkt auf die hier beschriebenen Systeme.
  • 4 ist ein Flussdiagramm, das ein Verfahren 400 zum Festlegen von Beleuchtungseinstellungen und Pixelwerten für Anzeigen mit variabler Hintergrundbeleuchtung mit geringer Latenz gemäß einigen Ausführungsformen der vorliegenden Erfindung veranschaulicht. Das Verfahren 400 umfasst im Block B402 Bestimmung eines oder mehrerer Spitzenpixelwerte, welche einer Teilmenge von Pixeln eines Bildes entsprechen. Beispielsweise kann der Bildanalysator des einen oder der mehreren Rechner 102 die Bilddaten analysieren, die einem Bild entsprechen, um einen oder mehrere Spitzenpixelwerte zu bestimmen, die jedem Hintergrundbeleuchtungspixelblock entsprechen.
  • Das Verfahren 400 umfasst im Block B404 Senden von Bilddaten, welche für Pixelwerte repräsentativ sind, die zumindest der Teilmenge von Pixeln entsprechen, und von Daten, welche für den einen oder die mehreren Spitzenpixelwerte repräsentativ sind. Beispielsweise können der eine oder die mehreren Rechner 102 - zum Beispiel über die Anzeigeschnittstelle 114A - die Pixelwertdaten vor oder gleichzeitig mit den Bild- bzw. Framedaten senden.
  • Das Verfahren 400 umfasst im Block B406 Festlegen einer Beleuchtungseinstellung für eine oder mehrere Hintergrundbeleuchtungen, zumindest teilweise basierend auf dem einen oder den mehreren Spitzenpixelwerten. Beispielsweise kann der Beleuchtungsentscheider 118 die Spitzenpixelwerte analysieren, um Beleuchtungseinstellungen für eine oder mehrere der Hintergrundbeleuchtungen 128 festzulegen. Die eine oder mehreren Hintergrundbeleuchtungen können in einigen nicht einschränkenden Ausführungsformen eine Hintergrundbeleuchtung, welche sich in Bezug auf ein zentrales Pixel des Hintergrundbeleuchtungspixelblocks am nächsten befindet, und/oder eine oder mehrere nahe gelegene Hintergrundbeleuchtungen 128 umfassen (z. B. Hintergrundbeleuchtungen innerhalb von vier oder weniger Zeilen von Hintergrundbeleuchtungen und/oder vier oder weniger Spalten von Hintergrundbeleuchtungen).
  • Das Verfahren 400 umfasst im Block B408 Aktualisieren - zumindest teilweise basierend auf der Beleuchtungseinstellung - eines oder mehrerer Pixelwerte, welche der Teilmenge von Pixeln entsprechen, um aktualisierte Pixelwerte zu erzeugen. Beispielsweise kann die Ventilsteuerung 122 das Beleuchtungsmodell aus dem Beleuchtungsmodellierer 120 verwenden, um einen oder mehrere Pixelwerte des Hintergrundbeleuchtungspixelblocks zu aktualisieren - zum Beispiel zum Steuern einer anderen Spannung und/oder Kapazität - um dem akkumulierten Beleuchtungsfeld für die Pixelzellen bzw. -ventile Rechnung zu tragen. Die aktualisierten Pixelwerte können, je nach dem zugehörigen Beleuchtungsfeld für einen bestimmten Frame, die ursprünglichen Pixelwerte, aktualisierte Pixelwerte oder eine Kombination davon umfassen.
  • Das Verfahren 400 umfasst in Block B410 Veranlassen der Anzeige des Bildes, zumindest teilweise basierend auf der Beleuchtungseinstellung für die eine oder die mehreren Hintergrundbeleuchtungen und der aktualisierten Pixelwerte für die Teilmenge von Pixeln. Beispielsweise kann der Beleuchtungsmodellierer 120 bewirken, dass ein Strom an die eine oder mehreren Hintergrundbeleuchtungen 128 angelegt wird, der der Beleuchtungseinstellung für die eine oder mehreren Hintergrundbeleuchtungen entspricht, und die Ventilsteuerung 122 kann über die Feldschnittstelle 124 bewirken, dass eine Spannung an die Zellen des Anzeigefeldes 126 angelegt wird, die den aktualisierten Pixelwerten entspricht.
  • BEISPIELHAFTES CONTENT-STREAMING-SYSTEM
  • 5 ist ein beispielhaftes Systemdiagramm eines Systems zum Streamen von Inhalten (Content-Streaming-System) 500 gemäß einigen Ausführungsformen der vorliegenden Erfindung. 5 enthält einen oder mehrere Anwendungsserver 502 (die ähnliche Komponenten, Features und/oder Funktionen wie der beispielhafte Rechner 600 von 6 enthalten können), ein oder mehrere Client-Geräte 504 (die ähnliche Komponenten, Features und/oder Funktionen wie der beispielhafte Rechner 600 von 6 enthalten können) und ein oder mehrere Netzwerke 506 (die ähnlich wie die hier beschriebenen Netzwerke sein können). In einigen Ausführungsformen der vorliegenden Erfindung kann das System 500 implementiert sein. Die Anwendungssitzung kann einer Game-Streaming-Anwendung (z. B. GeForce Now von NVIDIA), einer Remote-Desktop-Anwendung, einer Simulationsanwendung (z. B. autonome oder teilautonome Fahrzeugsimulation), Computer Aided Design (CAD)-Anwendungen, Anwendungen zum Streamen von Virtual Reality (VR) und/oder Augmented Reality (AR), Deep Learning-Anwendungen und/oder anderen Anwendungstypen entsprechen.
  • Im System 500 können das eine oder die mehreren Client-Geräte 504 für eine Anwendungssitzung nur Eingabedaten als Reaktion auf Eingaben an das/die Eingabegerät(e) empfangen, die Eingabedaten an den/die Anwendungsserver 502 übertragen, kodierte Anzeigedaten von dem/den Anwendungsserver(n) 502 empfangen und die Anzeigedaten auf der Anzeige 524 anzeigen. Somit werden die rechenintensiveren Berechnungen und Verarbeitungen auf den/die Anwendungsserver 502 verlagert (z. B. wird Rendering - insbesondere Strahlen- oder Pfadverfolgung - für die grafische Ausgabe der Anwendungssitzung von der/den GPU(s) des oder der Spieleserver 502 ausgeführt). Anders ausgedrückt wird die Anwendungssitzung von dem/den Anwendungsserver(n) 502 zu dem/den Client-Gerät(en) 504 gestreamt, wodurch die Anforderungen des einen oder der mehreren Client-Geräte 504 an Grafikverarbeitung und Rendering reduziert werden.
  • Beispielsweise kann ein Client-Gerät 504 in Bezug auf eine Instanziierung einer Anwendungssitzung einen Frame der Anwendungssitzung auf der Anzeige 524 basierend auf dem Empfang der Anzeigedaten von dem/den Anwendungsserver(n) 502 anzeigen. Das Client-Gerät 504 kann eine Eingabe an eines der Eingabegeräte empfangen und als Reaktion darauf Eingabedaten erzeugen. Das Client-Gerät 504 kann die Eingabedaten über die Kommunikationsschnittstelle 520 und über das/die Netzwerk(e) 506 (z. B. das Internet) an den oder die Anwendungsserver 502 übertragen, und der oder die Anwendungsserver 502 können die Eingabedaten über die Kommunikationsschnittstelle 518 empfangen. Die eine oder mehreren CPUs können die Eingabedaten empfangen, die Eingabedaten verarbeiten und Daten an die GPU(s) übertragen, welche die GPU(s) veranlassen, ein Rendering der Anwendungssitzung zu erzeugen. Die Eingabedaten können beispielsweise eine Bewegung einer Figur des Benutzers in einer Spielesitzung einer Spielanwendung, Abfeuern einer Waffe, Nachladen, Passen eines Balls, Wenden eines Fahrzeugs usw. darstellen. Die Rendering-Komponente 512 kann die Anwendungssitzung rendern (z. B. repräsentativ für das Ergebnis der Eingabedaten) und die Rendering-Capture-Komponente 514 kann das Rendering der Anwendungssitzung als Anzeigedaten erfassen (z. B. als Bilddaten, die den gerenderten Frame der Anwendungssitzung erfassen). Das Rendering der Anwendungssitzung kann strahlen- oder pfadverfolgte Beleuchtungs- und/oder Schatteneffekte umfassen, welche unter Verwendung einer oder mehrerer Parallelverarbeitungseinheiten - wie zum Beispiel GPUs, die darüber hinaus die Verwendung eines oder mehrerer dedizierter Hardwarebeschleuniger oder Verarbeitungskerne zur Durchführung von Strahlen- oder Pfadverfolgungstechniken nutzen können - des einen oder der mehreren Anwendungsserver 502 berechnet werden. In einigen Ausführungsformen können eine oder mehrere virtuelle Maschinen (VMs) - zum Beispiel einschließlich einer oder mehrerer virtueller Komponenten, wie vGPUs, vCPUs usw. - von dem oder den Anwendungsservern 502 verwendet werden, um die Anwendungssitzungen zu unterstützen. Der Kodierer 516 kann dann die Anzeigedaten kodieren, um kodierte Anzeigedaten zu erzeugen, und die kodierten Anzeigedaten können über die Kommunikationsschnittstelle 518 über das/die Netzwerk(e) 506 an das Client-Gerät 504 übertragen werden. Das Client-Gerät 504 kann die kodierten Anzeigedaten über die Kommunikationsschnittstelle 520 empfangen und der Decoder 522 kann die kodierten Anzeigedaten dekodieren, um die Anzeigedaten zu erzeugen. Das Client-Gerät 504 kann dann die Anzeigedaten über die Anzeige 524 anzeigen.
  • BEISPIELHAFTER RECHNER
  • 6 ist ein Blockdiagramm eines oder mehrerer beispielhafter Rechner 600, die zur Verwendung bei der Implementierung einiger Ausführungsformen der vorliegenden Erfindung geeignet sind. Der Rechner 600 kann ein Verbindungssystem 602 umfassen, welches die folgenden Vorrichtungen direkt oder indirekt koppelt: Speicher 604, eine oder mehrere Zentraleinheiten (CPUs) 606, eine oder mehrere Grafikverarbeitungseinheiten (GPUs) 608, eine Kommunikationsschnittstelle 610, Eingabe-/Ausgabeanschlüsse (E/A-Ports) 612, Eingabe-/Ausgabekomponenten 614, eine Stromversorgung 616, eine oder mehrere Präsentationskomponenten 618 (z. B. Anzeige(n)) und eine oder mehrere Logikeinheiten 620. In mindestens einer Ausführungsform können der oder die Rechner 600 eine oder mehrere virtuelle Maschinen (VMs) umfassen und/oder jede der Komponenten davon kann virtuelle Komponenten (z. B. virtuelle Hardwarekomponenten) umfassen. Als nicht einschränkende Beispiele können eine oder mehrere der GPUs 608 eine oder mehrere vGPUs umfassen, eine oder mehrere der CPUs 606 können eine oder mehrere vCPUs umfassen, und/oder eine oder mehrere der Logikeinheiten 620 können eine oder mehrere virtuelle Logikeinheiten umfassen. Als solche können ein oder mehrere Rechner 600 diskrete Komponenten (z. B. eine vollständige GPU, die dem Rechner 600 fest zugeordnet ist), virtuelle Komponenten (z. B. ein Teil einer GPU, die dem Rechner 600 fest zugeordnet ist) oder eine Kombination davon umfassen.
  • Obwohl die verschiedenen Blöcke von 6 als über das Verbindungssystem 602 mit Leitungen verbunden dargestellt sind, ist dies nicht als Einschränkung gedacht und dient nur der Übersichtlichkeit. Beispielsweise kann in einigen Ausführungsformen eine Präsentationskomponente 618, wie ein Anzeigegerät, als E/A-Komponente 614 angesehen werden (z. B. wenn die Anzeige ein Touchscreen ist). Als weiteres Beispiel können die CPUs 606 und/oder GPUs 608 Speicher umfassen (z. B. kann der Speicher 604 zusätzlich zum Speicher der GPUs 608, der CPUs 606 und/oder anderer Komponenten eine Speichervorrichtung darstellen). Anders ausgedrückt ist der Rechner von 6 lediglich illustrativ. Es wird nicht zwischen Kategorien wie „Workstation“, „Server“, „Laptop“, „Desktop“, „Tablet“, „Client-Gerät“, „mobiles Gerät“, „Handheld-Gerät“, „Spielkonsole“, „elektronische Steuereinheit (ECU)“, „Virtual-Reality-System“ und/oder anderen Geräte- oder Systemtypen unterschieden, da alle im Rahmen des Rechners von 6 in Betracht gezogen sind.
  • Das Verbindungssystem 602 kann eine oder mehrere Verbindungen oder Busse darstellen, wie zum Beispiel einen Adressbus, einen Datenbus, einen Steuerbus oder eine Kombination davon. Das Verbindungssystem 602 kann einen oder mehrere Bus- oder Verbindungstypen umfassen, zum Beispiel einen ISA-Bus (Industry Standard Architecture), einen EISA-Bus (Extended Industry Standard Architecture), einen VESA-Bus (Video Electronics Standards Association), einen PCI-Bus (Peripheral Component Interconnect), einen PCIe-Bus (Peripheral Component Interconnect Express) und/oder eine andere Art von Bus bzw. Verbindung. In einigen Ausführungsformen gibt es direkte Verbindungen zwischen den Komponenten. So kann beispielsweise die CPU 606 direkt mit dem Speicher 604 verbunden sein. Zum Beispiel kann die CPU 606 direkt mit der GPU 608 verbunden sein. Bei einer direkten oder Punkt-zu-Punkt-Verbindung zwischen Komponenten kann das Verbindungssystem 602 eine PCIe-Verbindung umfassen, um die Verbindung zu realisieren. In diesen Beispielen muss ein PCI-Bus nicht im Rechner 600 enthalten sein.
  • Der Speicher 604 kann ein beliebiges Medium aus einer Vielzahl von computerlesbaren Medien umfassen. Bei den computerlesbaren Medien kann es sich um jedes verfügbare Medium handeln, auf das der Rechner 600 zugreifen kann. Die computerlesbaren Medien können sowohl flüchtige als auch nicht flüchtige Medien sowie Wechsel- als auch Nicht-Wechselmedien umfassen. Als Beispiel und nicht als Einschränkung können die computerlesbaren Medien Computerspeichermedien und Kommunikationsmedien umfassen.
  • Die Computerspeichermedien können sowohl flüchtige als auch nicht flüchtige Medien und/oder Wechsel- als auch Nicht-Wechselmedien umfassen, welche in einem beliebigen Verfahren oder einer beliebigen Technologie zur Speicherung von Informationen, wie beispielsweise von computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen und/oder anderen Datentypen, implementiert sind. Beispielsweise kann der Speicher 604 computerlesbare Anweisungen speichern (z. B. solche, die ein oder mehrere Programme und/oder ein oder mehrere Programmelemente darstellen, wie z. B. ein Betriebssystem). Computerspeichermedien können beispielsweise und ohne darauf beschränkt zu sein RAM-, ROM-, EEPROM-, Flash-Speicher oder andere Speichertechnologien, CD-ROM, DVDs oder andere optische Plattenspeicher, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder jedes andere Medium sein, welches zur Speicherung der gewünschten Informationen verwendet werden kann und auf das der Rechner 600 zugreifen kann. Wie hier verwendet, umfassen Computerspeichermedien nicht per se Signale.
  • Die Computerspeichermedien können computerlesbare Anweisungen, Datenstrukturen, Programmmodule und/oder andere Datentypen in einem modulierten Datensignal, wie beispielsweise einer Trägerwelle oder einem anderen Transportmechanismus, verkörpern und beliebige Informationsübertragungsmedien umfassen. Der Begriff „moduliertes Datensignal“ kann sich auf ein Signal beziehen, welches eine oder mehrere seiner Eigenschaften derart eingestellt oder verändert hat, um Informationen in dem Signal zu kodieren. Computerspeichermedien können beispielsweise und ohne darauf beschränkt zu sein drahtgebundene Medien, wie ein drahtgebundenes Netzwerk oder eine direkt verdrahtete Verbindung, sowie drahtlose Medien, wie beispielsweise Audio-, RF-, Infrarot- und andere drahtlose Medien, sein. Kombinationen der oben genannten Medien sollten ebenfalls in den Umfang computerlesbarer Medien einbezogen sein.
  • Die eine oder mehreren CPUs 606 können konfiguriert sein, zumindest einige der computerlesbaren Anweisungen auszuführen, um eine oder mehrere Komponenten des Rechners 600 zu steuern, um eine oder mehrere der hier beschriebenen Verfahren und/oder Prozesse durchzuführen. Die eine oder mehreren CPUs 606 können einen oder mehrere Kerne (z. B. einen, zwei, vier, acht, achtundzwanzig, zweiundsiebzig etc.) umfassen, welche in der Lage sind, eine Vielzahl von Software-Threads gleichzeitig zu verarbeiten. Die eine oder mehreren CPUs 606 können jede Art von Prozessor umfassen und je nach Art des implementierten Rechners 600 verschiedene Arten von Prozessoren umfassen (z. B. Prozessoren mit weniger Kernen für mobile Geräte und Prozessoren mit mehr Kernen für Server). Je nach Art des Rechners 600 kann der Prozessor beispielsweise ein Prozessor von Advanced RISC Machines (ARM) sein, welcher mit RISC (Berechnungen mit reduziertem Befehlssatz) arbeitet, oder ein x86-Prozessor, welcher mit CISC (Berechnungen mit komplexem Befehlssatz) arbeitet. Der Rechner 600 kann eine oder mehrere CPUs 606 zusätzlich zu einem oder mehreren Mikroprozessoren oder zusätzlichen Co-Prozessoren, wie zum Beispiel mathematischen Co-Prozessoren, umfassen.
  • Zusätzlich oder alternativ zu der/den CPU(s) 606 können die eine oder mehreren GPUs 508 konfiguriert sein, zumindest einige der computerlesbaren Anweisungen auszuführen, um eine oder mehrere Komponenten des Rechners 600 zu steuern, um eines oder mehrere der hier beschriebenen Verfahren und/oder Prozesse durchzuführen. Eine oder mehrere der GPU(s) 608 können eine integrierte GPU sein (z. B. mit einer oder mehreren der CPU(s) 606) und/oder eine oder mehrere der GPU(s) 608 können eine diskrete GPU sein. In einigen Ausführungsformen können eine oder mehrere der GPU(s) 608 ein Co-Prozessor einer oder mehrerer der CPU(s) 506 sein. Die eine oder mehreren GPUs 608 können von dem Rechner 600 zum Rendern von Grafiken (z. B. 3D-Grafiken) oder zum Durchführen von Universalberechnungen verwendet werden. Beispielsweise können die eine oder mehreren GPUs 608 für Universalberechnungen auf GPUs (GPGPU) verwendet werden. Die eine oder mehreren GPUs 608 können Hunderte oder Tausende von Kernen umfassen, welche in der Lage sind, Hunderte oder Tausende von Software-Threads gleichzeitig zu handhaben. Die eine oder mehreren GPUs 608 können als Reaktion auf Rendering-Befehle (z. B. Rendering-Befehle von der/den CPU(s) 606, die über eine Host-Schnittstelle empfangen werden) Pixeldaten für Ausgabebilder erzeugen. Die eine oder mehreren GPUs 608 können Grafikspeicher, zum Beispiel Anzeigespeicher, zum Speichern von Pixeldaten oder beliebigen anderen geeigneten Daten, zum Beispiel GPGPU-Daten, umfassen. Der Anzeigespeicher kann als Teil des Speichers 604 enthalten sein. Die eine oder mehreren GPUs 608 können zwei oder mehr GPUs umfassen, die parallel arbeiten (z. B. über eine Verbindung). Die Verbindung kann die GPUs direkt (z. B. unter Verwendung von NVLINK) oder über einen Switch (z. B. unter Verwendung von NVSwitch) verbinden. Wenn sie miteinander kombiniert sind, kann jede GPU 608 Pixeldaten oder GPGPU-Daten für verschiedene Anteile einer Ausgabe oder für verschiedene Ausgaben erzeugen (z. B. eine erste GPU für ein erstes Bild und eine zweite GPU für ein zweites Bild). Jede GPU kann über einen eigenen Speicher verfügen oder den Speicher mit anderen GPUs gemeinsam nutzen.
  • Zusätzlich oder alternativ zu der/den CPU(s) 606 und/oder der/den GPU(s) 608 können die eine oder mehreren Logikeinheiten 620 ausgelegt sein, zumindest einige der computerlesbaren Befehle auszuführen, um eine oder mehrere Komponenten des Rechners 600 zu steuern, um eines oder mehrere der hier beschriebenen Verfahren und/oder Prozesse durchzuführen. In Ausführungsformen können die CPU(s) 606, die GPU(s) 608 und/oder die Logikeinheit(en) 620 diskret oder gemeinsam eine beliebige Kombination der Verfahren, Prozesse und/oder Teile davon ausführen. Eine oder mehrere der Logikeinheiten 620 können Teil einer oder mehrerer der CPU(s) 606 und/oder der GPU(s) 608 sein und/oder eine oder mehrere der Logikeinheiten 620 können diskrete Komponenten sein oder sich anderweitig außerhalb der CPU(s) 606 und/oder der GPU(s) 608 befinden. In Ausführungsformen können eine oder mehrere der Logikeinheiten 620 ein Co-Prozessor einer oder mehrerer der CPU(s) 606 und/oder einer oder mehrerer der GPU(s) 608 sein.
  • Beispiele für die Logikeinheit(en) 620 umfassen einen oder mehrere Rechenkerne und/oder Komponenten davon, wie zum Beispiel DPUs (Datenverarbeitungseinheiten), TCs (Tensor-Kerne), TPUs (Tensor-Verarbeitungseinheiten), PVCs (Pixelvisualisierungskerne), VPUs (Bildverarbeitungseinheiten), GPCs (GPU-Cluster), TPCs (Texturverarbeitungscluster), SMs (Streaming-Multiprozessoren), TTUs (Bauchsucheinheiten), AIAs (KI-Beschleuniger), DLAs (Deep-Learning-Beschleuniger), ALUs (arithmetische Logikeinheiten), ASICs (anwendungsspezifische integrierte Schaltungen), FPUs (Gleitkommaeinheiten), E/A-Elemente, PCI-Elemente (Peripheriegeräteverbindungselemente) oder PCIe-Elemente (Peripheriegeräteverbindungselemente mit Chipsatz eines Hauptprozessors) und/oder dergleichen.
  • Die Kommunikationsschnittstelle 610 kann einen oder mehrere Empfänger, Sender und/oder kombinierte Sender- und Empfangsgeräte enthalten, welche es dem Rechner 600 ermöglichen, mit anderen Rechnern über ein elektronisches Kommunikationsnetzwerk, einschließlich drahtgebundener oder drahtloser Kommunikation, zu kommunizieren. Die Kommunikationsschnittstelle 610 kann Komponenten und Funktionen umfassen, um Kommunikation über ein beliebiges Netzwerk einer Anzahl verschiedener Netzwerke zu ermöglichen, wie beispielsweise drahtlose Netzwerke (z. B. Wi-Fi, Z-Wave, Bluetooth, Bluetooth LE, ZigBee etc.), drahtgebundene Netzwerke (z. B. Kommunikation über Ethernet oder InfiniBand), Weitverkehrsnetzwerke mit geringer Leistung (z. B. LoRaWAN, SigFox etc.) und/oder das Internet. In einer oder mehreren Ausführungsformen können eine oder mehrere Logikeinheiten 620 und/oder die Kommunikationsschnittstelle 610 eine oder mehrere DPUs umfassen, um über ein Netzwerk und/oder über das Verbindungssystem 602 empfangene Daten direkt an eine oder mehrere GPUs 608 (z. B. einen Speicher von einer oder mehreren GPUs) zu übertragen.
  • Die E/A-Ports 612 können es dem Rechner 600 ermöglichen, mit anderen Geräten, einschließlich den E/A-Komponenten 614, der/den Präsentationskomponente(n) 618 und/oder anderen Komponenten, von denen einige in dem Rechner 600 eingebaut (z. B. integriert) sein können, logisch gekoppelt zu sein. Beispielhafte E/A-Komponenten 614 umfassen ein Mikrofon, eine Maus, eine Tastatur, einen Joystick, ein Gamepad, einen Gamecontroller, eine Satellitenschüssel, einen Scanner, einen Drucker, ein drahtloses Gerät usw. Die E/A-Komponenten 614 können eine natürliche Benutzerschnittstelle (NUI) bereitstellen, welche Luftbewegungen, Sprache oder andere von einem Benutzer erzeugte physiologische Eingaben verarbeitet. In einigen Fällen können die Eingaben zur weiteren Verarbeitung an ein geeignetes Netzwerkelement übertragen werden. Eine NUI kann eine beliebige Kombination aus Spracherkennung, Stifterkennung, Gesichtserkennung, biometrischer Erkennung, Bewegungserkennung sowohl auf als auch neben dem Bildschirm, sowie Luftbewegungs-, Kopf- und Augenverfolgung und Berührungserkennung (wie unten ausführlicher beschrieben), welche mit einer Anzeige des Rechners 600 verknüpft sind, implementieren. Der Rechner 600 kann Tiefenkameras, wie stereoskopische Kamerasysteme, Infrarotkamerasysteme, RGB-Kamerasysteme, Touchscreen-Technologie und Kombinationen davon zur Bewegungserkennung und -erfassung umfassen. Darüber hinaus kann der Rechner 600 Beschleunigungsmesser oder Gyroskope (z. B. als Teil einer Trägheitsmesseinheit (IMU)) umfassen, welche die Erkennung von Bewegungen ermöglichen. In einigen Beispielen kann die Ausgabe der Beschleunigungsmesser bzw. Gyroskope von dem Rechner 600 verwendet werden, um immersive erweiterte Realität oder virtuelle Realität zu rendern.
  • Die Stromversorgung 616 kann eine festverdrahtete Stromversorgung, eine Batteriestromversorgung oder eine Kombination davon umfassen. Die Stromversorgung 616 kann den Rechner 600 mit Strom versorgen, um den Betrieb der Komponenten des Rechners 600 zu ermöglichen.
  • Die eine oder mehreren Präsentationskomponenten 618 können eine Anzeige (z. B. einen Monitor, einen Touchscreen, einen Fernsehbildschirm, ein Head-up-Display (HUD), andere Anzeigetypen oder eine Kombination davon), Lautsprecher und/oder andere Präsentationskomponenten umfassen. Die eine oder mehreren Präsentationskomponenten 618 können Daten von anderen Komponenten (z. B. der/den GPU(s) 608, der/den CPU(s) 606 etc.) empfangen und die Daten ausgeben (z. B. als ein Bild, ein Video, einen Ton etc.).
  • BEISPIELHAFTES RECHENZENTRUM
  • 7 zeigt ein beispielhaftes Rechenzentrum 700, welches in mindestens einer Ausführungsform der vorliegenden Erfindung verwendet werden kann. In mindestens einer Ausführungsform kann das Rechenzentrum 700 eine Rechenzentrum-Infrastrukturschicht 710, eine Framework-Schicht 720, eine Softwareschicht 730 und eine Anwendungsschicht 740 umfassen.
  • Wie in 7 gezeigt, kann die Rechenzentrum-Infrastrukturschicht 710 einen Ressourcen-Orchestrator 712, gruppierte Rechenressourcen 714 und Knoten-Rechenressourcen (Knoten-RR) 716(1)-716(N) umfassen, wobei „N“ eine beliebige ganze, positive Zahl darstellt. In mindestens einer Ausführungsform können die Knoten-RR 716(1)-716(N) eine beliebige Anzahl von Zentraleinheiten (CPUs) oder andere Prozessoren (einschließlich Beschleunigern, feldprogrammierbaren Gate-Arrays (FPGAs), Grafikprozessoren oder Grafikverarbeitungseinheiten (GPUs) etc.), Speicherbausteine (z. B. dynamische Lesespeicher), Speichergeräte (z. B. Festkörper- oder Plattenlaufwerke), Netzwerk-Eingabe-/Ausgabegeräte (NW E/A), Netzwerk-Switches, virtuelle Maschinen (VMs), Stromversorgungsmodule und/oder Kühlmodule usw. umfassen. In einigen Ausführungsformen können ein oder mehrere Knoten-RR aus den Knoten-RR 716(1)-716(N) einem Server entsprechen, welcher über eine oder mehrere der oben genannten Rechenressourcen verfügt. Darüber hinaus können in einigen Ausführungsformen die Knoten-RR 716(1)-7161(N) eine oder mehrere virtuelle Komponenten enthalten, wie zum Beispiel vGPUs, vCPUs und/oder dergleichen, und/oder ein oder mehrere der Knoten RR 716(1)-716(N) können einer virtuellen Maschine (VM) entsprechen
  • In mindestens einer Ausführungsform können gruppierte Rechenressourcen 714 separate Gruppierungen von Knoten-RR umfassen, welche in einem oder mehreren Racks (nicht gezeigt) untergebracht sind oder in vielen Racks untergebracht sind, die sich in Rechenzentren an verschiedenen geografischen Standorten (ebenfalls nicht gezeigt) befinden. Separate Gruppierungen von Knoten-RR innerhalb gruppierter Rechenressourcen 714 können gruppierte Rechen-, Netzwerk-, Kurzzeitspeicher- oder Langzeitspeicherressourcen umfassen, welche zur Unterstützung einer oder mehrerer Arbeitslasten konfiguriert oder diesen zugewiesen sein können. In mindestens einer Ausführungsform können mehrere Knoten-RR einschließlich CPUs, GPUs, DPUs und/oder andere Prozessoren in einem oder mehreren Racks gruppiert sein, um Rechenressourcen zur Unterstützung einer oder mehrerer Arbeitslasten bereitzustellen. Das eine oder die mehreren Racks können auch eine beliebige Anzahl von Leistungsmodulen, Kühlmodulen und/oder Netzwerk-Switches in beliebiger Kombination umfassen.
  • Der Ressourcen-Orchestrator 712 kann einen oder mehrere Knoten-RR 716(1)-716(N) und/oder gruppierte Rechenressourcen 714 konfigurieren oder anderweitig steuern. In mindestens einer Ausführungsform kann der Ressourcen-Orchestrator 712 eine Software-Design-Infrastruktur (SDI)-Managementeinheit für das Rechenzentrum 700 umfassen. Der Ressourcen-Orchestrator 712 kann Hardware, Software oder eine Kombination davon umfassen.
  • In mindestens einer Ausführungsform, wie in 7 gezeigt, kann die Framework-Schicht 720 einen Job-Scheduler 750, einen Konfigurationsmanager 734, einen Ressourcenmanager 736 und/oder ein verteiltes Dateisystem 738 umfassen. Die Framework-Schicht 720 kann einen Rahmen umfassen, um Software 732 der Softwareschicht 730 und/oder eine oder mehrere Anwendungen 742 der Anwendungsschicht 740 zu unterstützen. Die Software 732 oder Anwendung(en) 742 kann/können jeweils webbasierte Service-Software oder Service-Anwendungen umfassen, wie sie beispielsweise von Amazon Web Services, Google Cloud und Microsoft Azure bereitgestellt werden. Die Framework-Schicht 720 kann, ohne darauf beschränkt zu sein, eine Art Webanwendungsgerüst freier und Open-Source-Software wie Apache SparkTM (nachfolgend Spark genannt) sein, welches ein verteiltes Dateisystem 738 zum Verarbeiten großer Datenmengen (z. B. Big Data) nutzen kann. In mindestens einer Ausführungsform kann der Job-Scheduler 750 einen Spark-Treiber zur Erleichterung der Planung von Arbeitslasten umfassen, welche von verschiedenen Schichten des Rechenzentrums 700 unterstützt werden. Der Konfigurationsmanager 734 kann in der Lage sein, verschiedene Schichten wie Softwareschicht 730 und Framework-Schicht 720 einschließlich Spark und verteiltes Dateisystem 738 zu konfigurieren, um Verarbeitung großer Datenmengen zu unterstützen. Der Ressourcenmanager 736 kann in der Lage sein, geclusterte oder gruppierte Computerressourcen, welche zur Unterstützung des verteilten Dateisystems 738 und Job-Schedulers 750 zugeordnet bzw. bereitgestellt sind, zu managen. In mindestens einer Ausführungsform können geclusterte oder gruppierte Rechenressourcen die gruppierte Rechenressource 714 auf der Rechenzentrum-Infrastrukturschicht 710 umfassen. Der Ressourcenmanager 736 kann mit dem Ressourcen-Orchestrator 712 koordiniert sein, um diese zugeordneten bzw. bereitgestellten Computerressourcen zu managen.
  • In mindestens einer Ausführungsform kann in der Softwareschicht 730 enthaltene Software 732 Software beinhalten, welche von mindestens Teilen der Knoten-RR 716(1)-716(N), gruppierten Rechenressourcen 714 und/oder dem verteilten Dateisystem 738 der Framework-Schicht 720 verwendet wird. Eine oder mehrere Softwarearten können Software zur Suche nach Internetseiten, Software zum Scannen von E-Mails auf Viren, Datenbanksoftware und Software zum Streamen von Videoinhalten umfassen ohne auf diese beschränkt zu sein.
  • In mindestens einer Ausführungsform können eine oder mehrere in der Anwendungsschicht 740 enthaltene Anwendungen 742 eine oder mehrere Arten von Anwendungen umfassen, welche von mindestens Teilen der Knoten-RR 716(1)-716(N), gruppierten Rechenressourcen 714 und/oder des verteilten Dateisystems 738 der Framework-Schicht 720 verwendet werden. Eine oder mehrere Arten von Anwendungen können eine beliebige Anzahl einer Genomanwendung, kognitiven Berechnung und Machine-Learning-Anwendung, einschließlich Trainings- oder Inferenz-Software, Machine-Learning-Software
    (z. B. PyTorch, TensorFlow, Caffe etc.) oder andere Anwendungen des maschinellen Lernens, welche in Verbindung mit einer oder mehreren Ausführungsformen verwendet werden, umfassen ohne auf diese beschränkt zu sein.
  • In mindestens einer Ausführungsform können der Konfigurationsmanager 734, der Ressourcenmanager 736 und der Ressourcen-Orchestrator 712 eine beliebige Anzahl und Art selbstmodifizierender Aktionen implementieren, welche auf einer beliebigen Menge und Art von Daten basieren, die auf jede technisch realisierbare Weise erfasst wurden. Selbstmodifizierende Aktionen können einen Betreiber des Rechenzentrums 700 davon abhalten, möglicherweise ungünstige Konfigurationsentscheidungen zu treffen und ihn dabei unterstützen, nicht ausgelastete und/oder leistungsschwache Teile eines Rechenzentrums möglicherweise zu vermeiden.
  • Das Rechenzentrum 700 kann Tools, Dienste, Software oder andere Ressourcen umfassen, um ein oder mehrere Machine-Learning-Modelle zu trainieren oder Informationen unter Verwendung eines oder mehrerer Machine-Learning-Modelle gemäß einer oder mehreren hier beschriebenen Ausführungsformen vorherzusagen oder abzuleiten. Beispielsweise können ein oder mehrere Machine-Learning-Modelle trainiert werden, indem Gewichtungsparameter gemäß einer neuronalen Netzwerkarchitektur unter Verwendung von Software und Rechenressourcen, welche oben mit Bezug auf das Rechenzentrum 700 beschrieben wurden, berechnet werden. In mindestens einer Ausführungsform können trainierte oder eingesetzte Machine-Learning-Modelle, welche einem oder mehreren neuronalen Netzen entsprechen, verwendet werden, um unter Nutzung der oben mit Bezug auf das Rechenzentrum 700 beschriebenen Ressourcen Informationen abzuleiten oder vorherzusagen, indem Gewichtungsparameter verwendet werden, welche anhand einer oder mehrerer hier beschriebener Trainingstechniken berechnet wurden.
  • In mindestens einer Ausführungsform kann das Rechenzentrum 700 CPUs, anwendungsspezifische integrierte Schaltkreise (ASICs), GPUs, FPGAs und/oder andere Hardware (oder dementsprechende virtuelle Rechenressourcen) verwenden, um Training und/oder Inferenz unter Verwendung der oben beschriebenen Ressourcen durchzuführen. Darüber hinaus können eine oder mehrere der oben beschriebenen Software- und/oder Hardwareressourcen als Dienst konfiguriert sein, um Benutzern Training oder Inferenz von Informationen, wie zum Beispiel Bilderkennung, Spracherkennung oder andere Dienste der künstlichen Intelligenz, zu ermöglichen
  • BEISPIELHAFTE NETZWERKUMGEBUNGEN
  • Netzwerkumgebungen, welche für die Verwendung bei der Implementierung von Ausführungsformen der Erfindung geeignet sind, können ein oder mehrere Client-Geräte, Server, Netzwerkspeicher (NAS), andere Backend-Geräte und/oder andere Gerätetypen umfassen. Die Client-Geräte, Server und/oder anderen Gerätetypen (z. B. jedes Gerät) können auf einer oder mehreren Instanzen des einen oder der mehreren Rechner 600 von 6 implementiert sein - zum Beispiel kann jede Vorrichtung ähnliche Komponenten, Features und/oder Funktionen des oder der Rechner 600 aufweisen. Zudem, wenn Backend-Geräte (z. B. Server, NAS etc.) implementiert sind, können die Backend-Geräte außerdem Teil eines Rechenzentrums 700 sein, das anhand eines Beispiels in 7 näher beschrieben ist.
  • Komponenten einer Netzwerkumgebung können über ein oder mehrere Netzwerke, die drahtgebunden, drahtlos oder beides sein können, miteinander kommunizieren. Das Netzwerk kann mehrere Netzwerke oder ein Netzwerk von Netzwerken umfassen. So kann das Netzwerk beispielsweise ein oder mehrere Weitverkehrsnetzwerke (Wide Area Networks, WANs), ein oder mehrere lokale Netzwerke (Local Area Networks, LANs), ein oder mehrere öffentliche Netzwerke, wie das Internet und/oder ein öffentliches Telefonnetzwerk (PSTN), und/oder ein oder mehrere private Netzwerke umfassen. Wenn das Netzwerk ein drahtloses Telekommunikationsnetzwerk umfasst, können Komponenten wie eine Basisstation, ein Kommunikationsturm oder sogar Zugangspunkte (sowie andere Komponenten) drahtlose Konnektivität bereitstellen.
  • Kompatible Netzwerkumgebungen können eine oder mehrere Peer-to-Peer-Netzwerkumgebungen - in diesem Fall muss ein Server nicht in einer Netzwerkumgebung enthalten sein - und eine oder mehrere Client-Server-Netzwerkumgebungen - in diesem Fall können ein oder mehrere Server in einer Netzwerkumgebung enthalten sein - umfassen. In Peerto-Peer-Netzwerkumgebungen kann die hier beschriebene Funktionalität in Bezug auf einen oder mehrere Server auf einer beliebigen Anzahl von Client-Geräten realisiert sein.
  • In mindestens einer Ausführungsform kann eine Netzwerkumgebung eine oder mehrere cloudbasierte Netzwerkumgebungen, eine verteilte Rechenumgebung, eine Kombination davon usw. umfassen. Eine cloudbasierte Netzwerkumgebung kann eine Framework-Ebene, einen Job-Scheduler, einen Ressourcenmanager und ein verteiltes Dateisystem umfassen, welche auf einem oder mehreren Servern implementiert sind, die einen oder mehrere Kernnetzwerkserver und/oder Edge-Server umfassen können. Eine Framework-Schicht kann einen Rahmen zur Unterstützung von Software einer Software-Schicht und/oder einer oder mehrerer Anwendungen einer Anwendungsschicht umfassen. Die Software oder die Anwendung(en) kann/können jeweils webbasierte Dienstsoftware oder -anwendungen umfassen. In Ausführungsformen können ein oder mehrere Client-Geräte die webbasierte Service-Software oder -anwendungen nutzen (z. B. durch Zugriff auf die Service-Software und/oder - anwendungen über eine oder mehrere Anwendungsprogrammierschnittstellen (APIs)). Bei der Framework-Schicht kann es sich, ohne darauf beschränkt zu sein, um eine Art Webanwendungsgerüst freier und Open-Source-Software handeln, welche beispielsweise ein verteiltes Dateisystem zum Verarbeiten großer Datenmengen (z. B. Big Data) verwenden kann.
  • Eine cloudbasierte Netzwerkumgebung kann Cloud-Computing und/oder Cloud-Speicherung bereitstellen, die/das eine beliebige Kombination der hier beschriebenen Rechen- und/oder Datenspeicherungsfunktionen (oder einen oder mehrere Teile davon) ausführen/ausführt. Jede dieser verschiedenen Funktionen kann über mehrere Standorte von Zentral- oder Kernservern (z. B. von einem oder mehreren Rechenzentren, die über einen Staat, eine Region, ein Land, den Globus etc. verteilt sein können) verteilt sein. Befindet sich eine Verbindung zu einem Benutzer (z. B. einem Client-Gerät) relativ nah an einem oder mehreren Edge-Servern, können ein oder mehrere Kernserver zumindest einen Teil der Funktionalität dem oder den Edge-Servern zuweisen. Eine cloudbasierte Netzwerkumgebung kann privat (z. B. auf eine einzelne Organisation beschränkt), öffentlich (z. B. für viele Organisationen verfügbar) und/oder eine Kombination davon (z. B. eine hybride cloudbasierte Umgebung) sein.
  • Das eine oder die mehreren Client-Geräte können zumindest einige der Komponenten, Features und Funktionen des einen oder der mehreren beispielhaften Rechner 600, hier beschreiben mit Bezug auf 6, umfassen. Beispielsweise und ohne darauf beschränkt zu sein kann ein Client-Gerät als ein Personal Computer (PC), ein Laptop, ein mobiles Gerät, ein Smartphone, ein Tablet-Computer, eine Smartwatch, ein tragbarer Computer, ein Personal Digital Assistant (PDA), ein MP3-Player, ein Virtual-Reality-Headset, ein Global Positioning System (GPS) oder GP-Gerät, ein Videoplayer, eine Videokamera, ein Überwachungsgerät oder -system, ein Fahrzeug, ein Boot, eine fliegende Vorrichtung, eine virtuelle Maschine, eine Drohne, ein Roboter, ein tragbares Kommunikationsgerät, eine Krankenhausvorrichtung, ein Spielgerät oder -system, ein Unterhaltungssystem, ein Fahrzeugcomputersystem, eine eingebettete Systemsteuerung, eine Fernbedienung, ein Apparat, ein Unterhaltungselektronikgerät, eine Workstation, ein Edge-Gerät, eine beliebige Kombination dieser beschriebenen Geräte oder jedes andere geeignete Gerät verkörpert sein.
  • Die Erfindung kann im allgemeinen Kontext von Computercode oder maschinell verwendbaren Anweisungen beschrieben sein, einschließlich computerausführbaren Anweisungen, wie zum Beispiel Programmmodulen, welche von einem Computer oder einer anderen Maschine, wie zum Beispiel einem Assistenten für personenbezogene Daten oder einem anderen tragbaren Gerät, ausgeführt werden. Prinzipiell beziehen sich Programmmodule, einschließlich Routinen, Programme, Objekte, Komponenten, Datenstrukturen usw., auf Codes, welche bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Die Erfindung kann in einer Vielzahl von Systemkonfigurationen, einschließlich tragbaren Geräten, Unterhaltungselektronik, Universalcomputern, spezialisierteren Datenverarbeitungsgeräten usw., praktisch umgesetzt werden. Die Erfindung kann auch in verteilten Computerumgebungen realisiert werden, in denen Aufgaben von ferngesteuerten, über ein Kommunikationsnetz verbundenen Geräten ausgeführt werden.
  • Hier verwendete Termini „und/oder“ mit Bezug auf zwei oder mehr Elemente sind so zu interpretieren, dass sie sich auf nur ein Element oder eine Kombination von Elementen beziehen. Zum Beispiel kann „Element A, Element B und/oder Element C“ nur Element A, nur Element B, nur Element C, Element A und Element B, Element A und Element C, Element B und Element C oder Elemente A, B und C umfassen. Zudem kann „zumindest/mindestens eines von Element A oder Element B“ mindestens eines von Element A, mindestens eines von Element B oder mindestens eines von Element A und mindestens eines von Element B umfassen. Ferner kann „zumindest/mindestens eines der Elemente A und B“ mindestens eines von Element A, mindestens eines von Element B oder mindestens eines von Element A und mindestens eines von Element B umfassen.
  • Der Gegenstand der vorliegenden Erfindung wird hier mit einer Genauigkeit beschrieben, um gesetzlich festgelegte Anforderungen zu erfüllen. Die Beschreibung selbst soll jedoch den Umfang dieser Erfindung nicht einschränken. Vielmehr haben die Erfinder in Betracht gezogen, dass der beanspruchte Gegenstand auch auf andere Weise verkörpert werden könnte, um verschiedene Schritte oder Kombinationen von Schritten, die den in diesem Dokument beschriebenen ähnlich sind, in Verbindung mit anderen gegenwärtigen oder zukünftigen Technologien zu umfassen. Obwohl die Termini „Schritt“ und/oder „Block“ hier verwendet werden können, um verschiedene Elemente der angewandten Verfahren zu bezeichnen, sollten die Termini nicht so interpretiert werden, dass sie eine bestimmte Reihenfolge unter oder zwischen den verschiedenen hier offenbarten Schritten implizieren, es sei denn, die Reihenfolge der einzelnen Schritte ist explizit beschrieben.

Claims (20)

  1. System, umfassend: einen Rechner zum Bestimmen eines oder mehrerer Spitzenpixelwerte, die einer Teilmenge von Pixeln entsprechen, zumindest teilweise basierend auf der Analyse von Bilddaten, die zumindest der Teilmenge von Pixeln eines Frames entsprechen, eine Anzeigeschnittstelle zum Senden der Bilddaten, die repräsentativ für Pixelwerte sind, die zumindest der Teilmenge von Pixeln entsprechen, und von Daten, die repräsentativ für den einen oder die mehreren Spitzenpixelwerte sind, und ein Anzeigegerät, das über die Anzeigeschnittstelle kommunikativ mit dem Rechner gekoppelt ist, wobei das Anzeigegerät zu Folgendem dient: Festlegen, zumindest teilweise auf der Grundlage des einen oder der mehreren Spitzenpixelwerte, einer Beleuchtungseinstellung für eine oder mehrere Hintergrundbeleuchtungen des Anzeigegerätes, die sich in der Nähe der Teilmenge von Pixeln auf dem Anzeigegerät befinden, Aktualisieren, zumindest teilweise auf der Grundlage der Beleuchtungseinstellung, eines oder mehrerer der Pixelwerte, die der Teilmenge von Pixeln entsprechen, um aktualisierte Pixelwerte zu erzeugen, und Veranlassen der Anzeige des Frames unter Verwendung der Beleuchtungseinstellung für die eine oder mehreren Hintergrundbeleuchtungen und der aktualisierten Pixelwerte für die Teilmenge von Pixeln.
  2. System nach Anspruch 1, wobei das Aktualisieren eines oder mehrerer der Pixelwerte ferner zumindest teilweise auf einer oder mehreren Beleuchtungseinstellungen basiert, die einer oder mehreren anderen Hintergrundbeleuchtungen des Anzeigegerätes entsprechen, die sich von der einen oder den mehreren Hintergrundbeleuchtungen des Anzeigegerätes unterscheiden.
  3. System nach Anspruch 1 oder 2, wobei die Teilmenge von Pixeln einer Hintergrundbeleuchtungsauflösung der Anzeigegerätes entspricht, so dass jede Teilmenge von Pixeln, einschließlich der Teilmenge von Pixeln, eine horizontale Auflösung gleich einer Anzahl von Pixelspalten geteilt durch eine Anzahl von Hintergrundbeleuchtungsspalten und eine vertikale Auflösung gleich einer Anzahl von Pixelzeilen geteilt durch eine Anzahl von Hintergrundbeleuchtungszeilen umfasst.
  4. System nach Anspruch 3, wobei die eine oder die mehreren Hintergrundbeleuchtungen, die sich in der Nähe der Teilmenge von Pixeln befinden, Hintergrundbeleuchtungen innerhalb von fünf oder weniger Zeilen einer nächsten Hintergrundbeleuchtung zu einem zentralen Pixel der Teilmenge von Pixeln und innerhalb von fünf oder weniger Spalten der nächsten Hintergrundbeleuchtung zu dem zentralen Pixel der Teilmenge von Pixeln umfassen.
  5. System nach einem der vorhergehenden Ansprüche, wobei das Anzeigegerät eine Flüssigkristallanzeige (LCD) umfasst und die eine oder mehreren Hintergrundbeleuchtungen Leuchtdioden (LEDs) umfassen.
  6. System nach einem der vorhergehenden Ansprüche, wobei mindestens eines der Daten vor den Bilddaten oder die Daten gleichzeitig mit den Bilddaten gesendet werden.
  7. System nach einem der vorhergehenden Ansprüche, wobei die Daten, die repräsentativ für den einen oder die mehreren Pixelspitzenwerte sind, mindestens einen roten Spitzenwert, einen grünen Spitzenwert oder einen blauen Spitzenwert entsprechend der Teilmenge von Pixeln umfassen.
  8. System nach einem der vorhergehenden Ansprüche, wobei Bestimmen des einen oder der mehreren Spitzenpixelwerte Folgendes umfasst: Erzeugen eines oder mehrerer Histogramme, die den Pixelwerten der Teilmenge von Pixeln entsprechen, und Bestimmen des einen oder der mehreren Spitzenpixelwerte unter Verwendung des einen oder der mehreren Histogramme.
  9. System nach einem der vorhergehenden Ansprüche, wobei Aktualisieren eines oder mehrerer der Pixelwerte, die der Teilmenge von Pixeln entsprechen, zumindest teilweise auf einem akkumulierten Beleuchtungsbeitrag von Hintergrundbeleuchtungen des Anzeigegerätes basiert, wobei die Hintergrundbeleuchtungen die eine oder mehreren Hintergrundbeleuchtungen und eine oder mehrere andere Hintergrundbeleuchtungen zusätzlich zu der einen oder den mehreren Hintergrundbeleuchtungen umfassen.
  10. System nach einem der vorhergehenden Ansprüche, wobei das System aus mindestens einem der folgenden Elemente besteht: einem System, das unter Verwendung eines Edge-Gerätes implementiert ist, einem System, das eine oder mehrere virtuelle Maschinen (VMs) enthält, einem System, das zumindest teilweise in einem Rechenzentrum implementiert ist, oder einem System, das zumindest teilweise unter Verwendung von Cloud-Computing-Ressourcen implementiert ist.
  11. Prozessor, umfassend: Verarbeitungsschaltung zum: Empfangen von Daten von einem Rechner, die repräsentativ für einen oder mehrere Spitzenpixelwerte sind, die einer Teilmenge von Pixeln eines Bildes entsprechen, wobei die Daten unter Verwendung des Rechners erzeugt sind und zumindest teilweise auf einer Analyse des Bildes basieren, Bestimmen, zumindest teilweise auf der Grundlage des einen oder der mehreren Spitzenpixelwerte, eines oder mehrerer Beleuchtungswerte, die einer oder mehreren Hintergrundbeleuchtungen entsprechen, die sich am nächsten zu der Teilmenge von Pixeln auf einem Anzeigefeld befinden, Empfangen von Bilddaten von dem Rechner, die repräsentativ für Pixelwerte von mindestens der Teilmenge von Pixeln des Bildes sind, Aktualisieren, zumindest teilweise basierend auf dem einen oder den mehreren Beleuchtungswerten, mindestens eines der Pixelwerte, um aktualisierte Pixelwerte zu erzeugen, und Veranlassen der Anzeige des Bildes unter Verwendung des einen oder der mehreren Beleuchtungswerte für die eine oder die mehreren Hintergrundbeleuchtungen und der aktualisierten Pixelwerte für die Teilmenge von Pixeln auf dem Anzeigefeld.
  12. Prozessor nach Anspruch 11, wobei die Anzeige des Bildes bewirkt wird durch: Veranlassen, dass ein Strom zu dem einen oder den mehreren Hintergrundbeleuchtungen geleitet wird, zumindest teilweise basierend auf dem einen oder den mehreren Beleuchtungswerten, und Veranlassen, dass eine Spannung an Pixelventile des Anzeigefeldes, die der Teilmenge von Pixeln entsprechen, zumindest teilweise auf der Grundlage der aktualisierten Pixelwerte geleitet wird.
  13. Prozessor nach Anspruch 11 oder 12, wobei die Daten, die repräsentativ für den einen oder die mehreren Pixelwerte sind, entweder vor den Bilddaten oder gleichzeitig mit den Bilddaten empfangen werden.
  14. Prozessor nach einem der Ansprüche 11 bis 13, wobei die Daten unter Verwendung einer oder mehrerer Grafikverarbeitungseinheiten (GPUs) des Rechners erzeugt werden, die eine oder mehreren Hintergrundbeleuchtungen Leuchtdioden (LEDs) umfassen und das Anzeigefeld eine Flüssigkristallanzeige (LCD) umfasst.
  15. Prozessor nach einem der Ansprüche 11 bis 14, wobei mindestens einer der Pixelwerte mindestens teilweise auf der Grundlage eines oder mehrerer anderer Beleuchtungswerte aktualisiert wird, die einer oder mehreren anderen Hintergrundbeleuchtungen entsprechen, die weiter als die eine oder die mehreren Hintergrundbeleuchtungen von der Teilmenge von Pixeln entfernt sind.
  16. Prozessor nach einem der Ansprüche 11 bis 15, wobei die eine oder die mehreren Hintergrundbeleuchtungen, die sich am nächsten an der Teilmenge von Pixeln befinden, mindestens eine Hintergrundbeleuchtung umfassen, die sich am nächsten an einer Position eines zentralen Pixels der Teilmenge von Pixeln auf dem Anzeigefeld befindet.
  17. Prozessor nach einem der Ansprüche 11 bis 16, wobei die Daten, die repräsentativ für den einen oder die mehreren Pixelspitzenwerte sind, erzeugt werden durch: Erzeugen eines oder mehrerer Histogramme entsprechend den Pixelwerten der Teilmenge von Pixeln und Bestimmen des einen oder der mehreren Spitzenpixelwerte unter Verwendung des einen oder der mehreren Histogramme.
  18. Verfahren, umfassend: Bestimmen eines oder mehrerer Spitzenpixelwerte, die einer Teilmenge von Pixeln eines Bildes entsprechen, unter Verwendung einer Rechners, der kommunikativ mit einem Flüssigkristallanzeigegerät (LCD-Gerät) gekoppelt ist, Senden, unter Verwendung des Rechners und an das LCD-Gerät, von Bilddaten, die repräsentativ für Pixelwerte sind, die mindestens der Teilmenge von Pixeln entsprechen, und von Daten, die repräsentativ für den einen oder die mehreren Spitzenpixelwerte sind, Festlegen, unter Verwendung des Anzeigegerätes und zumindest teilweise basierend auf dem einen oder den mehreren Spitzenpixelwerten, einer Beleuchtungseinstellung für eine oder mehrere Hintergrundbeleuchtungen des Anzeigegerätes, Aktualisieren, unter Verwendung des Anzeigegerätes und zumindest teilweise auf der Grundlage der Beleuchtungseinstellung, eines oder mehrerer der Pixelwerte, die der Teilmenge von Pixeln entsprechen, um aktualisierte Pixelwerte zu erzeugen, und Veranlassen der Anzeige des Bildes unter Verwendung des Anzeigegerätes und zumindest teilweise auf der Grundlage der Beleuchtungseinstellung für das eine oder die mehreren Hintergrundbeleuchtungen und der aktualisierten Pixelwerte für die Teilmenge von Pixeln.
  19. Verfahren nach Anspruch 18, wobei Aktualisieren eines oder mehrerer der Pixelwerte ferner zumindest teilweise auf einer oder mehreren Beleuchtungseinstellungen beruht, die einer oder mehreren anderen Hintergrundbeleuchtungen des Anzeigegerätes entsprechen, die sich von der einen oder den mehreren Hintergrundbeleuchtungen des Anzeigegerätes unterscheiden.
  20. Verfahren nach Anspruch 18 oder 19, wobei mindestens einer der Werte bzw. Daten vor den Bilddaten gesendet wird oder der oder die Werte bzw. Daten gleichzeitig mit den Bilddaten gesendet werden.
DE102022112366.9A 2021-06-02 2022-05-17 Flüssigkristallanzeigesystem mit niedriger Latenz und variabler Hintergrundbeleuchtung Pending DE102022112366A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/337,330 2021-06-02
US17/337,330 US11694643B2 (en) 2021-06-02 2021-06-02 Low latency variable backlight liquid crystal display system

Publications (1)

Publication Number Publication Date
DE102022112366A1 true DE102022112366A1 (de) 2022-12-08

Family

ID=84102145

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022112366.9A Pending DE102022112366A1 (de) 2021-06-02 2022-05-17 Flüssigkristallanzeigesystem mit niedriger Latenz und variabler Hintergrundbeleuchtung

Country Status (3)

Country Link
US (1) US11694643B2 (de)
CN (1) CN115440168A (de)
DE (1) DE102022112366A1 (de)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9690038B2 (en) * 2007-06-22 2017-06-27 3M Innovative Properties Company Systems and methods for controlling backlight output characteristics
KR101536221B1 (ko) * 2008-11-20 2015-07-14 삼성디스플레이 주식회사 픽셀 데이터 보상 방법, 이를 수행하기 위한 콘트롤러 유닛및 이를 갖는 표시 장치
CN102473382B (zh) * 2009-07-23 2015-08-12 杜比实验室特许公司 降低功率的显示器
KR101603242B1 (ko) * 2009-12-07 2016-03-15 엘지디스플레이 주식회사 로컬 디밍을 위한 표시 영역의 분할 방법과 그를 이용한 액정 표시 장치 및 그 구동 방법
KR102071056B1 (ko) * 2013-03-11 2020-01-30 삼성디스플레이 주식회사 표시 장치 및 그의 영상 보상 방법
CN104575405B (zh) * 2015-02-04 2017-08-25 京东方科技集团股份有限公司 一种调节显示装置背光亮度的方法、显示装置
US10636336B2 (en) * 2015-04-17 2020-04-28 Nvidia Corporation Mixed primary display with spatially modulated backlight
US11030960B2 (en) * 2018-05-29 2021-06-08 Synaptics Incorporated Host content adaptive backlight control (CABC) and local dimming

Also Published As

Publication number Publication date
CN115440168A (zh) 2022-12-06
US20220392414A1 (en) 2022-12-08
US11694643B2 (en) 2023-07-04

Similar Documents

Publication Publication Date Title
DE112014002469B4 (de) System und Verfahren zur Erzeugung von Bildern für eine augennaheLichtfeldanzeige
DE112017004246T5 (de) Cache- und komprimierungsinteroperabilität in einer grafikprozessorpipeline
DE102022100638A1 (de) Tracking und Kompensation von Pixeldegradation bei Display-Technologien
DE102019119085A1 (de) Punktbasiertes rendern und entfernung von projektionsrauschen
DE102021207678A1 (de) Streamen eines komprimierten lichtfelds
DE112017003932T5 (de) Mechanismus zum Beschleunigen von Grafikarbeitslasten in einer Mehrkern-Datenverarbeitungsarchitektur
JP2020529639A (ja) 画像表示方法、表示システム及びコンピューター読取可能記憶媒体
DE102021119722A1 (de) Feingranulare pro-vektor-skalierung für neuronale netzwerkquantisierung
DE102020111960A1 (de) Dynamische vergabe von rechenressourcen zur erzeugung von höhepunkten in cloudspiel-systemen
DE112005003695T5 (de) Fehlerverteilung zum Stromsparen bei Anzeige-Bildspeichern
DE102018128699A1 (de) Einstellen einer Winkelabtastrate während eines Renderings unter Verwendung von Blickinformationen
DE112021000108T5 (de) Entrauschungstechniken für rekurrente unschärfen bei raytracing-anwendungen
DE102022100521A1 (de) Automatische inhaltserkennung und information im livestreaming geeignet für videospiele
DE102021205690A1 (de) Trainieren neuronaler Netze mit begrenzten Daten unter Verwendung invertierbarer Augmentationsoperatoren
DE102021104310A1 (de) Reservoir-basiertes räumlich-zeitliches resampling nach wichtigkeit unter verwendung einer globalen beleuchtungsdatenstruktur
DE102022112157A1 (de) Echtzeit-verbesserung für streaming-inhalt
DE102023100874A1 (de) Effiziente Synchronisationsbarrieren für mehrere Vorrichtungen durch Multicasting
DE102022107672A1 (de) Cloud-ausführung von audio/video compositing-anwendungen
DE112020007087T5 (de) Gleichzeitige Hashtabellen-Aktualisierungen
DE102022129924A1 (de) Inhaltsfidelitätsanpassung basierend auf benutzerinteraktion
DE102022106956A1 (de) Konversationelle ki-plattformen mit dialogintegration von geschlossenen domänen und offenen domänen
DE102020104651A1 (de) Arbeitsspeicherkomprimierungs-Hashmechanismus
DE102021125895A1 (de) Latenzbestimmungen für einrichtungen mit menschlicher schnittstelle
DE112012002033B4 (de) Verfahren und Vorrichtung zum Erzeugen von Bildern unter Verwendung eines farbfeldsequenziellen Displays
DE102021125774A1 (de) History-blockieren zum entrauschen dynamischer raytracing-szenen unter verwendung zeitlicher anhäufung

Legal Events

Date Code Title Description
R012 Request for examination validly filed