The present disclosure relates to lighting devices and methods. In particular, the present disclosure relates to a method and system for chromaticity adjustment or color matching for a video display screen.
Today, it is common for video displays to use light emitting diodes (“LEDs”) because of the brightness and low power requirements of the LEDs. LED video screens are used as digital billboards to display e.g., advertisements, textual and/or graphical informational messages, and live or prerecorded videos throughout cities and towns and at sporting events, concerts, and other appropriate venues (e.g., inside or outside of buildings). LED video screens, also referred to as LED display walls, are made up of individual panels and/or intelligent modules (IM) having a predetermined number and arrangement of controllable LEDs. The panels and/or modules are mounted next to each other and their outputs are controlled such that they appear to be one large display screen.
The LEDs used in the LED video screen, etc. are usually red, green or blue (“RGB”) LEDs whose output can be controlled such that the RGB components mix according to known principles to create any visible color (including black and white). Unfortunately, the batches of LEDs that are used for the modules, panels, etc. may have different wavelengths of color due to e.g., their composition, manufacturing and/or other differences. This means that the LEDs on the individual panels and modules may have different output coloring from panel to panel and module to module. Since video screens comprise multiple panels and/or modules placed next to each other, uniformity of the screen's output will be affected by the color differences between the LED batches.
Sometimes, when constructing an LED video screen, panels and/or modules are discarded when it is determined that there are color differences between the other panels and/or modules in the screen. That is, only compatible panels and modules are used, so that screen uniformity can be achieved as best as possible. This, however, wastes resources and can be expensive. Moreover, exact color uniformity is not guaranteed.
There have been attempts to adjust the LED video screen's uniformity by adjusting the saturation, luminance and hue of the panels making up the screen. This is often referred to as chromaticity adjustment or color matching. These attempts, however, necessarily alter the RGB output gain, which also affects the output white balance of the panels/modules. Therefore, uniformity based on the saturation, luminance and hue adjustments will not be achieved because the panels/modules will have different RGB gain and white balancing. Likewise, if a target white balance is desired between the panels and modules, then uniformity will not be achieved because of the different RGB ratios. Thus, these techniques are not desirable and will not result in a uniform screen output.
Accordingly, there exists a need to provide an improved color matching/chromaticity adjustment technique for a video screen, display panel, module or other component comprising different batches of light emitting diodes.
In consideration of the above problems, in accordance with one aspect disclosed herein, a method of performing color matching for a light emitting video screen comprising a plurality of light emitting panels arranged in a layout is provided. The method comprises generating, at a processor, master data from an output of a first light emitting panel of the plurality of light emitting panels; generating, at the processor, correction data for each remaining light emitting panel, the respective correction data being based on a respective output of a respective remaining light emitting panel and the master data; assigning, at the processor, the master data associated with the first light emitting panel to a location in the layout corresponding to a location of the first light emitting panel in the screen; and for each remaining light emitting panel, assigning, at the processor, the correction data associated with a respective remaining light emitting panel to a location in the layout corresponding to a location of the respective remaining light emitting panel in the screen.
In another embodiment, a video processor is provided. The video processor is programmed to execute a method of performing color matching for a light emitting video screen comprising a plurality of light emitting panels arranged in a layout. The video processor is programmed to generate master data from an output of a first light emitting panel of the plurality of light emitting panels; generate correction data for each remaining light emitting panel, the respective correction data being based on a respective output of a respective remaining light emitting panel and the master data; assign the master data associated with the first light emitting panel to a location in the layout corresponding to a location of the first light emitting panel in the screen; for each remaining light emitting panel, assign the correction data associated with the respective remaining light emitting panel to a location in the layout corresponding to a location of the respective remaining light emitting panel in the screen; and perform color matching on the remaining light emitting panels in the screen based on the respective correction data.
The figures are for illustration purposes only and are not necessarily drawn to scale. The invention itself, however, may best be understood by reference to the detailed description which follows when taken in conjunction with the accompanying drawings in which:
In accordance with preferred embodiments disclosed herein, a system and method of color matching for a video screen, display panel, module or other component comprising different batches of light emitting diodes is provided. The disclosed system and method do not alter the panel/module's RGB gain when adjusting saturation, luminance and hue. This way, the panels and modules can achieve a desired/targeted white balance. As such, different batches of LEDs can be set to the same RGB ratios to achieve proper color matching. Thus, the disclosed system and method can mix different batches of LEDs in the same video screen or wall, yet achieve uniformity across the screen/wall. The disclosed system and method will not waste LED panels or modules, ensures uniformity in an efficient manner and are less costly to implement than today's color matching schemes.
The system 200 also comprises a processor 210, which controls and drives the panel 202 through one output (OUT1) connected to the panel 202 via a wired or wireless connection. The processor 210 also drives the monitor 206 using a monitor output (MONITOR OUT) via a wired or wireless connection. The processor 210 inputs image and other data from the camera 204 via e.g., a serial digital interface input (SDI IN) via a wired or wireless connection. It should be appreciated that the processor 210 can input digital data via a digital visual interface (DVI) if desired. In a desired embodiment, the processor 210 is part of the control panel/module that operates the LED video screen. For example, the processor 210 could be the video processor for the control panel/module.
The method 100 may be implemented in software or hardware. In a desired embodiment, the method 100 is implemented in software, stored in a computer readable medium, which could be a random access memory (RAM) device, non-volatile random access memory (NVRAM) device, or a read-only memory (ROM) device) and executed by the processor 210 or other suitable controller for the video screen. The method 100 begins by placing a panel 202 (that will serve as the master panel) in the system 200 and generating master data from that panel 202 (step 102). As noted above, the master data is the data that all other panels used in the LED video screen are calibrated against/adjusted to. The master data is generated by placing a marker 214 within the panel image 212 and inputting the white balance/gain (Rgain, Ggain, Bgain), chromaticity (R Rg, Rb, G, Gr, Gb, B, Br, Bg), hue and luminance information output from the red, green and blue LEDs within the marker's 214 region.
In a desired embodiment, the size and location of the marker are adjustable via a graphical user interface (GUI) displayable on the monitor 206 or another control panel interface.
In a desired embodiment, the sampled white balance/gain (Rgain, Ggain, Bgain), chromaticity (R Rg, Rb, G, Gr, Gb, B, Br, Bg), hue and luminance information can be output on the monitor 206 as a data graph 400 such as the one shown in
Once the master data is stored, the method 100 continues at step 104 where another panel 202 (i.e., a panel that will serve as an adjusted panel) is placed in the system 200. The image 212 of the output of the adjusted panel 202 is displayed on the monitor 206 and a marker 214 (of a similar size used to collect master data in step 102) is placed over the image 212. The same interface (e.g., interface 300) used to position the marker 214 to collect master data can be used to position the marker 214 to collect correction data, if desired. Once positioned, the processor 210 initiates a calibration/adjustment of the panel 202 based on its output image 212 and the master data collected at step 102. It should be appreciated that the interface 300 could include a “calibration” or “adjustment” selection to initiate the calibration/adjustment of the panel 202 if desired, or the calibration/adjustment can occur once the marker 214 is positioned. Based on the calibration of the panel 202, “correction data” is input and stored by the processor 210. The “correction data” includes the same type of information as the master data. That is, correction data will also include white balance/gain (Rgain, Ggain, Bgain), chromaticity (R Rg, Rb, G, Gr, Gb, B, Br, Bg), hue and luminance information output from the red, green and blue LEDs within the marker's 214 region as adjusted based on the master data.
In a desired embodiment, the correction data is displayed on a color graph 500 such as the example graph shown in
In a desired embodiment, the correction data's white balance/gain (Rgain, Ggain, Bgain), chromaticity (R Rg, Rb, G, Gr, Gb, B, Br, Bg), hue and luminance information can be output on the monitor 206 as a sampling data graph 600 such as the one shown in
The graph 600 provides an easy way to compare the correction data (i.e., portions 612, 614, 616, 618) to the master data (i.e., portions 412, 414, 416, 418). Based on the comparison, it may be desirable to adjust the correction data at this point to ensure that all of the data falls within a predetermined acceptable level. Therefore, in one embodiment, as part of step 104, a user interface may be provided to allow any of the correction data's white balance/gain (Rgain, Ggain, Bgain), chromaticity (R Rg, Rb, G, Gr, Gb, B, Br, Bg), hue and luminance to be adjusted. The adjustments can be made at the module level. The process for fine tuning the correction data will be discussed below in more detail with reference to method step 112.
In a desired embodiment, the correction data's white balance/gain (Rgain, Ggain, Bgain), chromaticity (R Rg, Rb, G, Gr, Gb, B, Br, Bg), hue and luminance information are stored as a correction data set in the processor 210 or in a memory associated with the processor 210. Moreover, the correction data set is numbered (i.e., correction data set 2, etc.). This number can then be written on a portion of the adjusted panel that will not be visible once the LED video screen is constructed. Once all of the remaining panels to be used in the LED screen undergo step 104, and the associated correction data sets are recorded and numbered, the LED video screen can now be assembled (step 106).
As shown in
Once all of the correction data has been assigned to the screen's layout, the method 100 continues at step 110 to see if any of the locations need fine tuning. As noted above, this “fine tuning” could have been performed during step 104 as each panel was being calibrated/adjusted. Moreover, the fine tuning could also have been performed as each panel was assigned a location in step 108, if desired. To determine if fine tuning is required, the operator can select a location within the screen layout 700 and view the correction data for the panel at that location (or the individual modules within the panel at that location). This can be done by any mechanism, including a GUI or other type of menu input. For example, the operator could move a pointer over location 704 and click on it to reveal the location's 704 relevant information (discussed below). The operator could also be provided with a mechanism for selecting the relevant information from individual modules making up the panel at the location 704. Once selected, the evaluation of whether fine tuning is needed can be made.
In one embodiment, determining whether fine tuning is required will involve an operator manipulating an interface (e.g., a GUI) to determine if the correction data of a panel (or the individual modules making up the panel) are outside predetermined boundaries. For example, correction data should not exceed the 100% level by more than a small amount (e.g., 10%) to prevent oversaturation of the panel's output coloring. Similarly, correction data should not be less than the 0% level by more than a small amount (e.g., 10%). It should be appreciated that these checks can be made by the user manually by viewing the sampling data graphs or color graphs. For example,
Regardless of how step 110 is performed, if there is no need for fine tuning, then the method 100 is completed. If, however, it is determined that any location, panel or individual module needs fine tuning, the method 100 continues at step 112, where correction data will be regenerated for the panel (or the individual modules (IM) making up the panel) at the location. Step 112 can be performed using a graphical user interface such as the GUI 1000 illustrated in
The example GUI 1000 includes sliders 1002 for adjusting Rgain, Ggain, Bgain, sliders 1004 for adjusting the red chromaticity components R, Rg, Rb, sliders 1006 for adjusting the green chromaticity components G, Gr, Gb, and sliders 1008 for adjusting the blue chromaticity components B, Br, Bg. The GUI 1000 can have a white balance display region 1003, red chromaticity display region 1005, green chromaticity display region 1007, and a blue chromaticity display region 1009. The GUI 1000 can have a green/blue (GB) hue selector 1010, a GB luminance selector 1012, a GB off selector, a red/blue (RB) hue selector 1014, an RB luminance selector 1016, a RB off selector 1017, a red/green (RG) hue selector 1018, an RG luminance selector 1020, a RG off selector 1021, and a bypass selector 1022. It should be appreciated that the present disclosure is not limited to the corrective measures shown on the GUI 1000. It should also be appreciated that a novel aspect of the present disclosure is to not change the white balance to ensure uniformity of all of the panels in the LED video screen. Thus, even though sliders 1002 are providing for adjusting the Rgain, Ggain, Bgain parameters, these parameters will not be adjusted to fine tune the panel or individual module.
The red chromaticity display region 1005 illustrates the value for the red component R as R=1023−(Rg+Rb)/2±Rsat, the green chromaticity display region 1007 illustrates the value for the green component G as G=1023−(Gr+Gb)/2±Gsat and the blue chromaticity display region 1009 illustrates the value for the blue component B as B=1023−(Br+Bg)/2±Bsat. Adjustments can be made by selecting any of the GB hue selector 1010, GB luminance selector 1012, RB hue selector 1014, RB luminance selector 1016, RG hue selector 1018, and RG luminance selector 1020 and then adjusting one of the chromaticity components using one of the sliders 1004, 1006, 1008. Adjustments will adhere to the following rules. When luminance is selected (via selector 1012, 1016 or 1020), if Rg is added (or subtracted), the same quantity of Rb is added (or subtracted), if Gr is added (or subtracted), the same quantity of Gb is added (or subtracted), and if Br is added (or subtracted), the same quantity of Bg is added (or subtracted). When hue is selected (via selector 1010, 1014 or 1018), if Rg is added (or subtracted), the same quantity of Rb is subtracted (or added), if Gr is added (or subtracted), the same quantity of Gb is subtracted (or added), and if Br is added (or subtracted), the same quantity of Bg is subtracted (or added). It should be noted that the selected fine tuning can be bypassed partially by selecting any of GB off selector 1013, RB off selector 1017, and RG off selector 1021, or completely by selecting the bypass selector 1022. This way, fine tuning can be performed again if the operator is not satisfied with the initial tuning. Once fine tuning is completed, the correction data can be stored to replace the prior version of the correction data or it can be stored as a new set of correction data. If stored as a new set of correction data, the location 704 on the layout 700 will need to be updated to reflect the new set of correction data.
The module 1100 has an SDI receiver portion 1104 for receiving SDI digital image data. The module 1100 may also have a DVI receiver portion 1106 for receiving DVI digital image data (via a multiplexer 1102). The type of input image data may be selected by a selection unit 1108 and sent to a format converter 1110 to be processed in accordance with an interlaced-to-progressive (I-to-P) function. A marker addition unit 1112 inputs the converted image data from converter 1110 and adds, from CPU 1120, marker control information identifying the selected portion of the image 212 with the marker 214, as discussed above with respect to
A data sampling unit 1118 also inputs both the converted image data and the marker control information identifying the selected portion of the image 212. CPU 1120 receives from data sampling unit 1118 sampling data for this selected portion of the image 212. Test signal unit 1116 provides a test signal for chromaticity adjustment. Switch 1122 is used to select, based on a switch control signal from CPU 1120, the test signal from test signal unit 1116 or sampled data from data sampling unit 1118 and pass the selected image data to a chromaticity adjustment module 1124.
The chromaticity adjustment module 1124, which is shown in more detail in
For chromaticity adjustment 1200a, the red image data R_IN is input at adders 1202, 1218, multipliers 1206, 1210, 1214, and leveler 1228. Red saturation data R_SATURATION is input at multiplier 1206 (using R slider 1004) and combined with the red image data R_IN, multiplier 1206 thus coordinates red saturation. Rg is input at multiplier 1210 (using Rg slider 1004) and combined with red image data R_IN; multiplier 1210 thus corrects Rg in the red image data R_IN. Rb is input (using Rb slider 1004) at multiplier 1214 and combined with red image data R_IN; multiplier 1214 thus corrects Rb in the red image data R_IN. Green image data G_IN and blue image data B_IN are input at a minimizing block 1224, which calculates the green and blue minimum. The inverted output, via inverter 1226, of the minimizing block 1224 is input at adder 1218 to be combined with red image data R_IN. A combination of the inverter 1226 and the adder 1218 functions to subtract the green and blue minimum from the red image data R_IN. A negative underflow function 1220 inputs the output of adder 1218 and is picked up by only an anode-related signal. Multiplier 1222 combines the outputs of negative underflow function 1220 and leveler 1228. The output of multiplier 1222 is input at multipliers 1208, 1212, 1216 to be combined with the outputs of multipliers 1206, 1210, 1214, respectively. Multiplier 1208 revises the red image data R_IN with green image data G_IN and blue image data B_IN and a small portion of red saturation data R_SATURATION. The output of multiplier 1208 is added to the red image data R_IN at adder 1202. Adder 1202 adds a red saturation signal to the red image data R_IN. Adder 1202 also creates an output that is sent to adder 1204, which functions to add green and blue revisions to the red image data R_IN. Multiplier 1212 revises the Rg component of the red image data R_IN only, and further revises this revised image data with green image data G_IN and blue image data B_IN. Multiplier 1212 creates an output that is sent to adder 1234, which adds red and blue revisions to the green image data G_IN. Multiplier 1216 revises the Rb component of the red image data R_IN only, and further revises this revised image data with green image data G_IN and blue image data B_IN. Multiplier 1216 creates an output that is sent to adder 1264, which adds read and green revisions to blue image data B_IN. Multiplier 1222 calculates the primary color (in this case, red) and the secondary color ratio, without being influenced by R_IN level, as is illustrated in
The green image data G_IN is input at adders 1232, 1248, multipliers 1236, 1240, 1244, and leveler 1258. Green saturation data G_SATURATION is input (using G slider 1006) at multiplier 1236 and combined with the green image data G_IN, multiplier 1236 thus coordinates green saturation. Gr is input (using Gr slider 1006) at multiplier 1240 and combined with green image data G_IN; multiplier 1240 thus corrects Gr in the green image data G_IN. Gb is input (using Gb slider 1006) at multiplier 1244 and combined with green image data G_IN; multiplier 1244 thus corrects Gb in the green image data G_IN. Red image data R_IN and blue image data B_IN are input at a minimizing block 1254, which calculates the red and blue minimum. The inverted output, via inverter 1256, of the minimizing block 1254 is input at adder 1248 to be combined with green image data G_IN. A combination of the inverter 1256 and the adder 1248 functions to subtract the red and blue minimum from the green image data G_IN. A negative underflow function 1250 inputs the output of adder 1248 and is picked up by only an anode-related signal. Multiplier 1252 combines the outputs of negative underflow function 1250 and leveler 1258. The output of multiplier 1252 is input at multipliers 1238, 1242, 1246 to be combined with the outputs of multipliers 1236, 1240, 1244, respectively. Multiplier 1238 revises the green image data G_IN with red image data R_IN and blue image data B_IN and a small portion of green saturation data G_SATURATION. The output of multiplier 1238 is added to the green image data G_IN at adder 1232. Adder 1232 adds a green saturation signal to the green image data G_IN. Adder 1232 also creates an output that is sent to adder 1234, which adds red and blue revisions to the green image data G_IN. Multiplier 1242 revises the Gr component of the green image data G_IN only, and further revises this revised image data with red image data R_IN and blue image data B_IN. Multiplier 1242 creates an output that is sent to adder 1204, which adds green and red revisions to the green image data G_IN. Multiplier 1246 revises the Gb component of the green image data G_IN only, and further revises this revised image data with red image data R_IN and blue image data B_IN. Multiplier 1246 creates an output that is sent to adder 1264, which adds red and green revisions to blue image data B_IN.
The blue image data B_IN is input at adders 1262, 1278, multipliers 1266, 1270, 1274, and leveler 1288. Blue saturation data B_SATURATION is input (using B slider 1008) at multiplier 1266 and combined with the blue image data B_IN, multiplier 1266 thus coordinates blue saturation. Br is input (using Br slider 1008) at multiplier 1270 and combined with blue image data B_IN; multiplier 1270 thus corrects Br in the blue image data B_IN. Bg is input (using Bg slider 1008) at multiplier 1274 and combined with blue image data B_IN; multiplier 1274 thus corrects Bg in the blue image data B_IN. Green image data G_IN and red image data R_IN are input at a minimizing block 1284, which calculates the green and red minimum. The inverted output, via inverter 1286, of the minimizing block 1284 is input at adder 1278 to be combined with blue image data B_IN. A combination of the inverter 1286 and the adder 1278 functions to subtract the green and red minimum from the blue image data B_IN. A negative underflow function 1280 inputs the output of adder 1278 and is picked up by only an anode-related signal. Multiplier 1282 combines the outputs of negative underflow function 1280 and leveler 1288. The output of multiplier 1282 is input at multipliers 1268, 1272, 1276 to be combined with the outputs of multipliers 1266, 1270, 1274, respectively. Multiplier 1268 revises the blue image data B_IN with green image data G_IN and red image data R_IN and a small portion of blue saturation data B_SATURATION. The output of multiplier 1268 is added to the blue image data B_IN at adder 1262. Adder 1262 adds a blue saturation signal to the blue image data B_IN. Adder 1262 also creates an output that is sent to adder 1264, which adds red and green revisions to the blue image data B_IN. Multiplier 1272 revises the Br component of the blue image data B_IN only, and further revises this revised image data with red image data R_IN and green image data G_IN. Multiplier 1272 creates an output that is sent to adder 1204, which adds green and blue revisions to the red image data R_IN. Multiplier 1276 revises the Bg component of the blue image data B_IN only, and further revises this revised image data with green image data G_IN and red image data R_IN. Multiplier 1276 creates an output that is sent to adder 1234, which adds red and blue revisions to green image data G_IN.
For dot gain adjustment 1200b, the red gain R_GAIN is input at a multiplier 1320, multiplier 1326, gamma correction block 1336, and multiplier 1340. The output of adder 1204 is input at multiplier 1320 and gamma correction block 1324. Multiplier 1320 adjusts the level of the red signal R_signal to result in RR
Gamma correction block 1336 adds gamma to red gain R_GAIN to result in γR
C=R_GAIN×(1/γR
Gamma correction block 1330 adds gamma to RR
B=C×γR
R
GAIN=3×0.2=0.6 (Equation 2)
The output of multiplier 1332, that is signal “B”, is inverted by inverter 1334 and added to the output of multiplier 1326, that is signal “A”, at adder 1328. A combination of inverter 1334 and adder 1328 thus functions to obtain a correction signal based on a difference between signals “A” and “B”. See
The gamma of the panel is prescribed at 100% of white levels. A 100% level changes when red gain R_GAIN is adjusted and the gamma properties change. Even if the red panel gamma correction block changes the red gain R_GAIN, gamma properties are corrected.
The green gain G_GAIN is input at a multiplier 1350, multiplier 1356, gamma correction block 1366 and multiplier 1370. The output of adder 1234 is input at multiplier 1350 and gamma correction block 1354. The output of gamma correction block 1354 and green gain G_GAIN are combined at multiplier 1356. The output of multiplier 1350 is input at adder 1352 and gamma correction block 1360. The output of gamma correction block 1366 is input at an inversion block 1368, which outputs 1/γ GGAIN to multiplier 1370. The outputs of gamma correction block 1370 and multiplier 1360 are combined at multiplier 1362. The output of multiplier 1362 is inverted by inverter 1364 and added to the output of multiplier 1356 at adder 1358. The output of adder 1358 is input at adder 1352 to be combined with the output of multiplier 1350. The output of adder 1352 is used as the corrected green output image data G_OUT.
The blue gain B_GAIN is input at a multiplier 1380, multiplier 1386, gamma correction block 1396 and multiplier 1400. The output of adder 1264 is input at multiplier 1380 and gamma correction block 1384. The output of gamma correction block 1384 and blue gain B_GAIN are combined at multiplier 1386. The output of multiplier 1380 is input at adder 1382 and gamma correction block 1390. The output of gamma correction block 1396 is input at an inversion block 1398, which outputs 1/γ BGAIN to multiplier 1400. The outputs of gamma correction block 1400 and multiplier 1390 are combined at multiplier 1392. The output of multiplier 1392 is inverted by inverter 1394 and added to the output of multiplier 1386 at adder 1388. The output of adder 1388 is input at adder 1382 to be combined with the output of multiplier 1380. The output of adder 1382 is used as the corrected blue output image data B_OUT.
The green gain G_GAIN and the blue gain B_GAIN portions of the dot gain adjustment 1200b function similarly to that of the red gain R_GAIN described above. Some of the details with respect to the dot gain adjustment 1200b of the green gain G_GAIN and blue gain B_GAIN are omitted merely for the sake of brevity. One of ordinary skill in the art would understand the functioning of the dot gain adjustment 1200b of the green gain G_GAIN and of the blue gain B_GAIN from the description and illustration of the dot gain adjustment above with respect to the red gain R_GAIN.
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that a variety of alternate and/or equivalent implementations may be substituted for the specific embodiments shown and described without departing from the scope of the present invention. This application is intended to cover any adaptations or variations of the specific embodiments discussed herein. Therefore, it is intended that this invention be limited only by the claims and the equivalents thereof.