DISPLAY LIGHT COMPENSATION
A computing device adjusts LED zones based on illumination value comparisons to maintain display homogeneity, addressing LED parameter deviations and improving visibility in vehicle displays.
Patent Information
- Application Number
- DE102025121184
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-31
- Filing Date
- 2025-05-29
- Publication Date
- 2025-12-04
AI Technical Summary
Displays using LEDs can operate outside specified parameters due to age, faulty manufacturing, or incorrect installation, affecting the occupant's ability to view data accurately.
A computing device determines illumination values for sub-areas of a display image, compares them with a defined range, and adjusts LED zones to maintain homogeneity, correcting deviations through brightness or color adjustments.
Ensures consistent display quality by compensating for LED variations, enhancing the visibility of data on vehicle displays and other environments.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
AREA OF TECHNOLOGY
[0001] This disclosure relates to techniques that can detect local lighting values and activate a display based on those lighting values. GENERAL STATE OF THE ART
[0002] Systems can be operated by acquiring sensor data, including data regarding system status and data about the environment surrounding the system. This data can be formatted and displayed on a screen for users to view and interact with. The display can be a liquid crystal display (LCD) using light-emitting diodes (LEDs). The display can show a wide variety of data, including, but not limited to, vehicle control screens; vehicle status data such as vehicle speed, energy consumption, and other vehicle service notifications; data about the environment surrounding the vehicle, such as traffic and navigation maps; and so on. SUMMARY
[0003] A computer can capture an image from a display screen and divide the image into a number of sub-areas. The computer can improve the operation of a display by validating the display based on the illumination values. In the examples herein, the described display is a vehicle display, and vehicle operation is used herein as a non-restrictive exemplary environment for implementing the systems and procedures described herein. However, other implementations are possible, such as displays for consumer electronics, displays for industrial machinery, etc. Thus, it is understood that the techniques described herein may be applicable in non-vehicle environments.
[0004] Displays can output data for an occupant to view using arrays of light-emitting diodes (LEDs). LEDs can operate outside of specified parameters (e.g., with luminance or chromaticity outside a specified range) or cease to function due to age, faulty manufacturing, incorrect installation specifications, etc. Such LEDs can negatively impact the occupant's ability to view the data output by the display. Computers can use sensor data to control displays without requiring user intervention. For example, the computer can control the display brightness and color based on sensors that detect illumination values such as luminance, chromaticity, etc. Thus, computers can actuate LEDs based on sensor data to correct operations that might otherwise occur outside of specified parameters.For example, a display in a vehicle may experience fluctuations in LED output and / or the occupant's perception of the display, which can be corrected by the techniques described herein.
[0005] Accordingly, the present disclosure includes a system comprising a computing device, wherein the computing device includes a processor and a memory, the memory storing instructions executable by the processor, including instructions for the following: determining a first illumination value based on a first sub-area of an image of a display, the display comprising LED zones, the first sub-area being centered on the image; defining a plurality of second sub-areas of the image based on the LED zones; determining second illumination values of the second sub-areas; comparing the second illumination values with a range of values, the range of values being defined by at least one addition and one subtraction of the first illumination value and a threshold value;and activating the display based on comparing the second illumination values with the value range.;
[0006] The computing device can assign a homogeneity value to the second sub-areas, where the homogeneity value is based on the value range.
[0007] The homogeneity value can be the result of dividing the second illumination values by the first illumination values.
[0008] The range of values can be defined by the result of dividing the second lighting values by the first lighting values.
[0009] The range of values can be defined by the result of dividing a summation of differences between two lighting values by the resolution of a camera.
[0010] The differences between second illumination values can be determined by subtracting the second illumination values of the second sub-areas from the second illumination values of the second sub-areas after applying smoothing to the second illumination values.
[0011] The second illumination values can be the luminance measured in nits.
[0012] The second illumination values can be the chromaticity.
[0013] Activating the display can include at least one of increasing or decreasing the brightness of some of the LED zones.
[0014] The computing device can remove a large number of pixels from an outline of the image before the first illumination value is determined.
[0015] A method comprises the following: determining a first illumination value based on a first sub-area of an image of a display, wherein the display comprises a liquid crystal display (LCD) backlit by light-emitting diodes (LEDs) arranged in LED zones, the first sub-area being centered on the image; defining a plurality of second sub-areas of the image based on the LED zones; determining second illumination values of the second sub-areas; comparing the second illumination values with a range of values, wherein the range of values is defined by at least one addition and one subtraction of the first illumination value and a threshold value; and actuating the display based on the comparison of the second illumination values with the range of values.
[0016] A homogeneity value can be assigned to the second sub-areas, with the homogeneity value being based on the value range.
[0017] The homogeneity value can be the result of dividing the second illumination values by the first illumination values.
[0018] The range of values can be defined by the result of dividing the second lighting values by the first lighting values.
[0019] The range of values can be defined by the result of dividing a summation of differences between two lighting values by the resolution of a camera.
[0020] The differences between second illumination values can be determined by subtracting the second illumination values of the second sub-areas from the second illumination values of the second sub-areas after applying smoothing to the second illumination values.
[0021] The second illumination values can be the luminance measured in nits.
[0022] The second illumination values can be the chromaticity.
[0023] Activating the display can include at least one of increasing or decreasing the brightness of some of the LED zones.
[0024] A large number of pixels can be removed from the outline of the image before the first illumination value is determined. BRIEF DESCRIPTION OF THE DRAWINGS Fig. Figure 1 is a block diagram illustrating an example vehicle system. Fig. Figure 2 illustrates an example display. Fig. Figure 3 illustrates an example image of the display with sub-areas. Fig. Figure 4 illustrates an example image of the display with sub-areas. Fig. Figure 5 is a flowchart of an example process for activating the display. Fig. Figure 6 is a flowchart of an exemplary process for determining the homogeneity of the white luminance of an image. Fig. Figure 7 is a flowchart of an exemplary process for determining the homogeneity of the black luminance of an image. Fig. Figure 8 is a flowchart of an exemplary process for determining the homogeneity of the white color of an image. Fig. Figure 9 is a flowchart of an exemplary process for determining an index of an image. DETAILED DESCRIPTION
[0025] With reference to the Fig. 1 and Fig. Figure 2 illustrates a vehicle system 100. The vehicle 102 includes a computer 104, which has a memory containing instructions that can be executed by the computer 104 to perform processes and operations, including those described herein. The computer 104 can be communicatively coupled to sensors 106, components 108, a display 110, and a communication module 112 in the vehicle 102 via a communication network, such as a vehicle network 114. The vehicle 102 includes at least one window 120. The vehicle 102 can be any type of passenger vehicle, such as a car, truck, SUV, crossover, van, minivan, taxi, bus, ICE (Internal Combustion Engine), BEV (Battery Electric Vehicle), hybrid, PHEV (Plug-in Hybrid Electric Vehicle), etc.
[0026] A computer, such as the Vehicle Computer 104 (hereinafter referred to as "Vehicle Computer 104" or "Computer 104"), includes a processor and memory. The memory comprises one or more forms of computer-readable media and stores instructions that can be executed by the Computer 104 to perform various operations, including those disclosed herein. For example, the Computer 104 may be a generic computer with a processor and memory as described above, and / or include an electronic control unit (ECU) or control for a specific function or set of functions, and / or a dedicated electronic circuit, including an ASIC (application-specific integrated circuit), manufactured for a specific operation (e.g.,an ASIC for processing and / or communicating sensor data). In another example, the computer 104 might include an FPGA (Field-Programmable Gate Array), which is an integrated circuit manufactured to be user-configurable. Typically, a hardware description language such as VHDL (very high-speed integrated circuit hardware description language) is used in the electronic design to describe digital systems and mixed-signal systems, such as FPGAs and ASICs. For example, an ASIC is manufactured based on VHDL programming provided prior to manufacturing, whereas logical components within an FPGA may be configured based on VHDL programming (e.g.,(stored in a working memory that is electrically connected to the FPGA circuit). In some examples, a combination of processor(s), ASIC(s) and / or FPGA circuits may be included in a Computer 104.
[0027] The storage device can be of any type (e.g., hard disk drives, solid-state drives, servers, or any volatile or non-volatile media). The data collected by the sensors 106 can be stored in the storage device. The storage device can be a separate device from the computer 104, and the computer 104 can retrieve information stored in the storage device via the network 114 in the vehicle 102 (e.g., via a CAN bus, a wireless network, etc.). Alternatively or additionally, the storage device can be part of the computer 104 (e.g., as the computer 104's memory).
[0028] The computer 104 can include programming to operate one or more of the vehicle components 108, such as propulsion (e.g., controlling a speed in the vehicle 102 by controlling one or more of an internal combustion engine, an electric motor, a hybrid engine, etc.), steering, interior and / or exterior lighting, HVAC, HUD lighting, etc., and to determine if and when the computer 104 should control such operations instead of a human operator.
[0029] The computer 104 can contain more than one processor (which is included, for example, in components 108, such as sensors 106, electronic control units (ECUs), or the like, used to monitor and / or control various vehicle components 108 in the vehicle 102 (e.g., a powertrain control system, a steering control system, etc.)) or be communicatively coupled to it (e.g., via the vehicle network 114, such as a communication bus). The computer 104 is generally arranged for communication within the vehicle communication network 114, which may include a bus in the vehicle 102, such as a Controller Area Network (CAN), and / or other wired and / or wireless mechanisms.Alternatively or additionally, in cases where the computer 104 actually comprises a plurality of devices, the vehicle communication network 114 can be used for communication between devices represented in this disclosure as the computer 104. Furthermore, as mentioned below, various controllers and / or sensors 106 can provide data to the computer 104 via the vehicle communication network 114.
[0030] The computer 104 can transmit messages via the vehicle network 114 to various devices and / or components 108 in the vehicle 102 and / or receive messages (e.g., CAN messages) from the various devices and / or components 108 (e.g., sensors 106, ECUs, etc.). Alternatively or additionally, in cases where the computer 104 actually comprises a plurality of devices, the vehicle communication network 114 can be used for communication between devices represented in this disclosure as the computer 104. Furthermore, as mentioned below, various controllers and / or sensors 106 can provide data to the computer 104 via the vehicle communication network 114.
[0031] Display 110 provides visual data for viewing by occupants. Display 110 is described herein in relation to a non-restrictive example of vehicle operations, although it is understood that the systems and procedures described herein can be implemented in other environments (e.g., personal computer displays, mobile phone displays, etc.). In examples where Display 110 is a vehicle display 110, the users are typically vehicle occupants. The display may be worn on a dashboard 122 of the vehicle 102. Display 110 can display visual data in black and white or color, and the visual data may be updated at a frame rate, which may be, for example, 60 frames per second.The displayed visual data can be a static image, where most of the area remains unchanged from frame to frame, or a dynamic image, where most of the area changes from frame to frame. The display can be a liquid crystal display (LCD) and / or can utilize light-emitting diodes (LEDs). For example, the display can be an LCD backlit by LEDs.
[0032] LED backlighting involves using an array of LEDs arranged in LED zones. Each LED zone can contain one or more LEDs. For example, the LED zones might contain red, green, and blue LEDs, which together produce a colored backlight, including white light. The LEDs within the LED zones can be controlled separately to create backlight patterns or to compensate for malfunctioning LEDs to support the display. The LEDs in the LED zones can be energized to varying levels of illumination. Some displays may not necessarily have specified LED zones (e.g., edge-lit LCDs, OLED displays, micro-LED displays, etc.). In such cases, the computer can allocate "imaginary" LED zones.Imaginary LED zones, as used herein, refer to LED zones generated by the computer 104 and assigned to a display 110 for the purpose of applying or utilizing techniques described herein, the display not utilizing any actually specified or physical LED zones. The computer 104 can actuate LEDs in the imaginary display zones in the same manner as it would actuate LEDs assigned to actually specified LED zones.
[0033] The vehicle communication module 112 enables the vehicle computer 104 to communicate with a remote device 118 of the server 116, for example, via: a messaging or broadcast protocol, such as dedicated short range communications (DSRC), cellular vehicle-to-everything (C-V2X), Bluetooth® Low Energy (BLE), ultra-wideband (UWB), Wi-Fi, a cellular and / or other protocol that can support vehicle-to-vehicle, vehicle-to-infrastructure, vehicle-to-cloud, or the like communication.
[0034] The sensors 106 can include a variety of devices suitable for providing data to the vehicle computer 104. The sensors 106 can collect data relating to the vehicle 102 and the environment in which the vehicle 102 operates. By way of example, and without limitation, the sensors 106 can include, for example, altimeters, cameras, LiDAR, radar, ultrasonic sensors, infrared sensors, pressure sensors, gyroscopes, temperature sensors, Hall sensors, optical sensors, voltage sensors, current sensors, mechanical sensors such as switches, etc. The sensors 106 can detect the environment in which the vehicle 102 operates; that is, the sensors 106 can detect phenomena such as weather conditions (precipitation, ambient temperature, etc.), the gradient of a road, the location of a road (i.e., based on road edges, lane markings, etc.), or the locations of target objects, such as neighboring vehicles 102.In an example where sensor 106 is a camera, sensor 106 can have a field of view that defines a space that is shown in an image 124 (see . Fig. 3) can be captured by the sensor 106. In the examples used herein, the space captured by the image 124 belongs to the display 110. That is, the image 124 can belong to the screen of the display 110. The image 124 can be a digital image and can therefore consist of pixels corresponding to a resolution of the sensor 106.
[0035] Some sensors 106 can be illumination sensors, which can further be used to collect data that include illumination values of the image 124 captured by the sensor 106. Illumination values are values that quantify perceptible or detectable properties or attributes of light using any suitable unit of measurement. For example, illumination values can quantify or describe luminance (e.g., luminous intensity per unit area) measured in nits. Nit is a unit of measurement for luminance (i.e., the total amount of visible light emitted by a source) per unit area. 1 nit is equivalent to 1 candela per square meter.
[0036] Illumination values can further quantify or describe chromaticity. Chromaticity specifies a quality of color. Chromaticity includes hue and saturation. Chromaticity can be expressed in a two-dimensional diagram, such as the CIE 1931 or CIE 1976 color spaces, which are graphs that quantifiably relate distributions of wavelengths in the visible spectrum to physiologically perceived colors under human vision. (CIE 1931 and CIE 1976 are diagrams developed and maintained by the International Commission on Illumination and are available at https: / / cie.co.at / publications / international-standards at the time of filing this disclosure.) Red, green, and blue colors include x, y, and z components in the diagrams.Colors that appear to be more red may have a higher "x" value, while colors that appear to be more green may have a higher "y" value.
[0037] The Sensor 106 can measure illumination values (such as luminance) using any suitable means. For example, illumination values can be measured by one or more photodiodes for luminance and one or more colorimeters for chromaticity.
[0038] The vehicle computer 104 can be programmed to receive data from one or more sensors 106, e.g., essentially continuously, periodically, and / or on instruction from the remote device 118, etc. Image data here refers to digital image data, i.e., comprising pixels, typically with intensity and color values, that can be obtained by cameras. The sensors 106 can be mounted at any suitable location in or on the vehicle 102 (e.g., on a dashboard 122 of the vehicle 102, on a rearview mirror, etc.) to collect images 124.
[0039] The computer 104 can acquire data from the sensors 106, the remote device 118, and the memory contained within the computer 104, and format the acquired data into an image 124 compatible with the display 110. The formatted image 124 can be transmitted to a display controller contained within the computer 104 to operate the display 110. The display controller can transmit the image 124 to the display 110 using timing and voltage controls to generate an image 124 with specified intensity and contrast for viewing on the display 110 by the user. For example, the computer 104 can acquire data regarding the speed of a vehicle 102 from sensors 106, which measure the rotation of the vehicle's wheels.A number indicating the speed of the vehicle can be formatted into an image 124, which is then transmitted to the display control contained in the computer 104 to operate a display 110, which acts as the vehicle's speedometer.
[0040] The remote device 118 can be a conventional computing device, i.e., one that includes one or more processors and one or more memories programmed to perform operations such as those disclosed herein. Furthermore, the remote device 118 can be accessed via the server 116, e.g., the internet, a mobile network, and / or another wide area network.
[0041] With reference to Fig. 3 in connection with the Fig. Figures 1-2 show the image 124 of the display 110 captured by sensor 106. This means that sensor 106 can capture the image 124 of the display 110. Sensor 106 can be positioned on or in any suitable surface so that the entire screen of the display 110 can be captured in image 124. In examples where the display 110 is a vehicle display, the computer 104 can be positioned in or at any suitable location within the vehicle 102. Alternatively, sensor 106 can be a device separate from the vehicle 102 and positioned to capture image 124 using a suitable mount and / or by a user.
[0042] Computer 104 can receive images 124 captured by sensors 106 via network 114. For example, computer 104 can actuate (or command) sensor 106 via network 114 to capture image 124. Computer 104 can also actuate sensor 106 to capture a large number of images 124 over a specified period. Each image 124 has a capture time based on the time it was taken. Timestamps can be assigned to the images 124 based on the time of capture.
[0043] The sensor 106 can periodically capture images 124 based on a specified time sequence and / or specified conditions or fulfilled conditions. For example, as long as the vehicle 102 is operating (e.g., the vehicle ignition is switched on), the sensor 106 can capture a new image 124 every 1 / 60th of a second (one sixtieth of a second), so that the sensor 106 can achieve a frame rate of 60 frames per second. The sensor 106 can make the images 124 available to the components 108 via the vehicle network 114 as soon as they are captured.
[0044] The computer 104 can collect a large number of images of the display 110 over a specified period. Each image 124 can have a specific capture time. That is, the computer 104 can actuate the sensor 106 to capture a large number of images 124 of the display 110. The computer 104 can actuate the sensor 106 to capture a specified number of images 124 within a specified period, and it can also actuate the sensor 106 to capture images 124 continuously (e.g., at intervals of only a specified period) while the vehicle 102 is in operation. In addition to capturing a large number of images 124, the computer 104 can measure the first illumination value and / or the second illumination value for each image 124.
[0045] Computer 104 can compensate for the saturation, gain, and exposure time of image 124. That is, after image 124 has been captured and before the first exposure value is measured, computer 104 can compensate for the saturation, gain, and exposure time. As an example, computer 104 can store an algorithm for applying compensation to image 124. Once image 124 has been captured, computer 104 can input the image into the stored algorithm.
[0046] The algorithm can utilize a machine learning program, such as a deep neural network. The neural network can compensate for factors like saturation, gain, exposure time, etc., in the images 124, allowing the computer to measure the illumination values of image 124 more accurately than would otherwise be possible. The neural network can receive the image 124 before compensation as input, predict the factors in the image 124 that need to be compensated, and output the image with the compensated factors. The neural network can be trained to identify and compensate for the factors based on a training process (e.g., removing or adjusting them). When training a deep neural network, a training dataset containing sample images 124 with various factors can be used.The training dataset can contain thousands of example images 124, each containing ground truth data specifying the factors present in the image 124. The deep neural network can be run multiple times on the dataset of training images 124, comparing its output prediction to the ground truth each time to determine a loss function. This loss function can be backpropagated by the deep neural network from output layers to input layers to adjust weights that govern processing for each layer, aiming to minimize the loss function.When the loss function reaches a user-defined minimum for the training dataset, the training of the deep neural network can be considered complete, and the weights specified by the minimum loss function can then be stored with the trained deep neural network.
[0047] Computer 104 can crop image 124. That is, computer 104 can reduce the size of image 124 by removing specified pixels. Typically, the pixels to be removed are those at the edge of image 124. For example, computer 104 can crop all pixels within 3 mm of the edge of image 124. Since image 124 is a display 110, pixels near the edge of image 124 can be those representing the edge of display 110. Illumination values may be distorted towards the edge of display 110 due to imperfect LED operation in these LED zones positioned towards the edge of display 110.For example, the LED zones positioned closer to the center of the display can benefit from the illumination of LEDs in adjacent LED zones, while the LED zones near the edge of the display 110 may operate without the same degree of contributing illumination from neighboring LED zones. Additionally, the image 124 may include sections of the dashboard 122 surrounding the display 110. Such sections can be removed by cropping an appropriate number of pixels.
[0048] The quantity (or number) and positions of pixels to be cropped from image 124 can be determined through empirical testing. For example, during a development phase, computer 104, or a similarly located computer 104 in a vehicle 102 intended for testing purposes, can capture a variety of images 124 and crop varying numbers of pixels from each image 124. The minimum number of cropped pixels that results in only the display 110 being contained within image 124 can be selected as the number of pixels to be cropped by computer 104 during normal operation.
[0049] Computer 104 can define sub-areas of image 124. The sub-areas can include a first sub-area 126 and second sub-areas 128-1, 128-2, 128-3, 128-4 (together sub-areas 128, as described in more detail below). Image 124 consists of pixels that can be represented and / or stored as an array. Computer 104 can divide image 124 into a multitude of sub-areas, each containing fewer pixels than the entire image 124. For example, if image 124 has a resolution of 1920x1080 pixels, it would contain 2,073,600 pixels. The first sub-area can be only a portion of these pixels. Each sub-area 126, 128 can be the same size (e.g., have the same resolution) or can differ in size (e.g., have a different resolution). The first sub-area can be defined such that the center of the first sub-area is the center of image 124 (as shown).
[0050] The computer 104 can measure an initial illumination value of the first sub-area 126 of the image 124. As mentioned above, the initial illumination value (and the second illumination value) can be the luminance measured in nits or it can specify the chromaticity. To measure the initial illumination value, the computer 104 measures either the luminance or the chromaticity across the pixels contained in the first sub-area 126. The computer 104 can measure the initial illumination value using an illumination sensor 106 mentioned above. The computer 104 can determine the illumination values of sub-areas 126 and 128 by measuring the illumination values in each pixel of each sub-area 126 and 128, calculating the average illumination value, and applying the average illumination value to the entire sub-area 126 and 128, respectively.
[0051] The computer 104 can define second sub-areas 128 of the image 124. The second sub-areas 128 can be separate from the first sub-area 126 (e.g., one or more of the second sub-areas 128 can share a common border with the first sub-area 126 but do not overlap) or they can overlap the first sub-area 126 (e.g., one or more of the second sub-areas 128 can contain pixels of the image 124 that are also contained within the first sub-area 126), as shown. The computer 104 can define the second sub-areas 128 based on the specification of the sensor 106. For example, the computer 104 can store a lookup table or the like that specifies the pattern (e.g., size and arrangement) of the second sub-areas 128 required for the operation of a given sensor 106.In the sense used herein, a "lookup table" refers to a data table or the like that relates certain inputs to certain outputs. The lookup table can be compiled or generated based on empirical tests and / or simulation. For example, the lookup table can specify a minimum number of second sub-areas required to provide accurate data, as determined during a development phase, thus saving computing power. Continuing the example, computer 104 can define varying patterns of second sub-areas 128 of image 124. The pattern to be used for the second sub-areas 128 can be the one that provides sufficient data while minimizing the number of second sub-areas, as defined by the developers of computer 104.
[0052] The computer 104 can measure second illumination values of the second sub-areas 128. That is, if the first illumination value corresponds to the first sub-area 126, the second illumination values can correspond to the respective second sub-areas 128 of the image 124. Second illumination values, like first illumination values, can be specified in units of nits (e.g., luminance). The second illumination values can be measured using any suitable method, as described above in relation to the measurement of the first illumination values. The computer 104 can measure the second illumination values after it has compensated for gain, exposure time, etc.
[0053] The computer 104 can compare the second illumination values with a homogeneity value range. "Homogeneity" in relation to illumination values, as used here, refers to a measure of the equality or similarity of illumination values between different sub-areas 126, 128. For example, if all sub-areas 126, 128 exhibit the same illumination value, the sub-areas 126, 128 would be perfectly or completely homogeneous. As the sub-areas 126, 128 increasingly begin to differ in illumination values, the homogeneity would decrease accordingly. A homogeneity value range, as this term is used here, denotes a range of values within which the illumination values of the sub-areas 126, 128 should lie in order to be considered homogeneous. As further explained below, homogeneity value ranges can be determined according to various mathematical expressions or formulas.The formulas are used to calculate the homogeneity of a display 110, including the homogeneity of white luminance, black luminance, white color, and grating mura luminance. Luminance homogeneity is a metric that characterizes the luminance variations across the area of the display 110 (e.g., how homogeneous the luminance values of sub-areas 126 and 128 are). Color homogeneity describes how much each LED zone exhibits color differences relative to the central LED zone (e.g., how homogeneous the chromaticity values of sub-areas 126 and 128 are). The respective homogeneity value ranges are described below.
[0054] A homogeneity value range can be defined by adding or subtracting at least one of the first illuminance values to and / or from a threshold value (e.g., the homogeneity value range for black luminance homogeneity). The threshold value can differ for each homogeneity value range. The respective threshold values are also described below.
[0055] Computer 104 can compare the second illumination values with the value range. That is, Computer 104 can compare the second illumination values with the result of the mathematical operation, which is the value range for each homogeneity. For example, the second illumination values can be determined based on how close they are to the result of the value range. How the second illumination values are compared with the value range is described below for each homogeneity.
[0056] The computer 104 can operate the display 110 based on a comparison of the second illumination values with the value range. That is, the computer 104 can operate the LED within the LED zones (e.g., by adjusting brightness, color, etc.) based on the second illumination values of each second sub-area 128. How the display 110 can be operated based on a comparison of the second illumination values with the value range is described below for each homogeneity. For example, the computer 104 can increase or decrease the brightness of the LED, adjust offset illumination values of the LED, apply normalization ratios to the LED, etc.
[0057] Computer 104 can calculate the homogeneity of the white luminance of display 110. Computer 104 can actuate all display zones to output white light, capture image 124, and crop image 124. Computer 104 can measure the luminance of the first sub-area 126 as the first illumination value. The first illumination value can be the average luminance value measured across all pixels included in the first sub-area 126. Computer 104 can then measure the luminance of the pixels in the second sub-areas 128 and add them together (i.e., calculate their sum) before dividing by the total number of values (i.e., calculating the average) to determine the second illumination values. Computer 104 can then input the first illumination value and second illumination values into Equation 1. Homogeneity value = second illumination value / first illumination value
[0058] Every second sub-area 128 can have distinct homogeneity values. The homogeneity value represents the ratio of every second illumination value to the first illumination value. The homogeneity value can be compared to a homogeneity threshold. If the homogeneity value of a sub-area 128 exceeds the homogeneity threshold, the computer 104 determines that the sub-area 128 is unacceptable and can actuate the LED zones of the second sub-area 128 accordingly, as described below. For example, the computer 104 can determine that the second sub-area 128 is acceptable if the homogeneity value of the second sub-area 128 is 98.6 and the homogeneity threshold is 95.
[0059] The homogeneity threshold can be determined through empirical testing during a development phase of the computer 104. For example, during the development phase, a homogeneity threshold can be selected based on how similar the second illumination values of the second sub-areas 128 should be. If greater accuracy is desired, the homogeneity threshold can be higher (e.g., 99), whereas the homogeneity threshold can be lower (e.g., 80) if greater variation is acceptable. Greater variation may be acceptable or desirable if, for example, it is determined that the greater variation allowed by the lower homogeneity threshold is small enough to be imperceptible to a typical user, thus saving the time that would otherwise be required to actuate the LED so that it operates within a higher homogeneity threshold.
[0060] In response to the homogeneity value of the second sub-areas 128 falling below the homogeneity threshold, Computer 104 can activate the LED zones assigned to the respective second sub-areas 128. Computer 104 can activate the LED zones by increasing the luminance of the LEDs in the LED zone (e.g., by increasing the voltage supplied to the LEDs) of sub-areas 126 and 128 that have been determined to be unacceptable. Alternatively, Computer 104 can decrease the luminance of the LEDs in other LED zones of sub-areas 126 and 128 that have been determined to be acceptable (e.g., if the LEDs of the unacceptable sub-area are already operating at maximum voltage). The computer 104 can increase or decrease the luminance through a rule-based system that specifies an amount for adjusting the LED when it is determined that sub-ranges 128 are unacceptable. The rules can be determined during a previously mentioned empirical testing phase.The amount of the adjustment can be selected to compensate for the accuracy of the adjustment (e.g., making smaller adjustments to achieve greater homogeneity) over time (e.g., a larger adjustment may result in slightly less homogeneity than smaller adjustments, but may need to be performed less frequently). For example, computer 104 can increase the luminance of the LED in an unacceptable sub-area 126, 128 by 5% (or any percentage as specified during development) and repeat the measurements.
[0061] Similar to calculating the homogeneity of white luminance, computer 104 can calculate the homogeneity of black luminance. Computer 104 can actuate display 110 to output a gray pattern (e.g., a 2G pattern by outputting RGB 2:2:2), capture image 124, crop image 124, define the first sub-area 126, measure the first illuminance value (e.g., luminance), define the second sub-areas 126, and measure the second illuminance values (e.g., luminance), as described above with respect to the homogeneity of white luminance. Computer 104 can also output a black pattern (e.g., for edge-lit displays) instead of or in addition to the gray pattern (e.g., by outputting RGB 0:0:0). Computer 104 can then apply the homogeneity value range of black luminance and compare the second illuminance values based on expression 1. First illumination value−Bth <Zweiter Beleuchtungswert<Erster Beleuchtungswert+Bth where B thThis is a threshold luminance value. If the second illuminance value is outside the range of Expression 1, Computer 104 can determine the second sub-area 128 as unacceptable and actuate the display accordingly. As an example, Computer 104 can set an offset illuminance value (e.g., a value that is added to increase the illuminance values of all pixels equally) for those pixels in sub-areas 126 and 128 that are determined to be unacceptable. The offset illuminance value is a value that can be added to the illuminance value of each pixel before the image is displayed. Computer 104 can decrease or increase the offset for those pixels in sub-areas 126 and 128 that are determined to be unacceptable by values outside the range specified by Expression 1.Computer 104 can decrease or increase the offset by a predetermined amount, selected during a development phase of Computer 104. Computer 104 can then repeat the measurements after the offset has been set and further increase or decrease the offset if any sub-areas 126, 128 are again unacceptable. Computer 104 can set the offset and repeat measurements until all sub-areas 126, 128 are determined to be acceptable.
[0062] B th can be determined similarly to the homogeneity value of the white luminance homogeneity. That is, B th can be selected during the development of the computer 104 based on a desired homogeneity of the second sub-areas 128. If it is desired to relax the requirements for the display operation, B th a larger value (e.g., 0.5 instead of 0.1). If B thAs the second illumination value increases, the fluctuation before it is determined to be unacceptable will also increase accordingly.
[0063] Computer 104 can calculate the homogeneity of the white color in image 124. White color homogeneity refers to the difference in chromaticity between pixels in image 124. Similar to calculating the homogeneity of white luminance, computer 104 can activate the LED zones to output white light. The computer can then capture image 124, crop the image, define the first subzone 126, and measure the X and Y chromaticity values of the first subzone 126 (e.g., the first illumination value). The computer can then define the second subzone 128 and measure the X and Y chromaticity values of the second subzone (e.g., the second illumination values). The range of values for the homogeneity of the white color can be used by the computer 104 to calculate the differences in the X and Y chromaticity values between subzones 126, 128, and is represented by equation 2: ΔWxy=((Wxl−Wx2)2+(Wyl−Wy2)2)1 / 2 where ΔW xy the change in chromaticity is, W x1 The x-chromaticity value of the first subregion is 126, W x2 the x-chromaticity value of the second subdomain is W y1 where is the y-chromaticity value of the first sub-area and Wy2 is the y-chromaticity value of the second sub-area.
[0064] The computer 104 can compare the change in chromaticity of every second sub-area 128 with a fluctuation threshold. The fluctuation threshold can be determined similarly to the homogeneity threshold used for white luminance homogeneity. The fluctuation threshold can be a value selected based on a desired homogeneity. A larger value would correspond to a larger tolerated change in chromaticity. For example, the fluctuation threshold can be 0.002. If the change in chromaticity for a second sub-area 128 is 0.003, the computer 104 can determine that the second sub-area is unacceptable and actuate the display 110 by increasing or decreasing the chromaticity, as described below.
[0065] Computer 104 can actuate those LED zones of the second subranges that are determined to be unacceptable based on a comparison of their change in chromaticity with the fluctuation threshold. For example, after each of the x and y chromaticity values of the second subrange 128 has been increased by adjusting the color output through the LED zone of the second subrange 128, Computer 104 can repeat the measurements. Computer 104 can increase the x chromaticity value of the LED and perform the measurement again. If the change in chromaticity remains above the fluctuation threshold, Computer 104 can reset the x chromaticity value and increase the y chromaticity value. If the change in chromaticity continues to remain above the fluctuation threshold, Computer 104 can instead decrease the x and y chromaticity values and repeat the measurements.The Computer 104 can adjust the x and y chromaticity values via a rule-based system that was specified during the development of the Computer 104 (e.g., adjust the value by 5% and then repeat the measurements).
[0066] With reference to Fig. 4. Computer 104 can define the first subarea 126 and the second subareas 128 as vertical columns (although this is not shown, subareas 126 and 128 can alternatively be defined as horizontal rows). The first subarea 126 is the column centered on the image 124, while the second subareas 128 extend to the left and right of the first subarea 126, so that the entire image 124 is divided into the non-overlapping subarea columns.
[0067] The Computer 104 can calculate the homogeneity of the lattice mura luminance. In the sense used here, lattice mura luminance homogeneity refers to a non-uniformity of luminance between sub-areas 126 and 128. "Non-uniformity" means that the contrast of each pixel is below a threshold. This threshold can be determined during the development of the Computer 104 based on the amount of mura considered visually acceptable. Lattice mura is generally caused by non-optimized optical cavity designs in LCD displays.
[0068] The computer can activate the LED zones to emit white light, capture image 124, and crop image 124. The computer can then define the first and second sub-areas 126 and 128. The first sub-area can be a horizontal column containing the pixels between the top and bottom edges of image 126, centered on image 126. Similarly, the second sub-areas 128 can be horizontal columns containing the remaining pixels of image 124 not included in the first sub-area 126. The second sub-areas 128 can thus extend to the left and right of the first sub-area 126. The computer 104 can then measure the luminance of the first and second sub-areas 126 and 128 (i.e., the first and second illumination values, respectively).
[0069] Computer 104 can normalize subranges 126 and 128 after defining them. Specifically, it can determine the average luminance of each subrange by adding (i.e., summing) the luminance of all pixels within that subrange and dividing by the total number of pixels in that subrange. The average luminance is then applied to the subrange (i.e., Computer 104 treats all pixels in the subrange as having the average luminance). Finally, the average luminance of each subrange can be divided by the maximum luminance present in that subrange.
[0070] Computer 104 can smooth the pixels in the normalized sub-areas 126 and 128 after these sub-areas have been normalized. Smoothing, in this context, means adding the luminances of the pixels in a small neighborhood of pixels within a sliding window (e.g., a range of pixels moved around in image 124 by Computer 104), dividing the sum by the number of pixels (e.g., averaging), and replacing the illumination value of the central pixel of the window with the average. For example, the sliding window could be a one-dimensional array containing 3 or 5 pixels. Smoothing the pixels results in a smoothing line representing the relative luminance values of neighboring sub-areas 126 and 128.
[0071] The Computer 104 can calculate the luminance differences between the illumination values of the normalized sub-areas and the illumination values of the smoothed sub-areas. Luminance differences can be calculated using Equation 3: ΔLi=(Li−Liglatt)*1000 where ΔL i the luminance difference is L i the luminance of the normalized subranges 126-128 is and L iglatt The luminance of the smoothed sub-areas 126-128 is.
[0072] The computer can calculate a lattice mura index (GMI). The GMI is calculated according to equation 4: GMI=(∑ΔLi) / N where N is the total horizontal resolution of the sensor 106.
[0073] Based on a comparison of the illumination values with the GMI, computer 104 can determine whether all sub-areas 126, 128 (e.g., the entire display 110) are acceptable or unacceptable. That is, if the illumination value exceeds the GMI, computer 104 can determine all sub-areas 126, 128 as unacceptable. Computer 104 can then control the display to meet a desired GMI target based on its assessment (e.g., determination) of one or more sub-areas 126, 128 as unacceptable. For example, computer 104 can determine the ratio of the GMI for a sub-area 126, 128 to the GMI of the entire image 124. The computer 104 can then multiply the pixels of the unacceptable sub-areas 126, 128 by the specified ratio to make the GMI the same for all sub-areas 126, 128 before the measurements are performed again. Exemplary processes
[0074] Fig. 5, which refers to the Fig. Figure 1-4 illustrates an exemplary process 500 by which the computer 104 can determine the homogeneity of the image 124 and operate the display 110. The process can be executed according to program instructions that are executed by the computer 104.
[0075] The process begins in block 505, where computer 104 receives instructions specifying which homogeneity calculation should be performed (e.g., white luminance homogeneity, black luminance homogeneity, white color homogeneity, lattice Mura luminance homogeneity). These instructions can be based on user input. Computer 104 can display a prompt or menu item on the display 110 or on a remote device 118 to allow the user of computer 104 to perform processing to optimize the display 110. Additionally or alternatively, computer 104 can perform the calculations of process 500 based on stored instructions.The stored instructions can instruct the computer 104 to execute the process 500 continuously or periodically for one or more homogeneity calculations and to actuate the display 110 accordingly, based on the fact that the sub-areas 126, 128 have been determined to be unacceptable, as described above.
[0076] Next, computer 104 in block 510 receives the image 124 of the display from a camera sensor 106.
[0077] Next, the computer performs a homogeneity calculation in Block 515. The homogeneity calculation to be performed is the one specified in the received instructions of Block 505. The computer 104 can calculate the homogeneity of white luminance (represented by Process 600), the homogeneity of black luminance (represented by Process 700), the homogeneity of white color (represented by Process 800), or the homogeneity of lattice mura luminance (represented by Process 900), as specified in Block 505. Formulas for performing homogeneity calculations can be developed as described above and stored in a memory of the computer 104.
[0078] Next, in decision block 520, computer 104 determines whether all sub-areas 126 and 128 of the image have been determined to be acceptable, i.e., lie within a homogeneity value range, or whether any are unacceptable. If any sub-areas 126 and 128 are determined to be unacceptable, the process proceeds to block 525. Otherwise, the process proceeds to block 530.
[0079] In block 525, computer 104 has determined that at least one, and possibly several, sub-areas 126 and 128 are unacceptable. Computer 104 then acts on the display (e.g., decreasing or increasing the brightness of the LEDs in the LED zones associated with the unacceptable sub-areas 126 and 128) according to the specified acts for the respective homogeneity calculations described above. Process 500 then returns to block 515 so that computer 104 can determine whether the actuation has brought all sub-areas into an acceptable state.
[0080] Next, in block 530, computer 104 determines whether process 500 should continue. For example, once process 500 has been initiated, computer 104 might be instructed to perform another homogeneity calculation or to perform the same homogeneity calculation again by returning to block 505. However, process 500 might terminate upon an input or event that terminates process 500, such as when a user stops computer 104 from operating (e.g., turning off a propulsion system, such as the engine of a vehicle 102, if computer 104 is a vehicle computer 104), a user provides an input to terminate process 500, and so on. If process 500 is to continue, it returns to block 505. Otherwise, process 500 terminates.
[0081] Fig. 6, which refers to the Fig. Figure 1-4 illustrates an exemplary process 600 by which the computer 104 can determine the homogeneity of the white luminance of the image 124. The process can be executed according to program instructions that are run by the computer 104.
[0082] The process begins in block 605, where the computer 104 activates the LED zones to emit white light and activates the sensor 106 to capture an image 124 of the display 110.
[0083] Next, computer 104 crops the edges of image 124 in block 610.
[0084] Next, computer 104 defines the first sub-area 126 in block 615. The first sub-area is a rectangular area centered in the middle of image 124.
[0085] Next, computer 104 measures the first illumination value of the first sub-area 126 in block 620. That is, computer 104 measures the luminance of all pixels within the first sub-area 126 and determines the average luminance.
[0086] Next, in block 625, computer 104 defines the second sub-areas 128. Each second sub-area 128 may individually contain fewer than all the pixels of image 124, but all pixels of image 124 are contained in one of the second sub-areas 128 (some pixels may also be contained in the first sub-area 126 as well as some of the second sub-areas 128). The second sub-areas 128 may overlap the first sub-area 126.
[0087] Next, computer 104 measures the second illumination values of the second sub-areas 128 in block 630. That is, computer 104 measures the luminance of all pixels within the respective second sub-areas 128 and determines the average luminance.
[0088] Next, the computer 104 in block 635 divides the second illumination values by the first illumination value according to equation 1 to determine the homogeneity value of each sub-area 128.
[0089] Next, computer 104 compares the homogeneity values in block 640 with the homogeneity threshold.
[0090] Next, computer 104 in block 645 determines, based on their homogeneity value, whether sub-areas 128 are acceptable or not. Sub-areas 128 with homogeneity values below the homogeneity threshold are determined as unacceptable, and those with homogeneity values above the homogeneity threshold are determined as acceptable.
[0091] Next, in block 650, computer 104 determines whether process 600 should continue. For example, once process 600 is initiated, computer 104 could continue capturing images 124 by returning to block 605. However, process 600 could terminate upon an input or event that terminates it, such as when a user stops computer 104 from operating (e.g., by switching off a propulsion system, such as the engine of a vehicle 102), a user provides an input to terminate process 600, and so on. If process 600 is to continue, it returns to block 605. Otherwise, process 600 terminates.
[0092] Fig. 7, which refers to the Fig. Figure 1-4 illustrates an exemplary process 700 by which the computer 104 can determine the homogeneity of the black luminance of the image 124. The process can be executed according to program instructions that are executed by the computer 104.
[0093] The process begins in block 705, where the computer 104 activates the LED zones to emit grey light and activates the sensor 106 to capture an image 124 of the display 110.
[0094] Next, computer 104 crops the edges of image 124 in block 710.
[0095] Next, computer 104 defines the first sub-area 126 in block 715. The first sub-area is a rectangular area centered in the middle of image 124.
[0096] Next, computer 104 measures the first illumination value of the first sub-area 126 in block 720. That is, computer 104 measures the luminance of all pixels within the first sub-area 126 and determines the average luminance.
[0097] Next, computer 104 defines the second sub-areas 128 in block 725.
[0098] Next, computer 104 measures the second illumination values of the second sub-areas 128 in block 730. That is, computer 104 measures the luminance of all pixels within the respective second sub-areas 128 and determines the average luminance.
[0099] Next, in block 735, Computer 104 subtracts the threshold luminance value from the first illumination value and adds the threshold luminance value to the first illumination value to define the range of values within which Computer 104 can determine the second illumination values to be acceptable.
[0100] Next, computer 104 in block 740 compares the second lighting values with the range determined in block 735.
[0101] Next, in block 745, computer 104 determines, based on their homogeneity value, whether sub-areas 128 are acceptable or not. Those sub-areas 128 that have second illumination values within the range determined in block 735 can be determined as acceptable. Those sub-areas 128 that have second illumination values outside the range determined in block 735 can be determined as unacceptable.
[0102] Next, in block 750, computer 104 determines whether process 700 should continue. For example, once process 700 is initiated, computer 104 could continue capturing images 124 by returning to block 705. However, process 700 could terminate upon an input or event that terminates process 700, such as when a user stops computer 104 from operating (e.g., by switching off a propulsion system, such as the engine of a vehicle 102), a user provides an input to terminate process 700, and so on. If process 700 is to continue, it returns to block 705. Otherwise, process 700 terminates.
[0103] Fig. 8, which refers to the Fig. Figure 1-4 illustrates an exemplary process 800 by which the computer 104 can determine the homogeneity of the white color of image 124. The process can be executed according to program instructions that are executed by the computer 104.
[0104] The process begins in block 805, where the computer 104 activates the LED zones to emit white light and activates the sensor 106 to capture an image 124 of the display 110.
[0105] Next, computer 104 crops the edges of image 124 in block 810.
[0106] Next, computer 104 defines the first sub-area 126 in block 815. The first sub-area is a rectangular area centered in the middle of image 124.
[0107] Next, computer 104 measures the first illumination value of the first sub-area 126 in block 820. That is, computer 104 measures the luminance of all pixels within the first sub-area 126 and determines the average luminance.
[0108] Next, computer 104 defines the second sub-areas 128 in block 825.
[0109] Next, computer 104 measures the second illumination values of the second sub-areas 128 in block 830. That is, computer 104 measures the luminance of all pixels within the respective second sub-areas 128 and determines the average luminance.
[0110] Next, computer 104 in block 835 subtracts the x-chromaticity value of the second sub-area 128 from the x-chromaticity value of the first sub-area 126 and squares the result.
[0111] Next, computer 104 in block 840 subtracts the y-chromaticity value of the second sub-area 128 from the y-chromaticity value of the first sub-area 126 and squares the result.
[0112] Next, in block 845, computer 104 adds the results from blocks 835 and 840 to determine the change in chromaticity.
[0113] Next, in block 850, computer 104 compares the change in chromaticity of every second sub-area 128 with the fluctuation threshold. Computer 104 determines that those sub-areas 128 exhibiting chromaticity changes exceeding the fluctuation threshold are unacceptable, and those sub-areas 128 that do not exhibit chromaticity changes exceeding the fluctuation threshold are determined to be acceptable.
[0114] Next, in block 855, computer 104 determines whether process 800 should continue. For example, once process 800 is initiated, computer 104 could continue capturing images 124 by returning to block 805. However, process 800 could terminate upon an input or event that terminates process 800, such as when a user stops computer 104 from operating (e.g., by switching off a propulsion system, such as the engine of a vehicle 102), a user provides an input to terminate process 800, and so on. If process 800 is to continue, it returns to block 805. Otherwise, process 800 terminates.
[0115] Fig. 9, which refers to the Fig.Figure 1-4 illustrates an exemplary process 900 by which the computer 104 can determine the homogeneity of the lattice Mura luminance of image 124. The process can be executed according to program instructions that are run by the computer 104.
[0116] The process begins in block 905, where the computer 104 activates the LED zones to emit white light and activates the sensor 106 to capture an image 124 of the display 110.
[0117] Next, computer 104 crops the edges of image 124 in block 910.
[0118] Next, in block 915, computer 104 defines the first subarea 126. The first subarea is a vertical column area centered on image 124.
[0119] Next, computer 104 measures the first illumination value of the first sub-area 126 in block 920. That is, computer 104 measures the luminance of all pixels within the first sub-area 126 and determines the average luminance.
[0120] Next, computer 104 defines the second sub-areas 128 in block 925.
[0121] Next, computer 104 measures the second illumination values of the second sub-areas 128 in block 930. That is, computer 104 measures the luminance of all pixels within the respective second sub-areas 128 and determines the average luminance.
[0122] Next, computer 104 calculates the normalized sub-areas 126 and 128 in block 935.
[0123] Next, the computer 104 calculates the smoothed sub-areas 126, 128 in block 940 by dividing the added luminance of pixels by the number of pixels.
[0124] Next, computer 104 in block 945 calculates the luminance difference according to equation 3.
[0125] Next, computer 104 in block 950 calculates the lattice Mura difference according to equation 4 and compares sub-areas 126 and 128 with the lattice Mura index. Computer 104 determines whether all sub-areas 126 and 128 (e.g., the entire display 110) are acceptable or not.
[0126] Next, in block 955, computer 104 determines whether process 900 should continue. For example, once process 900 is initiated, computer 104 could continue capturing images 124 by returning to block 905. However, process 900 could terminate upon an input or event that terminates it, such as when a user stops computer 104 from operating (e.g., by switching off a propulsion system, such as the engine of a vehicle 102), a user provides an input to terminate process 900, and so on. If process 900 is to continue, it returns to block 905. Otherwise, process 900 terminates.
[0127] The processes, systems and procedures described herein should always be implemented and / or carried out in accordance with an applicable user manual.
[0128] In the sense used herein, the term "essentially" means that a form, structure, measure, quantity, time, etc. may deviate from a precisely described geometry, distance, measure, quantity, time, etc. due to deficiencies in materials, processing, manufacturing, data transmission, computing speed, etc.
[0129] In general, the described computing systems and / or devices can use any of a number of computer operating systems, including, but not limited to, versions and / or variants of the Ford Sync® application, AppLink / Smart Device Link middleware, Microsoft Windows®, Unix (e.g., the Solaris® operating system, distributed by Oracle Corporation in Redwood Shores, California), AIX UNIX, distributed by International Business Machines in Armonk, New York, Linux, Mac OSX and iOS, distributed by Apple Inc. in Cupertino, California, BlackBerry OS, distributed by Blackberry, Ltd. of Waterloo, Canada, and the Android operating system developed by Google, Inc. and the Open Handset Alliance, or the QNX® CAR Platform for Infotainment offered by QNX Software Systems.Examples of computing devices include, but are not limited to, an early onboard computer, a computer workstation, a server, a desktop, notebook, laptop or handheld computer, or any other computing system and / or any other computing device.
[0130] Computers and computing devices generally contain computer-executable instructions, which can be executed by one or more computing devices, such as those listed above. Computer-executable instructions can be compiled or interpreted by computer programs created using a variety of programming languages and / or technologies, including, but not limited to, Java™, C, C++, Matlab, Simulink, Stateflow, Visual Basic, JavaScript, Perl, HTML, and others, either alone or in combination. Some of these applications can be compiled and run on a virtual machine, such as the Java Virtual Machine, the Dalvik Virtual Machine, or similar. Generally, a processor (e.g., a microprocessor) receives instructions, for example, from memory, a computer-readable medium, and so on., and executes these instructions, thereby carrying out one or more processes, including one or more of the processes described herein. Such instructions and other data can be stored and transmitted using a variety of computer-readable media. A file in a computing device is generally a collection of data stored on a computer-readable medium, such as a storage medium, random-access memory, etc.
[0131] A memory can include a computer-readable medium (also called a processor-readable medium), which is any non-transient (e.g., physical) medium involved in providing data (e.g., instructions) that can be read by a computer (e.g., by a computer's processor). Such a medium can take many forms, including, but not limited to, non-volatile and volatile media. Non-volatile media can include, for example, optical disks or magnetic disks and other permanent storage devices. Volatile media can include, for example, dynamic random-access memory (DRAM), which is typically main memory.Such instructions can be transmitted through one or more transmission media, including coaxial cables, copper wire, and fiber optics, including the wires that comprise a system bus coupled to a processor of an ECU. Common forms of computer-readable media include, for example, RAM, a PROM, an EPROM, a FLASH EEPROM, any other memory chip or cartridge, or any other medium from which a computer can read.
[0132] Databases, data repositories, or other data storage devices described herein may include various types of mechanisms for storing, accessing, and retrieving different kinds of data, including a hierarchical database, a set of files in a file system, an application database in a user-defined format, a relational database management system (RDBMS), and so on. Each such data storage device is generally contained within a computing device that employs a computer operating system, such as one of those mentioned above, and is accessed in one or more of a variety of ways over a network. A file system can be accessed by a computer operating system and may contain files stored in various formats.An RDBMS generally uses the Structured Query Language (SQL) in addition to a language for creating, storing, editing and executing stored procedures, such as the PL / SQL language mentioned above.
[0133] In some examples, system elements may be implemented as computer-readable instructions (e.g., software) on one or more computing devices (e.g., servers, personal computers, etc.) that are stored on associated computer-readable media (e.g., disks, memory, etc.). A computer program product may include such instructions stored on computer-readable media for performing the functions described herein.
[0134] With regard to the media, processes, systems, procedures, heuristics, etc., described herein, it is understood that, even if the steps of such processes, etc., have been described as being carried out in a specific sequence, such processes may nevertheless be implemented in such a way that the described steps are carried out in a sequence that differs from the sequence described herein. It is further understood that certain steps may be carried out simultaneously, other steps may be added, or certain steps described herein may be omitted. In other words, the descriptions of processes herein serve the purpose of illustrating certain embodiments and should in no way be interpreted as limiting the patent claims.
[0135] Accordingly, it is understood that the foregoing description is intended to be illustrative and not limiting. Many embodiments and applications that differ from the examples provided will be apparent to the person skilled in the art upon reading the foregoing description. The scope of the invention should not be determined by reference to the foregoing description, but instead by reference to the appended claims together with the full scope of equivalents to which such claims entitle. It is assumed and intended that there will be future developments in the prior art discussed herein and that the disclosed systems and methods will be incorporated into such future embodiments. Overall, it is understood that the invention is capable of modification and variation and is limited only by the following claims.
[0136] All terms used in the claims are intended to have their clear and ordinary meaning as understood by a person skilled in the art, unless expressly stated otherwise. In particular, the use of singular articles such as "a", "an", "the", "a", etc., is to be understood as referring to one or more of the elements indicated, unless a patent claim expressly limits this to the contrary.
[0137] According to the present invention, a system is provided comprising a computing device, wherein the computing device includes a processor and a memory, the memory storing instructions executable by the processor, including instructions for the following: determining a first illumination value based on a first sub-area of an image of a display, wherein the display includes LED zones, the first sub-area being centered on the image; defining a plurality of second sub-areas of the image based on the LED zones; determining second illumination values of the second sub-areas; comparing the second illumination values with a range of values, wherein the range of values is defined by at least one addition and subtraction of the first illumination value and a threshold value; and actuating the display based on the comparison of the second illumination values with the range of values.
[0138] According to one embodiment, the invention is further characterized by additional instructions to assign a homogeneity value to the second sub-areas, wherein the homogeneity value is based on the value range.
[0139] According to one embodiment, the homogeneity value is a result of dividing the second illumination values by the first illumination values.
[0140] According to one embodiment, the range of values is defined by the result of dividing the second illumination values by the first illumination values.
[0141] According to one embodiment, the range of values is defined by the result of dividing a summation of differences between second illumination values by a camera resolution.
[0142] According to one embodiment, the differences between second illumination values are determined by subtracting the second illumination values of the second sub-areas from the second illumination values of the second sub-areas after applying smoothing to the second illumination values.
[0143] According to one embodiment, the second illumination values are luminance measured in nits.
[0144] According to one embodiment, the second illumination values represent chromaticity.
[0145] According to one embodiment, operating the display includes at least one of increasing or decreasing the brightness of some of the LED zones.
[0146] According to one embodiment, the invention is further characterized by additional instructions for removing a plurality of pixels from a border of the image before determining the first illumination value.
[0147] According to the present invention, a method comprises: determining a first illumination value based on a first sub-area of an image of a display, wherein the display comprises a liquid crystal display (LCD) backlit by light-emitting diodes (LEDs) arranged in LED zones, the first sub-area being centered on the image; defining a plurality of second sub-areas of the image based on the LED zones; determining second illumination values of the second sub-areas; comparing the second illumination values with a value range, wherein the value range is defined by at least one addition and one subtraction of the first illumination value and a threshold value; and actuating the display based on the comparison of the second illumination values with the value range.
[0148] In one aspect of the invention, the method involves assigning a homogeneity value to the second sub-areas, wherein the homogeneity value is based on the value range.
[0149] In one aspect of the invention, the homogeneity value is a result of dividing the second illumination values by the first illumination values.
[0150] In one aspect of the invention, the range of values is defined by the result of dividing the second illumination values by the first illumination values.
[0151] In one aspect of the invention, the range of values is defined by the result of dividing a summation of differences between second illumination values by a resolution of a camera.
[0152] In one aspect of the invention, the differences between second illumination values are determined by subtracting the second illumination values of the second sub-areas from the second illumination values of the second sub-areas after applying smoothing to the second illumination values.
[0153] In one aspect of the invention, the second illumination values are luminance measured in nits.
[0154] In one aspect of the invention, the second illumination values are chromaticity.
[0155] In one aspect of the invention, operating the display includes at least one of increasing or decreasing the brightness of some of the LED zones.
[0156] In one aspect of the invention, the method involves removing a plurality of pixels from a border of the image before the first illumination value is determined.
Claims
[1] Procedure comprising the following: Determining a first illumination value based on a first sub-area of an image of a display, wherein the display comprises a liquid crystal display (LCD) backlit by light-emitting diodes (LEDs) arranged in LED zones, wherein the first sub-area is centered on the image; Defining a multitude of second sub-areas of the image based on the LED zones; Determining second illumination values of the second sub-areas; Comparing the second illumination values with a range of values, wherein the range of values is defined by at least one addition and one subtraction of the first illumination value and a threshold value; and Activating the display based on comparing the second illumination values with the value range. [2] Method according to claim 1, further comprising assigning a homogeneity value to the second sub-areas, wherein the homogeneity value is based on the value range. [3] Method according to claim 2, wherein the homogeneity value is a result of dividing the second illumination values by the first illumination values. [4] Method according to claim 1, wherein the range of values is defined by a result of dividing the second illumination values by the first illumination values. [5] Method according to claim 1, wherein the range of values is defined by a result of dividing a summation of differences between second illumination values by a resolution of a camera. [6] Method according to claim 5, wherein the differences between second illumination values are determined by subtracting the second illumination values of the second sub-areas from the second illumination values of the second sub-areas after applying smoothing to the second illumination values. [7] Method according to claim 1, wherein the second illumination values are luminance measured in nits. [8] Method according to claim 1, wherein the second illumination values are chromaticity. [9] Method according to claim 1, wherein actuating the display includes at least one of increasing or decreasing the brightness of some of the LED zones. [10] Method according to claim 1, further comprising removing a plurality of pixels from a border of the image before the first illumination value is determined. [11] Method according to claim 10, wherein a quantity of pixels to be removed is determined based on a specification of the display. [12] Method according to claim 1, further comprising actuating the display to output a pattern before the first illumination value is determined. [13] Method according to claim 12, wherein the pattern is one of a white pattern, a grey pattern and a black pattern. [14] Method according to claim 1, further comprising assessing the sub-areas as acceptable or failed based on comparing the second illumination values with the value range. [15] Remote computer comprising a processor and a memory, wherein the memory stores instructions that can be executed by the processor to carry out the method according to any one of claims 1-14.