The present disclosure generally relates to systems and methods for vehicle display image enhancement.
In automotive display applications, light sensors have been utilized to automatically control the display luminance as a function of the ambient lighting environment. As the ambient illumination increases, the display luminance increases to maintain visibility of the images. Automatic luminance control methods maintain a comfortable level of viewing brightness, and reduce a display power consumption as the ambient illumination decreases. Although automatic luminance control methods maintain visibility of the symbols for peak-white gray shades, the visibility of lower gray shades may be compromised.
An image enhancement system is provided herein. The image enhancement system includes an ambient light sensor, a circuit and a processor. The ambient light sensor is operational to measure an ambient light level. The circuit is operational to: generate a histogram based on an input video signal; export the histogram; receive a gray shade look up table; and generate an output video signal by converting a plurality of gray shades in the input video signal based on the gray shade look up table. The processor is operational to: receive the histogram from the circuit; develop the gray shade look up table based on the histogram and the ambient light level; and transfer the gray shade look up table to the circuit.
A method for image enhancement is provided herein, The method includes measuring an ambient light level with an ambient light sensor, generating a histogram with a circuit based on an input video signal, exporting the histogram from the circuit to a processor, receive the histogram at the processor from the circuit, developing a gray shade look up table with the processor based on the histogram and the ambient light level, transferring the gray shade look up table from the processor to the circuit, receiving the gray shade look up table at the circuit from the processor, and generating an output video signal with the circuit by converting a plurality of gray shades in the input video signal based on the gray shade look up table.
A vehicle is provided herein. The vehicle includes an ambient light sensor, a control unit, and a display panel. The ambient light sensor is operational to measure an ambient light level. The control unit is coupled to the ambient light sensor and is operational to generate an input video signal, generate a histogram based on the input video signal, develop a gray shade look up table based on the histogram and the ambient light level, and generate an output video signal by converting a plurality of gray shades in the input video signal based on the gray shade look up table. The display panel is coupled to the control unit and is operational to generate a visible image based on the video output signal.
The above features and advantages and other features and advantages of the present teachings are readily apparent from the following detailed description of the best modes for carrying out the teachings when taken in connection with the accompanying drawings.
The present disclosure may have various modifications and alternative forms, and some representative embodiments are shown by way of example in the drawings and will be described in detail herein. Novel aspects of this disclosure are not limited to the particular forms illustrated in the above-enumerated drawings. Rather, the disclosure is to cover modifications, equivalents, and combinations falling within the scope of the disclosure as encompassed by the appended claims.
Embodiments of the disclosure generally provide for a framework to determine gray scale transfer functions for display image enhancements. The gray scale transfer functions generally have three independent functions. A start point function based ambient lighting conditions is used to improve low gray shade visibility. An intermediate gray shade stretching function is used to ensure image gray shade visibility. An end point function is based on white shade image content. The three functions are stitched together using a slope matching gamma function.
In various embodiments, Adaptive Image Enhancement (AIE) and Low Video Enhancement (LVE) is provided in the framework. The adaptive image enhancement generally compensates for distorted linearity of grey level perception under ambient light conditions. The adaptive image enhancement may enhance and optimize perceived overall brightness of image content for given ambient conditions. Roll-off functions are implemented to minimize loss of image details. A local contrast preservation feature ensures legibility of contrast sensitive image information. A prevention of noise enhancement due to excessive gain is implemented for dark grey levels of the images. Robustness for all type of image content, especially for all kinds of Human Machine Interface (HMI) content is also provided.
The control unit 94 implements one or more display-drive circuits. The control unit 94 is generally operational to generate control signals that drive the display panels 100a-100c. In various embodiments, the control signals may be configured to provide instrumentation (e.g., speed, tachometer, fuel, temperature, etc.) to at least one display panel 100a-100c (e.g., 100a). In some embodiments, the control signals may also be configured to provide video (e.g., a rear-view camera video, a forward-view camera video, an onboard DVD player, etc.) to the display panels 100a-100c. In other embodiments, the control signals may be further configured to provide alphanumeric information shown on one or more of the display panels 100a-100c.
In various embodiments, the control unit 94 generally comprises at least one microcontroller. The at least one microcontroller may include one or more processors, each of which may be embodied as a separate processor, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or a dedicated electronic control unit.
The at least one microcontroller may be any sort of electronic processor (implemented in hardware, software executing on hardware, or a combination of both). The at least one microcontroller may also include tangible, non-transitory memory, (e.g., read-only memory in the form of optical, magnetic, and/or flash memory). For example, the at least one microcontroller may include application-suitable amounts of random-access memory, read-only memory, flash memory and other types of electrically-erasable programmable read-only memory, as well as accompanying hardware in the form of a high-speed clock or timer, analog-to-digital and digital-to-analog circuitry, and input/output circuitry and devices, as well as appropriate signal conditioning and buffer circuitry. The at least one microcontroller may be embedded as part of an FPGA or ASIC device.
Computer-readable and executable instructions embodying the present method may be recorded (or stored) in the memory and executed as set forth herein. The executable instructions may be a series of instructions employed to run applications on the at least one microcontroller (either in the foreground or background). The at least one microcontroller may receive commands and information, in the form of one or more input signals from various controls or components in the platform 90 and communicate instructions to the display panels 100a-100c through one or more control signals to control the displays panels 100a-100c.
The display panels 100a-100c are generally mounted to the instrument panel 92. In various embodiments, one or more of the display panels 100a-100c may be disposed inside the platform 90 (e.g., vehicle 93). In other embodiments, one or more of the display panels 100a-100c may be disposed exterior to the platform 90. One or more display panels 100a-100c may implement an active public/privacy viewing modes. One or more display panels 100a-100c may also implement the privacy mode. As illustrated, the display panel 100a may be a cluster display positioned for use by a driver. The display panel 100b may be a console display positioned for use by the driver and a passenger. The display panel 100c may be a passenger display positioned for use by the passenger and the driver.
In order to determine a correct function to offset the lower gray shades into the realm of visibility, past human factor studies provide insight. Maintaining a constant contrast ratio may not be a preferred approach because a contrast sensitivity of an observer generally increases as ambient illumination increases. In particular, relatively low contrast ratios may be used at high illumination levels. Furthermore, the forward-field-of view (FFOV) luminance may also be taken into consideration to correct for eye adaptation mismatch while the eye is looking at a bright scene through the windshield and the ambient light level on the display is low due to a shadowing condition.
A human perception adaptation may be considered a straight line on a log-log plot of display background luminance verses information display luminance. Most literature focuses on a legibility of primary information. Burnette studies indicate that a minimum legibility plot is also established that may be more germane as the function for lower luminance levels in a display image because the lower levels (such as shading enhancements) are often used to display secondary information. Additional details of the Burnette studies may be found in the paper “The Status of Human Perceptual Characteristics Data for Electronic Flight Display Design”, Proceedings of AGARD Conference No. 96 on Guidance and Control Displays, Paris, France, 1972, by K. T. Burnette, which is hereby incorporated by reference in its entirety. Additional details for human visual system utilization for display visibility may be found in the paper “The Development and Evaluation of Color Systems for Airborne Applications—Phase I: Fundamental Visual Perceptual, and Display Systems Considerations”, July 1985, by Dr. Louis Silverstein and Robin Hoerner, which is hereby incorporated by reference in its entirety.
In various embodiments, the framework is based on a combination of a Silverstein fractional power function and use of constant luminance ratios between sequential gray shades taking into account an ambient reflective light. An ambient light sensor is provided to measure the ambient light level and is proportional to the background luminance seen by the viewer. In order to visibly perceive a first gray shade (GS1), the luminance level of GS1 may be increased to provide a sufficient contrast ratio between GS1 and a reflected background luminance (LBG). It may be noted that the black gray shade, GS0, is not be altered and may be assigned with the output GS0 value. Per the Silverstein visibility criteria, the Emitted Symbol Luminance (ESL) may be determined per Equation 1 as follows:
By way of example, a minimum contrast ratio between symbols and the background may be 5:1 for night conditions, 3:1 for twilight conditions, 3:1 for day conditions, and 2:1 for direct sunlight conditions. Using Equation 1, the minimum luminance, LMin, that the user sees when looking at GS1 may be devised per Equation 2 as follows:
A maximum luminance that the user sees when looking at the maximum gray shade may be according to Equation 3 as follows:
Note that in both Equations 2 and 3, the reflected display background luminance, LBG, is added because that is what the user actually sees.
To determine the gray shade luminance values between LMin and LMax the concept of constant luminance ratios is introduced. The eye basically sees equal luminance ratios as equal increments in luminance and therefore affords an ability to distinguish all gray shades equally. Equation 4 may be utilized to determine the desired intermediate luminance values as follows:
Substituting Equations 2 and 3 into Equation 4 yields Equation 5 as follows:
Equation 5 may be utilized to determine every Nth gray shade luminance value for 8 bit per color input (N=1 through 255 and T=255).
The gray shade luminance values determined by Equation 5 are decomposed into the new gray shade values, GSN, based on using a larger number of gray shade levels, such as a 10-bits range. Equation 6 shows the relationship between the display luminance and the new gray shade number, GSN, and the total number of bits, NNew as follows:
A next step is to recognize that the luminance values, LSEL, determined in Equation 5 includes the reflected background luminance, LBG. Therefore, the background luminance is subtracted to determine the display luminance. Consequently, using Equation 6, Equation 7 may be formulated as follows:
Solving Equation 7 for GSN yields Equation 8 as follows:
Thereafter, Equation 5 may be substituted into equation 8 for LSEL thereby yielding equation 9 as follows:
Therefore, Equation 9 may be used to input gray shade numbers (e.g., numbers 1 through 255) for N, and based on the background luminance determined by a light sensor, the new gray shade values, GSN, may be determined. The gray shade determinations may be equally applied for red, green and blue to maintain a correct white color point. The above concept may also be applied to stretch the dynamic range of a low gray shade image.
A method to accomplish gray shade expansion or stretching is to use the constant ratio formula, as shown in Equation 9 above. For instance, if the frame histogram as shown in
Note that γ has been changed to γD to better convey that the gamma is the target display γ value. Any gray shades greater than TNewMax is set to TNewMax.
The results show that the general formula per Equation 10 may be used for both LVE and AIE. It also demonstrates the simplistic nature of the entire system when the constant luminance ratio approach is utilized in conjunction with the fractional power function offset.
Equation 10 may be further simplified by taking the interior term and assigning variables “A” and “B” values as shown in Equation 11 as follows:
For convenience, exponent laws are shown in Equations 12 through 16 as follows:
Using Equation (exponent law) 12, Equation 11 may be rewritten as Equation 17 as follows:
Using Equation (exponent law) 12 again results in Equation 18 as follows:
Using Equations (laws 15 and 16), Equation 18 is transformed into Equation 19 as follows:
Next, using Equation 14, Equation 19 becomes Equation 20 as follows:
The exponent may be modified for a common denominator per Equation 21 as follows:
Adding the numerators for “A”, the exponential term yields Equation 22 as follows:
Equation 22 may be a best compromise because the results are in a reasonable range. However, Equation 22 may be manipulated further using Equation (law) 15 to yield Equation 23 as follows:
Finally using Equation (law) 16, Equation 23 may be manipulated to yield Equation 24 as follows:
Using the result in Equation 22, Equation 10 may be changed to Equation 25 as follows:
The LDMax term in the denominator of Equation 25 may be brought outside of the parentheses as shown in Equation 26 as follows:
Equation 26 may provide the basis for a simplified implementation compared to Equation 10. Equation 27 may be formulated from Equation 26 by substituting LMax and LMin for the variables “A” and “B” respectively.
Another way to think about the system is that the maximum (LMax) and minimum (LMin) luminance end point values are determined based on the filtered light sensor value. Equation 26 then calculates all of the new 10-bit or 11-bit values between the minimum and maximum end points. The result of using equation 26 is that successive intermediate gray scale values may have a constant visual contrast ratio that includes the effect of the reflected ambient light (LBG). A new look up table generated by using equation 27 may be used to convert 8-bit video input gray shades to 10-bit or 11-bit video gray shade output values.
An example of a partial look up table is shown in Table 1 using the following inputs.
An alternative formula that may be utilized for equation 27 is based on calculating the ratio once and then multiplying the ratio N−1 times the LMin term. The ratio between adjacent gray shade levels is given by equation 28 as follows:
Therefore the selected gray shade luminance, Lsel, may be determined per equation 29 as follows:
However Lsel includes the background luminance, LBG, that may be subtracted out and equated to the target display luminance and resolution per equation 30 as follows:
Solving for GSN yields equation 31 as follows:
An aspect to accomplish AIE-LVE compensation is to increase the display resolution in order to prevent banding due to rounding. For example, an 11-bit resolution may be appropriate to avoid seeing image artifacts.
Although the previously described concept of using user perceived constant contrast ratios is a desired method to make all shades equally visible to the user, an alternative method is to use an offset gamma function.
The gamma curve method may start based on equation 32 as follows:
Equation 32 may be solved for the new gray shade numbers GSN as shown in equation 33 as follows:
Using the LMin definition in Equation 26, the term (LMin−LBG)=BO(LBG)c, equation 33 becomes equation 34 as follows:
BO and c Constants Analysis:
The selection of the offset, BO, and slope, c, constants may be approached with a further study of the Burnette data. Since increasing the LVE increases black levels to the visibility threshold and reduces the amount of image AIE stretching, the goal is to increase the lowest-black gray shades (but not pure black gray shade 0) to the level of visibility. Therefore, the analysis may start by investigating three categories on the Burnette plot: Minimum threshold legibility; 50% threshold legibility; and bargraph 99% legibility (note that lower gray shades are not normally used for numeric data).
Table 2 shows some estimated values. As an example, for the bargraph data, Burnette indicates that where the reflected background luminance is 100 fL, a display bargraph luminance of only 6.3 fL is visible 99% of the time.
Equation 35 and equation 36 may be formulated for the data in Table 2 as follows:
Dividing equation 36 by equation 35 yields equation 37 as follows:
Equation 37 may be rewritten as equation 38 as follows:
Taking the logarithm of equation 38 results in equation 39 as follows:
Since the log of 10 is equal to 1, equation 39 simplifies to equation 40 as follows:
Using the value of c determined in equation 40, equation 36 may be used to solve for the offset constant BO per equation 41 as follows:
Therefore equation 1 may be written as equation 42, as follows:
Using the methods described above and the values from Table 2, a 50% threshold legibility equation 43 may be determined as follows:
Using methods described above and the values from Table 2, a bargraph 99% legibility equation 44 may be determined as follows:
A next step is to convert the equations 42, 43, and 44 from Imperial footlambert (fL) units to SI nit (cd/m2) units. The slope constant does not change between Imperial and SI units and only the offset constant BO changes. To keep track of the unit system the labels BOfL and BONit may be utilized. The conversion process starts with writing the general equation in Imperial fL units per equation 45 as follows. Note that equations 42, 43, and 44 are in imperial units.
A relationship between a footlambert and nits are shown in equation 46 as follows:
Therefore to convert equation 45 to Imperial fL units, equation 47 may be written as follows:
Therefore equation 47 may be changed to equation 48 and simplified to equation 49 as follows:
Therefore to change from Nits to fL, the offset constant BONit is multiplied by the factor 3.42(C-1).
Conversely, to change from fL to Nits, equation 50 may be written as follows:
Equation 50 may be rewritten as equation 51 using the conversion factor per equation 46 as follows:
Therefore equation 51 may be rearranged per equation 52 and simplified to equation 53 as follows:
Therefore, to change from the footlambert equation to the nit equation, the offset constant BOfL is multiplied by the factor 3.43(1-C).
Using the conversion factor per equation 52, equations 42, 43, and 44 may be converted from Imperial to SI units per the following equations 54, 55, 56, 57, 58, and 59.
Note that the offset and slope constants are different than the values used earlier where c=0.273 and BO=11 (nits), 4.5 (fL) and as shown in equations 60, 61 and 62 as follows:
If the various equations are analyzed in terms of contrast ratio,
Line 182 illustrates the Min column. Line 184 illustrates the 50% column. Line 186 illustrates the Bargraph column, Line 188 illustrates the BO/c column. From Table 3, although Burnette predicts visibility at lower emitted symbol luminance values, the contrast ratios are away from ISO 15008 recommendations of 5:1 for night conditions, 3:1 for twilight conditions, 3:1 for day conditions, and 2:1 for direct sunlight conditions. To determine the various luminance categories, a model is used that converts lux illuminance levels to background luminance that the user sees on the display.
The amount of illuminance on a small area, A, at a center of the integrating hemisphere is given by equation 63 as follows:
The meaning of equation 63 is that if the cockpit interior is of uniform luminance, L (measured with a photometer in cd/m2 SI units), then the amount of illuminance, E (lux in SI units), measured at the display is πL. As long as the total illuminance, E, and the diffuse Lambertian reflectance factor (coefficient), R (ρd), are known, then the amount of light seen by the user is given per equation 64 as follows:
Generally, the amount of illuminance, E, in automotive cockpit interiors is estimated to be about 5000 lux per standard J1757-1 (16, section 4.1). Furthermore, measuring the maximum illuminance E at the display with a cosine corrected illuminance meter when the sun is illuminating the interior such as through the front windscreen is desirable. Light colored interiors (e.g., more towards white) may demonstrate a higher illuminance, E, than darker interiors (e.g., black).
Therefore, assuming a reflection rate of 1.5% for a typical high performance anti-reflective coated display, and a 5000 lux interior illuminance (e.g., sunlight condition), the background luminance may be determined per equation 65 as follows:
Therefore, to meet the ISO 15008 contrast ratio recommendation of 3:1, the display luminance may be 48 nits.
For nighttime illuminance of about 10 lux, the background luminance may be determined per equation 66 as follows:
Therefore, to meet the ISO 15008 contrast ratio recommendation of 5:1, the display luminance may be 0.2 nits.
Therefore, the equations 65 and 66 may be written as equations 67 and 68 as follows:
Solving the equations 67 and 68 yields equations 69 and 70 as follows:
Due to the aggressive nature of the ISO 15008 results, the constants per equation 70 meet the ISO 15008, but may only be used on a display with a low reflectance rate because the lower gray shade luminance increases dramatically for background luminances greater than 100 nits and may consume the available AIE stretching range. A lower slope constant may be considered for displays with higher reflectance rates greater than 1.5%, because the lower gray shades may still be visible according to the Burnette data.
The AIE stretching function may have some luminance overhead such that pixels that exceed the threshold limit may be differentiated to some degree, instead of limiting such pixels to the same peak display luminance value. The overhead generally subtracts from the dynamic range of the stretched portion. In various embodiments, the feasibility of specifying the overhead makes a modification to equation 27 where the maximum display luminance used for LMax is less than the display maximum luminance of LDMax. Therefore, if a % End Point Overhead, %EPOH, is employed, a new display limit luminance, LDLimit, may be specified per equation 71 as follows:
However, the amount of overhead may be adjusted automatically so that as NMax approaches 255, the amount of overhead is reduced per Equation 72 as follows:
So, for example, if an overhead is desired for all gray levels over the threshold, the stretching may be limited according to Equation 72. The method to accomplish the limiting is to modify Equation 27 to become Equation 73 as follows:
Note that LDMax may be used in the Equation 73. Therefore, the Equation 73 sets the maximum display luminance to be LDLimit where N=NMax.
There are several way to use the overhead luminance for the video pixels that are above the threshold: 1 set all pixels with luminances above the NMax threshold to the maximum display luminance; 2 do a linear interpolation from the LDLimit, NMax point to the LDMax, 255 point; and 3 use a function to match the slope of the LDLimit, NMax point and try to hide the demarcation of the LDLimit, NMax point.
A function that may be used for the third method is the gamma function. The gamma function, as shown in Equation 74, has the desirable attributes of:
The γEP may be used to change the initial slope of the function
The sequence of calculations used to implement the end point slope gamma matching function may be as follows:
Step 1: Calculate the end point output gray shade number.
Equation 75 may be utilized to determine the end point output gray shade number, GSNEP, as follows:
Solving for GSN yields Equation 76 as follows:
For the example above per
Therefore, a 10-bit output end point is at y=GSNEP=828.862. This value may be available in the assignment table generated per Equation 73 because N=NMax. Note that non-rounded values are used to determine the slope.
Step 2: Determine the slope of the end point, SE.
The slope of the end point of the gray scale curve as shown in
Using the result from Equation 79, the slope may be determined per Equation 78. Note that GSNEP-1 is the next lowest from NMax non-round value in the assignment table. Using the following values for the example shown in
Therefore the slope, SE, may be calculated per Equation 81 as follows:
Step 3: Calculate γEP:
Using Equation 74, the slope for the first step in the gamma curve is determined per Equation 82 as follows:
Setting Sγ=SE yields Equation 83 as follows:
Equation 83 may be rearranged to provide Equation 84 as follows:
Taking the logarithm of both sides of Equation 84 yields Equation 85 as follows:
Solving for γEP gives Equation 86 as follows:
Manipulating Equation 86, yields Equation 87 as follows:
Since the log(1)=0, Equation 87 may be simplified to Equation 88 as follows:
For the example provided in
Therefore, the final gamma function that is added to the end point is given per Equation 90 as follows:
For GSΔxN=0:(255−NMax), Equation 90 becomes Equation 91 as follows:
For N=0:150, another way to write Equation 91 is per Equation 92 as follows:
A more general form of Equation 92 is presented shown in Equation 93 as follows:
The FγEP function may be add to the GSNEP value from GSN=NMax to GSN=255. Therefore for GSN>GNEP, the Equation 94 may be utilized.
A method to implement the Inflection Point Modifier may be to use a sine wave concept with one phase before the inflection point gray shade number, NI, and a second phase after the inflection point. The basic concept is to multiply the original assignment table output gray scale numbers by the sine wave and then add the result to the original assignment table output gray shade numbers. The Equations for the two phases are shown in Equations 95 and 96 as follows:
Therefore, where the input gray shade number, GSN, is less than or equal to the inflection gray shade number, NI, Equation 95 is utilized to multiply each of the original output gray shade values and the result is added to the original output gray shade values. Where the input gray shade number, GSN, is greater than the infection gray shade number, NI, Equation 96 is utilized to multiply each of the original output gray shade values and the result is added to the original output gray shade numbers. Usually one of the two amplitudes is negative. In addition the inflection gray shade number may be structured to be a percentage of NMax so that as NMax changes dynamically for AIE the inflection point remains relatively in the correct location. Another structure that may be implemented is controlling the relative gains per Equation 97 such that the inflection magnitude for both phases remains relatively constant as follows:
The gamma modifier function generally consists of multiplying the delta of the output gray shades by the gamma function and adding back to the original output gray scale 0 output value. Assume that the nomenclature is that any subscript with an “O” is the output gray shade value. The value that follows the “O” is the corresponding input gray scale number in the assignment table. Therefore, as an example, GSO0 is the output gray scale value corresponding to the input gray shade number of 0 in the assignment table structure. Equation 98 is a form of a gamma modifier function as follows:
As such, the response time for an increasing luminance may be controlled for about 1 second with an F=32 value and a loop time of 16.67 ms. For a decreasing luminance, a value of F=2048 may be used for a 90% to 10% fall time of about 75 seconds (e.g., approximately 60 seconds). The approach is used because the eye has about a 1 second rise time response and about a 60 second fall time response.
The pixel luminance converter block 236 converts every RGB pixel into a monochrome gray shade value based on Equation 100 where the RGB coefficients are (0.19, 0.68, 0.13).
Cancelling terms and solving for the equivalent monochrome gray shade results in Equation 101.
Each pixel is converted into a monochrome gray scale value per Equation 101 and a value of 1 is added for each pixel to each corresponding gray scale accumulator consisting of GSMax accumulators for each frame. For 8-bit video, this would use 256 accumulators. Histogram data is sent to the vehicle interface processor 234 at the end of each video frame. In addition, a Frame End Trigger (FET) is sent to the vehicle interface processor 234 indicating that the accumulators are ready to be down loaded to the vehicle interface processor 234. In addition, the frame end trigger is used to trigger the uploading of the AIE-LVE assignment table in preparation for the next frame of video conversion. Finally, the frame end trigger is used to signal that the new light sensor data is to be sampled. The light sensor sampling generally occurs once per frame cycle such that all functions used the same filtered data LBG light sensor data for each frame.
The function of bypass selector block 240 is to use the metadata embedded in the video stream to determine safety related or other video symbols to which the AIE-LVE enhancement is not to be applied. In this case, the AIE-LVE assignment table is not utilized and the video for the areas are sent directly to the display.
The gray shade assignment table block 242 utilizes the AIE-LVE assignment table to convert the incoming video gray shade values into the enhanced video gray shade values. Table 1 is an example of a video look up table that is uploaded by the FPGA or ASIC 232 during the video vertical blanking time in preparation for the next active video time period. The output from the gray scale assignment table may be either 10-bit video or 11-bit video.
The frame rate control block 244 applies frame rate control (FRC) methods to convert the 10-bit (or 11-bit) video data to dithered 8-bit video.
The gray shade detection threshold determination block 246 determines the maximum gray scale number such that a specific percentage of the pixels are above a threshold percentage according to Equation 102. Therefore, the method starts at a highest accumulator and keeps adding the next lower accumulator value until the threshold percentage is determined for the corresponding gray shade value. This is the GSMax N value used for stretching the dynamic video range after being filtered into variable NMax by the rate limiting filter per Block 7.
The filter block 248 is a rate limiter whereby the NMax value in incremented or decremented by one gray shade value (8 bit) towards the GSMax value each TL time increment. The rate of the filter is set by the TL time increment input.
A commanded backlight pulse width modulation (PWM) level is obtained and used to determine the display luminance, LDMax, per Equation 103 as follows, where LD is the display luminance at 100% backlight drive, % BL.
In response to the Frame End Trigger (FET), N samples of the light sensor are successively measured and averaged resulting in the variable LBGNew per Equation 104 as follows:
Note that the reflectance factor, RF, is used to determine how much of the light sensor value is reflected to the user and also to do any conversion to user observed nits.
The light sensor value obtained in block 252 is further filtered according to Equation 105 to obtain a faster exponential rise time of about 1 second than the fall time of about 60 seconds to mimic the eye adaptation times of the human visual system and to provide a peak detector function for the picket fence effects.
The F values are selected to be FUp when the new light sensor value, LBGNew is larger than the previous filtered value, LBGOld, and FDown where the new light sensor value, LBGNew is smaller than the previous filtered value, LBGOld. The time constant for the filter is selected for the 1 second rise time and 60 second fall time goal.
The user observed maximum luminance is determined per Equation 106, as follows, and is the summation of the end point display luminance (reference Block 270) and the reflected background luminance, LBG, that the user sees.
LMax is the higher end point for Equation 27 or Equation 34
Gray shade 0 (GS0) needs to be handled as a special case. If there is no active privacy function on the display, GS0 is set to 0 nits to obtain the appearance of a black display where no information is present. If the display does have the privacy function active, the GS0 background luminance may be raised to reduce the contrast ratio of the image. In various embodiments, the Weber Fraction level may be less than 25 for low black luminance values.
The Weber Fraction is the amount of white crosstalk that the driver sees when observing the passenger display. The “Fraction” is the amount of white luminance seen divided by the black luminance that the driver sees as formulated per Equation 107 as follows:
Equation 107 may be rearranged to yield Equation 108, as follows, that determines how much the display black luminance value may be increased to obtain a Weber Fraction of less than 25.
For proper operation in the formula for LMin, LBG is added to the display luminance to obtain LMin. Therefore, to meet the Weber Fraction criteria, LMin may be determined per Equation 109 as follows:
Such a AIE-LVE implementation provides that the black level luminance, LGS0, may be increased to meet the Weber Fraction requirement.
A minimum luminance level for the assignment table calculation is based on the larger of the Weber Fraction black luminance level calculated per Equation 110 or the minimum luminance level calculated for display visibility per Equation 111 as follows:
The Fechner offset BO and slope c constants are used together with the background luminance, LBG, to determine the minimum luminance, LMin, that the user needs to barely perceive the lowest gray shade information values. LMin is the lower end point for Equation 27 as depicted in
The assignment table calculation may have two parts. A first part is the calculation for the “black” level GS0 per Equation 113 as follows:
A second calculation involves first choosing which assignment table calculation method may be utilized based on the “Table Select” command.
The process of calculating the intermediate input video gray shade values GS1 through GSNMax between LMin and LMax such that each successive gray shade has the same contrast ratio taking the reflected ambient into account the reflected ambient per Equation 114 as follows:
The process of calculating the intermediate input video gray shade values GS1 through GSNMax between LMin and LMax such that each of the gray shades follow an offset gamma function are determined according to Equation 115 as follows:
Block 268 provides an assignment table developed per Block 262 and is modified by multiplying other shaping functions.
Block 270 provides some overhead luminance that may be used in conjunction with AIE. If AIE is not used, or no overhead is desired, the input variable “% End Point Overhead” is set to zero. The end point modifier function in Block 268 may be activated if the “% End Point Overhead” is not zero.
The selector S1 block 272 has two functions. If the metadata control is activated, the metadata is used to either bypass the AIE-LVE video assignment table or use the assignment table as a function of the metadata. If the metadata control is deactivated, the assignment table is used for all video data.
The selector S2 block 274 controls whether the Frame Rate Control function is utilized. If the display has a native 10-bit or 11-bit video input, the FRC function may be bypassed.
The selector S3 block 276 is triggered to upload the video assignment table as a function of the Frame End Trigger (FET) emanating from the FPGA (or ASIC) when the last video pixel for the current frame has been received. The video assignment table is to be uploaded during the video vertical blanking time in preparation for the next frame.
The selector S4 block 278 control activates the AIE stretching function. If AIE stretching is not activated, NMax is set to 255 and therefore all input gray shades (e.g., 0-255) are formulated to have a constant contrast ratio or gamma offset between LMin and LMax. If however the AIE stretching function is activated, NMax is set according to the filtered video accumulator threshold per Blocks 246 and 248.
The selector S5 block 280 control is utilized to activate raising the black gray shade 0 luminance, LGS0, to a level required to meet the Weber Fraction criteria. This has the effect of raising the black level for both the driver and the passenger. Since the black level luminance, LGS0, is a function of the (ambient) light sensor determined background luminance, LBG, per Equation 108, as the reflected background luminance increases towards daylight conditions, the black level luminance, LGS0, is decreased such that under daytime conditions the black gray shade luminance is not increased.
Table 4 is a tabulation of the various inputs to the AIE-LVE software (or code). The variables may be stored in a Variable Control Register (VCR) that may be changed via a controller area network (CAN) bus or other communication methods.
The start point enhancement function is operational to smooth the initial shades from the black level instead of immediately having gray shade 1 jump to the LVE level. The technique creates a “Start Function”. The start function may stitch into the main blue “GSN” function created in block 262 of
An aspect of the Start Point Function is the use of the LBG value to determine an intersection where the Start Point Function connects to the AIE-LVE function. Since LBG is related to the reflected ambient, the use of LBG automatically adjust the intersection between the two functions automatically. As an example, if LBG is lowered from 100 nits to 10 nits, the Start function changes such that the Start Point function uses less of the starting gray shades to accomplish the smoothing function. Note that the end of the Start Point Function is reduced from input gray shade 56 to gray shade 32 in the example.
NS=Intersection gray shade number between the Start Point Function and the AIE-LVE GSN function. NS is also the end input gray shade for the Start Point Function.
NS+1=Is the next integer gray shade number above input gray shade NS. This is found by adding 1 to NS.
NS−1=Is the next integer gray shade number below input gray shade NS. This is found by subtracting 1 from NS.
NS0=The floating point output gray shade associated with input gray shade number NS for the transfer function used in block 262 of
NS0+1=The floating point output gray shade associated with input gray shade NS+1 for the transfer function used in block 262 of
Note that an objectives of the start point function is to match the slope of the transfer function used in block 262 at the intersection point defined by input gray shade number NS.
In order to accomplish the objective of slope matching at the intersection point, a method may be to start by using a Start Point gamma function as shown in Equation 116 as follows:
The slope of the gamma function just before the intersection point is defined by Equation 117 as follows:
Equation 117 simplifies to Equation 118, as follows, because the denominator is equal to 1 and the NS/NS term also reduces to unity.
The idea is to match the slope of the gamma Start Point Function to the AIE-LVE GSN transfer function curve 314. The slope of the AIE-LVE transfer function curve 314 at the intersection point may be defined per Equation 119 as follows:
Equation 119 simplifies to Equation 120, as follows, since the denominator is equal to unity:
Equation 118 and Equation 120 may be combined by setting the slopes equal to each other per Equation 121 as follows:
Solving for the gamma slope γS yields Equation 122 as follows:
Manipulating Equation 122 yields Equation 123 as follows:
Taking the logarithm of both sides results in Equation 124 as follows:
Finally solving for γS results in Equation 125 as follows:
The gamma value calculated from Equation 125 is then used in conjunction with Equation 116 to develop the Start Point Function 312.
An aspect of the calculations may be that the NS point is developed based on the LBG value that is the same as the output value for GS1. To add some additional control, a gain factor, K, may be applied to the GS1 value. Therefore, Equation 126 may be used to determine the rounded integer end point NS value as follows:
Alternatively, NS may be determined by using Equation 127 as follows:
Note that the GSO1 is derived from the background luminance value according to the power function formula. There are two forms of the formula to determine the output gray shades: Constant Contrast Ratio; and Offset Gamma.
The constant contrast ratio formula may be calculate per Equation 128 as follows:
If the input gray shade is set to N=1, Equation 128 becomes Equation 129 as follows:
For the offset gamma formula per Equation 130, as follows, if N=0, the result is the same as Equation 129.
Therefore, with either method, the lowest gray shade is determined by Equation 129. From a luminance point of view, the display converts the lowest gray shade per Equation 131, as follows, which is just the luminance suitable according to the Silverstein power Equation 2-1.
An issue with automotive display imagery is that the lower video gray shade content becomes less visible under reflected ambient lighting conditions. For example, a white poster board (e.g., a white shirt) reflection of 387 nits from the passenger seat washes out the display as seen by the driver for a display with a 1.25% total SCI display reflection rate. Considering the Burnette and Silverstein human factor studies, a 387 nit reflected background luminance results in an approximately 300 nits display luminance to be visible. In various situations, 300 nits equates to about gray shade 150 for a 1000 nit display. Therefore, for a typical cluster display, most of the lower gray shade content may not be visible as shown by the histogram in
To have improved visibility of lower and intermediate video content, the lower and intermediate video levels to higher video levels may be dynamically adjusted as a function of ambient lighting conditions, referred to as the adaptive image enhancement. The adaptive image enhancement may be accomplished by measuring the lighting condition and dynamically adjusting the image content for image visibility.
Adaptive Image Enhancement (AIE) offers a method to be able to see lower gray shade content of a display image. Previously, automatic luminance control methods used light sensor information to increase or decrease the luminance level of a display. The previous methods only addressed the visibility of the upper gray shades in a video image. The lower gray shades however remained largely not visible due to the reflected luminance of the display overwhelming and washing out the lower gray shade luminance levels. With the advent of adaptive image enhancement methods, the luminance of the lower gray shades may be increased to the level of visibility with just increasing the overall luminance of the display. However, the control techniques to automatically control both the video path and the display luminance functions may be integrated to provide seamless operation.
The maximum values are controlled by setting the maximum display luminance while the minimum value is set using the gray scale function. As the reflected background luminance changes (x-axis), the minimum gray shade luminance and the maximum gray shade luminance should be automatically changed to the y axis display luminance values. Note that the double arrow red dashed lines indicate the range of the display luminance gray shades. As the reflected background increases, the double red arrow range moves to the right as indicated by the solid green arrow. Therefore, the reflected background luminance (LBG) may be estimated with a light sensor, and the amount of display luminance (ESL) may be calculated to ensure visibility.
Until the advent of adaptive image enhancement, only the top maximum visibility curve may be realized by adjusting the backlight. However, by adjusting the video gray shades using adaptive image enhancement, the bottom minimum visibility curve may now be realized resulting in visibility of the lower gray shades that normally are “washed out” by the attending reflected background luminance.
A features of the image enhancement implementation is that the minimum gray shades that the user sees remains constant and is independent of the display maximum luminance. Therefore, the backlight luminance may be decreased to the level suitable for relevant symbology luminance levels, and the minimum gray shade luminance may remain constant. This concept may be explained by first understanding the overall approach of the Adaptive Image Enhancement System.
Between the start point and the end point, the gray shades are determined based on the selected function. Equation 130, above, expresses the mathematical relationship that automatically recalculates the lower gray shade levels as a function of the display luminance.
To analyze Equation 130, above, with respect to lower gray shade independence, the first step is to simplify Equation 130 by rearranging terms as shown in Equation 132 as follows:
Substituting the equations for LMax and LMin into Equation 132 yields Equation 133, as follows, which may be utilized to determine the gray shade transfer function between the start point (GS=1) and the end point.
For the purposed of illustration, the values used in the example are:
From these assumptions, the amount of display luminance suitable for minimum visibility may be determined according to Equation 134 as follows:
If a minimum value of NMax=87 is used, the first term in the numerator for a display luminance of 1000 nits and 500 nits may be determined according to Equations 135 and 136, as follows, for the lowest input gray shade of N=1.
The results observed in Equations 135 and 136 are smaller than the second term (30.28 nits) in the numerator of Equation 133 and may therefore be ignored for N=1. Therefore, for N=1, Equation 137 is realized as follows:
Conversion to actual luminance for input gray shade N=1 is accomplished per Equation 138 as follows:
Substituting Equation 137 into Equation 138, yields Equation 139 as follows:
Cancelling terms and simplifying Equation 139 results in Equation 140, as follows, which shows that the correct lower luminance level is maintained independent of the display luminance LDMax.
The image enhancement system generally maintains the correct luminance level for the lower shades independent of the display backlight luminance. Therefore. the automatic luminance control system may change the upper gray shades luminance levels without affecting the lowest image enhanced gray shade luminance levels. This characteristic is due to the two-point method used to develop the image enhancement technique where the lower levels and upper luminance levels are independently determined and controlled rather than using a simplistic image enhancement method where only the overall gamma function is controlled.
Those having ordinary skill in the art will recognize that terms such as “above,” “below,” “front,” “back,” “upward,” “downward,” “top,” “bottom,” etc., may be used descriptively herein without representing limitations on the scope of the disclosure. Furthermore, the present teachings may be described in terms of functional and/or logical block components and/or various processing steps. Such block components may be comprised of various hardware components, software components executing on hardware, and/or firmware components executing on hardware.
The foregoing detailed description and the drawings are supportive and descriptive of the disclosure, but the scope of the disclosure is defined solely by the claims. As will be appreciated by those of ordinary skill in the art, various alternative designs and embodiments may exist for practicing the disclosure defined in the appended claims.
This application claims the benefit of U.S. Provisional Application Nos. 63/620,255 filed Jan. 12, 2024, 63/620,257 filed Jan. 12, 2024, and 63/620,264 filed Jan. 12, 2024, which are hereby incorporated by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
63620255 | Jan 2024 | US | |
63620257 | Jan 2024 | US | |
63620264 | Jan 2024 | US |