BE1030282B1 - METHOD FOR NONLINEAR COMPENSATION IN DISPLAY APPLICATIONS - Google Patents

METHOD FOR NONLINEAR COMPENSATION IN DISPLAY APPLICATIONS Download PDF

Info

Publication number
BE1030282B1
BE1030282B1 BE20225881A BE202205881A BE1030282B1 BE 1030282 B1 BE1030282 B1 BE 1030282B1 BE 20225881 A BE20225881 A BE 20225881A BE 202205881 A BE202205881 A BE 202205881A BE 1030282 B1 BE1030282 B1 BE 1030282B1
Authority
BE
Belgium
Prior art keywords
display
compensation
values
linear
colors
Prior art date
Application number
BE20225881A
Other languages
Dutch (nl)
Other versions
BE1030282A1 (en
Inventor
Robbie Thielemans
Vince Dundee
Original Assignee
Stereyo
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 Stereyo filed Critical Stereyo
Priority to EP23160521.3A priority Critical patent/EP4243006A1/en
Publication of BE1030282A1 publication Critical patent/BE1030282A1/en
Application granted granted Critical
Publication of BE1030282B1 publication Critical patent/BE1030282B1/en

Links

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/2003Display of colours
    • 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/0242Compensation of deficiencies in the appearance of colours
    • 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/04Maintaining the quality of display appearance
    • G09G2320/041Temperature compensation
    • 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/0666Adjustment of display parameters for control of colour parameters, e.g. colour temperature
    • 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/0693Calibration of display systems
    • 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

Abstract

De uitvinding heeft betrekking op displays, waaronder bijvoorbeeld LED (light-emitting diode) displays, maar is daartoe niet beperkt. Meer in het bijzonder heeft de uitvinding betrekking op het verkrijgen van nauwkeurigere kleur- en/of grijswaardenrepresentatie in dergelijke displays door middel van correctiemethoden gebaseerd op het compenseren van niet-lineariteiten (veroorzaakt door pixeldrivers).The invention relates to displays, including for example LED (light-emitting diode) displays, but is not limited thereto. More specifically, the invention relates to obtaining more accurate color and/or grayscale representation in such displays by means of correction methods based on compensating for non-linearities (caused by pixel drivers).

Description

1 BE2022/58811 BE2022/5881

METHODE VOOR NIET-LINEAIRE COMPENSATIEMETHOD OF NONLINEAR COMPENSATION

IN DISPLAY-TOEPASSINGENIN DISPLAY APPLICATIONS

Technisch veldTechnical field

De uitvinding heeft betrekking op displays, zoals bijvoorbeeld LED (light-emitting diode) displays, maar is niet beperkt tot deze specifieke displaytechnologie. Meer in het bijzonder heeft de uitvinding betrekking op het verkrijgen van nauwkeurigere kleur- en/of grijswaardenweergave in dergelijke displays door middel van (niet-lineaire) correctie- of compensatiemethoden, zelfs en in het bijzonder toegepast na kalibratie (op basis van lineaire vergelijkingen), maar ook wanneer geen kalibratie is toegepast.The invention relates to displays, such as LED (light-emitting diode) displays, but is not limited to this specific display technology. More specifically, the invention relates to obtaining more accurate color and/or grayscale representation in such displays by means of (non-linear) correction or compensation methods, even and in particular applied after calibration (based on linear equations) , but also when no calibration has been applied.

Achtergrond van de uitvindingBackground of the invention

Uit de eerdere onthullingen en toepassingen is duidelijk geworden dat bij het kalibreren van een display (of beeldscherm) voor kleur en helderheid, uniformiteit in real-time moet worden uitgevoerd. Voor LED-displays - tot op de dag van vandaag - worden alle berekeningen gemaakt in de lineaire kleurruimte en wordt geen rekening gehouden met niet-lineariteiten die bestaan bij het genereren van de respectieve lichtuitvoer van de individuele R(ood), G(roen) en B(lauw) kleur per individuele pixel.From the previous disclosures and applications, it has become clear that when calibrating a display (or monitor) for color and brightness, uniformity must be performed in real time. For LED displays - to this day - all calculations are made in the linear color space and do not take into account non-linearities that exist in generating the respective light output of the individual R(red), G(green) and B(lukewarm) color per individual pixel.

De lichtuitvoer van traditionele LED's wordt gegenereerd met behulp van PWM (Pulse WidthThe light output of traditional LEDs is generated using PWM (Pulse Width

Modulation) die inwerkt op constant current drivers (in het algemeen pixeldrivers, mogelijk ook wel PWM-drivers of LED-drivers genoemd). Het is algemeen bekend in de LED-industrie (zie bijv. "Handbook of Visual Display Technology": Thielemans R. (2012) LED Display Applications andModulation) that acts on constant current drivers (generally pixel drivers, possibly also called PWM drivers or LED drivers). It is well known in the LED industry (see e.g. "Handbook of Visual Display Technology": Thielemans R. (2012) LED Display Applications and

Design Considerations — Springer, Berlin, Heidelberg. https://doi.org/10.1007/978- 3-540- 79567-4 76) dat LED's enigszins van kleur veranderen wanneer de aandrijfstroom (drive current) wordt gewijzigd. Er wordt dus een constante stroom toegepast. Echter, om verschillende redenen is de lineariteit tussen digitaal gegenereerde PWM en gemeten lichtuitvoer op de individuele LED's niet gegarandeerd. Dit betekent dus dat de ‘traditionele’Design Considerations — Springer, Berlin, Heidelberg. https://doi.org/10.1007/978- 3-540- 79567-4 76) that LEDs change color slightly when the drive current is changed. So a constant current is applied. However, for various reasons, linearity between digitally generated PWM and measured light output on the individual LEDs is not guaranteed. This means that the 'traditional'

X,Y,Z-kleurcorrectieberekeningen (bijvoorbeeld bekend als standaardkalibratie, meestal berekend in lineaire ruimte) die werken op PWM en de veronderstelde ‘constant current drivers’X,Y,Z color correction calculations (e.g. known as standard calibration, usually calculated in linear space) that operate on PWM and the assumed 'constant current drivers'

2 BE2022/5881 niet helemaal correct zijn. Verdere correctie of compensatie (voor niet-lineariteiten) is daarom nodig.2 BE2022/5881 are not entirely correct. Further correction or compensation (for non-linearities) is therefore necessary.

Beschrijving van de achtergrond (aangaande kalibratie)Description of the background (regarding calibration)

Er wordt nu meer gedetailleerde achtergrond gegeven, waarvoor ook kan worden verwezen naar eerdere octrooiaanvragen van dezelfde Aanvrager, d.w.z. de Amerikaanse octrooiaanvrage publicatie US2020/0286424, getiteld "REAL-TIME DEFORMABLE AND TRANSPARENT DISPLAY" en gepubliceerd op 10 september 2020.More detailed background is now provided, for which reference may also be made to previous patent applications by the same Applicant, i.e. US patent application publication US2020/0286424, entitled "REAL-TIME DEFORMABLE AND TRANSPARENT DISPLAY" and published on September 10, 2020.

Terwijl elke individuele LED kan afwijken in b.v. kleur of helderheid, wordt kalibratie als belangrijk beschouwd. De traditionele kalibratievideopijplijn in overeenstemming met de techniek wordt getoond in Figuur 1, die een flow weergeeft voor de bepaling van de kleuruitvoerWhile each individual LED may differ in e.g. color or brightness, calibration is considered important. The traditional calibration video pipeline in accordance with the technique is shown in Figure 1, which shows a flow for color output determination

Rout, Gout, Bout voor de primaire kleuren RGB op basis van de kalibratiematrix (A), indien bepaald, en op de kleurinvoer Rin, Gin, Bin voor de primaire kleuren RGB zoals ontvangen. Zoals hier aangegeven in Figuur 1, worden de kalibratiewaarden voor elke RGB-pixel opgehaald uit een geheugenlocatie, afhankelijk van de positie (rij, kolom) van de pixel zelf. Als laatste stap hier in de flow, kan een temperatuurcorrectie worden toegepast om een nog betere kleurweergave te krijgen. Het kalibratieprincipe om lichtgevende elementen (bijv. LED's, OLED's) of pixels uniform op een scherm te laten lijken, is gebruikelijk, evenals de wiskunde erachter. Dit principe is gebaseerd op individuele metingen bij een bepaalde aandrijfstroom voor elke pixel in het display. Bij wijze van voorbeeld wordt het wiskundige principe nader toegelicht voor traditioneleRout, Gout, Bout for the RGB primary colors based on the calibration matrix (A), if determined, and on the color input Rin, Gin, Bin for the RGB primary colors as received. As shown here in Figure 1, the calibration values for each RGB pixel are retrieved from a memory location depending on the position (row, column) of the pixel itself. As a final step here in the flow, a temperature correction can be applied to achieve even better color rendering. The calibration principle of making light-emitting elements (e.g. LEDs, OLEDs) or pixels appear uniform on a screen is common, as is the math behind it. This principle is based on individual measurements at a certain drive current for each pixel in the display. As an example, the mathematical principle is explained in more detail for traditional ones

RGB-LED's, maar het zou ook kunnen worden toegepast op elk ander LED-cluster met bepaalde kleuren.RGB LEDs, but it could also be applied to any other LED cluster with certain colors.

Neem aan dat alle RGB-LED's zijn gemeten bij een bepaalde gedefinieerde stroom en gedefinieerde temperatuur. Deze meting kan gebeuren met b.v. een spectrometer. Dit levert x, y en Y-meetwaarden op voor elk van de R, G en B-kleuren in één LED. In het geval van een RGB (Rood, Groen, Blauw) display, zijn de metingen b.v. uitgevoerd in de CIE 1931-kleurruimte, waarbij elke kleur wordt weergegeven in (x, y) en Y, bijvoorbeeld (x,y,Y worden geconverteerd naar X,Y,Z voor het werken in lineaire ruimte):Assume that all RGB LEDs were measured at a certain defined current and defined temperature. This measurement can be done with e.g. a spectrometer. This provides x, y and Y readings for each of the R, G and B colors in one LED. In the case of an RGB (Red, Green, Blue) display, the measurements are e.g. performed in the CIE 1931 color space, with each color represented in (x, y) and Y, for example (x,y,Y are converted to X,Y,Z for working in linear space):

Rin = (Rinx, Riny, RinY) = (RinX,RinY,RinZ)Rin = (Rinx, Riny, RinY) = (RinX,RinY,RinZ)

3 BE2022/58813 BE2022/5881

Gin = (Ginx,Giny,GinY) = (GinX,GinY,GinZ)Gin = (Ginx,Giny,GinY) = (GinX,GinY,GinZ)

Bin = (Binx,BinY,BinY) = (BinX,BinY, BinZ)Bin = (Binx,BinY,BinY) = (BinX,BinY, BinZ)

Opgemerkt wordt dat (x, y) genormaliseerde waarden zijn van X, Y en Z welke de zogenaamde tristimuluswaarden zijn, terwijl Y een maat is voor de helderheid van een kleur.It is noted that (x, y) are normalized values of X, Y and Z which are the so-called tristimulus values, while Y is a measure of the brightness of a color.

Rood Groen Blauw 0,6859 198,70 |0,215 |0,7171 | 250,00 |0,131 |0,107 | 66,00 439,64 | 198,70 74,95 | 250,00 | 23,67 |80,80 | 6600 | 470,02Red Green Blue 0.6859 198.70 |0.215 |0.7171 | 250.00 |0.131 |0.107 | 66.00 439.64 | 198.70 74.95 | 250.00 | 23.67 |80.80 | 6600 | 470.02

RinX GinX BinX 43964 7495 80,80RinX GinX BinX 43964 7495 80.80

Of in matrix formaat: |RinY GinY BinY| =|198,70 250,00 66,00Or in matrix format: |RinY GinY BinY| =|198.70 250.00 66.00

RinZ GinZ BinZ 2,63 23,67 470,02RinZ GinZ BinZ 2.63 23.67 470.02

Kleurconversies worden uitgevoerd met behulp van de volgende formules:Color conversions are performed using the following formulas:

X x=x x=

X+Y+4ZX+Y+4Z

YY

JE XFY+ZYOUR XFY+Z

Z 1 z=—_ = —X-—Z 1 z=—_ = —X-—

X+Y+Z y xX+Y+Z y x

X=Y- y z=L (1 ) =— xy yX=Y- y z=L (1 ) =— xy y

Nu kan worden gedefinieerd wat de kleur targets moeten zijn. (Er zijn standaarden gedefinieerd voor bijv. HDTV, NTSC, PAL, REC2020 …) Dit zijn de echte kleuren die op het display moeten worden weergegeven.Now you can define what the color targets should be. (Standards have been defined for e.g. HDTV, NTSC, PAL, REC2020…) These are the real colors that should be shown on the display.

Rood Groen BlauwRed Green Blue

NTSC 1953NTSC 1953

Adobe RGB 98 | 0,64 |033 |1 [022 [071 |1 [01 |006 |1Adobe RGB 98 | 0.64 |033 |1 [022 [071 |1 [01 |006 |1

PAL |o63 |033 |1 |03 |06 |1 |015 |006 |1PAL |o63 |033 |1 |03 |06 |1 |015 |006 |1

4 BE2022/58814 BE2022/5881

Alle LED's moeten dus worden 'gekalibreerd' op deze individuele punten, zoals eerder uitgelegd.So all LEDs must be 'calibrated' to these individual points, as explained earlier.

Men kan de kleuren volgens deze normen instellen, maar het is geen must omdat de wiskunde algemeen is.One can set the colors according to these standards, but it is not a must because the mathematics is general.

Target Rode kleur kan gedefinieerd worden als:Target Red color can be defined as:

Rtarg = (Rtargx,Rtargy,RtargY) = (RtargX,RtargY,RtargZ)Rtarg = (Rtargx,Rtargy,RtargY) = (RtargX,RtargY,RtargZ)

Vervolgens kan de lineaire relatie tussen de target waarden en de ‘gemeten waarden’ worden gedefinieerd (voorbeeld hier voor Rood kanaal).The linear relationship between the target values and the 'measured values' can then be defined (example here for Red channel).

RonR betekent hoeveel rood van de native LED moet worden gebruikt in de gewenste (target)kleur Rood. GonR betekent hoeveel Groen van de originele LED-kleur aan dit Rood moet worden toegevoegd, enzovoort.RonR means how much red of the native LED should be used in the desired (target) color Red. GonR means how much Green of the original LED color to add to this Red, and so on.

RtargX = RinX x RonR + GinX x GonR + BinX x BonRRtargX = RinX x RonR + GinX x GonR + BinX x BonR

RtargY = RinY x RonR + GinY x GonR + BinY x BonRRtargY = RinY x RonR + GinY x GonR + BinY x BonR

RtargZ = RinZ x RonR + GinZ x GonR + BinZ x BonRRtargZ = RinZ x RonR + GinZ x GonR + BinZ x BonR

Of in matrix vorm wordt dit:Or in matrix form this becomes:

RinX GinX BinX RonR RtargXRinX GinX BinX RonR RtargX

RinY GinY BinY | x |GonR| = |RtargYRinY GinY BinY | x |GonR| = |RtargY

RinZ GinZ BinZ BonR RtargZRinZ GinZ BinZ BonR RtargZ

Dit ook uitvoeren voor Groen en Blauw leidt tot volgende matrixformule:Performing this also for Green and Blue leads to the following matrix formula:

RinX GinX BinX RonR RonG RonB RtargX GtargX BtargXRinX GinX BinX RonR RonG RonB RtargX GtargX BtargX

RinY GinY BinY|x|GonR GonG GonB|= |RtargY GtargY BtargYRinY GinY BinY|x|GonR GonG GonB|= |RtargY GtargY BtargY

RinZ GinZ BinZ BonR BonG BonB RtargZ GtargZ BtargZRinZ GinZ BinZ BonR BonG BonB RtargZ GtargZ BtargZ

Omdat de invoer bekend is en targets bekend zijn, kan de matrix worden opgelost voor RonR enz.:Since the inputs are known and targets are known, the matrix can be solved for RonR etc.:

RonR RonG RonB (A) = |GonR GonG GonBRonR RonG RonB (A) = |GonR GonG GonB

BonR BonG BonBBonR BonG BonB

RinX GinX BinX] * [RtargX GtargX BtargX = in Giny pin x |Reargr GtargY BuaRinX GinX BinX] * [RtargX GtargX BtargX = in Giny pin x |Reargr GtargY Bua

RinZ GinZ BinZ RtargZ GtargZ BtargZRinZ GinZ BinZ RtargZ GtargZ BtargZ

De targets kunnen er als volgt uitzien: 5 (merk hier op dat de helderheid Y voor alle targets is genormaliseerd naar 1)The targets can look like this: 5 (note here that the brightness Y for all targets is normalized to 1)

Rood Groen Blauw 064 [033 [100 [030 |060 |100 |014 [012 [100 194 |100 [009 [050 [100 [017 |117 [1400 [617Red Green Blue 064 [033 [100 [030 |060 |100 |014 [012 [100 194 |100 [009 [050 [100 [017 |117 [1400 [617

We weten reeds van hierboven datWe already know that from above

RinX GinX BinX 439,64 7495 80,80 in GinY pin is: se 250,00 66,00RinX GinX BinX 439.64 7495 80.80 in GinY pin is: se 250.00 66.00

RinZ GinZ BinZ 2,63 23,67 470,02RinZ GinZ BinZ 2.63 23.67 470.02

RinX GinX Binx]"RinX GinX Binx]”

RinY GinY BinY wordt dus:So RinY GinY BinY becomes:

RinZ GinZ BinZ 0,002616 —0,00075 —0,00034 —0,0021 0,004658 000029 9,13E — 05 —0,00023 0,002144RinZ GinZ BinZ 0.002616 —0.00075 —0.00034 —0.0021 0.004658 000029 9.13E — 05 —0.00023 0.002144

En de uiteindelijke uitkomst voor (A) wordt dan:And the final outcome for (A) then becomes:

RonR | 0,43% 0,05% 0,02% 0,06% 0,36% 0,04% 0,01% 0,02% 1,31%RonR | 0.43% 0.05% 0.02% 0.06% 0.36% 0.04% 0.01% 0.02% 1.31%

Omdat de Y-waarden in de targets zijn genormaliseerd, kan nu extra informatie worden toegevoegd om niet alleen de LED-gekalibreerde kleuren in te stellen op een targetkleur, maar de helderheid van elke individuele targetkleur te gebruiken om het display in te stellen op een vast witpunt wanneer alle RGB-kleuren zijn ingeschakeld.Because the Y values in the targets have been normalized, additional information can now be added to not only set the LED calibrated colors to a target color, but use the brightness of each individual target color to set the display to a fixed white point when all RGB colors are enabled.

In dit voorbeeld is het display ingesteld op het volgende witpunt:In this example, the display is set to the following white point:

6 BE2022/5881 0,423 0,399 480,00 508,87 480,00 214,146 BE2022/5881 0.423 0.399 480.00 508.87 480.00 214.14

RX GX BX R WXRX GX BX R WX

RY GY BY|Xx|G|=|WYRY GY BY|Xx|G|=|WY

RZ GZ BZ B WZRZ GZ BZ B WZ

WX, WY, WZ is het witpunt. De RX, GX, … is in dit geval de targetkleurenmatrix aangezien deze targetkleuren gebruikt gaan worden, en de helderheid van de targets wordt gewijzigd om het juiste witpunt te bereiken. Daarom moet de vergelijking voor RGB worden opgelost.WX, WY, WZ is the white point. The RX, GX, ... in this case is the target color matrix as these target colors will be used, and the brightness of the targets will be changed to achieve the correct white point. Therefore, the equation for RGB must be solved.

R] [RX GX Bx] [WXR] [RX GX Bx] [WX

G|=]RY GY BY] X|WYG|=]RY GY BY]

B RZ GZ BZ WZB RZ GZ BZ WZ

RX GX BX 194 0,50 1,17 er GY ay wordt dan: ra 1,00 100RX GX BX 194 0.50 1.17 er GY ay then becomes: ra 1.00 100

RZ GZ BZ 0,09 017 6,17RZ GZ BZ 0.09 017 6.17

RX GX BX]? 0,690697674 —0,332558 —0,07674 er GY ay wordt dan: 0690418005 1,364535 008895RX GX BX]? 0.690697674 —0.332558 —0.07674 er GY ay then becomes: 0690418005 1.364535 008895

RZ GZ BZ 0,00872093 —0,031977 0,165698RZ GZ BZ 0.00872093 —0.031977 0.165698

R 175,4153 wordt dan: [20.0120R 175.4153 then becomes: [20.0120

B 24,5707B 24.5707

Dus nu is de uiteindelijke target met Y-informatie toegevoegd: 175,4153 |0,30 |0,60 | 280,0140 24,5707So now the final target with Y information added is: 175.4153 |0.30 |0.60 | 280.0140 24.5707

Het laatste nog te doen, is het toepassen (d.w.z. schalen) van de uiteindelijke vermenigvuldigingsfactoren op (A): 75,27% | RonR _|Gr |13,97% 0,44%The last thing left to do is to apply (i.e. scale) the final multipliers to (A): 75.27% | RonR _|Gr |13.97% 0.44%

Rg | 9,68% 99,62% 0,98%Rg | 9.68% 99.62% 0.98%

Rb | 2,48% 4,83% _|BonG |Bb | 32,18%Rb | 2.48% 4.83% _|BonG |Bb | 32.18%

Merk op dat Rr=RonR, Rg=GonR, Rb=BonR enNote that Rr=RonR, Rg=GonR, Rb=BonR and

7 BE2022/5881 dat Gr=RonG, Gg=GonG, Gb=BonG en dat Br=RonB, Bg=GonB, Bb=BonB.7 BE2022/5881 that Gr=RonG, Gg=GonG, Gb=BonG and that Br=RonB, Bg=GonB, Bb=BonB.

En dit is de matrix (A) die kan worden gebruikt in de videopijplijn van Figuur 2, die een schema vertegenwoordigt dat kan worden gevolgd voor de berekening van kleuruitvoer Rout, Gout,And this is the matrix (A) that can be used in the video pipeline of Figure 2, which represents a scheme that can be followed for the calculation of color output Rout, Gout,

Bout op basis van de kalibratiematrix (A) en de kleurinvoer Rin, Gin, Bin zoals ontvangen:Bolt based on the calibration matrix (A) and the color input Rin, Gin, Bin as received:

RonR RonG RonB (Rout, Gout, Bout} = [GonR GonG GonB|x (Rin, Gin, Bin)RonR RonG RonB (Rout, Gout, Bout} = [GonR GonG GonB|x (Rin, Gin, Bin)

BonR BonG BonBBonR BonG BonB

Opgemerkt wordt dat het schema van Figuur 2 beveiligd is tegen vastlopen door middel van het voorzien van Rclip, Gclip, Bclip in het geval dat de maximale waarde zou worden overschreden, of in het geval dat een negatief resultaat wordt bereikt.It is noted that the scheme of Figure 2 is secured against locking by providing Rclip, Gclip, Bclip in case the maximum value is exceeded, or in case a negative result is achieved.

Hiermee is de wiskunde uiteengezet voor de ‘eenvoudige kalibratie.This explains the math for the 'simple calibration.

De volgende stap is om de kalibratie inhoudsafhankelijk te maken door middel van zogenaamde inhoudsafhankelijke kalibratie.The next step is to make the calibration content-dependent through so-called content-dependent calibration.

De reden waarom dit eerder is uitgevonden, zoals bijvoorbeeld beschreven in eerdere octrooiaanvrage US2020/0286424 van dezelfde Aanvrager (en inmiddels veelvuldig getest en geïmplementeerd) is tweeledig: 1/ visueel (perceptueel probleem) bij het kalibreren van blauwe kleuren, resulterend in verbetering van de perceptuele kleurdiepte, en 2/ vanwege problemen met betrekking tot Blauw kalibratie. Beide worden nu verder besproken. 1/ Visueel (perceptueel probleem) bij het kalibreren van blauwe kleuren, wat resulteert in een verbetering van de perceptuele kleurdiepteThe reason why this was invented earlier, as described for example in previous patent application US2020/0286424 from the same Applicant (and has now been extensively tested and implemented) is twofold: 1/ visual (perceptual problem) when calibrating blue colors, resulting in improvement of the perceptual color depth, and 2/ due to issues related to Blue calibration. Both will now be discussed further. 1/ Visual (perceptual problem) when calibrating blue colors, resulting in an improvement in perceptual color depth

De achtergrond van deze uitvinding is afgeleid van de visuele parameters die worden uitgelegd in "Handbook of Visual Display Technology": Thielemans R. (2012) LED Display Applications andThe background of this invention is derived from the visual parameters explained in "Handbook of Visual Display Technology": Thielemans R. (2012) LED Display Applications and

Design Considerations - Springer, Berlin, Heidelberg. Hier is een kleine samenvatting van de factoren van het menselijk oog die zijn gekwantificeerd, maar (zoals later besproken) niet volledig.Design Considerations - Springer, Berlin, Heidelberg. Here is a small summary of the factors of the human eye that have been quantified, but (as discussed later) not complete.

8 BE2022/5881 e Kleurwaarneming van het menselijk oog is het meest gevoelig in x-richting en minder in y-richting (zie bijv. MacAdam in “Handbook of Visual Display Technology”). Echter — en dit is nog niet volledig gekwantificeerd — dit veronderstelt dat alle kleuren dezelfde helderheid hebben. Wanneer de helderheid van kleuren wordt gevarieerd, is het bewezen dat de kleurperceptie van het menselijk oog verandert, maar hiervoor is geen wiskunde beschikbaar. e Wat betreft resolutie, oftewel hoe mensen de scherpte van een foto of afbeelding waarnemen, is deze het gevoeligst in de Rode component. De minst gevoelige is de8 BE2022/5881 he Color perception of the human eye is most sensitive in the x-direction and less so in the y-direction (see, for example, MacAdam in “Handbook of Visual Display Technology”). However — and this has not yet been fully quantified — this assumes that all colors have the same brightness. When the brightness of colors is varied, it has been proven that the human eye's color perception changes, but there is no mathematics available for this. e In terms of resolution, or how people perceive the sharpness of a photo or image, it is most sensitive in the Red component. The least sensitive is the

Blauwe component. Het beste voorbeeld om dit te laten zien is het lezen van blauwe tekst op een zwarte achtergrond. Dit is veel moeilijker in vergelijking met het lezen van een rode tekst op een zwarte achtergrond. e Het menselijk oog is ook niet gevoelig voor geleidelijke helderheidvariaties. Het beste voorbeeld is b.v. een projector of beamer. De gemeten helderheid in de hoeken is slechts 25% ten opzichte van de helderheid in het centrum (100%). Mensen zullen dit als ‘uniform! ervaren. Directe verschillen in helderheid zullen veel sneller worden waargenomen (binnen tolerantiegrenzen). 2/ Problemen met betrekking tot Blauw kalibratieBlue component. The best example to demonstrate this is reading blue text on a black background. This is much more difficult compared to reading red text on a black background. e The human eye is also not sensitive to gradual brightness variations. The best example is e.g. a projector or projector. The measured brightness in the corners is only 25% compared to the brightness in the center (100%). People will refer to this as 'uniform! experienced. Direct differences in brightness will be perceived much faster (within tolerance limits). 2/ Problems related to Blue calibration

Stel dat men 2 verschillende blauwe LED's heeft die men wil kalibreren naar dezelfde Blauwe kleurtarget. Om dezelfde target te bereiken, moeten enkele weinige Rode en Groene toevoegingen worden aangebracht om de juiste kleur te krijgen. Wanneer gemeten met een spectrometer (en ook op sommige camera's), zullen deze LED's perfect worden afgesteld en beide hebben dezelfde X, Y en Z. Echter, wanneer ze door een mens worden bekeken, zal deSuppose you have 2 different blue LEDs that you want to calibrate to the same blue color target. To achieve the same target, a few Red and Green additions must be made to get the right color. When measured with a spectrometer (and also on some cameras), these LEDs will be perfectly aligned and both have the same X, Y and Z. However, when viewed by a human, the

Blauwe LED met de meeste 'rode' toevoeging worden waargenomen als bijna donker, roodachtig in vergelijking met 'witachtige' Blauwe LED waar Groen meer is toegevoegd. Dit fenomeen is ook afhankelijk van de kijkafstand. Het fysieke fenomeen dat gebeurt, is dat het ‘menselijke’ oog 'vergrendelt' op de smalbandige rode emitter (onthoud dat het menselijk oog gevoelig is voor 'resolutie'). Deze ‘vergrendeling’ op de Rode frequentie heeft tot gevolg dat waargenomen Blauwe componenten niet meer ‘zichtbaar’ zijn en dus een totaal andere visuele waarneming opleveren. De CIE-standaard is gemaakt voor breedbandkleuremitters en niet voor smalbandige emitters, en houdt dus geen rekening met deze 'perceptie'. Ook - zoals eerder vermeld - houdt het geen rekening met helderheid. Dus, hoewel er veel (bewezen) wiskundeBlue LED with most 'red' addition are perceived as almost dark, reddish compared to 'whitish' Blue LED where Green is added more. This phenomenon also depends on the viewing distance. The physical phenomenon that happens is that the 'human' eye 'locks' onto the narrow band red emitter (remember that the human eye is sensitive to 'resolution'). This 'locking' on the Red frequency means that perceived Blue components are no longer 'visible' and therefore produce a completely different visual perception. The CIE standard was created for broadband color emitters and not for narrowband emitters, so it does not take this 'perception' into account. Also - as mentioned earlier - it doesn't take brightness into account. So, although there is a lot of (proven) math

9 BE2022/5881 beschikbaar is over kleuren, is de menselijke perceptie nog steeds ‘koning’. Als conclusie kunnen we stellen dat hoewel men Blauwe LED's kan kalibreren om volledig gelijk te zijn volgens CIE, de perceptie van kleur toch anders is.9 BE2022/5881 is available about colours, human perception is still 'king'. In conclusion we can say that although Blue LEDs can be calibrated to be completely identical according to CIE, the perception of color is still different.

Aan de andere kant wordt een variatie in helderheid in Blauw waargenomen als een kleurvariatie en dit wordt weergegeven in Figuur 3. Dezelfde RGB-kleur in Blauw met verschillende helderheid (0,0,152) aangegeven als B1 versus (0,0,255) aangegeven als B2 wordt dieper Blauw waargenomen. En deze kleur (0,0,255) B2 komt 'visueel' dichter bij (0,38,255) aangegeven als B3 in vergelijking met (0,0,152) B1, terwijl technisch (0,0,152) B1 en (0,0,255) B2 dezelfde kleuren zijn .On the other hand, a variation in brightness in Blue is perceived as a color variation and this is shown in Figure 3. The same RGB color in Blue with different brightness (0.0.152) denoted as B1 versus (0.0.255) denoted as B2 is deeper blue observed. And this color (0,0,255) B2 is 'visually' closer to (0,38,255) denoted as B3 compared to (0,0,152) B1, while technically (0,0,152) B1 and (0,0,255) B2 are the same colors are .

Dit betekent - voor kalibratiedoeleinden van displays - dat in het geval dat Blauwe batches van kleuren moeten worden gekalibreerd, helderheidsvariaties een veel betere ‘waargenomen! uniformiteit zullen opleveren. Als gevolg hiervan hebben LED's die deze Blauwe helderheidsvariatie nodig hebben, een andere matrix nodig. Vandaar de noodzaak van twee matrices. Maar variërende helderheid van een targetkleur heeft tot gevolg dat (indien gebruikt met ook R en G) het witpunt verandert. Dus de LED's die Blauw kalibratie nodig hebben door deThis means - for display calibration purposes - that in the event that Blue batches of colors need to be calibrated, brightness variations will be perceived much better! will produce uniformity. As a result, LEDs that require this Blue brightness variation require a different matrix. Hence the need for two matrices. But varying brightness of a target color (if used with R and G) causes the white point to change. So the LEDs that need Blue calibration by the

Blauwe helderheid te wijzigen, geven een totaal ander witpunt. Dit is helemaal niet wenselijk.Changing blue brightness gives a completely different white point. This is not desirable at all.

Daarom bestaat de oplossing in het gebruik van een factor die inhoudsafhankelijk is. Deze factor bepaalt wanneer de 'Blauwe' matrix of de 'normale' matrix moet worden gebruikt.Therefore, the solution is to use a factor that is content dependent. This factor determines when to use the 'Blue' matrix or the 'normal' matrix.

We begrijpen nu beter dat dit principe niet alleen handig is voor het ‘kalibreren’ van een display, maar ook kan worden gebruikt om de kleurdieptewaarneming te verbeteren (en dit werkt ook op Groen, Rood …). Als voorbeeld, is uit de LED-industrie bekend dat traditionele Blauwe LED's (vaak) niet ‘diep’ genoeg van kleur zijn. Meestal zijn ze boven 470nm, terwijl wenselijk 460nm is. Het veranderen van een 470nm Blauwe LED om te spelen bij lage helderheid geeft de visuele indruk dat het speelt op 460nm.We now better understand that this principle is not only useful for 'calibrating' a display, but can also be used to improve color depth perception (and this also works on Green, Red...). As an example, it is known from the LED industry that traditional Blue LEDs are (often) not 'deep' enough in color. Usually they are above 470nm, while desirable is 460nm. Changing a 470nm Blue LED to play at low brightness gives the visual impression that it is playing at 460nm.

Een belangrijke kanttekening is dat, aangezien nu 'visuele waarneming’ in beeld wordt gebracht, de strikte bewoording van 'kalibreren' van een display hier niet langer van toepassing is, aangezien het woord 'kalibratie' perfecte / meetbare uniforme instellingen impliceert op basis van rechttoe-rechtaan metingen en wiskundig correcte aanpassingen.An important caveat is that as 'visual perception' is now brought into focus, the strict wording of 'calibrating' a display no longer applies here, as the word 'calibration' implies perfect/measurable uniform settings based on straightforward -straightforward measurements and mathematically correct adjustments.

10 BE2022/588110 BE2022/5881

We eindigen met een voorbeeld van hoe inhoudsafhankelijke kalibratie kan worden bereikt terwijl gebruik wordt gemaakt van de videopijplijn zoals weergegeven in Figuur 4, die een flow weergeeft voor de bepaling van de kleuruitvoer Rout, Gout, Bout voor de primaire kleuren RGB op basis van de kalibratie gedefinieerd door 2 matrices Matrix1, Matrix2 en op de kleurinvoerWe end with an example of how content-dependent calibration can be achieved while using the video pipeline shown in Figure 4, which shows a flow for determining the color output Rout, Gout, Bout for the primary colors RGB based on the calibration defined by 2 matrices Matrix1, Matrix2 and on the color input

Rin, Gin, Bin voor de primaire kleuren RGB zoals ontvangen. De uiteindelijke kalibratiematrixRin, Gin, Bin for the RGB primary colors as received. The final calibration matrix

Mfinal is dan b.v. gedefinieerd door deze 2 matrices en hun gewicht, gedefinieerd door de zogenaamde Factor. We kunnen bijvoorbeeld Mfinal = Factor x Matrix1 + (1-Factor) x Matrix2 hebben.Mfinal is then e.g. defined by these 2 matrices and their weight, defined by the so-called Factor. For example, we can have Mfinal = Factor x Matrix1 + (1-Factor) x Matrix2.

Opgemerkt wordt dat de matrices (vanwege variaties in LED's) voor elke individuele RGB-LED anders zijn. Onderstaand voorbeeld wordt uitgelegd aan de hand van één LED.It is noted that the matrices (due to variations in LEDs) are different for each individual RGB LED. The example below is explained using one LED.

Men definieert een matrix die moet worden gebruikt wanneer alleen Blauw moet worden weergegeven (MBonly) en men definieert een matrix wanneer Blauw wordt gebruikt terwijl ookOne defines a matrix to be used when only Blue is to be displayed (MBonly) and one defines a matrix when Blue is used while also

Groen en Rood worden weergegeven (MBmix). De matrices worden op dezelfde manier afgeleid als eerder uitgelegd in het ‘traditionele’ voorbeeld. Om hier een voorbeeld te geven, kunnen de matrices worden afgeleid door de targetkleuren helderheid van Blauw te wijzigen.Green and Red are displayed (MBmix). The matrices are derived in the same way as previously explained in the 'traditional' example. To give an example here, the matrices can be derived by changing the target color brightness from Blue.

De target voor MBmix gebruikt dezelfde targetwaarden als in het vorige voorbeeld (cfr. witpunt): 0,64 |0,33 |175,4153 | 0,30 |0,60 |280,0140|0,14 [012 | 24,5707The target for MBmix uses the same target values as in the previous example (cf. white point): 0.64 |0.33 |175.4153 | 0.30 |0.60 |280.0140|0.14 [012 | 24.5707

En dit levert de matrix MBmix:And this produces the matrix MBmix:

Rr — |75,27% |RonR |Gr _ |13,97% |RonG |Br __ |044% |RonBRr — |75.27% |RonR |Gr _ |13.97% |RonG |Br __ |044% |RonB

Rg | 968% | GonR |Gg | 99,62% |GonG |Bg |0,98% |GonBRg | 968% | GonR |Gg | 99.62% |GonG |Bg |0.98% |GonB

Rb _|248% |BonR |Gb — | 483% |BonG |Bb — |32,18% |BonBRb _|248% |BonR |Gb — | 483% |BonG |Bb — |32.18% |BonB

Voor de matrix alleen Blauw (MBonly) zijn de targets ingesteld op: 0,64 |0,33 |175,4153 | 0,30 |0,60 |280,0140|0,14 [012 | 12,2854For the matrix Blue only (MBonly), the targets are set to: 0.64 |0.33 |175.4153 | 0.30 |0.60 |280.0140|0.14 [012 | 12.2854

Dit geeft een totaal verkeerd witpunt, maar het target Blauw wordt in dit voorbeeld ingesteld op 50%.This gives a completely wrong white point, but the target Blue is set to 50% in this example.

11 BE2022/588111 BE2022/5881

En dit levert de matrix MBonly:And this produces the matrix MBonly:

Rr — |75,27% |RonR |Gr _ |13,97% |RonG |Br __ |044% |RonBRr — |75.27% |RonR |Gr _ |13.97% |RonG |Br __ |044% |RonB

Re [9.68% | GonR |G | 99,62% |GonG |Bg |0,98% |GonBRe [9.68% | GonR |G | 99.62% |GonG |Bg |0.98% |GonB

Rb [123% |BonR |Gb — | 240% |BonG |Bb —_|15,97% |BonBRb [123% |BonR |Gb — | 240% |BonG |Bb —_|15.97% |BonB

Aangezien alleen de helderheid van target Blauw is gewijzigd, worden in dit voorbeeld alleenSince only the brightness of target Blue has been changed, in this example only

BonR, BonG en BonB beïnvloed. Het is aan de verbeelding van de gebruiker om allerlei instellingen aan te passen en ermee te spelen. Men kan zelfs geleidelijk veranderen b.v. Blauw naar Groen met behulp van deze pijplijn wanneer een bepaalde parameter in de inhoud verandert.BonR, BonG and BonB affected. It is up to the user's imagination to adjust and play with all kinds of settings. One can even change gradually, e.g. Blue to Green using this pipeline when a certain parameter in the content changes.

De volgende vraag die moet worden beantwoord, is hoe te definiëren wanneer welke matrix moet worden gebruikt. Aangezien we in dit voorbeeld een waargenomen diep Blauwe kleur willen laten zien, wordt van het volgende uitgegaan: e MBonly moet voor 100% worden gebruikt als de te tonen inhoud alleen blauw is e MBmix moet voor 100% worden gebruikt als er sprake is van een substantiële mix van Rood en GroenThe next question to be answered is how to define when to use which matrix. Since we want to show a perceived deep Blue color in this example, the following is assumed: e MBonly should be used at 100% if the content to be shown is only blue e MBmix should be used at 100% if there is a substantial mix of Red and Green

De uiteindelijke te gebruiken matrix is dus:The final matrix to be used is therefore:

Mfinal = Factor x MBmix + (1-Factor) MBonlyMfinal = Factor x MBmix + (1-Factor) MBonly

Wanneer Factor = 1, betekent dit Mfinal = Mbmix. Wanneer Factor = 0, Mfinal = MBonly.When Factor = 1, it means Mfinal = Mbmix. When Factor = 0, Mfinal = MBonly.

Vervolgens definiëren we een formule die rekening houdt met bovenstaande aannames en die we ook in real-time kunnen implementeren:We then define a formula that takes into account the above assumptions and that we can also implement in real time:

Factor = max (2x(R+ G)/(R+G+B);1)Factor = max (2x(R+ G)/(R+G+B);1)

Factor = 0 wanneer alleen Blauw moet worden weergegeven. 0 < Factor < 1 wanneer Blauw een ‘geringe’ betrokkenheid heeft bij de te tonen content.Factor = 0 when only Blue should be displayed. 0 < Factor < 1 when Blue has a 'little' involvement in the content to be shown.

Factor > 1 (clipped) wanneer Blauw een substantieel aandeel heeft in de mix van kleuren.Factor > 1 (clipped) when Blue has a substantial share in the mix of colors.

12 BE2022/588112 BE2022/5881

Er zijn allerlei andere formules denkbaar, maar dit voorbeeld heeft het voordeel dat het vrij eenvoudig kan worden geïmplementeerd in real-time FPGA-berekeningen. Voorbeelden vanMany other formulas are conceivable, but this example has the advantage that it can be implemented quite easily in real-time FPGA calculations. Examples of

Factoren zijn te vinden in de tabel in Figuur 5.Factors can be found in the table in Figure 5.

Verwijzend naar de tabel van Figuur 5, in het geval dat Rood = 0,25, Groen = 0 en Blauw = 0,5 dan wordt Factor 0,667.Referring to the table of Figure 5, in case Red = 0.25, Green = 0 and Blue = 0.5 then Factor becomes 0.667.

De uiteindelijke berekening Mfinal wordt dan: 75,27% | RonR _|Gr |13,97% 0,44%The final calculation Mfinal then becomes: 75.27% | RonR _|Gr |13.97% 0.44%

Rg | 9,68% 99,62% 0,98%Rg | 9.68% 99.62% 0.98%

Rb | 2,07% 4,03% _|BonG |Bb | 26,83%Rb | 2.07% 4.03% _|BonG |Bb | 26.83%

Doel van de uitvindingPurpose of the invention

Het doel van de uitvinding is te zoeken naar een praktische manier om afwijkingen als gevolg van niet-lineariteiten (veroorzaakt door de pixeldrivers) te bepalen en vervolgens, eenmaal vastgesteld, hoe deze afwijkingen te corrigeren of (real-time) te compenseren. Het is verder te bedoeling om een fysieke (constant current driver) implementatie (van de correctie of compensatie) te definiëren die ook de berekencomplexiteit in LED-aandrijfsystemen vermindert.The aim of the invention is to look for a practical way to determine deviations due to non-linearities (caused by the pixel drivers) and then, once determined, how to correct or compensate (real-time) these deviations. The further intention is to define a physical (constant current driver) implementation (of the correction or compensation) that also reduces the calculation complexity in LED drive systems.

Samenvatting van de uitvindingSummary of the Invention

In het kort, verschaft de uitvinding een methode voor een verbeterde kleur- en/of grijsschaalweergave van lichtgevende displays door middel van niet-lineaire compensatie, en bovendien elektronische systemen voor het implementeren van een dergelijke methode, hetzij globaal (op basis van FPGA), hetzij lokaal (chip gebaseerd).In short, the invention provides a method for improved color and/or gray scale display of luminous displays by means of non-linear compensation, and furthermore electronic systems for implementing such a method, either globally (FPGA based), either locally (chip based).

In het bijzonder, erkennend dat het gebruik van kalibratie zoals bekend uit de techniek (en die in wezen lineaire relaties veronderstellen) onvoldoende is, b.v. voor hoge-kwaliteit displayperformantie, moet een extra correctie of compensatie (vanwege niet-lineariteiten) worden bepaald en gebruikt. Er moet echter worden gezegd dat zelfs in het geval dat er geen kalibratie heeft plaatsgevonden, er niet-lineariteiten optreden, en daarom is hoe dan ook eenIn particular, recognizing that the use of calibration as known in the art (and which essentially assumes linear relationships) is insufficient, e.g. for high-quality display performance, an additional correction or compensation (due to non-linearities) must be determined and used. However, it must be said that even in the case where no calibration has taken place, non-linearities occur, and therefore a

13 BE2022/5881 correctie of compensatie vereist om een betere kleur- en/of grijswaardenuitvoer van video of afbeeldingen die worden weergegeven te verkrijgen. In tegenstelling tot de standaard kalibratiestappen, waarin vanwege het samenspel tussen (primaire) kleuren (3x3) matrices worden gebruikt, uitgevoerd per displaypixel, kan het voor de extra correctie of compensatie voldoende zijn om dit te doen voor slechts één (primaire) kleur en per cluster van displaypixels.13 BE2022/5881 correction or compensation required to obtain better color and/or grayscale output of video or images being displayed. In contrast to the standard calibration steps, which use (3x3) matrices performed per display pixel due to the interplay between (primary) colors, for the additional correction or compensation it may be sufficient to do this for only one (primary) color and per cluster of display pixels.

Opgemerkt wordt dat de kalibratie afhankelijk kan zijn van een display-inhoudcontext en/of display-opstelling, dus inhoudsafhankelijke kalibratie kan worden gebruikt zoals bekend in de techniek. De niet-lineaire compensatie kan gebaseerd zijn op de helderheid (Y-waarde van kleurruimtecoördinaten) gedefinieerd door een wiskundige formule. Als alternatief kan op de compensatie worden vertrouwd op wat is opgeslagen in één of meer opzoektabellen (of geheugen), die elk bestaan uit invoerwaarden en corresponderende uitvoerwaarden waarbij rekening wordt gehouden met de niet-lineariteiten. Gezien de hoeveelheid (benodigde) opslagruimte voor de niet-lineaire compensatie, kan het gebruik van meerdere kleine opzoektabellen (met verminderde bit-representatie) in plaats van één enkele grote worden voorgesteld, inclusief het uitvoeren van interpolatieberekeningen tussen deze kleine opzoektabellen. Verder erkennend dat het bovenstaande nog steeds onvoldoende kan zijn voor hoge-kwaliteit displayperformantie, kan een aanvullende temperatuurcorrectie worden toegepast.It is noted that the calibration may be dependent on a display content context and/or display arrangement, so content dependent calibration may be used as known in the art. The non-linear compensation can be based on the brightness (Y value of color space coordinates) defined by a mathematical formula. Alternatively, the compensation can rely on what is stored in one or more lookup tables (or memory), each consisting of input values and corresponding output values taking into account the non-linearities. Considering the amount of (required) storage space for the non-linear compensation, the use of multiple small lookup tables (with reduced bit representation) instead of a single large one can be suggested, including performing interpolation calculations between these small lookup tables. Further recognizing that the above may still be insufficient for high-quality display performance, an additional temperature correction may be applied.

Voor sommige aspecten van de onderhavige uitvinding die hieronder verder worden beschreven, kan worden verwezen naar een eerdere aanvraag van dezelfde Aanvrager, waaronder bijvoorbeeld WO2019/215219 A1, getiteld "STANDALONE LIGHT-EMITTINGFor some aspects of the present invention further described below, reference may be made to a previous application by the same Applicant, including for example WO2019/215219 A1, entitled "STANDALONE LIGHT-EMITTING

ELEMENT DISPLAY TILE AND METHOD" en gepubliceerd op 14 november 2019, enELEMENT DISPLAY TILE AND METHOD” and published on November 14, 2019, and

US2020/0286424, getiteld “REAL-TIME VERVORMBARE EN TRANSPARANTE DISPLAY" en gepubliceerd op 10 september 2020. Wanneer dit relevant lijkt voor één van de aspecten van de onderhavige uitvinding, zal deze verwijzing in het bijzonder en expliciet hieronder worden gemaakt.US2020/0286424, entitled “REAL-TIME DEFORMABLE AND TRANSPARENT DISPLAY” and published on September 10, 2020. Where it appears relevant to any aspect of the present invention, such reference will be made specifically and explicitly below.

Volgens een eerste aspect van de uitvinding, wordt een werkwijze verschaft voor het bepalen van niet-lineaire display pixeldriver compensatie uitgevoerd door een verwerkingssysteem van (of voor) een licht-emitterend display dat wordt gekenmerkt door één of meer kleuren, waarbij genoemd licht-emitterend display pixels omvat die worden gecontrolleerd door pixeldrivers. De ‘bepalings'methode omvat de volgende stappen: (i) het meten van (real-time) (on-display)According to a first aspect of the invention, a method is provided for determining non-linear display pixel driver compensation performed by a processing system of (or for) a light-emitting display characterized by one or more colors, said light-emitting display includes pixels controlled by pixel drivers. The 'assessment' method includes the following steps: (i) measuring (real-time) (on-display)

14 BE2022/5881 (kleur)waarden voor ten minste één van de één of meer kleuren (en/of één of meer pixels, d.w.z. een pixel of cluster van pixels); (ii) het berekenen van (theoretische) (kleur)waarden voor de ten minste één van de één of meer kleuren (op basis van een lineair verband) (en/of één of meer pixels); (iii) het vergelijken van gemeten en corresponderende berekende waarden; (iv) het waarnemen (per kleur en voor ten minste één kleur) van een afwijking in de gemeten waarden als gevolg van niet-lineariteiten (veroorzaakt door de pixeldrivers), en het bepalen van deze afwijking als de niet-lineaire pixeldriver compensatie. Voor de waarden wordt verwezen naar de kleurruimte of lineaire ruimte, gedefinieerd door 3 coördinaten (x, y, Y) of (X, Y, Z). In het algemeen, en bij voorkeur, zal het verwerkingssysteem intern in het display zijn aangebracht.14 BE2022/5881 (color) values for at least one of the one or more colors (and/or one or more pixels, i.e. a pixel or cluster of pixels); (ii) calculating (theoretical) (color) values for at least one of the one or more colors (based on a linear relationship) (and/or one or more pixels); (iii) comparing measured and corresponding calculated values; (iv) detecting (per color and for at least one color) a deviation in the measured values due to non-linearities (caused by the pixel drivers), and determining this deviation as the non-linear pixel driver compensation. The values refer to the color space or linear space, defined by 3 coordinates (x, y, Y) or (X, Y, Z). Generally, and preferably, the processing system will be internal to the display.

Het kan echter zijn, technisch gezien, om een verwerkingssysteem buiten of extern t.o.v. het display te hebben. In het algemeen kan één pixeldriver worden gebruikt voor een cluster van pixels, bijvoorbeeld een veelvoud van 16, zoals b.v. 64 of 256 pixels (per cluster).However, it may be possible, technically, to have a processing system outside or external to the display. In general, one pixel driver can be used for a cluster of pixels, for example a multiple of 16, e.g. 64 or 256 pixels (per cluster).

Volgens een uitvoeringsvorm wordt het licht-emitterend display gekenmerkt door ten minste drie (primaire) kleuren.According to an embodiment, the light-emitting display is characterized by at least three (primary) colors.

Het bepalen van de niet-lineaire display pixeldriver compensatie (en dus alle stappen die daarvan deel uitmaken, of hierbij betrokken zijn) kan worden uitgevoerd voor elke displaypixel of cluster van displaypixels.Determining the non-linear display pixel driver compensation (and therefore all steps that are part of, or involved in, it) can be performed for each display pixel or cluster of display pixels.

Volgens een uitvoeringsvorm wordt, voorafgaand aan alle stappen (i) tot (iv), kalibratie uitgevoerd door middel van de volgende stappen: (a) het lezen, laden of invoeren van de (native) (kleur)waarden (in weergave met 3 coördinaten) gemeten (wat je hier zou kunnen interpreteren als een pre-kalibratiemeting, d.w.z. een meting voordat de kalibratieberekeningen of bewerkingen plaatsvinden) (met een spectrometer) voor de één of meer kleuren van (elk van de pixels van) het display; (b) het lezen, laden of invoeren van de targetwaarden (zoals waargenomen door een menselijk oog en/of een camera die de displayuitvoer opneemt) voor één of meer kleuren van (elk van de pixels van) het display; en (c) voor de één of meer kleuren, het berekenen (via matrixbewerkingen) van corresponderende kalibratiematrices op basis van de gemeten en targetwaarden (in het bijzonder op basis van het verschil daartussen). Rekening houdend met deze kalibratie, en terug verwijzend naar de 'bepalings'methode zelf, kunnen wanneer nu stap (ii) van het berekenen van (theoretische) (kleur)waarden wordt uitgevoerd, de kalibratiematrices worden gebruikt. De kalibratiematrices kunnen gebaseerd zijn op display- inhoudcontext en/of display-opstellingen, zoals bekend bij inhoudsafhankelijke kalibratie (zie bijvoorbeeld eerdere octrooiaanvragen WO2019/215219 A1 en US2020/0286424 die hierboven zijn vermeld, van dezelfde Aanvrager).According to an embodiment, prior to all steps (i) to (iv), calibration is performed by means of the following steps: (a) reading, loading or entering the (native) (color) values (in 3-coordinate display ) measured (which you could interpret here as a pre-calibration measurement, i.e. a measurement before the calibration calculations or operations take place) (with a spectrometer) for the one or more colors of (each of the pixels of) the display; (b) reading, loading or entering the target values (as perceived by a human eye and/or a camera recording the display output) for one or more colors of (each of the pixels of) the display; and (c) for the one or more colors, calculating (via matrix operations) corresponding calibration matrices based on the measured and target values (in particular based on the difference between them). Taking this calibration into account, and referring back to the 'determination' method itself, when step (ii) of calculating (theoretical) (color) values is now performed, the calibration matrices can be used. The calibration matrices can be based on display content context and/or display arrangements, as known in content-dependent calibration (see for example previous patent applications WO2019/215219 A1 and US2020/0286424 mentioned above, by the same Applicant).

15 BE2022/588115 BE2022/5881

Volgens een tweede aspect van de uitvinding, wordt een werkwijze verschaft voor het implementeren van niet-lineaire display pixeldriver compensatie, uitgevoerd door een verwerkingssysteem van (of voor) een licht-emitterend display dat wordt gekenmerkt door één of meer kleuren, waarbij genoemd licht-emitterend display pixels omvat die worden gecontrolleerd door pixeldrivers. De 'implementatie'methode omvat de volgende stappen: (i) het bepalen van de niet-lineaire display pixeldriver compensatie op basis van de werkwijze van het eerste aspect, of het lezen, laden of invoeren van de niet-lineaire display pixeldriver compensatie, bepaald op basis van de werkwijze van het eerste aspect, en (ii) het compenseren (of corrigeren) van de afwijking bepaald als de niet-lineaire display pixeldriver compensatie.According to a second aspect of the invention, there is provided a method of implementing non-linear display pixel driver compensation performed by a processing system of (or for) a light-emitting display characterized by one or more colors, wherein said light-emitting emissive display includes pixels controlled by pixel drivers. The 'implementation' method includes the following steps: (i) determining the non-linear display pixel driver compensation based on the method of the first aspect, or reading, loading or inputting the non-linear display pixel driver compensation, determined based on the method of the first aspect, and (ii) compensating (or correcting) the deviation determined as the non-linear display pixel driver compensation.

Volgens een uitvoeringsvorm is genoemde compensatie gebaseerd op de helderheid (Y-waarde van kleurruimtecoördinaten) gedefinieerd door een wiskundige formule.According to an embodiment, said compensation is based on the brightness (Y value of color space coordinates) defined by a mathematical formula.

Volgens een uitvoeringsvorm is genoemde compensatie gebaseerd op het gebruik van één of meer opzoektabellen (waarvan gegevens worden opgeslagen in (niet-vluchtig) geheugen), in het bijzonder op wat wordt opgeslagen in (of weergegeven door) de één of meer opzoektabellen, elk bestaande uit invoerwaarden en corresponderende uitvoerwaarden, rekening houdend met de niet-lineariteiten. Bovendien kan genoemde compensatie worden gebaseerd op wat is opgeslagen in meerdere (d.w.z. ten minste twee) opzoektabellen met verminderde bitrepresentatie (om de benodigde hoeveelheid geheugen te verminderen), in het bijzonder wordt genoemde compensatie gedefinieerd op basis van uitgevoerde interpolatieberekeningen onder deze.According to an embodiment, said compensation is based on the use of one or more lookup tables (data from which is stored in (non-volatile) memory), in particular on what is stored in (or represented by) the one or more lookup tables, each existing from input values and corresponding output values, taking into account the non-linearities. In addition, said compensation can be based on what is stored in multiple (i.e. at least two) lookup tables with reduced bit representation (to reduce the amount of memory required), in particular said compensation is defined based on interpolation calculations performed among them.

Volgens een uitvoeringsvorm wordt de compensatie uitgevoerd voor elke displaypixel of cluster van displaypixels.According to one embodiment, the compensation is performed for each display pixel or cluster of display pixels.

Volgens een derde aspect van de uitvinding, wordt een werkwijze verschaft voor het weergeven van een beeld op een lichtg-emitterend display met niet-lineaire display pixeldriver compensatie. De 'weergave'methode omvat de volgende stappen: (i) het bepalen van de niet- lineaire display pixeldriver compensatie op basis van de werkwijze van het eerste aspect, of het lezen, laden of invoeren van de niet-lineaire display pixeldriver compensatie, bepaald op basis van de werkwijze van eerste aspect; (ii) het implementeren van de niet-lineaire display pixeldriver compensatie op basis van de werkwijze van het tweede aspect; en (iii) het weergeven van het beeld.According to a third aspect of the invention, a method of displaying an image on a light-emitting display with non-linear display pixel driver compensation is provided. The 'display' method includes the following steps: (i) determining the non-linear display pixel driver compensation based on the method of the first aspect, or reading, loading or entering the non-linear display pixel driver compensation, determined based on the method of the first aspect; (ii) implementing the non-linear display pixel driver compensation based on the method of the second aspect; and (iii) displaying the image.

16 BE2022/588116 BE2022/5881

Volgens een uitvoeringsvorm wordt een extra temperatuurcorrectie toegepast om de weergave van het beeld verder te verbeteren.According to one embodiment, an additional temperature correction is applied to further improve the display of the image.

Volgens een vierde aspect van de uitvinding, wordt een systeem verschaft voor een licht- emitterend display, in het bijzonder voor het aansturen van licht-emitterende elementen of pixels daarvan. Het systeem maakt mogelijk deel uit van het licht-emitterend display, kan worden ingebouwd of daaraan worden bevestigd. Het systeem omvat een invoerprotocol voor het ontvangen van (weer te geven) (video)invoer en een PWM-genererende module voor het omzetten van genoemde invoer in signalen die worden geleverd aan pixeldrivers (bijvoorbeeld één of meer), waarbij de licht-emitterende elementen of pixels worden gedefinieerd en gecontrolleerd in de door hen uit te zenden (en in de vorm van video weergegeven) (lichtjuitvoer. Het systeem omvat ook een (aanvullende) module voor het bepalen en implementeren van niet-lineaire display pixeldriver compensatie (vanwege niet-lineariteiten veroorzaakt door de pixeldrivers) volgens de werkwijze van respectievelijk eerste en tweede aspect.According to a fourth aspect of the invention, a system is provided for a light-emitting display, in particular for controlling light-emitting elements or pixels thereof. The system may be part of the light-emitting display, may be built-in or attached to it. The system includes an input protocol for receiving (displaying) (video) input and a PWM generating module for converting said input into signals supplied to pixel drivers (e.g. one or more), where the light-emitting elements or pixels are defined and controlled in the light output to be transmitted (and displayed in the form of video) by them. The system also includes a (supplementary) module for defining and implementing non-linear display pixel driver compensation (due to non- linearities caused by the pixel drivers) according to the method of the first and second aspects respectively.

Volgens een uitvoeringsvorm omvat het systeem voorts een module voor het uitvoeren van kalibratie (bijvoorbeeld zoals naar verwezen in een uitvoeringsvorm van de werkwijze van eerste aspect) en hiermee het bepalen van kalibratiematrices die moeten worden gebruikt bij het (uiteindelijk) definiëren van de uitvoer die moet worden uitgezonden door de licht-emitterende elementen of pixels (van het display).According to an embodiment, the system further comprises a module for performing calibration (for example as referred to in an embodiment of the method of the first aspect) and thereby determining calibration matrices to be used in (ultimately) defining the output to be are emitted by the light-emitting elements or pixels (of the display).

Volgens een uitvoeringsvorm is genoemde compensatie van de werkwijze van het tweede aspect, voor het implementeren van niet-lineaire display pixeldriver compensatie, in het bijzonder gebaseerd op het gebruik van één of meer opzoektabellen en de gegevens voor deze één of meer opzoektabellen die worden opgeslagen in en dus worden opgehaald uit een niet- vluchtig geheugen van het verwerkingssysteem. Bovendien omvatten de één of meer opzoektabellen hierbij elk invoerwaarden en corresponderende uitvoerwaarden die rekening houden met de niet-lineariteiten die moeten worden opgenomen in de signalen voor de pixeldrivers.According to an embodiment, said compensation of the method of the second aspect, for implementing non-linear display pixel driver compensation, is based in particular on the use of one or more lookup tables and the data for this one or more lookup tables is stored in and thus are retrieved from a non-volatile memory of the processing system. In addition, the one or more lookup tables herein each include input values and corresponding output values that take into account the non-linearities to be included in the signals for the pixel drivers.

Overzicht van de tekeningenOverview of the drawings

17 BE2022/588117 BE2022/5881

Figuur 1 illustreert een uitvoeringsvorm van de traditionele kalibratievideopijplijn in overeenstemming met de techniek, die een flow weergeeft voor de bepaling van de kleuruitvoer Rout, Gout, Bout voor de primaire kleuren RGB op basis van de kalibratiematrix (A), indien bepaald, en op de kleurinvoer Rin, Gin, Bin voor de primaire kleuren RGB zoals ontvangen.Figure 1 illustrates an embodiment of the traditional calibration video pipeline in accordance with the technique, showing a flow for determining the color output Rout, Gout, Bout for the primary colors RGB based on the calibration matrix (A), if determined, and on the color input Rin, Gin, Bin for the primary colors RGB as received.

Figuur 2 illustreert een videopijplijnuitvoeringsvorm in overeenstemming met de techniek, die een schema weergeeft dat kan worden gevolgd voor de berekening van kleuruitvoer Rout, Gout,Figure 2 illustrates a video pipeline embodiment in accordance with the technique, showing a scheme that can be followed for the calculation of color output Rout, Gout,

Bout op basis van de kalibratiematrix (A) en de kleurinvoer Rin, Gin, Bin zoals ontvangen.Bolt based on the calibration matrix (A) and the color input Rin, Gin, Bin as received.

Figuur 3 illustreert een weergave van de kleur Blauw, waarbij kleurcoördinaten worden vergeleken, die ofwel dezelfde helderheid (en dezelfde kleur) hebben en op dezelfde manier worden waargenomen (BO en B3), of anders een verschillende helderheid hebben (hoewel dezelfde kleur) en anders worden waargenomen (B1 en B2).Figure 3 illustrates a representation of the color Blue, comparing color coordinates, which either have the same brightness (and the same color) and are perceived in the same way (BO and B3), or else have different brightness (although the same color) and otherwise are observed (B1 and B2).

Figuur 4 illustreert een videopijplijnuitvoeringsvorm in overeenstemming met de techniek, die een flow weergeeft voor de bepaling van de kleuruitvoer Rout, Gout, Bout voor de primaire kleuren RGB op basis van de kalibratie gedefinieerd door 2 matrices Matrix1, Matrix2 en op de kleurinvoer Rin, Gin, Bin voor de primaire kleuren RGB zoals ontvangen.Figure 4 illustrates a video pipeline embodiment in accordance with the technique, showing a flow for determining the color output Rout, Gout, Bout for the primary colors RGB based on the calibration defined by 2 matrices Matrix1, Matrix2 and on the color input Rin, Gin , Bin for the primary colors RGB as received.

Figuur 5 illustreert voorbeelden van mogelijke Factoren die als gewicht kunnen worden gebruikt in combinatie met RGB-kleuren om de (uiteindelijke) kalibratie te bepalen.Figure 5 illustrates examples of possible Factors that can be used as weights in combination with RGB colors to determine the (final) calibration.

Figuur 6 illustreert grafische weergave van de niet-lineaire rode kanaaluitvoer gemeten op een display, inclusief vergelijking met de lineaire theoretische verwachting, in overeenstemming met de uitvinding.Figure 6 illustrates graphical representation of the non-linear red channel output measured on a display, including comparison with the linear theoretical expectation, in accordance with the invention.

Figuur 7 illustreert een videopijplijnuitvoeringsvorm in overeenstemming met de uitvinding, die een flow weergeeft voor de bepaling van de kleuruitvoer Rout, Gout, Bout voor de primaire kleuren RGB, waarbij nabij het einde of de uitvoer compensatieblokken Comp R, Comp G, CompFigure 7 illustrates a video pipeline embodiment in accordance with the invention, showing a flow for determining the color output Rout, Gout, Bout for the primary colors RGB, where near the end or output compensation blocks Comp R, Comp G, Comp

B zijn voorzien.B are provided.

Figuur 8 illustreert een voorbeelduitvoeringsvorm die een blokschema of stroomdiagram weergeeft voor de implementatie van de niet-lineaire (sub-delta) compensatie, in het bijzonder hier voor de rode lichtuitvoer, in overeenstemming met de uitvinding.Figure 8 illustrates an exemplary embodiment showing a block diagram or flowchart for the implementation of the non-linear (sub-delta) compensation, particularly here for the red light output, in accordance with the invention.

Figuur 9 illustreert een voorbeeld van een LED met intelligente sturing, hier door middel van deFigure 9 illustrates an example of an LED with intelligent control, here using the

LC8823-5050 RGB SMD LED Datasheet.LC8823-5050 RGB SMD LED Datasheet.

Figuur 10 illustreert het elektronische diagram van TLC59731 van Texas Instruments, zijnde een 3-kanaals, 8-bit, PWM LED-driver met Single-Wire Interface.Figure 10 illustrates the electronic diagram of Texas Instruments' TLC59731, which is a 3-channel, 8-bit, PWM LED driver with Single-Wire Interface.

18 BE2022/588118 BE2022/5881

Figuur 11 illustreert het blokschema van MBI5759 van Macroblock, zijnde een geavanceerdeFigure 11 illustrates the block diagram of MBI5759 from Macroblock, being an advanced one

LED-driver gebouwd door 48 constante current source uitvoerkanalen en 32 schakelaars gepakt in een compact BGA-pakket.LED driver built by 48 constant current source output channels and 32 switches packed into a compact BGA package.

Figuur 12 illustreert een uitvoeringsvorm en dus een algemeen hoofdschema van een oververeenvoudigd blokschema dat toepasbaar is voor alle bestaande (geïntegreerde of niet)Figure 12 illustrates an embodiment and thus a general main diagram of an oversimplified block diagram applicable to all existing (integrated or not)

LED-drivers, in overeenstemming met de techniek.LED drivers, in accordance with technology.

Figuur 13 illustreert een uitvoeringsvorm van een blokschema voor een pixeldriver, in overeenstemming met de uitvinding.Figure 13 illustrates an embodiment of a block diagram for a pixel driver, in accordance with the invention.

Figuur 14 toont een voorbeelduitvoeringsvorm van een curve die een RC-effect vertoont.Figure 14 shows an example embodiment of a curve exhibiting an RC effect.

Figuur 15 illustreert een schematische uitvoeringsvorm van een werkwijze voor het bepalen van niet-lineaire display pixeldriver compensatie uitgevoerd door een verwerkingssysteem van een licht-emitterend display, in overeenstemming met de uitvinding.Figure 15 illustrates a schematic embodiment of a method for determining non-linear display pixel driver compensation performed by a light emitting display processing system, in accordance with the invention.

Figuur 16 illustreert een andere schematische uitvoeringsvorm van de werkwijze voor het bepalen van niet-lineaire display pixeldriver compensatie uitgevoerd door een verwerkingssysteem van een licht-emitterend display, inclusief initiële kalibratie, in overeenstemming met de uitvinding.Figure 16 illustrates another schematic embodiment of the method for determining non-linear display pixel driver compensation performed by a light-emitting display processing system, including initial calibration, in accordance with the invention.

Figuur 17 illustreert een schematische uitvoeringsvorm van een werkwijze voor het implementeren van niet-lineaire display pixeldriver compensatie uitgevoerd door een verwerkingssysteem van een licht-emitterend display, in overeenstemming met de uitvinding.Figure 17 illustrates a schematic embodiment of a method for implementing non-linear display pixel driver compensation performed by a light emitting display processing system, in accordance with the invention.

Figuur 18 illustreert een schematische uitvoeringsvorm van een werkwijze voor het weergeven van een beeld op een licht-emitterend display met niet-lineaire display pixeldriver compensatie, in overeenstemming met de uitvinding.Figure 18 illustrates a schematic embodiment of a method for displaying an image on a light-emitting display with non-linear display pixel driver compensation, in accordance with the invention.

Figuur 19 illustreert een uitvoeringsvorm van het verwerkingssysteem van een licht-emitterend display, dat is voorzien van niet-lineaire display pixeldriver compensatie, in overeenstemming met de uitvinding.Figure 19 illustrates an embodiment of the processing system of a light-emitting display, which includes non-linear display pixel driver compensation, in accordance with the invention.

Figuur 20 illustreert een andere videopijplijnuitvoeringsvorm, in overeenstemming met de uitvinding.Figure 20 illustrates another video pipeline embodiment, in accordance with the invention.

Beschrijving van de uitvindingDescription of the invention

Voor een gedetailleerde beschrijving van de onderhavige uitvinding, die hieronder verder gaat, kan worden verwezen naar eerdere aanvraag van dezelfde Aanvrager, waaronder bijvoorbeeldFor a detailed description of the present invention, which continues below, reference may be made to a previous application by the same Applicant, including, for example,

19 BE2022/5881 wO2019/215219 A1, getiteld "STANDALONE LIGHT-EMITTING ELEMENT DISPLAY TILE AND19 BE2022/5881 wO2019/215219 A1, entitled "STANDALONE LIGHT-EMITTING ELEMENT DISPLAY TILE AND

METHOD" en gepubliceerd op 14 november 2019 , en US2020/0286424, getiteld "REAL-TIMEMETHOD" and published on November 14, 2019, and US2020/0286424, entitled "REAL-TIME

VERVORMBARE EN TRANSPARANTE DISPLAY" en gepubliceerd op 10 september 2020. Wanneer dit relevant lijkt voor één van de aspecten van de onderhavige uitvinding, zal deze verwijzing in het bijzonder en expliciet hieronder worden gemaakt.DEFORMABLE AND TRANSPARENT DISPLAY" and published on September 10, 2020. Where it appears relevant to any aspect of the present invention, such reference will be made specifically and explicitly below.

ProbleemProblem

Bij toepassing van het kalibratieprincipe zoals eerder beschreven (in gedetailleerde achtergrondbeschrijving), laat meting van het eindresultaat van b.v. Rtarg, Gtarg, Btarg en/ofWhen applying the calibration principle as described previously (in detailed background description), measurement of the end result of e.g. Rtarg, Gtarg, Btarg and/or

Wtarg (maar ook andere berekende uitvoerwaarden) zien dat er een afwijking is van wat wordt gemeten en wat echt gewenst is. Dit betekent dat b.v. Rtarg-gemeten # Rtarg-berekend. Dit komt door niet-lineariteiten van het systeem in het display na de PWM-generatie via de constant current driver naar de LED's.Wtarg (but also other calculated output values) see that there is a deviation from what is measured and what is really desired. This means that e.g. Rtarg-measured # Rtarg-calculated. This is due to non-linearities of the system in the display after the PWM generation via the constant current driver to the LEDs.

Ervan uitgaande dat de PWM perfect is berekend, betekent dit dat er niet-lineariteiten zijn geïntroduceerd. Figuur 6 illustreert dergelijke niet-lineariteiten, in het bijzonder toont Figuur 6 (a) een grafiek van b.v. een niet-lineariteit gemeten op Rode kleur in een display. Op de horizontale x-as in deze grafiek hebben we het bit-nummer (hier 16-bit) voor Rood weergegeven, dat wordt gebruikt als invoer voor de constant current driver (of pixeldriver in het algemeen). Dit bit-nummer is ook bekend als PWM-nummer. Op de verticale y-as van de grafiek wordt de Rode helderheid lichtuitvoer weergegeven in nit (= candela per m2). De stippen tonen de werkelijke meting (inclusief niet-lineariteiten), terwijl de ononderbroken lijn het lineaire (theoretische en verwachte) geval is. Figuur 6 (b) toont de afwijking van de ‘Rode lichtuitvoer’ ten opzichte van het lineaire geval.Assuming the PWM is calculated perfectly, this means that non-linearities have been introduced. Figure 6 illustrates such non-linearities, in particular Figure 6 (a) shows a graph of e.g. a non-linearity measured on Red color in a display. On the horizontal x-axis in this graph we have shown the bit number (here 16-bit) for Red, which is used as input to the constant current driver (or pixel driver in general). This bit number is also known as PWM number. On the vertical y-axis of the graph, the Red brightness light output is shown in nit (= candela per m2). The dots show the actual measurement (including non-linearities), while the solid line is the linear (theoretical and expected) case. Figure 6(b) shows the deviation of the 'Red Light Output' compared to the linear case.

Voorgestelde oplossingProposed solution

Volgens het bovenstaande moet een extra rekenstap voor deze niet-lineariteiten worden geïmplementeerd.According to the above, an additional calculation step for these nonlinearities must be implemented.

Een mogelijke oplossing kan zijn om 3 factoren te definiëren en meerdere matrices toe te voegen om toe te passen en hierop te reageren. Een nadeel van deze oplossing is dat dit de digitale implementatiecomplexiteit (latentie en snelheid) voor volledige herberekeningA possible solution could be to define 3 factors and add multiple matrices to apply and respond to them. A disadvantage of this solution is that it increases the digital implementation complexity (latency and speed) for full recomputation

20 BE2022/5881 vergroot. De factoren bepalen dan de hoeveelheid of het gewicht te nemen van b.v. meerdere matrices gedefinieerd in de XYZ (lineaire) ruimte.20 BE2022/5881 enlarged. The factors then determine the amount or weight to take, e.g. multiple matrices defined in XYZ (linear) space.

Het aantal matrices en/of matrixelementen kan willekeurig worden gekozen, afhankelijk van de vereiste nauwkeurigheid en de factoren die vervolgens nodig zijn om te bepalen uit welke matrices moet worden geïnterpoleerd. Al deze berekeningen moeten worden gedaan bovenop de eerder beschreven verbetering van de visuele waarneming, mocht men deze nodig hebben.The number of matrices and/or matrix elements can be chosen arbitrarily, depending on the accuracy required and the factors subsequently needed to determine which matrices to interpolate from. All these calculations must be done in addition to the visual perception improvement described earlier, should one require it.

Een ander nadeel is de hoeveelheid geheugen en ophaalbewerkingen die nodig zijn om één pixel te laten berekenen. Dit heeft dus ook een nadeel voor de systeemperformantie in het geval dat er veel pixels moeten worden verwerkt.Another disadvantage is the amount of memory and fetch operations required to compute one pixel. This also has a disadvantage for the system performance in the event that many pixels have to be processed.

Een vereenvoudiging zou kunnen zijn om aan te nemen dat de kleur (x,y) coördinaten niet (te veel) veranderen vanwege deze niet-lineariteiten. In dat geval hoeven we alleen iets te doen aan de Y-waarde van de reële primaire kleur. De volledige pijplijn ziet er dan uit zoals in Figuur 7, die gedeeltelijk de flow weergeeft van eerder besproken Figuur 4, voor de bepaling van de kleuruitvoer Rout, Gout, Bout voor de primaire kleuren RGB op basis van de kalibratie gedefinieerd door 2 matrices Matrix1, Matrix2 en op de kleurinvoer Rin, Gin, Bin voor de primaire kleuren RGB zoals ontvangen. Voor de eenvoud in het diagram zijn hier in Figuur 7 deA simplification could be to assume that the color (x,y) coordinates do not change (too much) due to these non-linearities. In that case we only need to do something about the Y value of the real primary color. The complete pipeline then looks as in Figure 7, which partly represents the flow of previously discussed Figure 4, for the determination of the color output Rout, Gout, Bout for the primary colors RGB based on the calibration defined by 2 matrices Matrix1, Matrix2 and on the color input Rin, Gin, Bin for the primary colors RGB as received. For simplicity in the diagram, here in Figure 7 are the

DDR (geheugen) toegangslijnen weggelaten. Nabij de uitgang van het schema is een extra stap of berekening voorzien door middel van compensatieblokken Comp R, Comp G, Comp B.DDR (memory) access lines omitted. An extra step or calculation is provided near the output of the diagram by means of compensation blocks Comp R, Comp G, Comp B.

Op dit punt hebben we 3 compensatieblokken Comp R, Comp G, Comp B toegevoegd die respectievelijk op alle individuele primaire RGB-kleuren werken. Er zijn meerdere manieren om de compensatieblokken te implementeren.At this point we added 3 compensation blocks Comp R, Comp G, Comp B which work on all individual primary RGB colors respectively. There are several ways to implement the compensation blocks.

A. Wiskundige formule aanpak o Y = ax” +bx"7} + cx" 24+ waarbij n moet worden ingesteld op een geheel getal om het dichtst bij de uiteindelijke curve te passen.A. Mathematical formula approach o Y = ax” +bx"7} + cx" 24+ where n should be set to an integer to best fit the final curve.

B. Opzoektabel aanpak o We definiëren een opzoektabel met invoerwaarden en uitvoerwaarden.B. Lookup table approach o We define a lookup table with input values and output values.

In werkelijkheid (digitale wereld}, als we aannemen dat de PWM- waarden in 16 bit worden berekend, betekent dit dat we een 65536 lange RAM-opzoektabel met 16-bits uitvoer moeten maken. Bijv. opIn reality (digital world}, if we assume that the PWM values are calculated in 16 bit, it means that we have to create a 65536 long RAM lookup table with 16 bit output. E.g. on

21 BE2022/5881 locatie 32768 is de uitvoerwaarde 30000 (in plaats van 32768 wat het lineaire geval is).21 BE2022/5881 location 32768 the output value is 30000 (instead of 32768 which is the linear case).

C. Sub-delta implementatie o Deze implementatie is getekend als blokschema in Figuur 8, een voorbeelduitvoeringsvorm van een stroomdiagram voor de implementatie van de subdelta-compensatie, in het bijzonder hier voor de Rode lichtuitvoer.C. Sub-delta implementation o This implementation is drawn as a block diagram in Figure 8, an example embodiment of a flowchart for the implementation of the sub-delta compensation, especially here for the Red Light output.

Zowel de A- als de B-aanpak vereisen aanzienlijke hardwarebronnen, zijnde ofwel een rekenpijplijn of een aanzienlijk groot geheugen. De volgende implementatie C, ook wel sub-delta genoemd, is een aanpak die beperkt is in rekenbronnen en RAM-bronnen en kan worden uitgevoerd met slechts een paar klokken latentie.Both the A and B approaches require significant hardware resources, being either a computation pipeline or significantly large memory. The following implementation C, also called sub-delta, is an approach that is limited in compute and RAM resources and can be performed with only a few clocks of latency.

Zoals vermeld, wordt het voorbeelddiagram van Figuur 8 getoond voor het Rode kanaal, maar is van toepassing op alle kleuren. De flow en daarmee de volgorde van berekeningen die in dit diagram worden geïllustreerd, wordt nu verder besproken.As mentioned, the example diagram of Figure 8 is shown for the Red channel, but applies to all colors. The flow and therefore the sequence of calculations illustrated in this diagram is now discussed further.

Veronderstel een digitale bitstroom van R (Rood kanaal) waarden van 16 bit: Rin (15 tot 0), met 16 parallelle bitbanen, en n=15. Dit R-kanaal splitsen we op in 2 delen: een top-bit kanaal Rt van n tot a, waarbij a=4 hier bij wijze van voorbeeld. We krijgen dus een top-bit kanaal Rt van 12 bits, d.w.z. Rt (15 tot 4), en een bottom-bit kanaal van 4 bits, d.w.z. Rb (3 tot 0). Dus in dit voorbeeld heeft het bovenste deel Rt een breedte van 12 bits (waarden tussen O en 4095, of in totaal 4096 = 22 waarden) en het onderste deel Rb heeft een breedte van 4 bits (waarden tussen 0 en 15, of in totaal 16 = 2% waarden). Terwijl Rt wordt gedefinieerd van "n tot a" bits, en Rb omvattende "a" bits (0 is inbegrepen), kan Rin worden gedefinieerd als Rt x 2° + Rb.Suppose a digital bitstream of R (Red channel) values of 16 bit: Rin (15 to 0), with 16 parallel bit paths, and n=15. We split this R channel into 2 parts: a top-bit channel Rt from n to a, where a=4 here as an example. So we get a top-bit channel Rt of 12 bits, i.e. Rt (15 to 4), and a bottom-bit channel of 4 bits, i.e. Rb (3 to 0). So in this example, the upper part Rt has a width of 12 bits (values between 0 and 4095, or a total of 4096 = 22 values) and the lower part Rb has a width of 4 bits (values between 0 and 15, or a total of 16 = 2% values). While Rt is defined from "n to a" bits, and Rb includes "a" bits (0 is included), Rin can be defined as Rt x 2° + Rb.

Zoals weergegeven in het diagram van Figuur 8, komt het top-bit kanaal Rt in 2 opzoektabellen (lut): Toplut van 4096 woorden en Bottomlut van 4096 woorden. Elk woord is b.v. 12 bits signed.As shown in the diagram of Figure 8, the top-bit channel Rt comes in 2 lookup tables (lut): 4096-word Toplut and 4096-word Bottomlut. Each word is e.g. 12 bit signed.

We hebben nu dus 2 opzoektabellen van elk 4096 x 12 bits groot, wat aanzienlijk minder is dan de 65536 x 16 waarden die in oplossing B hierboven worden voorgesteld. Gebruik maken van twee of meer opzoektabellen met een verminderde bit-representatie (in plaats van wanneer er slechts één wordt gebruikt) leidt dus tot minder benodigde ruimte en het vermijden van zware verwerking (met grote getallen). Een andere manier om (geheugen)ruimte en verwerkingstijd teSo we now have 2 lookup tables of 4096 x 12 bits each, which is significantly less than the 65536 x 16 values suggested in solution B above. Thus, using two or more lookup tables with reduced bit representation (rather than using only one) reduces space requirements and avoids heavy processing (with large numbers). Another way to save (memory) space and processing time

22 BE2022/5881 besparen, is om (in de berekeningen) vooral te werken met de afwijking van het niet-lineaire versus het lineaire geval (of het verschil daartussen), in plaats van de absolute getallen te gebruiken van lineaire uitvoer en niet-lineariteiten die dit verschil maken.22 BE2022/5881, is to work (in the calculations) mainly with the deviation of the non-linear versus the linear case (or the difference between them), instead of using the absolute numbers of linear output and non-linearities that make this difference.

Opgemerkt wordt dat deze 2 opzoektabellen (Toplut en Bottomlut) kunnen worden gebruikt om een interpolatie te maken tussen de waarden in hun respectieve en overeenkomstige locaties bepaald door de Rt-waarde. Daarnaast kan de Rb-waarde worden gebruikt om een dergelijke interpolatie te bepalen, doordat de Rb-waarde kan worden gebruikt om te interpoleren tussen een waarde uit de Toplut (d.w.z. op een bepaalde locatie daarvan) en een waarde uit deIt is noted that these 2 lookup tables (Toplut and Bottomlut) can be used to make an interpolation between the values in their respective and corresponding locations determined by the Rt value. In addition, the Rb value can be used to determine such an interpolation, because the Rb value can be used to interpolate between a value from the Toplut (i.e. at a certain location thereof) and a value from the

Bottomlut (op overeenkomstige locatie daarvan) .Bottomlut (in corresponding location thereof) .

Neem aan dat voor het Rode kanaal b.v. Rb = 10 en Rt = 1500 bij wijze van voorbeeld. We nemen aan dat R Toplut op het adres 1500 (Rt) waarde 2900 heeft en R Bottomlut op corresponderende locatie 1500 (Rt) waarde 2800 heeft. Beide waarden verschijnen aan de uitgang van de opzoektabellen wanneer ze worden geadresseerd met Rt = 1500, zijnde respectievelijk 2900 en 2800. Zoals weergegeven in het diagram van Figuur 8, wordt de R Toplut-waarde (hier bijv. 2900) vervolgens vermenigvuldigd met de Rb-waarde (met 2° = 2* mogelijkheden in totaal) en wordt de R Bottomlut-waarde (hier bijv. 2800) vermenigvuldigd met (2% — Rb) = 2% — 10 =16— 10 = 6.Assume that for the Red channel e.g. Rb = 10 and Rt = 1500 as an example. We assume that R Toplut at address 1500 (Rt) has value 2900 and R Bottomlut at corresponding location 1500 (Rt) has value 2800. Both values appear at the output of the lookup tables when addressed with Rt = 1500, being 2900 and 2800 respectively. As shown in the diagram of Figure 8, the R Toplut value (here e.g. 2900) is then multiplied by the Rb value (with 2° = 2* possibilities in total) and the R Bottomlut value (here e.g. 2800) is multiplied by (2% — Rb) = 2% — 10 =16 — 10 = 6.

Op dit punt eindigen we met: (2900 x 10 + 2800 x 6) wat vervolgens wordt gedeeld door (2% = 16) voor normalisatiedoeleinden als onderdeel van de interpolatie. De formule wordt: (2900 x 10 + 2800 x 6) / 16, wat we een deltawaarde noemen, op te tellen bij de oorspronkelijke kleurwaarde om de niet-lineariteiten te compenseren.At this point we end up with: (2900 x 10 + 2800 x 6) which is then divided by (2% = 16) for normalization purposes as part of the interpolation. The formula becomes: (2900 x 10 + 2800 x 6) / 16, which we call a delta value, to be added to the original color value to compensate for the non-linearities.

Uiteindelijk voegen we voor de uitvoer Rout deze deltawaarde toe aan de oorspronkelijke invoerwaarde Rin, die Rt x 2% + Rb is. Bijgevolg wordt de uitvoerwaarde Rout:Finally, for the output Rout, we add this delta value to the original input value Rin, which is Rt x 2% + Rb. Consequently, the output value Rout becomes:

Rout = Rin + Toplut(Rt) * Rb + Room * (2% — Rp)Rout = Rin + Toplut(Rt) * Rb + Room * (2% — Rp)

Rin = Rt * 2% + RbRin = Rt * 2% + Rb

Als resultaat, Rout = (1500 * 16 + 10) + (2900 * 10 + 2800 * 6)/16 = 24010 + 2862 = 26872.As a result, Rout = (1500 * 16 + 10) + (2900 * 10 + 2800 * 6)/16 = 24010 + 2862 = 26872.

23 BE2022/588123 BE2022/5881

De 2862 is de delta en is bovendien de 2e compensatie op de kleur, en wordt daarom verder sub-delta genoemd.The 2862 is the delta and is also the 2nd compensation on the color, and is therefore called sub-delta.

In het geval dat alle individuele LED-primaire kleuren hetzelfde gedrag vertonen, hoeven er slechts 3 sets opzoektabellen te worden gemaakt waarin elke individuele LED-berekening door dezelfde tabel gaat. Opgemerkt wordt dat - in het geval waarin de compensatie verschillend moet zijn - sets van opzoektabellen voor berekeningen kunnen worden gemaakt en geselecteerd volgens de LED die een bepaalde compensatie nodig heeft.In the case where all individual LED primaries exhibit the same behavior, only 3 sets of lookup tables need to be created where each individual LED calculation goes through the same table. It is noted that - in the case where the compensation needs to be different - sets of look-up tables for calculations can be created and selected according to the LED that needs a certain compensation.

FPGA implementatieFPGA implementation

Alle bovenstaande videopijplijnen kunnen worden geïmplementeerd in een FPGA (FieldAll of the above video pipelines can be implemented in an FPGA (Field

Programmable Gate Array) of standaard ASIC. Wanneer echter het aantal pixels berekend moet worden met kalibratie en/of de subdelta correctie, vereist dit veel geheugentoegang per pixel, vooral voor het kalibratiegedeelte. In het geval van bijv. gebruik van de visuele waarnemingskalibratie betekent dit dat voor elke te berekenen RGB-pixel ten minste 18 waarden (2 matrices van 9 waarden) moeten worden opgehaald van een vooraf berekende locatie in het geheugen. Hoewel dit kan worden geïmplementeerd, heeft het een nadeel wat betreft rekensnelheden en/of beperking van het aantal pixels. Om de FPGA- of ASIC-complexiteit te verminderen, kan een deel van de berekening en niet-lineariteitscompensatie meer lokaal worden gedaan op het LED-niveau of rond clusters van meerdere LED's, zoals beschreven in de volgende paragraaf.Programmable Gate Array) or standard ASIC. However, when the number of pixels has to be calculated with calibration and/or the subdelta correction, this requires a lot of memory access per pixel, especially for the calibration part. In the case of using the visual perception calibration, for example, this means that for each RGB pixel to be calculated, at least 18 values (2 matrices of 9 values) must be retrieved from a pre-computed location in memory. Although this can be implemented, it has a disadvantage in terms of computation speeds and/or limitation of the number of pixels. To reduce FPGA or ASIC complexity, some of the computation and nonlinearity compensation can be done more locally at the LED level or around clusters of multiple LEDs, as described in the next section.

Chip implementatieChip implementation

Single-pixel LED's met PWM-generatie bestaan al heel lang. Voorbeelden hiervan zijn b.v.Single-pixel LEDs with PWM generation have been around for a long time. Examples of this are e.g.

LC8823 LED's. Dit worden LED's met intelligente (be)sturing genoemd. In plaats van alleen anode en kathode voor de LED's te hebben, hebben ze digitale inputs en outputs zoals te zien is inLC8823 LEDs. These are called LEDs with intelligent control. Instead of just having anode and cathode for the LEDs, they have digital inputs and outputs as seen in

Figuur 9, illustrerend bij wijze van voorbeeld LC8823-5050 RGB SMD LED Datasheet. Tot nu toe worden deze inputs alleen gebruikt om de digitale PWM-waarde in te voeren, die vervolgens intern wordt gebruikt om een bepaalde PWM te genereren die de interne constante current sources aanstuurt om de LED's op te lichten.Figure 9, illustrating by way of example LC8823-5050 RGB SMD LED Datasheet. Until now, these inputs are only used to input the digital PWM value, which is then used internally to generate some PWM that drives the internal constant current sources to light the LEDs.

24 BE2022/588124 BE2022/5881

Het is echter onderdeel van de uitvinding om de kalibratie en/of subdeltacorrectie ook als lokale oplossing toe te passen door middel van chipimplementatie (bijvoorbeeld LED-chip of driverchip). Dit kan ofwel A zijn, de wiskundige aanpak waarbij alle factoren worden bepaald door een protocol om de waarden in te vullen, of B, een totale opzoektabel voor elke kleur, waarbij de opzoektabel ook wordt geladen door het invoerprotocol. Oplossing C kan ook op exact dezelfde manier worden geïmplementeerd als eerder beschreven, bijvoorbeeld inwerkend op de individuele LED.However, it is part of the invention to also apply the calibration and/or subdelta correction as a local solution by means of chip implementation (for example LED chip or driver chip). This can be either A, the mathematical approach where all factors are determined by a protocol to fill in the values, or B, a total lookup table for each color, where the lookup table is also loaded by the input protocol. Solution C can also be implemented in exactly the same way as described previously, for example acting on the individual LED.

Over het algemeen wordt de uitvinding van het toevoegen van een opzoektabel voor (helderheids- en/of kleur)compensatie in dit soort LED's als inventief en nieuw beschouwd om alle bovengenoemde problemen op te lossen, zoals bijvoorbeeld sequentiële verwerking die meer tijdrovend is (en mogelijk meer middelen vereist) dan nu gedistribueerde en/of parallelle verwerking (bijvoorbeeld lokaal) in overeenstemming met de uitvinding. Verderop, door de complexiteit dichter bij de LED's te voegen, wordt de complexiteit (en omvang) van de controle voor een LED-display verminderd.In general, the invention of adding a lookup table for (brightness and/or color) compensation in this kind of LEDs is considered inventive and novel to solve all the above problems, such as for example sequential processing which is more time consuming (and possibly requires more resources) than currently distributed and/or parallel processing (e.g. local) in accordance with the invention. Moving on, adding complexity closer to the LEDs reduces the complexity (and size) of control for an LED display.

Nu hoeft de LED niet per se in hetzelfde pakket te zitten. Constant current drivers (common cathode of common anode) zijn direct beschikbaar, zoals b.v. TLC59731, een 3-kanaals 8-bitNow the LED does not necessarily have to be in the same package. Constant current drivers (common cathode or common anode) are readily available, such as e.g. TLC59731, a 3-channel 8-bit

PWM-driver met een single wire interface, waarbij de out0, out1 en out2 en 3 pinnen moeten worden aangesloten op de LED's zoals afgebeeld in Figuur 10, illustrerend bij wijze van voorbeeldPWM driver with a single wire interface, where the out0, out1 and out2 and 3 pins must be connected to the LEDs as shown in Figure 10, illustrating by way of example

TLC59731 elektronisch diagram van de Texas Instrumenten (TI) 3-kanaals, 8-bit, PWM LED-driver met Single-Wire Interface.TLC59731 electronic diagram of the Texas Instruments (TI) 3-channel, 8-bit, PWM LED driver with Single-Wire Interface.

En er zijn complexere constant current drivers die meerdere arrays van LED's kunnen adresseren. Voorbeeld hier is b.v. MBI5759 van Macroblock, d.w.z. een geavanceerde LED-driver gebouwd met 48 constante current source uitvoerkanalen en 32 schakelaars gepakt in een compact BGA-pakket. Het blokschema van deze (gepatenteerde) 48-kanaals PWM constante current LED source driver met ingebedde schakelaar voor 1:32 tijdmultiplextoepassingen wordt getoond in Figuur 11. Zoals men kan zien, is er geheugen (SRAM) in deze drivers (om de LEDAnd there are more complex constant current drivers that can address multiple arrays of LEDs. Example here is e.g. MBI5759 from Macroblock, i.e. an advanced LED driver built with 48 constant current source output channels and 32 switches packed into a compact BGA package. The block diagram of this (proprietary) 48-channel PWM constant current LED source driver with embedded switch for 1:32 time multiplex applications is shown in Figure 11. As one can see, there is memory (SRAM) in these drivers (to control the LED

PWM-waarden te behouden), maar er is nooit een geheugen voorzien om individuele LED- kalibratiegegevens of niet-lineariteitscorrecties in dit soort chips te bewaren.PWM values), but no memory was ever provided to store individual LED calibration data or non-linearity corrections in these types of chips.

25 BE2022/588125 BE2022/5881

Oververeenvoudigd, lijken de blokschema's op alle bestaande (al dan niet geïntegreerde) LED- drivers, zoals geïllustreerd in Figuur 12, die het algemene principeschema laat zien. Het invoerprotocol wordt naar de PWM-generator geleid, die de LED aanstuurt.Oversimplified, the block diagrams resemble all existing (integrated or non-integrated) LED drivers, as illustrated in Figure 12, which shows the general principle diagram. The input protocol is fed to the PWM generator, which drives the LED.

Afgezien van de eerder beschreven algemene methoden, maakt het deel uit van de uitvinding om functionaliteitsblokken toe te voegen aan de 'constant current driver'-chipsets met of zonder geïntegreerde LED's, zoals geïllustreerd in Figuur 13, waarbij opnieuw het algemene principeschema van Figuur 12 wordt getoond, maar nu met ook extra blokken (met gestippeld canvas) voorzien. Een schematische uitvoeringsvorm wordt getoond van het systeem 80 voor een licht-emitterend display 10, in het bijzonder voor het aansturen van licht-emitterende elementen of pixels 40 daarvan, met niet-lineaire display pixeldriver compensatie. Het systeem 80 omvat een invoerprotocol 81 voor het ontvangen van (weer te geven) (video)invoer en eenApart from the general methods previously described, it is part of the invention to add functionality blocks to the constant current driver chipsets with or without integrated LEDs, as illustrated in Figure 13, again repeating the general principle diagram of Figure 12 shown, but now with additional blocks (with dotted canvas) provided. A schematic embodiment is shown of the system 80 for a light-emitting display 10, in particular for driving light-emitting elements or pixels 40 thereof, with non-linear display pixel driver compensation. The system 80 includes an input protocol 81 for receiving (display) (video) input and a

PWM-genererende module 84 voor het omzetten van genoemde invoer in signalen die moeten worden geleverd aan pixeldrivers 45, waarbij de licht-emitterende elementen of pixels 40 worden gedefinieerd en gecontrolleerd in de door hen uit te zenden (en weergegeven in de vorm van video) (licht)uitvoer. Het systeem 80 omvat ook een aanvullende module 83 voor het bepalen en/of implementeren van niet-lineaire display pixeldriver compensatie (vanwege niet- lineariteiten veroorzaakt door de pixeldrivers). Het systeem 80 kan verder een module 82 omvatten voor het (vooraf) uitvoeren van kalibratie en het bepalen van kalibratiematrices die moeten worden gebruikt bij het definiëren van de uiteindelijke uitvoer die moet worden uitgezonden door de licht-emitterende elementen of pixels 40.PWM generating module 84 for converting said input into signals to be supplied to pixel drivers 45, defining and controlling the light-emitting elements or pixels 40 in the images to be transmitted by them (and displayed in the form of video) (light) output. The system 80 also includes an additional module 83 for determining and/or implementing non-linear display pixel driver compensation (due to non-linearities caused by the pixel drivers). The system 80 may further include a module 82 for (pre)performing calibration and determining calibration matrices to be used in defining the final output to be emitted by the light-emitting elements or pixels 40.

Verder verwijzend naar Figuur 13, aan de ingang van het systeem 80, wordt video-input ontvangen 131 en ingevoerd via het invoerprotocol 81, van waaruit b.v. RGB-data (16-bits) wordt geleverd 132. Deze RGB-data kan vervolgens worden gekalibreerd via de module 82, waaruit nu gekalibreerde RGB-data wordt uitgevoerd 133. De gekalibreerde RGB-data kan vervolgens worden gebruikt als invoer voor de niet-lineaire compensatie 83, waaruit gecompenseerde (en eerder) gekalibreerde data komt 134. De gecompenseerde gekalibreerde data kan nu naar de PWM-generator 84 worden geleid, voor het genereren en leveren 135 van geschikte PWM-signalen via de pixeldrivers 45 naar de LED's of pixels 40 en deze hiermee (in) aan of uit (staat) te sturen.Referring further to Figure 13, at the input of the system 80, video input is received 131 and input via the input protocol 81, from which e.g. RGB data (16-bit) is supplied 132. This RGB data can then be calibrated via the module 82, which now outputs calibrated RGB data 133. The calibrated RGB data can then be used as input for the non- linear compensation 83, from which comes 134 compensated (and previously) calibrated data. The compensated calibrated data can now be fed to the PWM generator 84, to generate and supply 135 appropriate PWM signals via the pixel drivers 45 to the LEDs or pixels 40 and use this to switch it on or off.

26 BE2022/588126 BE2022/5881

Voor de aanvullende blokken 82, 83 kan het zijn (zoals hier getoond) dat meerdere lagen (of versies of fasen) respectievelijk voor de kalibratie 82 en voor de niet-lineaire compensatie 83 (ook wel subdelta genoemd) zijn voorzien. Mogelijk moeten dergelijke meerdere lagen worden aangebracht vanwege meerdere kleuren en/of meerdere soorten LED's voor de kalibratie en/of de niet-lineaire compensatie die moet worden uitgevoerd. Opgemerkt wordt dat voor elke soort of reeks kleuren meerdere instanties kunnen worden toegevoegd, afhankelijk van de complexiteit die moet worden opgelost. In het algemeen kan men stellen dat elke individueleFor the additional blocks 82, 83 it may be (as shown here) that multiple layers (or versions or phases) are provided for the calibration 82 and for the non-linear compensation 83 (also called subdelta) respectively. Such multiple layers may need to be applied due to multiple colors and/or multiple types of LEDs for the calibration and/or non-linear compensation to be performed. It is noted that for each type or set of colors, multiple instances can be added depending on the complexity to be solved. In general one can say that every individual

RGB-pixel ten minste één set kalibratiegegevens (9 waarden) nodig heeft. In het geval van verbetering van de visuele waarneming is een set van 18 waarden nodig en in het geval van extra temperatuurcompensatie is een set van 3 extra waarden voor elke kleur nodig. Als alle afzonderlijke kleuren R, G, B (of andere) hetzelfde niet-lineariteitsgedrag hebben, moeten er minimaal 3 niet-lineariteitscompensatieblokken worden toegevoegd.RGB pixel needs at least one set of calibration data (9 values). In the case of visual perception improvement, a set of 18 values is needed and in the case of additional temperature compensation, a set of 3 additional values for each color is needed. If all individual colors R, G, B (or others) have the same non-linearity behavior, at least 3 non-linearity compensation blocks must be added.

Reden voor niet-lineariteitenReason for non-linearities

Er kunnen meerdere redenen zijn voor niet-lineariteiten. Enkele redenen (maar niet beperkt tot alle redenen) zijn: 1. Indelingscapaciteit van een LED-bord; 2. Temperatuurgedrag van de constant current drivers; 3. Snelheid van het aan/uit schakelen van de constant current drivers; en 4. DI/DV (spannings- en belastingsafhankelijkheid van de constant current drivers).There can be several reasons for non-linearities. Some reasons (but not limited to all reasons) are: 1. Layout capacity of an LED board; 2. Temperature behavior of the constant current drivers; 3. Speed of switching the constant current drivers on/off; and 4. DI/DV (voltage and load dependence of the constant current drivers).

Figuur 14 toont een voorbeelduitvoeringsvorm van een curve 140 die een RC-effect vertoont.Figure 14 shows an example embodiment of a curve 140 exhibiting an RC effect.

Het oppervlak onder de curvepieken is de energie voor het oplichten van de LED's en afhankelijk van de PWM-breedte varieert deze energie.The area under the curve peaks is the energy for lighting the LEDs and depending on the PWM width this energy varies.

Het is uit de industrie bekend dat perfecte constant current drivers niet bestaan. De meeste hiervan zijn afhankelijk van de benodigde stroom en ook van de voedingsspanning en zijn te vinden in de datasheets.It is known from the industry that perfect constant current drivers do not exist. Most of these depend on the current required and also on the supply voltage and can be found in the datasheets.

Voorbeelduittreksel van constant current driver (MBI5759 van Macroblock) datasheet: e Constante output current range: o -0.5-15mMA @ Voo = Vives = 3.8V, Vieor = 2.8V voedingsspanning e Excellente output current nauwkeurigheid:Sample extract of constant current driver (MBI5759 from Macroblock) datasheet: e Constant output current range: o -0.5-15mMA @ Voo = Vives = 3.8V, Vieor = 2.8V supply voltage e Excellent output current accuracy:

27 BE2022/5881 o Tussen kanalen: <+ 2 .5% (Max) o Tussen ICs: < + 3.0% (Max)27 BE2022/5881 o Between channels: <+ 2.5% (Max) o Between ICs: < + 3.0% (Max)

Figuur 15 illustreert een schematische uitvoeringsvorm van de werkwijze 300 voor het bepalen van niet-lineaire display pixeldriver compensatie 30 uitgevoerd door een verwerkingssysteem 20 van een lichtg-emitterend display 10 gekenmerkt door één of meer kleuren 15, bijvoorbeeld drie primaire kleuren rood, groen en blauw (RGB). Het licht-emitterend display 10 omvat pixels 40 die worden gecontrolleerd door pixeldrivers 45. De werkwijze 300 omvat verschillende stappen, hier weergegeven als vier in totaal. In een eerste stap (i) worden waarden 31 gemeten 301 voor één of meer kleuren 15 en/of voor één of meer pixels 40 van het display 10. Dergelijke waarden 31 kunnen ook worden aangeduid als kleurwaarden, en zijn b.v. gemeten op het display en in real-time genomen. De kleurmeting voor het bereiken van gemeten waarden 31 kan b.v. met een spectrometer. De waarden 31 kunnen worden weergegeven in kleurruimte of lineaire ruimte, gedefinieerd door respectievelijk 3 coördinaten (x, y, Y) of (X, Y, Z). In een tweede stap (ii) worden de theoretische kleurwaarden 32 berekend 302 voor de één of meer kleuren 15 en/of voor de één of meer pixels 40 van het display 10, terwijl een dergelijke berekening gebaseerd is op een lineair verband. In een derde stap (iii) worden de gemeten en corresponderende berekende waarden 31, 32 vergeleken 303. In een vierde stap (iv) wordt een afwijking in de gemeten waarden 31 (ten opzichte van de berekende waarden 32) waargenomen 304, b.v. per kleur en voor ten minste één kleur, als gevolg van niet-lineariteiten, in het bijzonder veroorzaakt door de pixeldrivers 45, en de afwijking wordt bepaald 305 als de niet-lineaire pixeldriver compensatie 30.Figure 15 illustrates a schematic embodiment of the method 300 for determining non-linear display pixel driver compensation 30 performed by a processing system 20 of a light-emitting display 10 characterized by one or more colors 15, for example three primary colors red, green and blue (RGB). The light emitting display 10 includes pixels 40 controlled by pixel drivers 45. The method 300 includes several steps, shown here as four in total. In a first step (i), values 31 are measured 301 for one or more colors 15 and/or for one or more pixels 40 of the display 10. Such values 31 can also be referred to as color values, and are e.g. measured on the display and taken in real time. The color measurement for achieving measured values 31 can be e.g. with a spectrometer. The values 31 can be represented in color space or linear space, defined by 3 coordinates (x, y, Y) or (X, Y, Z) respectively. In a second step (ii), the theoretical color values 32 are calculated 302 for the one or more colors 15 and/or for the one or more pixels 40 of the display 10, while such a calculation is based on a linear relationship. In a third step (iii) the measured and corresponding calculated values 31, 32 are compared 303. In a fourth step (iv) a deviation in the measured values 31 (compared to the calculated values 32) is observed 304, e.g. per color and for at least one color, due to non-linearities, in particular caused by the pixel drivers 45, and the deviation is determined 305 as the non-linear pixel driver compensation 30.

Zoals afgebeeld in Figuur 16, kan de werkwijze 300 aanvankelijk een kalibratiedeel 500 omvatten. De initiële kalibratie 500, uitgevoerd voorafgaand aan de vier stappen (i) tot (iv) zoals hierboven beschreven, omvat drie stappen (a) tot (c). Een eerste stap (a) omvat het lezen, laden of invoeren 501 van de zogenaamde oorspronkelijke kleurwaarden 51 (in 3-coördinaten weergave) gemeten, b.v. met een spectrometer, voor de één of meer kleuren 15 van (elk van de pixels 40 van) het display 10. Een tweede stap (b) omvat het lezen, laden of invoeren 502 de targetwaarden 52 (zoals waargenomen door een menselijk oog en/of een camera die de display uitvoer opneemt) voor de één of meer kleuren 15 van (elk van de pixels 40 van) display 10. Een derde stap (c) omvat het berekenen 503 (via matrixbewerkingen), voor de één of meer kleuren 15, bijbehorende kalibratiematrices 50 op basis van de gemeten en targetwaarden 51, 52, met name op basis van het verschil daartussen. Terugverwijzend naar de werkwijze 300, worden nuAs depicted in Figure 16, the method 300 may initially include a calibration portion 500. The initial calibration 500, performed prior to four steps (i) to (iv) described above, includes three steps (a) to (c). A first step (a) comprises reading, loading or inputting 501 the so-called original color values 51 (in 3-coordinate representation) measured, e.g. with a spectrometer, for the one or more colors 15 of (each of the pixels 40 of) the display 10. A second step (b) involves reading, loading or inputting 502 the target values 52 (as perceived by a human eye and/ or a camera recording the display output) for the one or more colors 15 of (each of the pixels 40 of) display 10. A third step (c) involves calculating 503 (via matrix operations), for the one or more colors 15 , associated calibration matrices 50 based on the measured and target values 51, 52, in particular based on the difference between them. Referring back to method 300, now

28 BE2022/5881 bij het berekenen 302 van de theoretische kleurwaarden 32 in stap (ii), de kalibratiematrices 50 zoals berekend door middel van de werkwijze 500 gebruikt zoals aangegeven door de gestreepte lijnpijl.28 BE2022/5881 when calculating 302 the theoretical color values 32 in step (ii), the calibration matrices 50 as calculated by the method 500 are used as indicated by the dashed line arrow.

Figuur 17 illustreert een schematische uitvoeringsvorm van de werkwijze 600 voor het implementeren van niet-lineaire display pixeldriver compensatie 30 uitgevoerd door een verwerkingssysteem 20 van een licht-emitterend display 10 gekenmerkt door één of meer kleuren 15, bijvoorbeeld drie primaire kleuren rood, groen en blauw (RGB). Het licht-emitterend display 10 omvat pixels 40 die worden gecontrolleerd door pixeldrivers 45. De werkwijze 600 omvat verschillende stappen. In een eerste stap (i) wordt de niet-lineaire display pixeldriver compensatie 30 op basis van de werkwijze 300 bepaald 601, of wordt de niet-lineaire display pixeldriver compensatie 30, bepaald op basis van de werkwijze 300, gelezen, geladen of ingevoerd 602. Een tweede stap (ii) omvat het compenseren 603 voor de afwijking bepaald als de niet-lineaire pixeldriver compensatie 30.Figure 17 illustrates a schematic embodiment of the method 600 for implementing non-linear display pixel driver compensation 30 performed by a processing system 20 of a light-emitting display 10 characterized by one or more colors 15, for example three primary colors red, green and blue (RGB). The light-emitting display 10 includes pixels 40 that are controlled by pixel drivers 45. The method 600 includes several steps. In a first step (i), the non-linear display pixel driver compensation 30 is determined 601 on the basis of the method 300, or the non-linear display pixel driver compensation 30 determined on the basis of the method 300 is read, loaded or input 602 A second step (ii) involves compensating 603 for the deviation determined as the non-linear pixel driver compensation 30.

Het compenseren 603 kan gebaseerd zijn op de helderheid (Y-waarde van kleurruimtecoördinaten) gedefinieerd door een wiskundige formule, zoals aangegeven door de module 63.The compensation 603 may be based on the brightness (Y value of color space coordinates) defined by a mathematical formula, as indicated by the module 63.

Het compenseren 603 kan gebaseerd zijn op het gebruik van één of meer opzoektabellen (waarvan data opgeslagen zijn in (niet-vluchtig) geheugen) zoals aangegeven door de module 64, in het bijzonder op wat er is opgeslagen in de één of meer opzoektabellen, elk bestaande uit invoerwaarden en bijbehorende uitvoerwaarden, rekening houdend met de niet-lineariteiten.The compensation 603 may be based on the use of one or more lookup tables (data of which are stored in (non-volatile) memory) as indicated by the module 64, in particular on what is stored in the one or more lookup tables, each consisting of input values and corresponding output values, taking into account the non-linearities.

Bovendien kan het compenseren 603 gebaseerd zijn op wat is opgeslagen in meerdere opzoektabellen met een verminderde bit-representatie (om de benodigde hoeveelheid geheugen te verminderen), in het bijzonder kan het compenseren 603 worden gedefinieerd op basis van interpolatieberekeningen, aangegeven door de module 65, uitgevoerd onder deze.In addition, the offset 603 can be based on what is stored in multiple lookup tables with a reduced bit representation (to reduce the amount of memory required), in particular the offset 603 can be defined based on interpolation calculations indicated by the module 65, performed under this.

Figuur 18 illustreert een schematische uitvoeringsvorm van de werkwijze voor het weergeven van een beeld 70 op een licht-emitterend display 10 met niet-lineaire display pixeldriver compensatie. De werkwijze kan aanvankelijk bestaan uit een kalibratiedeel 500, hoewel dit niet strikt noodzakelijk is, zoals aangegeven door het gestippelde canvas van dit blok 500. De werkwijze omvat het bepalen van de niet-lineaire display pixeldriver compensatie op basis van werkwijze 300, of het uitlezen, laden of invoeren van de niet-lineaire display pixeldriver compensatie, bepaald op basis van werkwijze 300 (vandaar aangegeven door blok 300), enFigure 18 illustrates a schematic embodiment of the method for displaying an image 70 on a light-emitting display 10 with non-linear display pixel driver compensation. The method may initially consist of a calibration part 500, although this is not strictly necessary, as indicated by the dotted canvas of this block 500. The method includes determining the non-linear display pixel driver compensation based on method 300, or reading , loading or entering the non-linear display pixel driver compensation, determined based on method 300 (hence indicated by block 300), and

29 BE2022/5881 vervolgens het implementeren van de niet-lineaire display pixeldriver compensatie op basis van werkwijze 600 (vandaar aangegeven door blok 600). Vervolgens omvat de werkwijze het weergeven 700 van het beeld 70 op het beeldscherm 10 (zoals aangegeven door blok 700).29 BE2022/5881 then implementing the non-linear display pixel driver compensation based on method 600 (hence indicated by block 600). The method then includes displaying 700 the image 70 on the display 10 (as indicated by block 700).

Volgens een uitvoeringsvorm kan de werkwijze een extra temperatuurcorrectie (niet getoond) omvatten.According to an embodiment, the method may include an additional temperature correction (not shown).

Figuur 19 illustreert een uitvoeringsvorm van het verwerkingssysteem van een licht-emitterend display, dat is voorzien van niet-lineaire display pixeldriver compensatie, in overeenstemming met de uitvinding. In Figuur 19 (a) en (b) is een uitvoeringsvorm getoond van een zogenaamde receiver card 190 (of verwerkingssysteem) die in of op een displaytegel kan worden aangebracht. In Figuur 19 (a) wordt in het bijzonder één zijde (of voorzijde) van de receiver card 190 getoond, terwijl Figuur 19 (b) de andere zijde (of achterzijde) van deze card 190 illustreert.Figure 19 illustrates an embodiment of the processing system of a light-emitting display, which includes non-linear display pixel driver compensation, in accordance with the invention. Figure 19 (a) and (b) shows an embodiment of a so-called receiver card 190 (or processing system) that can be mounted in or on a display tile. In particular, Figure 19 (a) shows one side (or front) of the receiver card 190, while Figure 19 (b) illustrates the other side (or rear) of this card 190.

Terugverwijzend naar Figuur 19 (a), hier zijn de video-invoer 191 en video-uitvoer 192-poorten afgebeeld, voor het invoeren en uitvoeren van de videostroom, of met andere woorden, voor respectievelijk het ontvangen van de video-invoer 191 en het verzenden van de video-uitvoer 192. Verder wordt een FPGA 193 (met processor) en een niet-vluchtig geheugen 194 aan deze kant van de card 190 getoond. Het niet-vluchtige geheugen 194 bevat of slaat bijvoorbeeld gegevens op die nodig zijn om de opzoektabel(len) op te maken of in te vullen. Deze gegevens kunnen b.v. ingevoerd worden nadat metingen en berekeningen van de niet-lineariteiten zijn uitgevoerd. De andere kant van de receiver card 190 in Figuur 19 (b) illustreert een interfaceverbinding 195 weergegeven door twee staafvormige connectoren, evenals vluchtig geheugen 196, dat bijvoorbeeld kan worden gebruikt om kalibratiematrices op te slaan. De interfaceverbinding 195 is te koppelen aan of te verbinden met een aansluiting 199 op een LED- bord 197, waarvan een voorbeelduitvoeringsvorm schematisch is weergegeven in Figuur 19(c).Referring back to Figure 19(a), the video input 191 and video output 192 ports are shown here, for inputting and outputting the video stream, or in other words, for receiving the video input 191 and outputting it respectively. transmitting the video output 192. Furthermore, an FPGA 193 (with processor) and a non-volatile memory 194 are shown on this side of the card 190. For example, non-volatile memory 194 contains or stores data necessary to format or populate the lookup table(s). This data can e.g. be entered after measurements and calculations of the non-linearities have been carried out. The other side of the receiver card 190 in Figure 19(b) illustrates an interface connection 195 represented by two bar-shaped connectors, as well as volatile memory 196, which can be used, for example, to store calibration matrices. The interface connection 195 can be coupled or connected to a connection 199 on an LED board 197, an example embodiment of which is schematically shown in Figure 19(c).

Het LED-bord 197 omvat een aantal constant current drivers 198, die allemaal zijn verbonden met de aansluiting 199. Zoals we nog weten, kan een constant current driver 199 worden gebruikt om een pixel of LED, of een aantal daarvan, te controlleren. Het is gebruikelijk dat één constant current driver 199 een cluster van pixels of LED's controlleert, b.v. een veelvoud van 16, bijvoorbeeld 64 of 256.The LED board 197 includes a number of constant current drivers 198, all of which are connected to the terminal 199. As we know, a constant current driver 199 can be used to control a pixel or LED, or a number of them. It is common for one constant current driver 199 to control a cluster of pixels or LEDs, e.g. a multiple of 16, for example 64 or 256.

Figuur 20 illustreert een andere videopijplijnuitvoeringsvorm, in overeenstemming met de uitvinding. Het video 200 signaal komt binnen als ontvangen door het display systeem (en zijn verwerking), en een positie of venster 201 wordt gedefinieerd en opgeslagen. VervolgensFigure 20 illustrates another video pipeline embodiment, in accordance with the invention. The video 200 signal comes in as received by the display system (and its processing), and a position or window 201 is defined and stored. Thereafter

30 BE2022/5881 doorloopt elke kleur van een pixel een gamma (of y) correctie 202, gevolgd door kalibratie 203.30 BE2022/5881, each color of a pixel goes through a gamma (or y) correction 202, followed by calibration 203.

Verder wordt de sub-delta (of subA) compensatie 204 uitgevoerd, waarvoor bijvoorbeeld een opzoektabel wordt gemaakt (door middel van invoer ontvangen van de processor) en vervolgens wordt de subdelta bepaald. Dan, zoals aangegeven door blok 205, wordt RGB verwerkt en worden signalen naar de constant current drivers 206 gestuurd (afhankelijk bijv. van type constant current driver (ccd), aantal pixels of LEDs, type board enz.), uiteindelijk leidend naar de lichtuitvoer 207 (in de vorm van een videobeeld) welke wordt uitgezonden door de LED's of pixels, gecontrolleerd door de constant current driver(s). Opgemerkt wordt dat als programmeertaal VHDL kan worden gebruikt, of als alternatief ook Verilog van toepassing is.Furthermore, the sub-delta (or subA) compensation 204 is performed, for example a look-up table is created (by means of input received from the processor) and then the sub-delta is determined. Then, as indicated by block 205, RGB is processed and signals are sent to the constant current drivers 206 (depending e.g. on type of constant current driver (ccd), number of pixels or LEDs, type of board etc.), ultimately leading to the light output 207 (in the form of a video image) which is emitted by the LEDs or pixels, controlled by the constant current driver(s). It is noted that VHDL can be used as a programming language, or alternatively Verilog also applies.

WoordenlijstWord list

Figuur 5Figure 5

B only = enkel bB only = b only

Figuur 6Figure 6

Red non linearity = rood niet-lineariteitRed non-linearity = red non-linearity

Red Corr formula = rood corr formuleRed Corr formula = red corr formula

Series = ReeksSeries = Series

Linear = lineairLinear = linear

Figuur 9Figure 9

Symbol = symboolSymbol = symbol

Pin Name = pin naamPin Name = pin name

Function description = functiebeschrijvingFunction description = job description

Data Input = gegevensinvoerData Input = data input

CLK Input = CLK invoerCLK Input = CLK input

Ground, grounding = aardingGround, grounding = earthing

Power = voedingPower = power supply

CLK output = CLK uitvoerCLK output = CLK output

Control signal Input data = controlesignaal invoergegevensControl signal Input data = control signal input data

Control signal Input Clock data = controlesignaal invoer klokgegevensControl signal Input Clock data = control signal input clock data

The signal and power supply and grounding = het signaal, de stroomtoevoer en de aardingThe signal and power supply and grounding

Power supply pin = voedingspinPower supply pin = power supply pin

31 BE2022/588131 BE2022/5881

Control signal output clock data = controlesignaal output klokgegevensControl signal output clock data = control signal output clock data

Control signal output data = controlesignaal uitvoergegevensControl signal output data = control signal output data

Figuur 10Figure 10

Shunt Regulator = shunt regelaarShunt Regulator = shunt regulator

Pulse Generator = pulsgeneratorPulse Generator = pulse generator

Reset = resettenReset = reset

Outen = uitOuten = out

Interface Control = interface controle 32-Bit shift register = 32-Bit schuifregisterInterface Control = interface control 32-Bit shift register = 32-Bit shift register

Upper = bovensteUpper = topmost

Lower = ondersteLower = bottom

Command Decoder = commando decoder 24-Bit Data Latch = 24-Bit datavergrendelingCommand Decoder = command decoder 24-Bit Data Latch = 24-Bit data latch

Internal Oscillator = interne oscillatorInternal Oscillator = internal oscillator

GS Clock Counter = GS klokteller 8-Bit PWM Timing Control with Simple Gamma Correction = 8-Bit PWM timingregeling met eenvoudige gammacorrectieGS Clock Counter = GS clock counter 8-Bit PWM Timing Control with Simple Gamma Correction = 8-Bit PWM timing control with simple gamma correction

Switching Delay = schakel vertraging 3-Channel Sink Driver = 3-kanaals zink stuurprogrammaSwitching Delay = switch delay 3-Channel Sink Driver = 3-channel sink driver

Figuur 11Figure 11

VGEN with individual current gain control = VGEN met individuele stroomversterkingsregelingVGEN with individual current gain control = VGEN with individual current gain control

Digital Regulator = digitale regelaarDigital Regulator = digital controller

Power saving = vermogen besparingPower saving = power saving

Voltage Reference = spanningsreferentieVoltage Reference = voltage reference

Deghost = ontgeestenDeghost = to despiritualize

Bit count control = controle van het aantal bitsBit count control = control of the number of bits

Control and Synchronization = controle en synchronisatieControl and Synchronization = control and synchronization

Configuration Register = configuratie registerConfiguration Register = configuration register

Scan Control = scan controle 48bit ping pong SRAM support = 48-Bit ping pong SRAM ondersteuningScan Control = scan control 48bit ping pong SRAM support = 48-Bit ping pong SRAM support

R/G/B comparator = R/G/B vergelijkerR/G/B comparator = R/G/B comparator

32 BE2022/588132 BE2022/5881

Output Buffer = uitvoerbuffer 48ch Constant Current Source = 48ch constante stroombron 16bit shift register (FIFO) = 16-Bit schuifregister (FIFO) 48bit Error Status = 48-Bit foutstatusOutput Buffer = output buffer 48ch Constant Current Source = 48ch constant current source 16bit shift register (FIFO) = 16-Bit shift register (FIFO) 48bit Error Status = 48-Bit error status

Error Detection = foutdetectieError Detection = error detection

Bi-direction Control = bi-directionele controleBi-direction Control = bi-directional control

Figuur 14Figure 14

Voltage = spanningVoltage = voltage

Time constant = tijdsconstanteTime constant = time constant

Figuur 20 output = uitvoerFigure 20 output = output

Claims (15)

33 BE2022/5881 Conclusies33 BE2022/5881 Conclusions 1. Een werkwijze (300) voor het bepalen van niet-lineaire display pixeldriver compensatie (30) uitgevoerd door een verwerkingssysteem (20) van een licht-emitterend display (10) gekenmerkt door één of meer kleuren (15), waarbij het licht-emitterend display (10) pixels (40) omvat die worden gecontrolleerd door pixeldrivers (45) welke niet-lineariteiten veroorzaken, waarbij de werkwijze (300) omvat: (i) het meten (301) van waarden (31) voor ten minste één van de één of meer kleuren; (ii) het berekenen (302) van waarden (32) voor de ten minste één van de één of meer kleuren; (iii) het vergelijken (303) van gemeten en corresponderende berekende waarden; (iv) het waarnemen (304) van een afwijking in de gemeten waarden als gevolg van de niet-lineariteiten, en het bepalen (305) van genoemde afwijking als de niet-lineaire pixeldriver compensatie (30).A method (300) for determining non-linear display pixel driver compensation (30) performed by a processing system (20) of a light-emitting display (10) characterized by one or more colors (15), wherein the light-emitting emissive display (10) comprises pixels (40) controlled by pixel drivers (45) which cause non-linearities, the method (300) comprising: (i) measuring (301) values (31) for at least one of the one or more colors; (ii) calculating (302) values (32) for the at least one of the one or more colors; (iii) comparing (303) measured and corresponding calculated values; (iv) detecting (304) a deviation in the measured values due to the non-linearities, and determining (305) said deviation as the non-linear pixel driver compensation (30). 2. De werkwijze (300) volgens conclusie 1, waarbij voorafgaand aan alle stappen (i) tot (iv), kalibratie (500) wordt uitgevoerd door middel van (a) het lezen, laden of invoeren (501) van de waarden (51) gemeten voor de één of meer kleuren van het display (10); (b) het lezen, laden of invoeren (502) van de targetwaarden (52) voor de één of meer kleuren van het display (10); en (c) voor de één of meer kleuren, het berekenen (503) van corresponderende kalibratiematrices (50) op basis van de gemeten en targetwaarden (51, 52); en bij het berekenen van waarden (32) in stap (ii) de kalibratiematrices (50) gebruiken.The method (300) of claim 1, wherein prior to all steps (i) to (iv), calibration (500) is performed by (a) reading, loading or entering (501) the values (51 ) measured for the one or more colors of the display (10); (b) reading, loading or inputting (502) the target values (52) for the one or more colors of the display (10); and (c) for the one or more colors, calculating (503) corresponding calibration matrices (50) based on the measured and target values (51, 52); and when calculating values (32) in step (ii), use the calibration matrices (50). 3. De werkwijze (300) volgens conclusie 2, waarbij de kalibratiematrices (50) gebaseerd zijn op display-inhoudcontext en/of display-instellingen..The method (300) of claim 2, wherein the calibration matrices (50) are based on display content context and/or display settings. 4. De werkwijze (300) volgens conclusie 1 tot 3, waarbij het licht-emitterend display (10) wordt gekenmerkt door ten minste drie kleuren.The method (300) according to claims 1 to 3, wherein the light-emitting display (10) is characterized by at least three colors. 5. De werkwijze (300) volgens conclusie 1 tot 4, waarbij het bepalen wordt uitgevoerd voor elke displaypixel of cluster van displaypixels.The method (300) according to claims 1 to 4, wherein the determination is performed for each display pixel or cluster of display pixels. 6. Een werkwijze (600) voor het implementeren van niet-lineaire display pixeldriver compensatie (30), uitgevoerd door een verwerkingssysteem (20) van een licht-emitterend display (10) gekenmerkt door één of meer kleuren (15), waarbij de licht- emitterend display (10) pixels (40) omvat die worden gecontrolleerd door pixeldrivers (45) welke niet- lineariteiten veroorzaken, waarbij de werkwijze (600) omvat: (i) het bepalen (601) van de6. A method (600) for implementing non-linear display pixel driver compensation (30) performed by a processing system (20) of a light-emitting display (10) characterized by one or more colors (15), wherein the light - emissive display (10) comprising pixels (40) controlled by pixel drivers (45) causing non-linearities, the method (600) comprising: (i) determining (601) the 34 BE2022/5881 niet-lineaire display pixeldriver compensatie (30) op basis van de werkwijze ( 300) van conclusie 1 tot 5, of het lezen, laden of invoeren (602) van de niet-lineaire display pixeldriver compensatie (30), bepaald op basis van de werkwijze (300) van conclusie 1 tot 5, en (ii) het compenseren (603) voor genoemde afwijking bepaald als de niet-lineaire pixeldriver compensatie (30).34 BE2022/5881 non-linear display pixel driver compensation (30) based on the method (300) of claims 1 to 5, or reading, loading or inputting (602) the non-linear display pixel driver compensation (30), determined based on the method (300) of claims 1 to 5, and (ii) compensating (603) for said deviation determined as the non-linear pixel driver compensation (30). 7. De werkwijze volgens conclusie 6, waarbij het compenseren (603) is gebaseerd op de helderheid gedefinieerd door een wiskundige formule.The method of claim 6, wherein the compensation (603) is based on the brightness defined by a mathematical formula. 8. De werkwijze volgens conclusie 6, waarbij het compenseren (603) is gebaseerd op het gebruik van één of meer opzoektabellen, in het bijzonder op wat is opgeslagen in de één of meer opzoektabellen, die elk bestaan uit invoerwaarden en corresponderende uitvoerwaarden die rekening houden met de niet-lineariteiten.The method of claim 6, wherein the compensating (603) is based on the use of one or more lookup tables, in particular on what is stored in the one or more lookup tables, each consisting of input values and corresponding output values taking into account with the non-linearities. 9. De werkwijze volgens conclusie 8, waarbij het compenseren (603) is gebaseerd op wat is opgeslagen in een aantal opzoektabellen met verminderde bitrepresentatie, in het bijzonder wordt het compenseren gedefinieerd uit interpolatieberekeningen die tussen deze worden uitgevoerd.The method of claim 8, wherein the compensation (603) is based on what is stored in a number of reduced bit representation lookup tables, in particular the compensation is defined from interpolation calculations performed between them. 10. De werkwijze volgens conclusie 6 tot 9, waarbij het compenseren (603) wordt uitgevoerd voor elke displaypixel of cluster van displaypixels.The method of claim 6 to 9, wherein the compensating (603) is performed for each display pixel or cluster of display pixels. 11. Een werkwijze voor het weergeven van een beeld (70) op een licht-emitterend display (10) met niet-lineaire display pixeldriver compensatie (30), omvattende: (i) het bepalen van de niet-lineaire display pixeldriver compensatie (30) op basis van op de werkwijze (300) van conclusie 1 tot 5, of het lezen, laden of invoeren van de niet-lineaire display pixeldriver compensatie (30), bepaald op basis van de werkwijze (300) van conclusie 1 tot 5; (ii) het implementeren van de niet-lineaire display pixeldriver compensatie (30) op basis van de werkwijze (600) van conclusie 6 tot 10; en (iii) het weergeven (700) van het beeld (70) op het display (10).11. A method of displaying an image (70) on a light-emitting display (10) with non-linear display pixel driver compensation (30), comprising: (i) determining the non-linear display pixel driver compensation (30 ) based on the method (300) of claims 1 to 5, or reading, loading or inputting the non-linear display pixel driver compensation (30) determined based on the method (300) of claims 1 to 5; (ii) implementing the non-linear display pixel driver compensation (30) based on the method (600) of claims 6 to 10; and (iii) displaying (700) the image (70) on the display (10). 12. De werkwijze volgens conclusie 11, waarbij een extra temperatuurcorrectie wordt toegepast.The method according to claim 11, wherein an additional temperature correction is applied. 35 BE2022/588135 BE2022/5881 13. Een systeem (80) voor een licht-emitterend display (10), in het bijzonder voor het aansturen van licht-emitterende elementen of pixels (40) daarvan, omvattende een invoerprotocol (81) voor het ontvangen van invoer en een PWM-genererende module (84) voor het omzetten van genoemde invoer in signalen die moeten worden geleverd aan pixeldrivers (45) welke niet-lineariteiten veroorzaken, waarbij de licht-emitterende elementen of pixels (40) in de door hen uit te zenden uitvoer worden gedefinieerd en gecontrolleerd, met het kenmerk dat genoemd systeem (80) een module (83) omvat voor het bepalen en implementeren van niet-lineaire display pixeldriver compensatie (30) volgens de werkwijze (300, 600) van respectievelijk conclusie 1 tot 5 en conclusie 6 tot 10.13. A system (80) for a light-emitting display (10), in particular for driving light-emitting elements or pixels (40) thereof, comprising an input protocol (81) for receiving input and a PWM generating module (84) for converting said input into signals to be supplied to pixel drivers (45) causing non-linearities, defining the light-emitting elements or pixels (40) in the output to be emitted by them and controlled, characterized in that said system (80) comprises a module (83) for determining and implementing non-linear display pixel driver compensation (30) according to the method (300, 600) of claims 1 to 5 and claim 6 to respectively 10. 14. Het systeem (80) volgens conclusie 13, verder omvattende een module (82) voor het uitvoeren van kalibratie (500) en hierbij kalibratiematrices (50) bepalend die moeten worden gebruikt bij het definiëren van de uitvoer die moet worden uitgezonden door de licht-emitterende elementen of pixels (40).The system (80) of claim 13, further comprising a module (82) for performing calibration (500) and determining calibration matrices (50) to be used in defining the output to be emitted by the light -emitting elements or pixels (40). 15. Het systeem (80) volgens conclusie 13, waarbij het compenseren van de werkwijze (600) voor het implementeren van niet-lineaire display pixeldriver compensatie (30), in het bijzonder is gebaseerd op het gebruik van één of meer opzoektabellen en op de gegevens die voor deze één of meer opzoektabellen zijn opgeslagen in en dus moeten worden opgehaald uit een niet-vluchtig geheugen van het verwerkingssysteem (20), waarbij de één of meer opzoektabellen elk bestaan uit invoerwaarden en corresponderende uitvoerwaarden, welke rekening houden met de niet-lineariteiten die moeten worden opgenomen in de signalen voor de pixeldrivers (45).The system (80) of claim 13, wherein the compensating method (600) for implementing non-linear display pixel driver compensation (30) is specifically based on the use of one or more lookup tables and on the data for said one or more lookup tables is stored in and thus must be retrieved from a non-volatile memory of the processing system (20), wherein the one or more lookup tables each consist of input values and corresponding output values, which take into account the non- linearities to be included in the signals for the pixel drivers (45).
BE20225881A 2022-03-07 2022-10-27 METHOD FOR NONLINEAR COMPENSATION IN DISPLAY APPLICATIONS BE1030282B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP23160521.3A EP4243006A1 (en) 2022-03-07 2023-03-07 Method for non-linear compensation in display applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US202263317178P 2022-03-07 2022-03-07

Publications (2)

Publication Number Publication Date
BE1030282A1 BE1030282A1 (en) 2023-09-12
BE1030282B1 true BE1030282B1 (en) 2023-10-12

Family

ID=85157231

Family Applications (1)

Application Number Title Priority Date Filing Date
BE20225881A BE1030282B1 (en) 2022-03-07 2022-10-27 METHOD FOR NONLINEAR COMPENSATION IN DISPLAY APPLICATIONS

Country Status (1)

Country Link
BE (1) BE1030282B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200286424A1 (en) * 2019-03-07 2020-09-10 Stereyo Bvba Real-time deformable and transparent display

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3567469A1 (en) 2018-05-08 2019-11-13 Stereyo BVBA Standalone light-emitting element display tile and method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200286424A1 (en) * 2019-03-07 2020-09-10 Stereyo Bvba Real-time deformable and transparent display

Also Published As

Publication number Publication date
BE1030282A1 (en) 2023-09-12

Similar Documents

Publication Publication Date Title
KR102446033B1 (en) Method of converting color gamut and display device employing the same
JP6775326B2 (en) Color adjustment method, color adjustment device and display system
KR100758295B1 (en) Gamma correction device and display apparatus including the same and method for gamma correction thereof
WO2019214449A1 (en) Screen brightness control method and device, and terminal device
US8279234B2 (en) Method and system of generating gamma data of display device
TWI395180B (en) Display device, video signal processing method, and program
JP4845825B2 (en) Multicolor display device
US8786585B2 (en) System and method for adjusting display based on detected environment
US7038735B2 (en) Video display system utilizing gamma correction
US7995080B2 (en) Image display apparatus
KR20080009497A (en) Multi-color display device and driving method thereof
JP2010524046A (en) Calibration of RGBW type display
KR20040015376A (en) Method and device for gamma correction
CN111862880B (en) Method for acquiring multi-color gamma correction table and display control method, device and system
CN114067724B (en) Gray data processing method, device and system and display device
US10580384B1 (en) Panel calibration using multiple non-linear models
JP2002116750A (en) Color conversion circuit and color conversion method as well as color image display device
KR20200015863A (en) Device and method for controlling color gamut, display device including the device for controlling color gamut
BE1030282B1 (en) METHOD FOR NONLINEAR COMPENSATION IN DISPLAY APPLICATIONS
JP2006195306A (en) Method and equipment for driving light-emitting device, and display device
KR101948843B1 (en) System for controling picture element of display device using look-up table and method therefor
US20090021523A1 (en) Display Apparatus
JP4770873B2 (en) LED drive system and control method thereof
US20230282153A1 (en) Methods and systems for non-linear compensation in display applications
EP4243006A1 (en) Method for non-linear compensation in display applications

Legal Events

Date Code Title Description
FG Patent granted

Effective date: 20231012