# Patent

## Title
Methods and systems for image compensation for ambient conditions

## Abstract

Elements of the present invention relate to systems and methods for compensating an image for various ambient illumination conditions. In some embodiments, an image is compensated by modifying image code values to account for ambient conditions.

## Background
RELATED REFERENCES
The following applications are hereby incorporated herein by reference: U.S. patent application Ser. No. 11/465,436, entitled “Methods and Systems for Selecting a Display Source Light Illumination Level,” filed on Aug. 17, 2006; U.S. patent application Ser. No. 11/293,562, entitled “Methods and Systems for Determining a Display Light Source Adjustment,” filed on Dec. 2, 2005; U.S. patent application Ser. No. 11/224,792, entitled “Methods and Systems for Image-Specific Tone Scale Adjustment and Light-Source Control,” filed on Sep. 12, 2005; U.S. patent application Ser. No. 11/154,053, entitled “Methods and Systems for Enhancing Display Characteristics with High Frequency Contrast Enhancement,” filed on Jun. 15, 2005; U.S. patent application Ser. No. 11/154,054, entitled “Methods and Systems for Enhancing Display Characteristics with Frequency-Specific Gain,” filed on Jun. 15, 2005; U.S. patent application Ser. No. 11/154,052, entitled “Methods and Systems for Enhancing Display Characteristics,” filed on Jun. 15, 2005; U.S. patent application Ser. No. 11/393,404, entitled “A Color Enhancement Technique using Skin Color Detection,” filed Mar. 30, 2006; U.S. patent application Ser. No. 11/460,768, entitled “Methods and Systems for Distortion-Related Source Light Management,” filed Jul. 28, 2006; U.S. patent application Ser. No. 11/202,903, entitled “Methods and Systems for Independent View Adjustment in Multiple-View Displays,” filed Aug. 8, 2005; U.S. patent application Ser. No. 11/371,466, entitled “Methods and Systems for Enhancing Display Characteristics with Ambient Illumination Input,” filed Mar. 8, 2006; U.S. patent application Ser. No. 11/293,066, entitled “Methods and Systems for Display Mode Dependent Brightness Preservation,” filed Dec. 2, 2005; U.S. patent application Ser. No. 11/460,907, entitled “Methods and Systems for Generating and Applying Image Tone Scale Corrections,” filed Jul. 28, 2006; U.S. patent application Ser. No. 11/460,940, entitled “Methods and Systems for Color Preservation with Image Tonescale Corrections,” filed Jul. 28, 2006; U.S. patent application Ser. No. 11/564,203, entitled “Methods and Systems for Image Tonescale Adjustment to Compensate for a Reduced Source Light Power Level,” filed Nov. 28, 2006; U.S. patent application Ser. No. 11/680,312, entitled “Methods and Systems for Brightness Preservation Using a Smoothed Gain Image,” filed Feb. 28, 2007; U.S. patent application Ser. No. 11/845,651, entitled “Methods and Systems for Tone Curve Generation, Selection and Application,” filed Aug. 27, 2007; U.S. patent application Ser. No. 11/605,711, entitled “A Color Enhancement Technique using Skin Color Detection,” filed Nov. 28, 2006; U.S. patent application Ser. No. 11/929,796, entitled “Methods and Systems for Backlight Modulation and Brightness Preservation,” filed Oct. 30, 2007; U.S. patent application Ser. No. 11/929,918, entitled “Systems and Methods for Image Enhancement,” filed Oct. 30, 2007; U.S. patent application Ser. No. 11/948,969, entitled “Systems and Methods for Weighted-Error-Vector-Based Source Light Selection,” filed Nov. 30, 2007; U.S. patent application Ser. No. 11/948,978, entitled “Systems and Methods for Backlight Modulation with Scene-Cut Detection,” filed Nov. 30, 2007; U.S. patent application Ser. No. 11/964,674, entitled “Systems and Methods for Source Light Illumination Level Selection,” filed Dec. 26, 2007; U.S. patent application Ser. No. 11/964,683, entitled “Systems and Methods for Backlight Modulation with Image Characteristic Mapping,” filed Dec. 26, 2007; U.S. patent application Ser. No. 11/964,689, entitled “Systems and Methods for Display Source Light Management with Histogram Manipulation,” filed Dec. 26, 2007; U.S. patent application Ser. No. 11/964,691, entitled “Systems and Methods for Image Tonescale Design,” filed Dec. 26, 2007; and U.S. patent application Ser. No. 11/964,695, entitled “Systems and Methods for Display Source Light Management with Variable Delay,” filed Dec. 26, 2007;
FIELD OF THE INVENTION
Embodiments of the present invention comprise systems and methods for source light illumination level selection and image compensation curve application that compensates for a reduced source light illumination level and/or ambient conditions.
BACKGROUND
A typical display device displays an image using a fixed range of luminance levels. For many displays, the luminance range has 256 levels that are uniformly spaced from 0 to 255. Image code values are generally assigned to match these levels directly.
In many electronic devices with large displays, the displays are the primary power consumers. For example, in a laptop computer, the display is likely to consume more power than any of the other components in the system. Many displays with limited power availability, such as those found in battery-powered devices, may use several illumination or brightness levels to help manage power consumption. A system may use a full-power mode when it is plugged into a power source, such as A/C power, and may use a power-save mode when operating on battery power.
In some devices, a display may automatically enter a power-save mode, in which the display illumination is reduced to conserve power. These devices may have multiple power-save modes in which illumination is reduced in a step-wise fashion. Generally, when the display illumination is reduced, image quality drops as well. When the maximum luminance level is reduced, the dynamic range of the display is reduced and image contrast suffers. Therefore, the contrast and other image qualities are reduced during typical power-save mode operation.
Many display devices, such as liquid crystal displays (LCDs) or digital micro-mirror devices (DMDs), use light valves which are backlit, side-lit or front-lit in one way or another. In a backlit light valve display, such as an LCD, a backlight is positioned behind a liquid crystal panel. The backlight radiates light through the LC panel, which modulates the light to register an image. Both luminance and color can be modulated in color displays. The individual LC pixels modulate the amount of light that is transmitted from the backlight and through the LC panel to the user's eyes or some other destination. In some cases, the destination may be a light sensor, such as a coupled-charge device (CCD).
Some displays may also use light emitters to register an image. These displays, such as light emitting diode (LED) displays and plasma displays use picture elements that emit light rather than reflect light from another source.
SUMMARY
Some embodiments of the present invention comprise systems and methods for varying a light-valve-modulated pixel's luminance modulation level to compensate for a reduced light source illumination intensity or to improve the image quality at a fixed light source illumination level.
Some embodiments of the present invention may also be used with displays that use light emitters to register an image. These displays, such as light emitting diode (LED) displays and plasma displays use picture elements that emit light rather than reflect light from another source. Embodiments of the present invention may be used to enhance the image produced by these devices. In these embodiments, the brightness of pixels may be adjusted to enhance the dynamic range of specific image frequency bands, luminance ranges and other image subdivisions.
In some embodiments of the present invention, a display light source may be adjusted to different levels in response to image characteristics. When these light source levels change, the image code values may be adjusted to compensate for the change in brightness or otherwise enhance the image.
Some embodiments of the present invention comprise ambient light sensing that may be used as input in determining light source levels and image pixel values.
Some embodiments of the present invention comprise distortion-related light source and battery consumption control.
Some embodiments of the present invention comprise systems and methods for generating and applying image tone scale corrections.
Some embodiments of the present invention comprise methods and systems for image tone scale correction with improved color fidelity.
Some embodiments of the present invention comprise methods and systems for selecting a display source light illumination level.
Some embodiments of the present invention comprise methods and systems for developing a panel tone curve and a target tone curve. Some of these embodiments provide for development of a plurality of target tone curves with each curve related to a different backlight or source light illumination level. In these embodiments, a backlight illumination level may be selected and the target tone curve related to the selected backlight illumination level may be applied to the image to be displayed. In some embodiments, a performance goal may effect selection of tone curve parameters.
Some embodiments of the present invention comprise methods and systems for color enhancement. Some of these embodiments comprise skin-color detection, skin-color map refinement and color processing.
Some embodiments of the present invention comprise methods and systems for bit-depth extension. Some of these embodiments comprise application of a spatial and temporal high-pass dither pattern to an image prior to a bit-depth reduction.
Some embodiments of the present invention comprise source light illumination level signal filters that are responsive to the presence of a scene cut in the video sequence.
Some embodiments of the present invention comprise source light illumination level selection based on image characteristics that are mapped to display model attributes. Some embodiments consider ambient light conditions, user brightness selection and manual user map selection when selecting or modifying a map that associates an image characteristic to a display model attribute. Some embodiments also comprise a temporal filter that is responsive to user input that selects a display brightness level.
Some embodiments of the present invention comprise methods and systems for display source light illumination level selection. Some of these embodiments comprise histogram generation and manipulation. In some embodiments, a color weight factor may be used to convert a 2-dimensional histogram into a 1-dimensional histogram.
Some embodiments of the present invention comprise methods and systems for creation of a modified source light illumination level compensation curve that compensates for a reduced source light illumination level as well as an additional tonescale process that is applied after application of the modified source light illumination level compensation curve.
Some embodiments of the present invention comprise methods and systems for implementing a delay for a source light signal to accommodate delays in image compensation and image processing. In some embodiments a variable delay may be used. In some embodiments, a selective delay based on frame rate conversion parameters may be used.
Some embodiments of the present invention comprise methods and systems for compensating an image for ambient illumination conditions. In some embodiments, this may be performed with a retinal model. Some embodiments may comprise a display model that models a display as a transmissive display, a reflective display and/or a transflective display. Some embodiments may compensate an image by adjusting image code values while other embodiments may adjust display backlight values. Some embodiments may adjust image code values and backlight values.
The foregoing and other objectives, features, and advantages of the invention will be more readily understood upon consideration of the following detailed description of the invention taken in conjunction with the accompanying drawings.



BRIEF DESCRIPTION OF THE SEVERAL DRAWINGS
FIG. 1 is a diagram showing prior art backlit LCD systems;
FIG. 2A is a chart showing the relationship between original image code values and boosted image code values;
FIG. 2B is a chart showing the relationship between original image code values and boosted image code values with clipping;
FIG. 3 is a chart showing the luminance level associated with code values for various code value modification schemes;
FIG. 4 is a chart showing the relationship between original image code values and modified image code values according to various modification schemes;
FIG. 5 is a diagram showing the generation of an exemplary tone scale adjustment model;
FIG. 6 is a diagram showing an exemplary application of a tone scale adjustment model;
FIG. 7 is a diagram showing the generation of an exemplary tone scale adjustment model and gain map;
FIG. 8 is a chart showing an exemplary tone scale adjustment model;
FIG. 9 is a chart showing an exemplary gain map;
FIG. 10 is a flow chart showing an exemplary process wherein a tone scale adjustment model and gain map are applied to an image;
FIG. 11 is a flow chart showing an exemplary process wherein a tone scale adjustment model is applied to one frequency band of an image and a gain map is applied to another frequency band of the image;
FIG. 12 is a chart showing tone scale adjustment model variations as the MFP changes;
FIG. 13 is a flow chart showing an exemplary image dependent tone scale mapping method;
FIG. 14 is a diagram showing exemplary image dependent tone scale selection embodiments;
FIG. 15 is a diagram showing exemplary image dependent tone scale map calculation embodiments;
FIG. 16 is a flow chart showing embodiments comprising source light level adjustment and image dependent tone scale mapping;
FIG. 17 is a diagram showing exemplary embodiments comprising a source light level calculator and a tone scale map selector;
FIG. 18 is a diagram showing exemplary embodiments comprising a source light level calculator and a tone scale map calculator;
FIG. 19 is a flow chart showing embodiments comprising source light level adjustment and source-light level-dependent tone scale mapping;
FIG. 20 is a diagram showing embodiments comprising a source light level calculator and source-light level-dependent tone scale calculation or selection;
FIG. 21 is a diagram showing a plot of original image code values vs. tone scale slope;
FIG. 22 is a diagram showing embodiments comprising separate chrominance channel analysis;
FIG. 23 is a diagram showing embodiments comprising ambient illumination input to the image processing module;
FIG. 24 is a diagram showing embodiments comprising ambient illumination input to the source light processing module;
FIG. 25 is a diagram showing embodiments comprising ambient illumination input to the image processing module and device characteristic input;
FIG. 26 is a diagram showing embodiments comprising alternative ambient illumination inputs to the image processing module and/or source light processing module and a source light signal post-processor;
FIG. 27 is a diagram showing embodiments comprising ambient illumination input to a source light processing module, which passes this input to an image processing module;
FIG. 28 is a diagram showing embodiments comprising ambient illumination input to an image processing module, which may pass this input to a source light processing module;
FIG. 29 is a diagram showing embodiments comprising distortion-adaptive power management;
FIG. 30 is a diagram showing embodiments comprising constant power management;
FIG. 31 is a diagram showing embodiments comprising adaptive power management;
FIG. 32A is a graph showing a comparison of power consumption of constant power and constant distortion models;
FIG. 32B is a graph showing a comparison of distortion of constant power and constant distortion models;
FIG. 33 is a diagram showing embodiments comprising distortion-adaptive power management;
FIG. 34 is a graph showing backlight power levels at various distortion limits for an exemplary video sequence;
FIG. 35 is a graph showing exemplary power/distortion curves;
FIG. 36 is a flow chart showing embodiments that manage power consumption in relation to a distortion criterion;
FIG. 37 is a flow chart showing embodiments comprising source light power level selection based on distortion criterion;
FIGS. 38A & B are a flow chart showing embodiments comprising distortion measurement which accounts for the effects of brightness preservation methods;
FIG. 39 is a power/distortion curve for exemplary images;
FIG. 40 is a power plot showing fixed distortion;
FIG. 41 is a distortion plot showing fixed distortion;
FIG. 42 is an exemplary tone scale adjustment curve;
FIG. 43 is a zoomed-in view of the dark region of the tone scale adjustment curve shown in FIG. 42;
FIG. 44 is another exemplary tone scale adjustment curve;
FIG. 45 is a zoomed-in view of the dark region of the tone scale adjustment curve shown in FIG. 44;
FIG. 46 is a chart showing image code value adjustment based on a maximum color channel value;
FIG. 47 is a chart showing image code value adjustment of multiple color channels based on maximum color channel code value;
FIG. 48 is a chart showing image code value adjustment of multiple color channels based on a code value characteristic of one of the color channels;
FIG. 49 is a diagram showing embodiments of the present invention comprising a tone scale generator that receives a maximum color channel code value as input;
FIG. 50 is a diagram showing embodiments of the present invention comprising frequency decomposition and color channel code distinctions with tone scale adjustment;
FIG. 51 is a diagram showing embodiments of the present invention comprising frequency decomposition, color channel distinction and color-preserving clipping;
FIG. 52 is a diagram showing embodiments of the present invention comprising color-preserving clipping based on color channel code value characteristics;
FIG. 53 is a diagram showing embodiments of the present invention comprising a low-pass/high-pass frequency split and selection of a maximum color channel code value;
FIG. 54 is a diagram showing various relationships between processed images and display models;
FIG. 55 is a graph of the histogram of image code values for an exemplary image;
FIG. 56 is a graph of an exemplary distortion curve corresponding to the histogram of FIG. 55;
FIG. 57 is a graph showing results of applying an exemplary optimization criterion to a brief DVD clip, this graph plots the selected backlight power against video frame number;
FIG. 58 illustrates a minimum MSE distortion backlight determination for different contrast ratios of an actual display;
FIG. 59 is a graph showing an exemplary panel tone curve and target tone curve;
FIG. 60 is a graph showing an exemplary panel tone curve and target tone curve for a power saving configuration;
FIG. 61 is a graph showing an exemplary panel tone curve and target tone curve for a lower black level configuration;
FIG. 62 is a graph showing an exemplary panel tone curve and target tone curve for a brightness enhancement configuration;
FIG. 63 is a graph showing an exemplary panel tone curve and target tone curve for an enhance image configuration wherein black level is lowered and brightness is enhanced;
FIG. 64 is a graph showing a series of exemplary target tone curves for black level improvement;
FIG. 65 is a graph showing a series of exemplary target tone curves for black level improvement and image brightness enhancement;
FIG. 66 is a chart showing an exemplary embodiment comprising target tone curve determination and distortion-related backlight selection;
FIG. 67 is a chart showing an exemplary embodiment comprising performance-goal-related parameter selection, target tone curve determination and backlight selection;
FIG. 68 is a chart showing an exemplary embodiment comprising performance-goal-related target tone curve determination and backlight selection;
FIG. 69 is a chart showing an exemplary embodiment comprising performance-goal-related and image-related target tone curve determination and backlight selection;
FIG. 70 is a chart showing an exemplary embodiment comprising frequency decomposition and tonescale processing with bit-depth extension;
FIG. 71 is a chart showing an exemplary embodiment comprising frequency decomposition and color enhancement;
FIG. 72 is a chart showing an exemplary embodiment comprising color enhancement, backlight selection and high-pass gain processes;
FIG. 73 is a chart showing an exemplary embodiment comprising color enhancement, histogram generation, tonescale processing and backlight selection;
FIG. 74 is a chart showing an exemplary embodiment comprising skin-color detection and skin-color map refinement;
FIG. 75 is a chart showing an exemplary embodiment comprising color enhancement and bit-depth extension;
FIG. 76 is a chart showing an exemplary embodiment comprising color enhancement, tonescale processing and bit-depth extension;
FIG. 77 is a chart showing an exemplary embodiment comprising color enhancement;
FIG. 78 is a chart showing an exemplary embodiment comprising color enhancement and bit-depth extension;
FIG. 79 is a graph showing a target output curve and multiple panel or display output curves;
FIG. 80 is a graph showing error vector plots for the target and display output curves of FIG. 79;
FIG. 81 is a graph showing a histogram-weighted error plot;
FIG. 82 is a chart showing an exemplary embodiment of the present invention comprising histogram-weighted-error-based source light illumination level selection;
FIG. 83 is a chart showing an alternative exemplary embodiment of the present invention comprising histogram-weighted-error-based source light illumination level selection;
FIG. 84 is a chart showing an exemplary system comprising a scene cut detector;
FIG. 85 is a chart showing an exemplary system comprising a scene cut detector and an image compensation module;
FIG. 86 is a chart showing an exemplary system comprising a scene cut detector and a histogram buffer;
FIG. 87 is a chart showing an exemplary system comprising a scene cut detector and a temporal filter responsive to the scene cut detector;
FIG. 88 is a chart showing an exemplary method wherein filter selection is based on scene cut detection;
FIG. 89 is a chart showing an exemplary method wherein frames are compared to detect a scene cut;
FIG. 90 is a graph showing backlight response without a filter;
FIG. 91 is a graph showing a typical temporal contrast sensitivity function;
FIG. 92 is a graph showing the response of an exemplary filter;
FIG. 93 is a graph showing a filtered and unfiltered backlight response;
FIG. 94 is a graph showing a filter response across a scene cut;
FIG. 95 is a graph showing an unfiltered response across a scene cut along with a first filtered response and a second filtered response;
FIG. 95 is a graph showing unfiltered, filtered and scene-cut filtered responses;
FIG. 96 is a system diagram showing embodiments comprising a histogram buffer, temporal filter and Y-gain compensation;
FIG. 97 is a graph showing various exemplary Y-gain curves;
FIG. 98 is a graph showing exemplary display models;
FIG. 99 is a graph showing exemplary display error vector curves;
FIG. 100 is a graph showing plots of exemplary image histograms;
FIG. 101 is a graph showing exemplary image distortion vs. backlight level curves;
FIG. 102 is a graph showing a comparison of differing distortion metrics;
FIG. 103 is a diagram showing an exemplary system comprising scene-cut detection and image compensation;
FIG. 104 is a diagram showing an exemplary method comprising image analysis to determine scene cuts and scene-cut responsive distortion calculation;
FIG. 105 is a diagram showing an exemplary system comprising an image characteristic mapping module;
FIG. 106 is a diagram showing an exemplary system comprising an image characteristic mapping module with manual user map selection input;
FIG. 107 is a diagram showing an exemplary system comprising an image characteristic mapping module with ambient light sensor input;
FIG. 108 is a diagram showing an exemplary system comprising an image characteristic mapping module with user brightness selection input;
FIG. 109 is a diagram showing an exemplary system comprising an image characteristic mapping module with user brightness selection input and a temporal filter responsive to the user brightness selection;
FIG. 110 is a diagram showing an exemplary system comprising an image characteristic mapping module with user brightness selection input, ambient sensor input and manual map selection;
FIG. 111 is a diagram showing an exemplary system comprising an image characteristic mapping module that relates to image histogram data;
FIG. 112 is a diagram illustrating an exemplary histogram conversion method;
FIG. 113 is a diagram illustrating an exemplary method for histogram generation and conversion;
FIG. 114 is a diagram illustrating an exemplary embodiment comprising histogram conversion and use in mapping and distortion modules;
FIG. 115 is a diagram illustrating an exemplary histogram dynamic range conversion;
FIG. 116 is a diagram illustrating an exemplary embodiment comprising histogram conversion and dynamic range conversion;
FIG. 117 is a diagram illustrating an exemplary system comprising a source light illumination level compensation process and a pre-compensation process with backlight selection based on a modified image;
FIG. 118 is a diagram illustrating an exemplary system comprising a source light illumination level compensation process and a pre-compensation process with backlight selection based on the original input image;
FIG. 119 is a diagram illustrating an exemplary system comprising a modified source light illumination level compensation process and a post-compensation process with backlight selection based on the original input image;
FIG. 120 is a diagram illustrating processes involved in creation of a modified source light illumination level compensation curve;
FIG. 121 is a diagram illustrating an exemplary system comprising a delay module on the source light illumination level signal;
FIG. 122 is a diagram illustrating an exemplary system comprising a delay module linked to a frame rate conversion module;
FIG. 123 is a diagram illustrating an exemplary system comprising a delay module linked to an additional process module;
FIG. 124 is a diagram showing embodiments of the present invention comprising gain image smoothing;
FIG. 125 is a diagram showing embodiments of the present invention comprising gain image smoothing and a HP/HF gain process;
FIG. 126 is a diagram showing embodiments of the present invention comprising gain image smoothing and an image-specific gain process;
FIG. 127 is a diagram showing embodiments of the present invention comprising gain image smoothing and a gain process based on color channel analysis;
FIG. 128 is a diagram showing embodiments of the present invention comprising gain image smoothing and color channel cove value characteristic analysis;
FIG. 129 is a diagram showing embodiments of the present invention comprising gain image smoothing and color-preserving clipping;
FIG. 130 is a diagram illustrating an exemplary embodiment comprising a retinal model;
FIG. 131 is a diagram illustrating an exemplary embodiment comprising a retinal model and a display reflectance model;
FIG. 132 is a diagram illustrating an exemplary embodiment comprising a retinal model and a compensation calculator;
FIG. 133 is a plot showing an exemplary retinal response model;
FIG. 134 is a plot showing an exemplary inverse retinal response;
FIG. 135 is a plot showing an exemplary relationship between a display model parameter, alpha, and an ambient adapting luminance;
FIG. 136 is a plot showing retinal responses under various ambient adapting luminance conditions;
FIG. 137 is a plot showing exemplary compensating tonescales;
FIG. 138 is a plot showing compensated retinal responses under various ambient adapting luminance conditions;
FIG. 139 is a plot showing compensated retinal responses using a reflectance model with an assumed 0.1% flare;
FIG. 140 is a plot showing compensated retinal responses using a reflectance model with an assumed 1% flare;
FIG. 141 is a plot showing retinal responses under various ambient adapting luminance conditions with a transflective display model;
FIG. 142 is a plot showing exemplary compensating tonescales for a transflective display; and
FIG. 143 is a plot showing compensated retinal responses using a transflective display model.



DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
Embodiments of the present invention will be best understood by reference to the drawings, wherein like parts are designated by like numerals throughout. The figures listed above are expressly incorporated as part of this detailed description.
It will be readily understood that the components of the present invention, as generally described and illustrated in the figures herein, could be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of the embodiments of the methods and systems of the present invention is not intended to limit the scope of the invention but it is merely representative of the presently preferred embodiments of the invention.
Elements of embodiments of the present invention may be embodied in hardware, firmware and/or software. While exemplary embodiments revealed herein may only describe one of these forms, it is to be understood that one skilled in the art would be able to effectuate these elements in any of these forms while resting within the scope of the present invention.
Display devices using light valve modulators, such as LC modulators and other modulators may be reflective, wherein light is radiated onto the front surface (facing a viewer) and reflected back toward the viewer after passing through the modulation panel layer. Display devices may also be transmissive, wherein light is radiated onto the back of the modulation panel layer and allowed to pass through the modulation layer toward the viewer. Some display devices may also be transflexive, a combination of reflective and transmissive, wherein light may pass through the modulation layer from back to front while light from another source is reflected after entering from the front of the modulation layer. In any of these cases, the elements in the modulation layer, such as the individual LC elements, may control the perceived brightness of a pixel.
In backlit, front-lit and side-lit displays, the light source may be a series of fluorescent tubes, an LED array or some other source. Once the display is larger than a typical size of about 18′′, the majority of the power consumption for the device is due to the light source. For certain applications, and in certain markets, a reduction in power consumption is important. However, a reduction in power means a reduction in the light flux of the light source, and thus a reduction in the maximum brightness of the display.
A basic equation relating the current gamma-corrected light valve modulator's gray-level code values, CV, light source level, Lsource, and output light level, Lout, is:

Lout=Lsource*g(CV+dark)γ+ambient  Equation 1

Where g is a calibration gain, dark is the light valve's dark level, and ambient is the light hitting the display from the room conditions. From this equation, it can be seen that reducing the backlight light source by x % also reduces the light output by x %.
The reduction in the light source level can be compensated by changing the light valve's modulation values; in particular, boosting them. In fact, any light level less than (1−x %) can be reproduced exactly while any light level above (1−x %) cannot be reproduced without an additional light source or an increase in source intensity.
Setting the light output from the original and reduced sources gives a basic code value correction that may be used to correct code values for an x % reduction (assuming dark and ambient are 0) is:

Lout=Lsource*g(CV)γ=Lreduced*g(CVboost)γ  Equation 2

CVboost=CV*(Lsource/Lreduced)1/γ=CV*(1/x%)1/γ  Equation 3

FIG. 2A illustrates this adjustment. In FIGS. 2A and 2B, the original display values correspond to points along line 12. When the backlight or light source is placed in power-save mode and the light source illumination is reduced, the display code values need to be boosted to allow the light valves to counteract the reduction in light source illumination. These boosted values coincide with points along line 14. However, this adjustment results in code values 18 higher than the display is capable of producing (e.g., 255 for an 8 bit display). Consequently, these values end up being clipped 20 as illustrated in FIG. 2B. Images adjusted in this way may suffer from washed out highlights, an artificial look, and generally low quality.
Using this simple adjustment model, code values below the clipping point 15 (input code value 230 in this exemplary embodiment) will be displayed at a luminance level equal to the level produced with a full power light source while in a reduced source light illumination mode. The same luminance is produced with a lower power resulting in power savings. If the set of code values of an image are confined to the range below the clipping point 15 the power savings mode can be operated transparently to the user. Unfortunately, when values exceed the clipping point 15, luminance is reduced and detail is lost. Embodiments of the present invention provide an algorithm that can alter the LCD or light valve code values to provide increased brightness (or a lack of brightness reduction in power save mode) while reducing clipping artifacts that may occur at the high end of the luminance range.
Some embodiments of the present invention may eliminate the reduction in brightness associated with reducing display light source power by matching the image luminance displayed with low power to that displayed with full power for a significant range of values. In these embodiments, the reduction in source light or backlight power which divides the output luminance by a specific factor is compensated for by a boost in the image data by a reciprocal factor.
Ignoring dynamic range constraints, the images displayed under full power and reduced power may be identical because the division (for reduced light source illumination) and multiplication (for boosted code values) essentially cancel across a significant range. Dynamic range limits may cause clipping artifacts whenever the multiplication (for code value boost) of the image data exceeds the maximum of the display. Clipping artifacts caused by dynamic range constraints may be eliminated or reduced by rolling off the boost at the upper end of code values. This roll-off may start at a maximum fidelity point (MFP) above which the luminance is no longer matched to the original luminance.
In some embodiments of the present invention, the following steps may be executed to compensate for a light source illumination reduction or a virtual reduction for image enhancement:

    
    
        1) A source light (backlight) reduction level is determined in terms of a percentage of luminance reduction;
        2) A Maximum Fidelity Point (MFP) is determined at which a roll-off from matching reduced-power output to full-power output occurs;
        3) Determine a compensating tone scale operator;
        
            a. Below the MFP, boost the tone scale to compensate for a reduction in display luminance;
            b. Above the MFP, roll off the tone scale gradually (in some embodiments, keeping continuous derivatives);
        
        
        4) Apply tone scale mapping operator to image; and
        5) Send to the display.
    
    


The primary advantage of these embodiments is that power savings can be achieved with only small changes to a narrow category of images. (Differences only occur above the MFP and consist of a reduction in peak brightness and some loss of bright detail). Image values below the MFP can be displayed in the power savings mode with the same luminance as the full power mode making these areas of an image indistinguishable from the full power mode.
Some embodiments of the present invention may use a tone scale map that is dependent upon the power reduction and display gamma and which is independent of image data. These embodiments may provide two advantages. Firstly, flicker artifacts which may arise due to processing frames differently do not arise, and, secondly, the algorithm has a very low implementation complexity. In some embodiments, an off-line tone scale design and on-line tone scale mapping may be used. Clipping in highlights may be controlled by the specification of the MFP.
Some aspects of embodiments of the present invention may be described in relation to FIG. 3. FIG. 3 is a graph showing image code values plotted against luminance for several situations. A first curve 32, shown as dotted, represents the original code values for a light source operating at 100% power. A second curve 30, shown as a dash-dot curve, represents the luminance of the original code values when the light source operates at 80% of full power. A third curve 36, shown as a dashed curve, represents the luminance when code values are boosted to match the luminance provided at 100% light source illumination while the light source operates at 80% of full power. A fourth curve 34, shown as a solid line, represents the boosted data, but with a roll-off curve to reduce the effects of clipping at the high end of the data.
In this exemplary embodiment, shown in FIG. 3, an MFP 35 at code value 180 was used. Note that below code value 180, the boosted curve 34 matches the luminance output 32 by the original 100% power display. Above 180, the boosted curve smoothly transitions to the maximum output allowed on the 80% display. This smoothness reduces clipping and quantization artifacts. In some embodiments, the tone scale function may be defined piecewise to match smoothly at the transition point given by the MFP 35. Below the MFP 35, the boosted tone scale function may be used. Above the MFP 35, a curve is fit smoothly to the end point of boosted tone scale curve at the MFP and fit to the end point 37 at the maximum code value [255]. In some embodiments, the slope of the curve may be matched to the slope of the boosted tone scale curve/line at the MFP 35. This may be achieved by matching the slope of the line below the MFP to the slope of the curve above the MFP by equating the derivatives of the line and curve functions at the MFP and by matching the values of the line and curve functions at that point. Another constraint on the curve function may be that it be forced to pass through the maximum value point [255,255] 37. In some embodiments the slope of the curve may be set to 0 at the maximum value point 37. In some embodiments, an MFP value of 180 may correspond to a light source power reduction of 20%.
In some embodiments of the present invention, the tone scale curve may be defined by a linear relation with gain, g, below the Maximum Fidelity Point (MFP). The tone scale may be further defined above the MFP so that the curve and its first derivative are continuous at the MFP. This continuity implies the following form on the tone scale function:




  
    
      
        y
        =
        
          {
          
            
              
                
                  
                    
                      g
                      ·
                      x
                    
                  
                  
                    
                      x
                      <
                      MFP
                    
                  
                
                
                  
                    
                      C
                      +
                      
                        B
                        ·
                        
                          (
                          
                            x
                            -
                            MFP
                          
                          )
                        
                      
                      +
                      
                        A
                        ·
                        
                          
                            (
                            
                              x
                              -
                              MFP
                            
                            )
                          
                          2
                        
                      
                    
                  
                  
                    
                      x
                      ≥
                      MFP
                    
                  
                
              
              ⁢
              
                

              
              ⁢
              C
            
            =
            
              
                
                  g
                  ·
                  MFP
                
                ⁢
                
                  

                
                ⁢
                B
              
              =
              
                
                  g
                  ⁢
                  
                    

                  
                  ⁢
                  A
                
                =
                
                  
                    
                      
                        Max
                        -
                        
                          (
                          
                            C
                            +
                            
                              B
                              ·
                              
                                (
                                
                                  Max
                                  -
                                  MFP
                                
                                )
                              
                            
                          
                        
                      
                      
                        
                          (
                          
                            Max
                            -
                            MFP
                          
                          )
                        
                        2
                      
                    
                    ⁢
                    
                      

                    
                    ⁢
                    A
                  
                  =
                  
                    
                      
                        
                          Max
                          -
                          
                            g
                            ·
                            Max
                          
                        
                        
                          
                            (
                            
                              Max
                              -
                              MFP
                            
                            )
                          
                          2
                        
                      
                      ⁢
                      
                        

                      
                      ⁢
                      A
                    
                    =
                    
                      
                        
                          
                            Max
                            ·
                            
                              (
                              
                                1
                                -
                                g
                              
                              )
                            
                          
                          
                            
                              (
                              
                                Max
                                -
                                MFP
                              
                              )
                            
                            2
                          
                        
                        ⁢
                        
                          

                        
                        ⁢
                        y
                      
                      =
                      
                        
                      
                      ⁢
                      
                        {
                        
                          
                            
                              
                                g
                                ·
                                x
                              
                            
                            
                              
                                x
                                <
                                MFP
                              
                            
                          
                          
                            
                              
                                
                                  g
                                  ·
                                  x
                                
                                +
                                
                                  Max
                                  ·
                                  
                                    (
                                    
                                      1
                                      -
                                      g
                                    
                                    )
                                  
                                  ·
                                  
                                    
                                      (
                                      
                                        
                                          x
                                          -
                                          MFP
                                        
                                        
                                          Max
                                          -
                                          MFP
                                        
                                      
                                      )
                                    
                                    2
                                  
                                
                              
                            
                            
                              
                                x
                                ≥
                                MFP
                              
                            
                          
                        
                      
                    
                  
                
              
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        4
      
    
  




The gain may be determined by display gamma and brightness reduction ratio as follows:




  
    
      
        g
        =
        
          
            (
            
              FullPower
              ReducedPower
            
            )
          
          
            1
            γ
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        5
      
    
  




In some embodiments, the MFP value may be tuned by hand balancing highlight detail preservation with absolute brightness preservation.
The MFP can be determined by imposing the constraint that the slope be zero at the maximum point. This implies:




  
    
      
        slope
        =
        
          {
          
            
              
                
                  
                    g
                  
                  
                    
                      x
                      <
                      MFP
                    
                  
                
                
                  
                    
                      g
                      +
                      
                        2
                        ·
                        Max
                        ·
                        
                          (
                          
                            1
                            -
                            g
                          
                          )
                        
                        ·
                        
                          
                            x
                            -
                            MFP
                          
                          
                            
                              (
                              
                                Max
                                -
                                MFP
                              
                              )
                            
                            2
                          
                        
                      
                    
                  
                  
                    
                      x
                      ≥
                      MFP
                    
                  
                
              
              ⁢
              
                

              
              ⁢
              
                slope
                ⁡
                
                  (
                  Max
                  )
                
              
            
            =
            
              
                g
                +
                
                  
                    2
                    ·
                    Max
                    ·
                    
                      (
                      
                        1
                        -
                        g
                      
                      )
                    
                    ·
                    
                      
                        Max
                        -
                        MFP
                      
                      
                        
                          (
                          
                            Max
                            -
                            MFP
                          
                          )
                        
                        2
                      
                    
                  
                  ⁢
                  
                    

                  
                  ⁢
                  
                    slope
                    ⁡
                    
                      (
                      Max
                      )
                    
                  
                
              
              =
              
                
                  g
                  +
                  
                    
                      
                        2
                        ·
                        Max
                        ·
                        
                          (
                          
                            1
                            -
                            g
                          
                          )
                        
                      
                      
                        Max
                        -
                        MFP
                      
                    
                    ⁢
                    
                      

                    
                    ⁢
                    
                      slope
                      (
                      
                        
                      
                      ⁢
                      Max
                      )
                    
                  
                
                =
                
                  
                
                ⁢
                
                  
                    
                      
                        
                          g
                          ·
                          
                            (
                            
                              Max
                              -
                              MFP
                            
                            )
                          
                        
                        +
                        
                          2
                          ·
                          Max
                          ·
                          
                            (
                            
                              1
                              -
                              g
                            
                            )
                          
                        
                      
                      
                        Max
                        -
                        MFP
                      
                    
                    ⁢
                    
                      

                    
                    ⁢
                    
                      slope
                      ⁡
                      
                        (
                        Max
                        )
                      
                    
                  
                  =
                  
                    
                      
                        2
                        ·
                        Max
                      
                      -
                      
                        g
                        ·
                        
                          (
                          
                            Max
                            -
                            MFP
                          
                          )
                        
                      
                    
                    
                      Max
                      -
                      MFP
                    
                  
                
              
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        6
      
    
  




In some exemplary embodiments, the following equations may be used to calculate the code values for simple boosted data, boosted data with clipping and corrected data, respectively, according to an exemplary embodiment.




  
    
      
        
          
            
              ToneScale
              boost
            
            ⁡
            
              (
              cv
              )
            
          
          =
          
            
              
                (
                
                  1
                  /
                  x
                
                )
              
              
                1
                /
                γ
              
            
            ·
            cv
          
        
        ⁢
        
          

        
        ⁢
        
          
            
              ToneScale
              clipped
            
            ⁡
            
              (
              cv
              )
            
          
          =
          
            {
            
              
                
                  
                    
                      
                        
                          
                            (
                            
                              1
                              /
                              x
                            
                            )
                          
                          
                            1
                            /
                            γ
                          
                        
                        ·
                        cv
                      
                    
                    
                      
                        cv
                        ≤
                        
                          255
                          ·
                          
                            
                              (
                              x
                              )
                            
                            
                              1
                              /
                              γ
                            
                          
                        
                      
                    
                  
                  
                    
                      255
                    
                    
                      otherwise
                    
                  
                
                ⁢
                
                  

                
                ⁢
                
                  
                    ToneScale
                    corrected
                  
                  ⁡
                  
                    (
                    cv
                    )
                  
                
              
              =
              
                {
                
                  
                    
                      
                        
                          
                            (
                            
                              1
                              /
                              x
                            
                            )
                          
                          
                            1
                            /
                            γ
                          
                        
                        ·
                        cv
                      
                    
                    
                      
                        cv
                        ≤
                        MFP
                      
                    
                  
                  
                    
                      
                        
                          A
                          ·
                          
                            cv
                            2
                          
                        
                        +
                        
                          B
                          ·
                          cv
                        
                        +
                        C
                      
                    
                    
                      otherwise
                    
                  
                
              
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        7
      
    
  




The constants A, B, and C may be chosen to give a smooth fit at the MFP and so that the curve passes through the point [255,255]. Plots of these functions are shown in FIG. 4.

FIG. 4 is a plot of original code values vs. adjusted code values. Original code values are shown as points along original data line 40, which shows a 1:1 relationship between adjusted and original values as these values are original without adjustment. According to embodiments of the present invention, these values may be boosted or adjusted to represent higher luminance levels. A simple boost procedure according to the “tonescale boost” equation above, may result in values along boost line 42. Since display of these values will result in clipping, as shown graphically at line 46 and mathematically in the “tonescale clipped” equation above, the adjustment may taper off from a maximum fidelity point 45 along curve 44 to the maximum value point 47. In some embodiments, this relationship may be described mathematically in the “tonescale corrected” equation above.
Using these concepts, luminance values represented by the display with a light source operating at 100% power may be represented by the display with a light source operating at a lower power level. This is achieved through a boost of the tone scale, which essentially opens the light valves further to compensate for the loss of light source illumination. However, a simple application of this boosting across the entire code value range results in clipping artifacts at the high end of the range. To prevent or reduce these artifacts, the tone scale function may be rolled-off smoothly. This roll-off may be controlled by the MFP parameter. Large values of MFP give luminance matches over a wide interval but increase the visible quantization/clipping artifacts at the high end of code values.
Embodiments of the present invention may operate by adjusting code values. In a simple gamma display model, the scaling of code values gives a scaling of luminance values, with a different scale factor. To determine whether this relation holds under more realistic display models, we may consider the Gamma Offset Gain-Flair (GOG-F) model. Scaling the backlight power corresponds to linear reduced equations where a percentage, p, is applied to the output of the display, not the ambient. It has been observed that reducing the gain by a factor p is equivalent to leaving the gain unmodified and scaling the data, code values and offset, by a factor determined by the display gamma. Mathematically, the multiplicative factor can be pulled into the power function if suitably modified. This modified factor may scale both the code values and the offset.

L=G·(CV+dark)γ+ambient  Equation 8 GOG-F model

LLinear reduced=p·G·(CV+dark)γ+ambient

LLinear reduced=G·(p1/γ·(CV+dark))γ+ambient

LLinear reduced=G·(p1/γ·CV+p1/γ·dark)γ+ambient  Equation 9 Linear Luminance Reduction

LCV reduced=G·(p1/γ·CV+dark)γ+ambient  Equation 10 Code Value Reduction

Some embodiments of the present invention may be described with reference to FIG. 5. In these embodiments, a tone scale adjustment may be designed or calculated off-line, prior to image processing, or the adjustment may be designed or calculated on-line as the image is being processed. Regardless of the timing of the operation, the tone scale adjustment 56 may be designed or calculated based on at least one of a display gamma 50, an efficiency factor 52 and a maximum fidelity point (MFP) 54. These factors may be processed in the tone scale design process 56 to produce a tone scale adjustment model 58. The tone scale adjustment model may take the form of an algorithm, a look-up table (LUT) or some other model that may be applied to image data.
Once the adjustment model 58 has been created, it may be applied to the image data. The application of the adjustment model may be described with reference to FIG. 6. In these embodiments, an image is input 62 and the tone scale adjustment model 58 is applied 64 to the image to adjust the image code values. This process results in an output image 66 that may be sent to a display. Application 64 of the tone scale adjustment is typically an on-line process, but may be performed in advance of image display when conditions allow.
Some embodiments of the present invention comprise systems and methods for enhancing images displayed on displays using light-emitting pixel modulators, such as LED displays, plasma displays and other types of displays. These same systems and methods may be used to enhance images displayed on displays using light-valve pixel modulators with light sources operating in full power mode or otherwise.
These embodiments work similarly to the previously-described embodiments, however, rather than compensating for a reduced light source illumination, these embodiments simply increase the luminance of a range of pixels as if the light source had been reduced. In this manner, the overall brightness of the image is improved.
In these embodiments, the original code values are boosted across a significant range of values. This code value adjustment may be carried out as explained above for other embodiments, except that no actual light source illumination reduction occurs. Therefore, the image brightness is increased significantly over a wide range of code values.
Some of these embodiments may be explained with reference to FIG. 3 as well. In these embodiments, code values for an original image are shown as points along curve 30. These values may be boosted or adjusted to values with a higher luminance level. These boosted values may be represented as points along curve 34, which extends from the zero point 33 to the maximum fidelity point 35 and then tapers off to the maximum value point 37.
Some embodiments of the present invention comprise an unsharp masking process. In some of these embodiments the unsharp masking may use a spatially varying gain. This gain may be determined by the image value and the slope of the modified tone scale curve. In some embodiments, the use of a gain array enables matching the image contrast even when the image brightness cannot be duplicated due to limitations on the display power.
Some embodiments of the present invention may take the following process steps:
1. Compute a tone scale adjustment model;
2. Compute a High Pass image;
3. Compute a Gain array;
4. Weight High Pass Image by Gain;
5. Sum Low Pass Image and Weighted High Pass Image; and
6. Send to the display
Other embodiments of the present invention may take the following process steps:
1. Compute a tone scale adjustment model;
2. Compute Low Pass image;
3. Compute High Pass image as difference between Image and Low Pass image;
4. Compute Gain array using image value and slope of modified Tone Scale Curve;
5. Weight High Pass Image by Gain;
6. Sum Low Pass Image and Weighted High Pass Image; and
7. Send to the reduced power display.
Using some embodiments of the present invention, power savings can be achieved with only small changes on a narrow category of images. (Differences only occur above the MFP and consist of a reduction in peak brightness and some loss of bright detail). Image values below the MFP can be displayed in the power savings mode with the same luminance as the full power mode making these areas of an image indistinguishable from the full power mode. Other embodiments of the present invention improve this performance by reducing the loss of bright detail.
These embodiments may comprise spatially varying unsharp masking to preserve bright detail. As with other embodiments, both an on-line and an off-line component may be used. In some embodiments, an off-line component may be extended by computing a gain map in addition to the Tone Scale function. The gain map may specify an unsharp filter gain to apply based on an image value. A gain map value may be determined using the slope of the Tone Scale function. In some embodiments, the gain map value at a particular point “P” may be calculated as the ratio of the slope of the Tone Scale function below the MFP to the slope of the Tone Scale function at point “P.” In some embodiments, the Tone Scale function is linear below the MFP, therefore, the gain is unity below the MFP.
Some embodiments of the present invention may be described with reference to FIG. 7. In these embodiments, a tone scale adjustment may be designed or calculated off-line, prior to image processing, or the adjustment may be designed or calculated on-line as the image is being processed. Regardless of the timing of the operation, the tone scale adjustment 76 may be designed or calculated based on at least one of a display gamma 70, an efficiency factor 72 and a maximum fidelity point (MFP) 74. These factors may be processed in the tone scale design process 76 to produce a tone scale adjustment model 78. The tone scale adjustment model may take the form of an algorithm, a look-up table (LUT) or some other model that may be applied to image data as described in relation to other embodiments above. In these embodiments, a separate gain map 77 is also computed 75. This gain map 77 may be applied to specific image subdivisions, such as frequency ranges. In some embodiments, the gain map may be applied to frequency-divided portions of an image. In some embodiments, the gain map may be applied to a high-pass image subdivision. It may also be applied to specific image frequency ranges or other image subdivisions.
An exemplary tone scale adjustment model may be described in relation to FIG. 8. In these exemplary embodiments, a Function Transition Point (FTP) 84 (similar to the MFP used in light source reduction compensation embodiments) is selected and a gain function is selected to provide a first gain relationship 82 for values below the FTP 84. In some embodiments, the first gain relationship may be a linear relationship, but other relationships and functions may be used to convert code values to enhanced code values. Above the FTP 84, a second gain relationship 86 may be used. This second gain relationship 86 may be a function that joins the FTP 84 with a maximum value point 88. In some embodiments, the second gain relationship 86 may match the value and slope of the first gain relationship 82 at the FTP 84 and pass through the maximum value point 88. Other relationships, as described above in relation to other embodiments, and still other relationships may also serve as a second gain relationship 86.
In some embodiments, a gain map 77 may be calculated in relation to the tone scale adjustment model, as shown in FIG. 8. An exemplary gain map 77, may be described in relation to FIG. 9. In these embodiments, a gain map function relates to the tone scale adjustment model 78 as a function of the slope of the tone scale adjustment model. In some embodiments, the value of the gain map function at a specific code value is determined by the ratio of the slope of the tone scale adjustment model at any code value below the FTP to the slope of the tone scale adjustment model at that specific code value. In some embodiments, this relationship may be expressed mathematically in equation 11:




  
    
      
        
          Gain
          ⁡
          
            (
            cv
            )
          
        
        =
        
          
            ToneScaleSlope
            ⁡
            
              (
              1
              )
            
          
          
            ToneScaleSlope
            ⁡
            
              (
              cv
              )
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        11
      
    
  




In these embodiments, the gain map function is equal to one below the FTP where the tone scale adjustment model results in a linear boost. For code values above the FTP, the gain map function increases quickly as the slope of the tone scale adjustment model tapers off. This sharp increase in the gain map function enhances the contrast of the image portions to which it is applied.
The exemplary tone scale adjustment factor illustrated in FIG. 8 and the exemplary gain map function illustrated in FIG. 9 were calculated using a display percentage (source light reduction) of 80%, a display gamma of 2.2 and a Maximum Fidelity Point of 180.
In some embodiments of the present invention, an unsharp masking operation may be applied following the application of the tone scale adjustment model. In these embodiments, artifacts are reduced with the unsharp masking technique.
Some embodiments of the present invention may be described in relation to FIG. 10. In these embodiments, an original image 102 is input and a tone scale adjustment model 103 is applied to the image. The original image 102 is also used as input to a gain mapping process 105 which results in a gain map. The tone scale adjusted image is then processed through a low pass filter 104 resulting in a low-pass adjusted image. The low pass adjusted image is then subtracted 106 from the tone scale adjusted image to yield a high-pass adjusted image. This high-pass adjusted image is then multiplied 107 by the appropriate value in the gain map to provide a gain-adjusted high-pass image which is then added 108 to the low-pass adjusted image, which has already been adjusted with the tone scale adjustment model. This addition results in an output image 109 with increased brightness and improved high-frequency contrast.
In some of these embodiments, for each component of each pixel of the image, a gain value is determined from the Gain map and the image value at that pixel. The original image 102, prior to application of the tone scale adjustment model, may be used to determine the Gain. Each component of each pixel of the high-pass image may also be scaled by the corresponding gain value before being added back to the low pass image. At points where the gain map function is one, the unsharp masking operation does not modify the image values. At points where the gain map function exceeds one, the contrast is increased.
Some embodiments of the present invention address the loss of contrast in high-end code values, when increasing code value brightness, by decomposing an image into multiple frequency bands. In some embodiments, a Tone Scale Function may be applied to a low-pass band increasing the brightness of the image data to compensate for source-light luminance reduction on a low power setting or simply to increase the brightness of a displayed image. In parallel, a constant gain may be applied to a high-pass band preserving the image contrast even in areas where the mean absolute brightness is reduced due to the lower display power. The operation of an exemplary algorithm is given by:
1. Perform frequency decomposition of original image
2. Apply brightness preservation, Tone Scale Map, to a Low Pass Image
3. Apply constant multiplier to High Pass Image
4. Sum Low Pass and High Pass Images
5. Send result to the display
The Tone Scale Function and the constant gain may be determined off-line by creating a photometric match between the full power display of the original image and the low power display of the process image for source-light illumination reduction applications. The Tone Scale Function may also be determined off-line for brightness enhancement applications.
For modest MFP values, these constant-high-pass gain embodiments and the unsharp masking embodiments are nearly indistinguishable in their performance. These constant-high-pass gain embodiments have three main advantages compared to the unsharp masking embodiments: reduced noise sensitivity, ability to use larger MFP/FTP and use of processing steps currently in the display system. The unsharp masking embodiments use a gain which is the inverse of the slope of the Tone Scale Curve. When the slope of this curve is small, this gain incurs a large amplifying noise. This noise amplification may also place a practical limit on the size of the MFP/FTP. The second advantage is the ability to extend to arbitrary MFP/FTP values. The third advantage comes from examining the placement of the algorithm within a system. Both the constant-high-pass gain embodiments and the unsharp masking embodiments use frequency decomposition. The constant-high-pass gain embodiments perform this operation first while some unsharp masking embodiments first apply a Tone Scale Function before the frequency decomposition. Some system processing such as de-contouring will perform frequency decomposition prior to the brightness preservation algorithm. In these cases, that frequency decomposition can be used by some constant-high-pass embodiments thereby eliminating a conversion step while some unsharp masking embodiments must invert the frequency decomposition, apply the Tone Scale Function and perform additional frequency decomposition.
Some embodiments of the present invention prevent the loss of contrast in high-end code values by splitting the image based on spatial frequency prior to application of the tone scale function. In these embodiments, the tone scale function with roll-off may be applied to the low pass (LP) component of the image. In light-source illumination reduction compensation applications, this will provide an overall luminance match of the low pass image components. In these embodiments, the high pass (HP) component is uniformly boosted (constant gain). The frequency-decomposed signals may be recombined and clipped as needed. Detail is preserved since the high pass component is not passed through the roll-off of the tone scale function. The smooth roll-off of the low pass tone scale function preserves head room for adding the boosted high pass contrast. Clipping that may occur in this final combination has not been found to reduce detail significantly.
Some embodiments of the present invention may be described with reference to FIG. 11. These embodiments comprise frequency splitting or decomposition 111, low-pass tone scale mapping 112, constant high-pass gain or boost 116 and summation or re-combination 115 of the enhanced image components.
In these embodiments, an input image 110 is decomposed into spatial frequency bands 111. In an exemplary embodiment, in which two bands are used, this may be performed using a low-pass (LP) filter 111. The frequency division is performed by computing the LP signal via a filter 111 and subtracting 113 the LP signal from the original to form a high-pass (HP) signal 118. In an exemplary embodiment, spatial 5×5 rect filter may be used for this decomposition though another filter may be used.
The LP signal may then be processed by application of tone scale mapping as discussed for previously described embodiments. In an exemplary embodiment, this may be achieved with a Photometric matching LUT. In these embodiments, a higher value of MFP/FTP can be used compared to some previously described unsharp masking embodiment since most detail has already been extracted in filtering 111. Clipping should not generally be used since some head room should typically be preserved in which to add contrast.
In some embodiments, the MFP/FTP may be determined automatically and may be set so that the slope of the Tone Scale Curve is zero at the upper limit. A series of tone scale functions determined in this manner are illustrated in FIG. 12. In these embodiments, the maximum value of MFP/FTP may be determined such that the tone scale function has slope zero at 255. This is the largest MFP/FTP value that does not cause clipping.
In some embodiments of the present invention, described with reference to FIG. 11, processing the HP signal 118 is independent of the choice of MFP/FTP used in processing the low pass signal. The HP signal 118 is processed with a constant gain 116 which will preserve the contrast when the power/light-source illumination is reduced or when the image code values are otherwise boosted to improve brightness. The formula for the HP signal gain 116 in terms of the full and reduced backlight powers (BL) and display gamma is given immediately below as a high pass gain equation. The HP contrast boost is robust against noise since the gain is typically small (e.g. gain is 1.1 for 80% power reduction and gamma 2.2).




  
    
      
        HighPassGain
        =
        
          
            (
            
              
                BL
                Full
              
              
                BL
                Reduced
              
            
            )
          
          
            1
            /
            γ
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        12
      
    
  




In some embodiments, once the tone scale mapping 112 has been applied to the LP signal, through LUT processing or otherwise, and the constant gain 116 has been applied to the HP signal, these frequency components may be summed 115 and, in some cases, clipped. Clipping may be necessary when the boosted HP value added to the LP value exceeds 255. This will typically only be relevant for bright signals with high contrast. In some embodiments, the LP signal is guaranteed not to exceed the upper limit by the tone scale LUT construction. The HP signal may cause clipping in the sum, but the negative values of the HP signal will never clip maintaining some contrast even when clipping does occur.
Image-Dependent Source Light Embodiments
In some embodiments of the present invention a display light source illumination level may be adjusted according to characteristics of the displayed image, previously-displayed images, images to be displayed subsequently to the displayed image or combinations thereof. In these embodiments, a display light source illumination level may be varied according to image characteristics. In some embodiments, these image characteristics may comprise image luminance levels, image chrominance levels, image histogram characteristics and other image characteristics.
Once image characteristics have been ascertained, the light source (backlight) illumination level may be varied to enhance one or more image attributes. In some embodiments, the light source level may be decreased or increased to enhance contrast in darker or lighter image regions. A light source illumination level may also be increased or decreased to increase the dynamic range of the image. In some embodiments, the light source level may be adjusted to optimize power consumption for each image frame.
When a light source level has been modified, for whatever reason, the code values of the image pixels can be adjusted using a tone-scale adjustment to further improve the image. If the light source level has been reduced to conserve power, the pixel values may be increased to regain lost brightness. If the light source level has been changed to enhance contrast in a specific luminance range, the pixel values may be adjusted to compensate for decreased contrast in another range or to further enhance the specific range.
In some embodiments of the present invention, as illustrated in FIG. 13, image tone scale adjustments may be dependent upon image content. In these embodiments, an image may be analyzed 130 to determine image characteristics. Image characteristics may comprise luminance channel characteristics, such as an Average Picture Level (APL), which is the average luminance of an image; a maximum luminance value; a minimum luminance value; luminance histogram data, such as a mean histogram value, a most frequent histogram value and others; and other luminance characteristics. Image characteristics may also comprise color characteristics, such as characteristic of individual color channels (e.g., R, G & B in an RGB signal). Each color channel can be analyzed independently to determine color channel specific image characteristics. In some embodiments, a separate histogram may be used for each color channel. In other embodiments, blob histogram data which incorporates information about the spatial distribution of image data, may be used as an image characteristic. Image characteristics may also comprise temporal changes between video frames.
Once an image has been analyzed 130 and characteristics have been determined, a tone scale map may be calculated or selected 132 from a set of pre-calculated maps based on the value of the image characteristic. This map may then be applied 134 to the image to compensate for backlight adjustment or otherwise enhance the image.
Some embodiments of the present invention may be described in relation to FIG. 14. In these embodiments, an image analyzer 142 receives an image 140 and determines image characteristics that may be used to select a tone scale map. These characteristics are then sent to a tone scale map selector 143, which determines an appropriate map based on the image characteristics. This map selection may then be sent to an image processor 145 for application of the map to the image 140. The image processor 145 will receive the map selection and the original image data and process the original image with the selected tone scale map 144 thereby generating an adjusted image that is sent to a display 146 for display to a user. In these embodiments, one or more tone scale maps 144 are stored for selection based on image characteristics. These tone scale maps 144 may be pre-calculated and stored as tables or some other data format. These tone scale maps 144 may comprise simple gamma conversion tables, enhancement maps created using the methods described above in relation to FIGS. 5, 7, 10 & 11 or other maps.
Some embodiments of the present invention may be described in relation to FIG. 15. In these embodiments, an image analyzer 152 receives an image 150 and determines image characteristics that may be used to calculate a tone scale map. These characteristics are then sent to a tone scale map calculator 153, which may calculate an appropriate map based on the image characteristics. The calculated map may then be sent to an image processor 155 for application of the map to the image 150. The image processor 155 will receive the calculated map 154 and the original image data and process the original image with the tone scale map 154 thereby generating an adjusted image that is sent to a display 156 for display to a user. In these embodiments, a tone scale map 154 is calculated, essentially in real-time based on image characteristics. A calculated tone scale map 154 may comprise a simple gamma conversion table, an enhancement map created using the methods described above in relation to FIGS. 5, 7, 10 & 11 or another map.
Further embodiments of the present invention may be described in relation to FIG. 16. In these embodiments a source light illumination level may be dependent on image content while the tone scale map is also dependent on image content. However, there may not necessarily be any communication between the source light calculation channel and the tone scale map channel.
In these embodiments, an image is analyzed 160 to determine image characteristics required for source light or tone scale map calculations. This information is then used to calculate a source light illumination level 161 appropriate for the image. This source light data is then sent 162 to the display for variation of the source light (e.g. backlight) when the image is displayed. Image characteristic data is also sent to a tone scale map channel where a tone scale map is selected or calculated 163 based on the image characteristic information. The map is then applied 164 to the image to produce an enhanced image that is sent to the display 165. The source light signal calculated for the image is synchronized with the enhanced image data so that the source light signal coincides with the display of the enhanced image data.
Some of these embodiments, illustrated in FIG. 17 employ stored tone scale maps which may comprise a simple gamma conversion table, an enhancement map created using the methods described above in relation to FIGS. 5, 7, 10 & 11 or another map. In these embodiments, an image 170 is sent to an image analyzer 172 to determine image characteristics relevant to tone scale map and source light calculations. These characteristics are then sent to a source light calculator 177 for determination of an appropriate source light illumination level. Some characteristics may also be sent to a tone scale map selector 173 for use in determining an appropriate tone scale map 174. The original image 170 and the map selection data are then sent to an image processor 175 which retrieves the selected map 174 and applies the map 174 to the image 170 to create an enhanced image. This enhanced image is then sent to a display 176, which also receives the source light level signal from the source light calculator 177 and uses this signal to modulate the source light 179 while the enhanced image is being displayed.
Some of these embodiments, illustrated in FIG. 18 may calculate a tone scale map on-the-fly. These maps may comprise a simple gamma conversion table, an enhancement map created using the methods described above in relation to FIGS. 5, 7, 10 & 11 or another map. In these embodiments, an image 180 is sent to an image analyzer 182 to determine image characteristics relevant to tone scale map and source light calculations. These characteristics are then sent to a source light calculator 187 for determination of an appropriate source light illumination level. Some characteristics may also be sent to a tone scale map calculator 183 for use in calculating an appropriate tone scale map 184. The original image 180 and the calculated map 184 are then sent to an image processor 185 which applies the map 184 to the image 180 to create an enhanced image. This enhanced image is then sent to a display 186, which also receives the source light level signal from the source light calculator 187 and uses this signal to modulate the source light 189 while the enhanced image is being displayed.
Some embodiments of the present invention may be described with reference to FIG. 19. In these embodiments, an image is analyzed 190 to determine image characteristics relative to source light and tone scale map calculation and selection. These characteristics are then used to calculate 192 a source light illumination level. The source light illumination level is then used to calculate or select a tone scale adjustment map 194. This map is then applied 196 to the image to create an enhanced image. The enhanced image and the source light level data are then sent 198 to a display.
An apparatus used for the methods described in relation to FIG. 19 may be described with reference to FIG. 20. In these embodiments, an image 200 is received at an image analyzer 202, where image characteristics are determined. The image analyzer 202 may then send image characteristic data to a source light calculator 203 for determination of a source light level. Source light level data may then be sent to a tone scale map selector or calculator 204, which may calculate or select a tone scale map based on the light source level. The selected map 207 or a calculated map may then be sent to an image processor 205 along with the original image for application of the map to the original image. This process will yield an enhanced image that is sent to a display 206 with a source light level signal that is used to modulate the display source light while the image is displayed.
In some embodiments of the present invention, a source light control unit is responsible for selecting a source light reduction which will maintain image quality. Knowledge of the ability to preserve image quality in the adaptation stage is used to guide the selection of source light level. In some embodiments, it is important to realize that a high source light level is needed when either the image is bright or the image contains highly saturated colors i.e. blue with code value 255. Use of only luminance to determine the backlight level may cause artifacts with images having low luminance but large code values i.e. saturated blue or red. In some embodiments each color plane may be examined and a decision may be made based on the maximum of all color planes. In some embodiments, the backlight setting may be based upon a single specified percentage of pixels which are clipped. In other embodiments, illustrated in FIG. 22, a backlight modulation algorithm may use two percentages: the percentage of pixels clipped 236 and the percentage of pixels distorted 235. Selecting a backlight setting with these differing values allows room for the tone scale calculator to smoothly roll-off the tone scale function rather than imposing a hard clip. Given an input image, the histogram of code values for each color plane is determined. Given the two percentages PClipped 236 and PDistorted 235, the histogram of each color plane 221-223 is examined to determine the code values corresponding to these percentages 224-226. This gives CClipped(color) 228 and CDistorted(color) 227. The maximum clipped code value 234 and the maximum distorted code value 233 among the different color planes may be used to determine the backlight setting 229. This setting ensures that for each color plane at most the specified percentage of code values will be clipped or distorted.

CvClipped=max(CClippedcolor)

CvDistorted=max(CDistortedcolor)  Equation 13

The backlight (BL) percentage is determined by examining a tone scale (TS) function which will be used for compensation and choosing the BL percentage so that the tone scale function will clip at 255 at code value CvClipped 234. The tone scale function will be linear below the value CvDistorted (the value of this slope will compensate for the BL reduction), constant at 255 for code values above CvClipped, and have a continuous derivative. Examining the derivative illustrates how to select the lower slope and hence the backlight power which gives no image distortion for code values below CvDistorted.
In the plot of the TS derivative, shown in FIG. 21, the value H is unknown. For the TS to map CvClipped to 255, the area under the TS derivative must be 255. This constraint allows us to determine the value of H as below.




  
    
      
        
          Area
          =
          
            
              H
              ·
              
                Cv
                Clipped
              
            
            +
            
              
                1
                2
              
              ·
              H
              ·
              
                (
                
                  
                    Cv
                    Distorted
                  
                  -
                  
                    Cv
                    Clipped
                  
                
                )
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          Area
          =
          
            
              1
              2
            
            ·
            H
            ·
            
              (
              
                
                  Cv
                  Distorted
                
                +
                
                  Cv
                  Clipped
                
              
              )
            
          
        
        ⁢
        
          

        
        ⁢
        
          H
          =
          
            
              2
              ·
              Area
            
            
              (
              
                
                  Cv
                  Distorted
                
                +
                
                  Cv
                  Clipped
                
              
              )
            
          
        
        ⁢
        
          

        
        ⁢
        
          H
          =
          
            
              2
              ·
              255
            
            
              (
              
                
                  Cv
                  Distorted
                
                +
                
                  Cv
                  Clipped
                
              
              )
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        14
      
    
  




The BL percentage is determined from the code value boost and display gamma and the criteria of exact compensation for code values below the Distortion point. The BL ratio which will clip at CvClipped and allow a smooth transition from no distortion below CvDistorted is given by:




  
    
      
        BacklightRatio
        =
        
          
            (
            
              
                (
                
                  CvDistorted
                  +
                  CvClipped
                
                )
              
              
                2
                ·
                255
              
            
            )
          
          γ
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        15
      
    
  




Additionally to address the issue of BL variation, an upper limit is placed on the BL ratio.




  
    
      
        BacklightRatio
        =
        
          Min
          ⁡
          
            (
            
              
                
                  (
                  
                    
                      (
                      
                        CvDistorted
                        +
                        CvClipped
                      
                      )
                    
                    
                      2
                      ·
                      255
                    
                  
                  )
                
                γ
              
              ,
              MaxBacklightRatio
            
            )
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        16
      
    
  




Temporal low pass filtering 231 may be applied to the image dependant BL signal derived above to compensate for the lack of synchronization between LCD and BL. A diagram of an exemplary backlight modulation algorithm is shown in FIG. 22, differing percentages and values may be used in other embodiments.
Tone scale mapping may compensate for the selected backlight setting while minimizing image distortion. As described above, the backlight selection algorithm is designed based on the ability of the corresponding tone scale mapping operations. The selected BL level allows for a tone scale function which compensates for the backlight level without distortion for code values below a first specified percentile and clips code values above a second specified percentile. The two specified percentiles allow a tone scale function which translates smoothly between the distortion free and clipping ranges.
Ambient-Light-Sensing Embodiments
Some embodiments of the present invention comprise an ambient illumination sensor, which may provide input to an image processing module and/or a source light control module. In these embodiments, the image processing, including tone scale adjustment, gain mapping and other modifications, may be related to ambient illumination characteristics. These embodiments may also comprise source light or backlight adjustment that is related to the ambient illumination characteristics. In some embodiments, the source light and image processing may be combined in a single processing unit. In other embodiments, these functions may be performed by separate units.
Some embodiments of the present invention may be described with reference to FIG. 23. In these embodiments, an ambient illumination sensor 270 may be used as input for image processing methods. In some exemplary embodiments, an input image 260 may be processed based on input from an ambient illumination sensor 270 and a source light 268 level. A source light 268, such as a back light for illuminating an LCD display panel 266 may be modulated or adjusted to save power or for other reasons. In these embodiments, an image processor 262 may receive input from an ambient illumination sensor 270 and a source light 268. Based on these inputs, the image processor 262 may modify the input image to account for ambient conditions and source light 268 illumination levels. An input image 260 may be modified according to any of the methods described above for other embodiments or by other methods. In an exemplary embodiment, a tone scale map may be applied to the image to increase image pixel values in relation to decreased source light illumination and ambient illumination variations. The modified image 264 may then be registered on a display panel 266, such as an LCD panel. In some embodiments, the source light illumination level may be decreased when ambient light is low and may be further decreased when a tone scale adjustment or other pixel value manipulation technique is used to compensate for the source light illumination decrease. In some embodiments, a source light illumination level may be decreased when ambient illumination decreases. In some embodiments, a source light illumination level may be increased when ambient illumination reaches an upper threshold value and/or a lower threshold value.
Further embodiments of the present invention may be described with reference to FIG. 24. In these embodiments, an input image 280 is received at an image processing unit 282. Processing of input image 280 may be dependent on input from an ambient illumination sensor 290. This processing may also be dependent on output from a source light processing unit 294. In some embodiments, a source light processing unit 294 may receive input from an ambient illumination sensor 290. Some embodiments may also receive input from a device mode indicator 292, such as a power mode indicator that may indicate a device power consumption mode, a device battery condition or some other device condition. A source light processing unit 294 may use an ambient light condition and/or a device condition to determine a source light illumination level, which is used to control a source light 288 that will illuminate a display, such as an LCD display 286. The source light processing unit may also pass the source light illumination level and/or other information to the image processing unit 282.
The image processing unit 282 may use source light information from the source light processing unit 294 to determine processing parameters for processing the input image 280. The image processing unit 282 may apply a tone-scale adjustment, gain map or other procedure to adjust image pixel values. In some exemplary embodiments, this procedure will improve image brightness and contrast and partially or wholly compensate for a light source illumination reduction. The result of processing by image processing unit 282 is an adjusted image 284, which may be sent to the display 286 where it may be illuminated by source light 288.
Other embodiments of the present invention may be described with reference to FIG. 25. In these embodiments, an input image 300 is received at an image processing unit 302. Processing of input image 300 may be dependent on input from an ambient illumination sensor 310. This processing may also be dependent on output from a source light processing unit 314. In some embodiments, a source light processing unit 314 may receive input from an ambient illumination sensor 310. Some embodiments may also receive input from a device mode indicator 312, such as a power mode indicator that may indicate a device power consumption mode, a device battery condition or some other device condition. A source light processing unit 314 may use an ambient light condition and/or a device condition to determine a source light illumination level, which is used to control a source light 308 that will illuminate a display, such as an LCD display 306. The source light processing unit may also pass the source light illumination level and/or other information to the image processing unit 302.
The image processing unit 302 may use source light information from the source light processing unit 314 to determine processing parameters for processing the input image 300. The image processing unit 302 may also use ambient illumination information from the ambient illumination sensor 310 to determine processing parameters for processing the input image 300. The image processing unit 302 may apply a tone-scale adjustment, gain map or other procedure to adjust image pixel values. In some exemplary embodiments, this procedure will improve image brightness and contrast and partially or wholly compensate for a light source illumination reduction. The result of processing by image processing unit 302 is an adjusted image 304, which may be sent to the display 306 where it may be illuminated by source light 308.
Further embodiments of the present invention may be described with reference to FIG. 26. In these embodiments, an input image 320 is received at an image processing unit 322. Processing of input image 320 may be dependent on input from an ambient illumination sensor 330. This processing may also be dependent on output from a source light processing unit 334. In some embodiments, a source light processing unit 334 may receive input from an ambient illumination sensor 330. In other embodiments, ambient information may be received from an image processing unit 322. A source light processing unit 334 may use an ambient light condition and/or a device condition to determine an intermediate source light illumination level. This intermediate source light illumination level may be sent to a source light post-processor 332, which may take the form of a quantizer, a timing processor or some other module that may tailor the intermediate light source illumination level to the needs of a specific device. In some embodiments, the source light post-processor 332 may tailor the light source control signal for timing constraints imposed by the light source 328 type and/or by an imaging application, such as a video application. The post-processed signal may then be used to control a source light 328 that will illuminate a display, such as an LCD display 326. The source light processing unit may also pass the post-processed source light illumination level and/or other information to the image processing unit 322.
The image processing unit 322 may use source light information from the source light post-processor 332 to determine processing parameters for processing the input image 320. The image processing unit 322 may also use ambient illumination information from the ambient illumination sensor 330 to determine processing parameters for processing the input image 320. The image processing unit 322 may apply a tone-scale adjustment, gain map or other procedure to adjust image pixel values. In some exemplary embodiments, this procedure will improve image brightness and contrast and partially or wholly compensate for a light source illumination reduction. The result of processing by image processing unit 322 is an adjusted image 344, which may be sent to the display 326 where it may be illuminated by source light 328.
Some embodiments of the present invention may comprise separate image analysis 342, 362 and image processing 343, 363 modules. While these units may be integrated in a single component or on a single chip, they are illustrated and described as separate modules to better describe their interaction.
Some of these embodiments of the present invention may be described with reference to FIG. 27. In these embodiments, an input image 340 is received at an image analysis module 342. The image analysis module may analyze an image to determine image characteristics, which may be passed to an image processing module 343 and/or a source light processing module 354. Processing of input image 340 may be dependent on input from an ambient illumination sensor 330. In some embodiments, a source light processing module 354 may receive input from an ambient illumination sensor 350. A source light processing unit 354 may also receive input from a device condition or mode sensor 352. A source light processing unit 354 may use an ambient light condition, an image characteristic and/or a device condition to determine a source light illumination level. This source light illumination level may be sent to a source light 348 that will illuminate a display, such as an LCD display 346. The source light processing module 354 may also pass the post-processed source light illumination level and/or other information to the image processing module 343.
The image processing module 322 may use source light information from the source light processing module 354 to determine processing parameters for processing the input image 340. The image processing module 343 may also use ambient illumination information that is passed from the ambient illumination sensor 350 through the source light processing module 354. This ambient illumination information may be used to determine processing parameters for processing the input image 340. The image processing module 343 may apply a tone-scale adjustment, gain map or other procedure to adjust image pixel values. In some exemplary embodiments, this procedure will improve image brightness and contrast and partially or wholly compensate for a light source illumination reduction. The result of processing by image processing module 343 is an adjusted image 344, which may be sent to the display 346 where it may be illuminated by source light 348.
Some embodiments of the present invention may be described with reference to FIG. 28. In these embodiments, an input image 360 is received at an image analysis module 362. The image analysis module may analyze an image to determine image characteristics, which may be passed to an image processing module 363 and/or a source light processing module 374. Processing of input image 360 may be dependent on input from an ambient illumination sensor 370. This processing may also be dependent on output from a source light processing module 374. In some embodiments, ambient information may be received from an image processing module 363, which may receive the ambient information from an ambient sensor 370. This ambient information may be passed through and/or processed by the image processing module 363 on the way to the source light processing module 374. A device condition or mode may also be passed to the source light processing module 374 from a device module 372.
A source light processing module 374 may use an ambient light condition and/or a device condition to determine a source light illumination level. This source light illumination level may be used to control a source light 368 that will illuminate a display, such as an LCD display 366. The source light processing unit 374 may also pass the source light illumination level and/or other information to the image processing unit 363.
The image processing module 363 may use source light information from the source light processing module 374 to determine processing parameters for processing the input image 360. The image processing module 363 may also use ambient illumination information from the ambient illumination sensor 370 to determine processing parameters for processing the input image 360. The image processing module 363 may apply a tone-scale adjustment, gain map or other procedure to adjust image pixel values. In some exemplary embodiments, this procedure will improve image brightness and contrast and partially or wholly compensate for a light source illumination reduction. The result of processing by image processing module 363 is an adjusted image 364, which may be sent to the display 366 where it may be illuminated by source light 368.
Distortion-Adaptive Power Management Embodiments
Some embodiments of the present invention comprise methods and systems for addressing the power needs, display characteristics, ambient environment and battery limitations of display devices including mobile devices and applications. In some embodiments, three families of algorithms may be used: Display Power Management Algorithms, Backlight Modulation Algorithms, and Brightness Preservation (BP) Algorithms. While power management has a higher priority in mobile, battery-powered devices, these systems and methods may be applied to other devices that may benefit from power management for energy conservation, heat management and other purposes. In these embodiments, these algorithms may interact, but their individual functionality may comprise:

    
    
        Power Management—these algorithms manage backlight power across a series of frames exploiting variations in the video content to optimize power consumption.
        Backlight Modulation—these algorithms select backlight power levels to use for an individual frame and exploit statistics within an image to optimize power consumption.
        Brightness Preservation—these algorithms process each image to compensate for reduced backlight power and preserve image brightness while avoiding artifacts.
    
    


Some embodiments of the present invention may be described with reference to FIG. 29, which comprises a simplified block diagram indicating the interaction of components of these embodiments. In some embodiments, the power management algorithm 406 may manage the fixed battery resource 402 over a video, image sequence or other display task and may guarantee a specified average power consumption while preserving quality and/or other characteristics. The backlight modulation algorithm 410 may receive instructions from the power management algorithm 406 and select a power level subject to the limits defined by the power management algorithm 406 to efficiently represent each image. The brightness preservation algorithm 414 may use the selected backlight level 415, and possible clipping value 413, to process the image compensating for the reduced backlight.
Display Power Management
In some embodiments, the display power management algorithm 406 may manage the distribution of power use over a video, image sequence or other display task. In some embodiments, the display power management algorithm 406 may allocate the fixed energy of the battery to provide a guaranteed operational lifetime while preserving image quality. In some embodiments, one goal of a Power Management algorithm is to provide guaranteed lower limits on the battery lifetime to enhance usability of the mobile device.
Constant Power Management
One form of power control which meets an arbitrary target is to select a fixed power which will meet the desired lifetime. A system block diagram showing a system based on constant power management is shown in FIG. 30. The essential point being that the power management algorithm 436 selects a constant backlight power based solely on initial battery fullness 432 and desired lifetime 434. Compensation 442 for this backlight level 444 is performed on each image 446.




  
    
      
        Constant
        ⁢
        
          
        
        ⁢
        Power
        ⁢
        
          
        
        ⁢
        management
      
    
    
      
        
      
    
  
  
    
      
        
          
            P
            Selected
          
          ⁡
          
            (
            t
            )
          
        
        =
        
          InitialCharge
          DesiredLifetime
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        17
      
    
  




The backlight level 444 and hence power consumption are independent of image data 440. Some embodiments may support multiple constant power modes allowing the selection of power level to be made based on the power mode. In some embodiments, image-dependent backlight modulation may not be used to simplify the system implementation. In other embodiments, a few constant power levels may be set and selected based on operating mode or user preference. Some embodiments may use this concept with a single reduced power level, i.e. 75% of maximum power.
Simple Adaptive Power Management
Some embodiments of the present invention may be described with reference to FIG. 31. These embodiments comprise an adaptive Power Management algorithm 456. The power reduction 455 due to backlight modulation 460 is fed back to the Power Management algorithm 456 allowing improved image quality while still providing the desired system lifetime.
In some embodiments, the power savings with image-dependant backlight modulation may be included in the power management algorithm by updating the static maximum power calculation over time as in Equation 18. Adaptive power management may comprise computing the ratio of remaining battery fullness (mA-Hrs) to remaining desired lifetime (Hrs) to give an upper power limit (mA) to the backlight modulation algorithm 460. In general, backlight modulation 460 may select an actual power below this maximum giving further power savings. In some embodiments, power savings due to backlight modulation may be reflected in the form of feedback through the changing values of remaining battery charge or running average selected power and hence influence subsequent power management decisions.




  
    
      
        Adaptive
        ⁢
        
          
        
        ⁢
        Power
        ⁢
        
          
        
        ⁢
        Management
      
    
    
      
        
      
    
  
  
    
      
        
          
            P
            Maximum
          
          ⁡
          
            (
            t
            )
          
        
        =
        
          
            RemainingCharge
            ⁡
            
              (
              t
              )
            
          
          
            RemainingLifetime
            ⁡
            
              (
              t
              )
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        18
      
    
  




In some embodiments, if battery status information is unavailable or inaccurate, the remaining battery charge can be estimated by computing the energy used by the display, average selected power times operating time, and subtracting this from the initial battery charge.

DisplayEnergyUsed(t)=AverageSelectedPower·t 

RemainingCharge(t)=InitialCharge−DisplayEnergyUsed(t)  Equation 19 Estimating Remaining Battery Charge

This latter technique has the advantage of being done without interaction with the battery.

Power-Distortion Management

The inventor has observed, in a study of distortion versus power, that many images exhibit vastly different distortion at the same power. Dim images, those with poor contrast such a underexposed photographs, can actually be displayed better at a low power due to the elevation of the black level that results from high power use. A power control algorithm may trade off image distortion for battery capacity rather than direct power settings. In some embodiments of the present invention, illustrated in FIG. 29, power management techniques may comprise a distortion parameter 403, such as a maximum distortion value, in addition to a maximum power 401 given to the Backlight Control algorithm 410. In these embodiments, the power management algorithm 406 may use feedback from the backlight modulation algorithm 410 in the form of power/distortion characteristics 405 of the current image. In some embodiments, the maximum image distortion may be modified based upon the target power and the power-distortion property of the current frame. In these embodiments, in addition to feedback on the actual selected power, the power management algorithm may select and provide distortion targets 403 and may receive feedback on the corresponding image distortion 405 in addition to feedback on the battery fullness 402. In some embodiments, additional inputs could be used in the power control algorithm such as: ambient level 408, user preference, and operating mode (i.e., Video/Graphics).
Some embodiments of the present invention may attempt to optimally allocate power across a video sequence while preserving display quality. In some embodiments, for a given video sequence, two criteria may be used for selecting a trade-off between total power used and image distortion. Maximum image distortion and average image distortion may be used. In some embodiments, these terms may be minimized. In some embodiments, minimizing maximum distortion over an image sequence may be achieved by using the same distortion for each image in the sequence. In these embodiments, the power management algorithm 406 may select this distortion 403 allowing the backlight modulation algorithm 410 to select the backlight level which meets this distortion target 403. In some embodiments, minimizing the average distortion may be achieved when power selected for each image is such that the slopes of the power distortion curves are equal. In this case, the power management algorithm 406 may select the slope of the power distortion curve relying on the backlight modulation algorithm 410 to select the appropriate backlight level.
FIGS. 32A and 32B may be used to illustrate power savings when considering distortion in the power management process. FIG. 32A is a plot of source light power level for sequential frames of an image sequence. FIG. 32A shows the source light power levels needed to maintain constant distortion 480 between frames and the average power 482 of the constant distortion graph. FIG. 32B is a plot of image distortion for the same sequential frames of the image sequence. FIG. 32B shows the constant power distortion 484 resulting from maintaining a constant power setting, the constant distortion level 488 resulting from maintaining constant distortion throughout the sequence and the average constant power distortion 486 when maintaining constant power. The constant power level has been chosen to equal the average power of the constant distortion result. Thus both methods use the same average power. Examining distortion we find that the constant power 484 gives significant variation in image distortion. Note also that the average distortion 486 of the constant power control is more than 10 times the distortion 488 of the constant distortion algorithm despite both using the same average power.
In practice, optimizing to minimize either the maximum or average distortion across a video sequence may prove too complex for some applications as the distortion between the original and reduced power images must be calculated at each point of the power distortion function to evaluate the power-distortion trade-off. Each distortion evaluation may require that the backlight reduction and corresponding compensating image brightening be calculated and compared with the original image. Consequently, some embodiments may comprise simpler methods for calculating or estimating distortion characteristics.
In some embodiments, some approximations may be used. First we observe that a point-wise distortion metric such as a Mean-Square-Error (MSE) can be computed from the histogram of image code values rather than the image itself, as expressed in Equation 20. In this case, the histogram is a one dimensional signal with only 256 values as opposed to an image which at 320×240 resolution has 7680 samples. This could be further reduced by subsampling the histograms if desired.
In some embodiments, an approximation may be made by assuming the image is simply scaled with clipping in the compensation stage rather than applying the actual compensation algorithm. In some embodiments, inclusion of a black level elevation term in the distortion metric may also be valuable. In some embodiments, use of this term may imply that a minimum distortion for an entirely black frame occurs at zero backlight.




  
    
      
        Simplifying
        ⁢
        
          
        
        ⁢
        Distortion
        ⁢
        
          
        
        ⁢
        Calculation
      
    
    
      
        
      
    
  
  
    
      
        
          
            Distortion
            ⁡
            
              (
              Power
              )
            
          
          =
          
            
              ∑
              pixels
            
            ⁢
            
              
                
                
                  
                    Image
                    Original
                  
                  -
                  
                    Power
                    ·
                    
                      Image
                      Brightened
                    
                  
                
                
              
              2
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            Distortion
            ⁡
            
              (
              Power
              )
            
          
          =
          
            
              ∑
              
                
                  cv
                  ∈
                  CodeValues
                
                ⁢
                
                  
                
              
            
            ⁢
            
              
                Histogram
                ⁡
                
                  (
                  cv
                  )
                
              
              ·
              
                
                  
                  
                    
                      Display
                      ⁡
                      
                        (
                        cv
                        )
                      
                    
                    -
                    
                      Power
                      ·
                      
                        Display
                        ⁡
                        
                          (
                          
                            Brightened
                            ⁡
                            
                              (
                              cv
                              )
                            
                          
                          )
                        
                      
                    
                  
                  
                
                2
              
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        20
      
    
  




In some embodiments, to compute the distortion at a given power level, for each code value, the distortion caused by a linear boost with clipping may be determined. The distortion may then be weighted by the frequency of the code value and summed to give a mean image distortion at the specified power level. In these embodiments, the simple linear boost for brightness compensation does not give acceptable quality for image display, but serves as a simple source for computing an estimate of the image distortion caused by a change in backlight.
In some embodiments, illustrated in FIG. 33, to control both power consumption and image distortion, the power management algorithm 500 may track not only the battery fullness 506 and remaining lifetime 508, but image distortion 510 as well. In some embodiments, both an upper limit on power consumption 512 and a distortion target 511 may be supplied to the backlight modulation algorithm 502. The backlight Modulation algorithm 502 may then select a backlight level 512 consistent with both the power limit and the distortion target.
Backlight Modulation Algorithms (BMA)
The backlight modulation algorithm 502 is responsible for selecting the backlight level used for each image. This selection may be based upon the image to be displayed and the signals from the power management algorithm 500. By respecting the limit on the maximum power supplied 512 by the power management algorithm 500, the battery 506 may be managed over the desired lifetime. In some embodiments, the backlight modulation algorithm 502 may select a lower power depending upon the statistics of the current image. This may be a source of power savings on a particular image.
Once a suitable backlight level 415 is selected, the backlight 416 is set to the selected level and this level 415 is given to the brightness preservation algorithm 414 to determine the necessary compensation. For some images and sequences, allowing a small amount of image distortion can greatly reduce the required backlight power. Therefore, some embodiments comprise algorithms that allow a controlled amount of image distortion.
FIG. 34 is a graph showing the amount of power savings on a sample DVD clip as a function of frame number for several tolerances of distortion. The percentage of pixels with zero distortion was varied from 100% to 97% to 95% and the average power across the video clip was determined. The average power ranged from 95% to 60% respectively. Thus allowing distortion in 5% of the pixels gave an additional 35% power savings. This demonstrates significant power savings possible by allowing small image distortion. If the brightness preservation algorithm can preserve subjective quality while introducing a small distortion, significant power savings can be achieved.
Some embodiments of the present invention may be described with reference to FIG. 30. These embodiments may also comprise information from an ambient light sensor 438 and may be reduced in complexity for a mobile application. These embodiments comprise a static histogram percentile limit and a dynamic maximum power limit supplied by the power management algorithm 436. Some embodiments may comprise a constant power target while other embodiments may comprise a more sophisticated algorithm. In some embodiments, the image may be analyzed by computing histograms of each of the color components. The code value in the histogram at which the specified percentile occurs may be computed for each color plane. In some embodiments, a target backlight level may be selected so that a linear boost in code values will just cause clipping of the code value selected from the histograms. The actual backlight level may be selected as the minimum of this target level and the backlight level limit provided by the power management algorithm 436. These embodiments may provide guaranteed power control and may allow a limited amount of image distortion in cases where the power control limit can be reached




  
    
      
        Histogram
        ⁢
        
          
        
        ⁢
        Percentile
        ⁢
        
          
        
        ⁢
        Based
        ⁢
        
          
        
        ⁢
        Power
        ⁢
        
          
            
          
          ⁢
          
            
          
        
        ⁢
        Selection
      
    
    
      
        
      
    
  
  
    
      
        
          
            P
            target
          
          =
          
            
              (
              
                
                  CodeValue
                  Percenile
                
                255
              
              )
            
            γ
          
        
        ⁢
        
          

        
        ⁢
        
          
            P
            Selected
          
          =
          
            min
            ⁡
            
              (
              
                
                  P
                  target
                
                ,
                
                  P
                  Maximum
                
              
              )
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        21
      
    
  




Image-Distortion-Based Embodiments

Some embodiments of the present invention may comprise a distortion limit and a maximum power limit supplied by the power management algorithm. FIGS. 32B and 34 demonstrate that the amount of distortion at a given backlight power level varies greatly depending upon image content. The properties of the power-distortion behavior of each image may be exploited in the backlight selection process. In some embodiments, the current image may be analyzed by computing histograms for each color component. A power distortion curve defining the distortion (e.g., MSE) may be computed by calculating the distortion at a range of power values using the second expression of Equation 20. The backlight modulation algorithm may select the smallest power with distortion at, or below, the specified distortion limit as a target level. The backlight level may then be selected as the minimum of the target level and the backlight level limit supplied by the power management algorithm. Additionally, the image distortion at the selected level may be provided to the power management algorithm to guide the distortion feedback. The sampling frequency of the power distortion curve and the image histogram can be reduced to control complexity.
Brightness Preservation (BP)
In some embodiments, the BP algorithm brightens an image based upon the selected backlight level to compensate for the reduced illumination. The BP algorithm may control the distortion introduced into the display and the ability of the BP algorithm to preserve quality dictates how much power the backlight modulation algorithm can attempt to save. Some embodiments may compensate for the backlight reduction by scaling the image clipping values which exceed 255. In these embodiments, the backlight modulation algorithm must be conservative in reducing power or annoying clipping artifacts are introduced thus limiting the possible power savings. Some embodiments are designed to preserve quality on the most demanding frames at a fixed power reduction. Some of these embodiments compensate for a single backlight level (i.e., 75%). Other embodiments may be generalized to work with backlight modulation.
Some embodiments of the brightness preservation (BP) algorithm may utilitize a description of the luminance output from a display as a function of the backlight and image data. Using this model, BP may determine the modifications to an image to compensate for a reduction in backlight. With a transflective display, the BP model may be modified to include a description of the reflective aspect of the display. The luminance output from a display becomes a function of the backlight, image data, and ambient. In some embodiments, the BP algorithm may determine the modifications to an image to compensate for a reduction in backlight in a given ambient environment.
Ambient Influence
Due to implementation constraints, some embodiments may comprise limited complexity algorithms for determining BP parameters. For example, developing an algorithm running entirely on an LCD module limits the processing and memory available to the algorithm. In this example, generating alternate gamma curves for different backlight/ambient combinations may be used for some BP embodiments. In some embodiments, limits on the number and resolution of the gamma curves may be needed.
Power/Distortion Curves
Some embodiments of the present invention may obtain, estimate, calculate or otherwise determine power/distortion characteristics for images including, but not limited to, video sequence frames. FIG. 35 is a graph showing power/distortion characteristics for four exemplary images. In FIG. 35, the curve 520 for image C maintains a negative slope for the entire source light power band. The curves 522, 524 & 526 for images A, B and D fall on a negative slope until they reach a minimum, then rise on a positive slope. For images A, B and D, increasing source light power will actually increase distortion at specific ranges of the curves where the curves have a positive slope 528. This may be due to display characteristics such as, but not limited to, LCD leakage or other display irregularities that cause the displayed image, as seen by a viewer, to consistently differ from code values.
Some embodiments of the present invention may use these characteristics to determine appropriate source light power levels for specific images or image types. Display characteristics (e.g., LCD leakage) may be considered in the distortion parameter calculations, which are used to determine the appropriate source light power level for an image.
Exemplary Methods
Some embodiments of the present invention may be described in relation to FIG. 36. In these embodiments, a power budget is established 530. This may be performed using simple power management, adaptive power management and other methods described above or by other methods. Typically, establishing the power budget may comprise estimating a backlight or source light power level that will allow completion of a display task, such as display of a video file, while using a fixed power resource, such as a portion of a battery charge. In some embodiments, establishing a power budget may comprise determining an average power level that will allow completion of a display task with a fixed amount of power.
In these embodiments, an initial distortion criterion 532 may also be established. This initial distortion criterion may be determined by estimating a reduced source light power level that will meet a power budget and measuring image distortion at that power level. The distortion may be measured on an uncorrected image, on an image that has been modified using a brightness preservation (BP) technique as described above or on an image that has been modified with a simplified BP process.
Once the initial distortion criterion is established, a first portion of the display task may be displayed 534 using source light power levels that cause a distortion characteristic of the displayed image or images to comply with the distortion criterion. In some embodiments, light source power levels may be selected for each frame of a video sequence such that each frame meets the distortion requirement. In some embodiments, the light source values may be selected to maintain a constant distortion or distortion range, keep distortion below a specified level or otherwise meet a distortion criterion.
Power consumption may then be evaluated 536 to determine whether the power used to display the first portion of the display task met power budget management parameters. Power may be allocated using a fixed amount for each image, video frame or other display task element. Power may also be allocated such that the average power consumed over a series of display task elements meets a requirement while the power consumed for each display task element may vary. Other power allocation schemes may also be used.
When the power consumption evaluation 536 shows that power consumption for the first portion of the display task did not meet power budget requirements, the distortion criterion may be modified 538. In some embodiments, in which a power/distortion curve can be estimated, assumed, calculated or otherwise determined, the distortion criterion may be modified to allow more or less distortion as needed to conform to a power budget requirement. While power/distortion curves are image specific, a power/distortion curve for a first frame of a sequence, for an exemplary image in a sequence or for a synthesized image representative of the display task may be used.
In some embodiments, when more that the budgeted amount of power was used for the first portion of the display task and the slope of the power/distortion curve is positive, the distortion criterion may be modified to allow less distortion. In some embodiments, when more that the budgeted amount of power was used for the first portion of the display task and the slope of the power/distortion curve is negative, the distortion criterion may be modified to allow more distortion. In some embodiments, when less that the budgeted amount of power was used for the first portion of the display task and the slope of the power/distortion curve is negative or positive, the distortion criterion may be modified to allow less distortion.
Some embodiments of the present invention may be described with reference to FIG. 37. These embodiments typically comprise a battery-powered device with limited power. In these embodiments, battery fullness or charge is estimated or measured 540. A display task power requirement may also be estimated or calculated 542. An initial light source power level may also be estimated or otherwise determined 544. This initial light source power level may be determined using the battery fullness and display task power requirement as described for constant power management above or by other methods.
A distortion criterion that corresponds to the initial light source power level may also be determined 546. This criterion may be the distortion value that occurs for an exemplary image at the initial light source power level. In some embodiments, the distortion value may be based on an uncorrected image, an image modified with an actual or estimated BP algorithm or another exemplary image.
Once the distortion criterion is determined 546, the first portion of the display task is evaluated and a source light power level that will cause the distortion of the first portion of the display task to conform to the distortion criterion is selected 548. The first portion of the display task is then displayed 550 using the selected source light power level and the power consumed during display of the portion is estimated or measured 552. When this power consumption does not meet a power requirement, the distortion criterion may be modified 554 to bring power consumption into compliance with the power requirement.
Some embodiments of the present invention may be described with reference to FIGS. 38A & 38B. In these embodiments, a power budget is established 560 and a distortion criterion is also established 562. These are both typically established with reference to a particular display task, such as a video sequence. An image is then selected 564, such as a frame or set of frames of a video sequence. A reduced source light power level is then estimated 566 for the selected image, such that the distortion resulting from the reduced light power level meets the distortion criterion. This distortion calculation may comprise application of estimated or actual brightness preservation (BP) methods to image values for the selected image.
The selected image may then be modified with BP methods 568 to compensate for the reduced light source power level. Actual distortion of the BP modified image may then be measured 570 and a determination may be made as to whether this actual distortion meets the distortion criterion 572. If the actual distortion does not meet the distortion criterion, the estimation process 574 may be adjusted and the reduced light source power level may be re-estimated 566. If the actual distortion does meet the distortion criterion, the selected image may be displayed 576. Power consumption during image display be then be measured 578 and compared to a power budget constraint 580. If the power consumption meets the power budget constraint, the next image, such as a subsequent set of video frames may be selected 584 unless the display task is finished 582, at which point the process will end. If a next image is selected 584, the process will return to point “B” where a reduced light source power level will be estimated 566 for that image and the process will continue as for the first image.
If the power consumption for the selected image does not meet a power budget constraint 580, the distortion criterion may be modified 586 as described for other embodiments above and a next image will be selected 584.
Improved Black-Level Embodiments
Some embodiments of the present invention comprise systems and methods for display black level improvement. Some embodiments use a specified backlight level and generate a luminance matching tone scale which both preserves brightness and improves black level. Other embodiments comprise a backlight modulation algorithm which includes black level improvement in its design. Some embodiments may be implemented as an extension or modification of embodiments described above.
Improved Luminance Matching (Target Matching Ideal Display)
The luminance matching formulation presented above, Equation 7, is used to determine a linear scaling of code values which compensates for a reduction in backlight. This has proven effective in experiments with power reduction to as low as 75%. In some embodiments with image dependant backlight modulation, the backlight can be significantly reduced, e.g. below 10%, for dark frames. For these embodiments, the linear scaling of code values derived in Equation 7 may not be appropriate since it can boost dark values excessively. While embodiments employing these methods may duplicate the full power output on a reduced power display, this may not serve to optimize output. Since the full power display has an elevated black level, reproducing this output for dark scenes does not achieve the benefit of a reduced black level made possible with a lower backlight power setting. In these embodiments, the matching criteria may be modified and a replacement for the result given in Equation 7 may be derived. In some embodiments, the output of an ideal display is matched. The ideal display may comprise a zero black level and the same maximum output, white level=W, as the full power display. The response of this exemplary ideal display to a code value, cv, may be expressed in Equation 22 in terms of the maximum output, W, display gamma and maximum code value.




  
    
      
        Ideal
        ⁢
        
          
            
          
          ⁢
          
            
          
        
        ⁢
        Display
      
    
    
      
        
      
    
  
  
    
      
        
          
            L
            ideal
          
          ⁡
          
            (
            cv
            )
          
        
        =
        
          W
          ·
          
            
              (
              
                cv
                
                  cv
                  Max
                
              
              )
            
            γ
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        22
      
    
  




In some embodiments, and exemplary LCD may have the same maximum output, W, and gamma, but a nonzero black level, B. This exemplary LCD may be modeled using the GOG model described above for full power output. The output scales with the relative backlight power for power less than 100%. The gain and offset model parameters may be determined by the maximum output, W, and black level, B, of the full power display, as shown in Equation 23.




  
    
      
        Full
        ⁢
        
          
        
        ⁢
        Power
        ⁢
        
          
        
        ⁢
        GOG
        ⁢
        
          
        
        ⁢
        model
      
    
    
      
        
      
    
  
  
    
      
        
          
            
              L
              fullpower
            
            ⁡
            
              (
              cv
              )
            
          
          =
          
            
              (
              
                
                  Gain
                  ·
                  
                    (
                    
                      cv
                      
                        cv
                        ⁢
                        
                          
                        
                        ⁢
                        Max
                      
                    
                    )
                  
                
                +
                offset
              
              )
            
            γ
          
        
        ⁢
        
          

        
        ⁢
        
          offset
          =
          
            
              
                B
                
                  1
                  γ
                
              
              ⁢
              
                
              
              ⁢
              Gain
            
            =
            
              
                W
                
                  1
                  γ
                
              
              -
              
                B
                
                  1
                  γ
                
              
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        23
      
    
  




The output of the reduced power display with relative backlight power P may be determined by scaling the full power results by the relative power.





  
    
      
        Actual
        ⁢
        
          
        
        ⁢
        LCD
        ⁢
        
          
        
        ⁢
        output
        ⁢
        
          
            
          
          ⁢
          
            
          
        
        ⁢
        vs
        ⁢
        
          
        
        ⁢
        Power
        ⁢
        
          
        
        ⁢
        and
        ⁢
        
          
        
        ⁢
        code
        ⁢
        
          
        
        ⁢
        value
      
    
    
      
        
      
    
  
  
    
      
        
          
            L
            actual
          
          ⁡
          
            (
            
              P
              ,
              cv
            
            )
          
        
        =
        
          P
          ·
          
            
              (
              
                
                  
                    (
                    
                      
                        W
                        
                          1
                          γ
                        
                      
                      -
                      
                        B
                        
                          1
                          γ
                        
                      
                    
                    )
                  
                  ·
                  
                    (
                    
                      cv
                      
                        cv
                        ⁢
                        
                          
                        
                        ⁢
                        Max
                      
                    
                    )
                  
                
                +
                
                  B
                  
                    1
                    γ
                  
                
              
              )
            
            γ
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        24
      
    
  




In these embodiments, the code values may be modified so that the outputs of the ideal and actual displays are equal, where possible. (If the ideal output is not less than or greater than that possible with a given power on the actual display)




  
    
      
        Criteria
        ⁢
        
          
        
        ⁢
        for
        ⁢
        
          
        
        ⁢
        matching
        ⁢
        
          
        
        ⁢
        outputs
      
    
    
      
        
      
    
  
  
    
      
        
          
            
              L
              ideal
            
            ⁡
            
              (
              x
              )
            
          
          =
          
            
              L
              actual
            
            ⁡
            
              (
              
                P
                ,
                
                  x
                  ~
                
              
              )
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            W
            ·
            
              
                (
                
                  x
                  
                    cv
                    Max
                  
                
                )
              
              γ
            
          
          =
          
            P
            ·
            
              
                (
                
                  
                    
                      (
                      
                        
                          W
                          
                            1
                            γ
                          
                        
                        -
                        
                          B
                          
                            1
                            γ
                          
                        
                      
                      )
                    
                    ·
                    
                      (
                      
                        
                          x
                          ~
                        
                        
                          cv
                          ⁢
                          
                            
                          
                          ⁢
                          Max
                        
                      
                      )
                    
                  
                  +
                  
                    B
                    
                      1
                      γ
                    
                  
                
                )
              
              γ
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        25
      
    
  




Some calculation solves for {tilde over (x)} in terms of x, P, W, B.





  
    
      
        Code
        ⁢
        
          
        
        ⁢
        Value
        ⁢
        
          
        
        ⁢
        relation
        ⁢
        
          
            
          
          ⁢
          
            
          
        
        ⁢
        for
        ⁢
        
          
        
        ⁢
        matching
        ⁢
        
          
        
        ⁢
        output
      
    
    
      
        
      
    
  
  
    
      
        
          
            ·
            
              x
              ~
            
          
          =
          
            
              
                
                  
                    
                      (
                      
                        W
                        P
                      
                      )
                    
                    
                      1
                      γ
                    
                  
                  
                    (
                    
                      
                        W
                        
                          1
                          γ
                        
                      
                      -
                      
                        B
                        
                          1
                          γ
                        
                      
                    
                    )
                  
                
                ·
                x
              
              -
              
                
                  
                    cv
                    ⁢
                    
                      
                    
                    ⁢
                    
                      Max
                      ·
                      
                        B
                        
                          1
                          γ
                        
                      
                    
                  
                  
                    (
                    
                      
                        W
                        
                          1
                          γ
                        
                      
                      -
                      
                        B
                        
                          1
                          γ
                        
                      
                    
                    )
                  
                
                ⁢
                
                  

                
                ·
                
                  x
                  ~
                
              
            
            =
            
              
                
                  
                    
                      (
                      
                        1
                        P
                      
                      )
                    
                    
                      1
                      γ
                    
                  
                  
                    (
                    
                      1
                      -
                      
                        
                          (
                          
                            B
                            W
                          
                          )
                        
                        
                          1
                          γ
                        
                      
                    
                    )
                  
                
                ·
                x
              
              -
              
                
                  cv
                  ⁢
                  
                    
                  
                  ⁢
                  Max
                
                
                  (
                  
                    
                      
                        (
                        
                          W
                          B
                        
                        )
                      
                      
                        1
                        γ
                      
                    
                    -
                    1
                  
                  )
                
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            x
            ~
          
          =
          
            
              
                
                  
                    (
                    
                      CR
                      P
                    
                    )
                  
                  
                    1
                    γ
                  
                
                
                  (
                  
                    
                      
                        (
                        CR
                        )
                      
                      
                        1
                        γ
                      
                    
                    -
                    1
                  
                  )
                
              
              ·
              x
            
            -
            
              
                cv
                ⁢
                
                  
                
                ⁢
                Max
              
              
                (
                
                  
                    
                      (
                      CR
                      )
                    
                    
                      1
                      γ
                    
                  
                  -
                  1
                
                )
              
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        26
      
    
  




These embodiments demonstrate a few properties of the code value relation for matching the ideal output on an actual display with non-zero black level. In this case, there is clipping at both the upper ({tilde over (x)}=cvMax) and lower ({tilde over (x)}=0) ends. These correspond to clipping input at xlow and xhigh given by Equation 27




  
    
      
        Clipping
        ⁢
        
          
        
        ⁢
        points
      
    
    
      
        
      
    
  
  
    
      
        
          
            
              x
              lower
            
            ⁡
            
              (
              P
              )
            
          
          =
          
            cv
            ⁢
            
              
            
            ⁢
            
              Max
              ·
              
                
                  (
                  
                    P
                    CR
                  
                  )
                
                
                  1
                  γ
                
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            
              x
              high
            
            ⁡
            
              (
              P
              )
            
          
          =
          
            cv
            ⁢
            
              
            
            ⁢
            
              Max
              ·
              
                
                  (
                  P
                  )
                
                
                  1
                  γ
                
              
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        27
      
    
  




These results agree with our prior development for other embodiments in which the display is assumed to have zero black level i.e. contrast ratio is infinite.

Backlight Modulation Algorithm

In these embodiments, a luminance matching theory that incorporates black level considerations, by doing a match between the display at a given power and a reference display with zero black level, to determine a backlight modulation algorithm. These embodiments use a luminance matching theory to determine the distortion an image must have when displayed with power P compared to being displayed on the ideal display. The backlight modulation algorithm may use a maximum power limit and a maximum distortion limit to select the least power that results in distortion below the specified maximum distortion.
Power Distortion
In some embodiments, given a target display specified by black level and maximum brightness at full power and an image to display, the distortion in displaying the image at a given power P may be calculated. The limited power and nonzero black level of the display can be emulated on the ideal reference display by clipping values larger than the brightness of the limited power display and by clipping values below the black level of the ideal reference. The distortion of an image may be defined as the MSE between the original image code values and the clipped code values, however, other distortion measures may be used in some embodiments.
The image with clipping is defined by the power dependant code value clipping limits introduced in Equation 27 is given in Equation 28.




  
    
      
        Clipped
        ⁢
        
          
        
        ⁢
        image
      
    
    
      
        
      
    
  
  
    
      
        
          
            I
            ~
          
          ⁡
          
            (
            
              x
              ,
              y
              ,
              c
              ,
              P
            
            )
          
        
        =
        
          {
          
            
              
                
                  
                    x
                    
                      low
                      ⁢
                      
                        
                      
                    
                  
                  ⁡
                  
                    (
                    P
                    )
                  
                
              
              
                
                  
                    I
                    ⁡
                    
                      (
                      
                        x
                        ,
                        y
                        ,
                        c
                      
                      )
                    
                  
                  ≤
                  
                    
                      x
                      low
                    
                    ⁡
                    
                      (
                      P
                      )
                    
                  
                
              
            
            
              
                
                  I
                  ⁡
                  
                    (
                    
                      x
                      ,
                      y
                      ,
                      c
                    
                    )
                  
                
              
              
                
                  
                    
                      x
                      low
                    
                    ⁡
                    
                      (
                      P
                      )
                    
                  
                  <
                  
                    I
                    ⁡
                    
                      (
                      
                        x
                        ,
                        y
                        ,
                        c
                      
                      )
                    
                  
                  <
                  
                    
                      x
                      high
                    
                    ⁡
                    
                      (
                      P
                      )
                    
                  
                
              
            
            
              
                
                  
                    x
                    high
                  
                  ⁡
                  
                    (
                    P
                    )
                  
                
              
              
                
                  
                    
                      x
                      high
                    
                    ⁡
                    
                      (
                      P
                      )
                    
                  
                  ≤
                  
                    I
                    ⁡
                    
                      (
                      
                        x
                        ,
                        y
                        ,
                        c
                      
                      )
                    
                  
                
              
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        28
      
    
  




The distortion between the image on the ideal display and on the display with power P in the pixel domain becomes





  
    D
    ⁡
    
      (
      
        I
        ,
        P
      
      )
    
  
  =
  
    
      1
      N
    
    ·
    
      
        ∑
        
          x
          ,
          y
          ,
          c
        
      
      ⁢
      
        
      
      ⁢
      
        
          max
          c
        
        ⁢
        
          
            
            
              
                I
                ⁡
                
                  (
                  
                    x
                    ,
                    y
                    ,
                    c
                  
                  )
                
              
              -
              
                
                  I
                  ~
                
                ⁡
                
                  (
                  
                    x
                    ,
                    y
                    ,
                    c
                    ,
                    P
                  
                  )
                
              
            
            
          
          2
        
      
    
  




Observe that this can be computed using the histogram of image code values.





  
    D
    ⁡
    
      (
      
        I
        ,
        P
      
      )
    
  
  =
  
    
      ∑
      
        n
        ,
        c
      
    
    ⁢
    
      
    
    ⁢
    
      
        
          h
          ~
        
        ⁡
        
          (
          
            n
            ,
            c
          
          )
        
      
      ·
      
        
          max
          c
        
        ⁢
        
          
            
            
              (
              
                n
                -
                
                  
                    I
                    ~
                  
                  ⁡
                  
                    (
                    
                      n
                      ,
                      P
                    
                    )
                  
                
              
              )
            
            
          
          2
        
      
    
  




The definition of the tone scale function can be used to derive an equivalent form of this distortion measure, shown as Equation 29.




  
    
      
        Distortion
        ⁢
        
          
        
        ⁢
        measure
      
    
    
      
        
      
    
  
  
    
      
        
          D
          ⁡
          
            (
            
              I
              ,
              P
            
            )
          
        
        =
        
          
            ∑
            
              n
              <
              
                cv
                low
              
            
          
          ⁢
          
            
          
          ⁢
          
            
              
                h
                ~
              
              ⁡
              
                (
                
                  n
                  ,
                  c
                
                )
              
            
            ·
            
              
            
            ⁢
            
              
                max
                c
              
              ⁢
              
                
                
                  
                    
                      (
                      
                        n
                        -
                        
                          cv
                          low
                        
                      
                      
                    
                    2
                  
                  +
                  
                    
                      ∑
                      
                        n
                        >
                        
                          cv
                          high
                        
                      
                    
                    ⁢
                    
                      
                        
                          h
                          ~
                        
                        ⁡
                        
                          (
                          
                            n
                            ,
                            c
                          
                          )
                        
                      
                      ·
                      
                        
                          max
                          c
                        
                        ⁢
                        
                          
                            
                            
                              (
                              
                                n
                                -
                                
                                  cv
                                  high
                                
                              
                              )
                            
                            
                          
                          2
                        
                      
                    
                  
                
              
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        29
      
    
  




This measure comprises a weighted sum of the clipping error at the high and low code values. A power/distortion curve may be constructed for an image using the expression of Equation 29. FIG. 39 is a graph showing power/distortion curves for various exemplary images. FIG. 39 shows a power/distortion plot 590 for a solid white image, a power/distortion plot 592 for a bright close-up of a yellow flower, a power/distortion plot 594 for a dark, low contrast image of a group of people, a power/distortion plot 596 for a solid black image and a power/distortion plot 598 for a bright image of a surfer on a wave.

As can be seen from FIG. 39, different images can have quite different/power-distortion relations. At the extremes, a black frame 596 has minimum distortion at zero backlight power with distortion rising sharply as power increases to 10%. Conversely, a white frame 590 has maximum distortion at zero backlight with distortion declining steadily until rapidly dropping to zero at 100% power. The bright surfing image 598 shows a steady decrease in distortion as power increases. The two other images 592 and 594 show minimum distortion at intermediate power levels.
Some embodiments of the present invention may comprise a backlight modulation algorithm that operates as follows:
1. Compute image histogram
2. Compute power distortion function for image
3. Calculate least power with distortion below distortion limit.
4. (Optional) limit selected power based on supplied power upper and lower limits
5. Select computed power for backlight
In some embodiments, described in relation to FIGS. 40 and 41, the backlight value 604 selected by the BL modulation algorithm may be provided to the BP algorithm and used for tone scale design. Average power 602 and distortion 606 are shown. An upper bound on the average power 600 used in this experiment is also shown. Since the average power use is significantly below this upper bound the backlight modulation algorithm uses less power than simply using a fixed power equal to this average limit.
Development of a Smooth Tone Scale Function.
In some embodiments of the present invention, the smooth tone scale function comprises two design aspects. The first assumes parameters for the tone scale are given and determines a smooth tone scale function meeting those parameters. The second comprises an algorithm for selecting the design parameters.
Tone Scale Design Assuming Parameters
The code value relation defined by Equation 26 has slope discontinuities when clipped to the valid range [cvMin, cvMax]. In some embodiments of the present invention, smooth roll-off at the dark end may be defined analogously to that done at the bright end in Equation 7. These embodiments assume both a Maximum Fidelity Point (MFP) and a Least Fidelity Point (LFP) between which the tone scale agrees with Equation 26. In some embodiments, the tone scale may be constructed to be continuous and have a continuous first derivative at both the MFP and the LFP. In some embodiments, the tone scale may pass through the extreme points (ImageMinCV, cvMin) and (ImageMaxCV, cvMax). In some embodiments, the tone scale may be modified from an affine boost at both the upper and lower ends. Additionally, the limits of the image code values may be used to determine the extreme points rather than using fixed limits. It is possible to used fixed limits in this construction but problems may arise with large power reduction. In some embodiments, these conditions uniquely define a piecewise quadratic tone scale which as derived below.
Conditions:




  
    
      
        Tone
        ⁢
        
          
        
        ⁢
        scale
        ⁢
        
          
        
        ⁢
        definition
      
    
    
      
        
      
    
  
  
    
      
        
          TS
          (
          
            
          
          ⁢
          x
          )
        
        =
        
          
        
        ⁢
        
          {
          
            
          
          ⁢
          
            
              
                cvMin
              
              
                
                  cvMin
                  ≤
                  x
                  ≤
                  ImageMinCV
                
              
            
            
              
                
                  
                    A
                    ·
                    
                      
                        (
                        
                          x
                          -
                          LFP
                        
                        )
                      
                      2
                    
                  
                  +
                
              
              
                
                  ImageMinCV
                  <
                  x
                  <
                  LFP
                
              
            
            
              
                
                  
                    B
                    ·
                    
                      (
                      
                        x
                        -
                        LFP
                      
                      )
                    
                  
                  +
                  C
                
              
              
                
                  
                
              
            
            
              
                
                  
                    α
                    ·
                    x
                  
                  +
                  β
                
              
              
                
                  LFP
                  ≤
                  x
                  ≤
                  ImageMaxCV
                
              
            
            
              
                
                  
                    D
                    ·
                    
                      
                        (
                        
                          x
                          -
                          MFP
                        
                        )
                      
                      2
                    
                  
                  +
                
              
              
                
                  MFP
                  <
                  x
                  <
                  ImageMaxCV
                
              
            
            
              
                
                  
                    E
                    ·
                    
                      (
                      
                        x
                        -
                        MFP
                      
                      )
                    
                  
                  +
                  F
                
              
              
                
                  
                
              
            
            
              
                cvMax
              
              
                
                  ImageMaxCV
                  ≤
                  x
                  ≤
                  cvMax
                
              
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        30
      
    
  
  
    
      
        Tone
        ⁢
        
          
        
        ⁢
        scale
        ⁢
        
          
        
        ⁢
        slope
      
    
    
      
        
      
    
  
  
    
      
        
          
            TS
            ′
          
          ⁡
          
            (
            x
            )
          
        
        =
        
          {
          
            
              
                
                  
                    2
                    ·
                    A
                    ·
                    
                      (
                      
                        x
                        -
                        LFP
                      
                      )
                    
                  
                  +
                  B
                
              
              
                
                  0
                  <
                  x
                  <
                  LFP
                
              
            
            
              
                α
              
              
                
                  LFP
                  ≤
                  x
                  ≤
                  MFP
                
              
            
            
              
                
                  
                    2
                    ·
                    D
                    ·
                    
                      (
                      
                        x
                        -
                        MFP
                      
                      )
                    
                  
                  +
                  E
                
              
              
                
                  x
                  >
                  MFP
                
              
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        31
      
    
  




Quick observation of continuity of the tone scale and first derivative at LFP and MFP yields.

B=α

C=α·LFP+β

E=α

F=α·MFP+β  Equation 32 Solution for tone scale parameters B, C, E, F

The end points determine the constants A and D as:




  
    
      
        Solution
        ⁢
        
          
        
        ⁢
        for
        ⁢
        
          
        
        ⁢
        tone
        ⁢
        
          
        
        ⁢
        scale
        ⁢
        
          
        
        ⁢
        parameters
        ⁢
        
          
        
        ⁢
        A
        ⁢
        
          
        
        ⁢
        and
        ⁢
        
          
        
        ⁢
        D
      
    
    
      
        
      
    
  
  
    
      
        
          A
          =
          
            
              cvMin
              -
              
                B
                ·
                
                  (
                  
                    ImageMinCV
                    -
                    LFP
                  
                  )
                
              
              -
              C
            
            
              
                (
                
                  ImageMinCV
                  -
                  LFP
                
                )
              
              2
            
          
        
        ⁢
        
          

        
        ⁢
        
          D
          =
          
            
              cvMax
              -
              
                E
                ·
                
                  (
                  
                    ImageMaxCV
                    -
                    MFP
                  
                  )
                
              
              -
              F
            
            
              
                (
                
                  ImageMaxCV
                  -
                  MFP
                
                )
              
              2
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        33
      
    
  




In some embodiments, these relations define the smooth extension of the tone scale assuming MFP/LFP and ImageMaxCV/ImageMinCV are available. This leaves open the need to select these parameters. Further embodiments comprise methods and systems for selection of these design parameters.
Parameter Selection (MFP/LFP)
Some embodiments of the present invention described above and in related applications address only the MFP with ImageMaxCV equal to 255, cvMax was used in place of ImageMaxCV introduced in these embodiments. Those previously described embodiments had a linear tone scale at the lower end due to the matching based on the full power display rather than the ideal display. In some embodiments, the MFP was selected so that the smooth tone scale had slope zero at the upper limit, ImageMaxCV. Mathematically, the MFP was defined by:

TS′(ImageMaxCV)=0

2·D·(ImageMaxCV−MFP)+E=0  Equation 34 MFP selection criterion

The solution to this criterion relates the MFP to the upper clipping point and the maximum code value:




  
    
      
        Prior
        ⁢
        
          
        
        ⁢
        MFP
        ⁢
        
          
        
        ⁢
        selection
        ⁢
        
          
        
        ⁢
        criteria
      
    
    
      
        
      
    
  
  
    
      
        
          MFP
          =
          
            
              2
              ·
              
                x
                high
              
            
            -
            ImageMaxCV
          
        
        ⁢
        
          

        
        ⁢
        
          MFP
          =
          
            
              2
              ·
              cvMax
              ·
              
                
                  (
                  P
                  )
                
                
                  1
                  γ
                
              
            
            -
            ImageMaxCV
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        35
      
    
  




For modest power reduction such as P=80% this prior MFP selection criteria works well. For large power reduction, these embodiments may improve upon the results of previously described embodiments.
In some embodiments, we select an MFP selection criterion appropriate for large power reduction. Using the value ImageMaxCV directly in Equation 35 may cause problems. In images where power is low we expect a low maximum code value. If the maximum code value in an image, ImageMaxCV, is known to be small Equation 35 gives a reasonable value for the MFP but in some cases ImageMaxCV is either unknown or large, which can result in unreasonable i.e. negative MFP values. In some embodiments, if the maximum code value is unknown or too high, an alternate value may be selected for ImageMaxCV and applied in the result above.
In some embodiments, k may be defined as a parameter defining the smallest fraction of the clipped value xhigh the MFP can have. Then, k may be used to determine if the MFP calculated by Equation 35 is reasonable i.e.

MFP≧k·xhigh  Equation 36 “Reasonable” MFP criteria

If the calculated MFP is not reasonable, the MFP may be defined to be the smallest reasonable value and the necessary value of ImageMaxCV may be determined, Equation 37. The values of MFP and ImageMaxCV may then be used to determine the tone scale via as discussed below.





  
    
      
        Correcting
        ⁢
        
          
        
        ⁢
        ImageMaxCV
      
    
    
      
        
      
    
  
  
    
      
        
          MFP
          =
          
            k
            ·
            
              x
              high
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            k
            ·
            
              x
              high
            
          
          =
          
            
              2
              ·
              cvMax
              ·
              
                
                  (
                  P
                  )
                
                
                  1
                  γ
                
              
            
            -
            ImageMaxCV
          
        
        ⁢
        
          

        
        ⁢
        
          ImageMaxCV
          =
          
            
              (
              
                2
                -
                k
              
              )
            
            ·
            
              x
              high
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        37
      
    
  




Steps for the MFP selection, of some embodiments, are summarized below:
1. Compute candidate MFP using ImageMaxCV (or CVMax if unavailable)
2. Test reasonableness using Equation 36
3. If unreasonable, define MFP based on fraction k of clipping code value
4. Calculate new ImageMaxCV using Equation 37.
5. Compute smooth tone scale function using MFP, ImageMaxCV and power.
Similar techniques may be applied to select the LFP at the dark end using ImageMinCV and xlow.
Exemplary tone scale designs based on smooth tone scale design algorithms and automatic parameter selection are shown in FIGS. 42-45. FIGS. 42 and 43 show an exemplary tone scale design where a backlight power level of 11% has been selected. A line 616 corresponding to the linear section of the tone scale design between the MFP 610 and the LFP 612 is shown. The tone scale design 614 curves away from line 616 above the MFP 610 and below the LFP 612, but is coincident with the line 616 between the LFP 612 and the MFP 610. FIG. 41 is zoomed-in image of the lark region of the tone scale design of FIG. 42. The LFP 612 is clearly visible and the lower curve 620 of the tone scale design can be seen curving away from the linear extension 622.
FIGS. 44 and 45 show an exemplary tone scale design wherein the backlight level has been selected at 89% of maximum power. FIG. 44 shows a line 634 coinciding with the linear portion of the tone scale design. Line 634 represents an ideal display response. The tone scale design 636 curves away 636, 638 from the ideal linear display representation 634 above the MFP 630 and below the LFP 632. FIG. 45 shows a zoomed-in view of the dark end of the tone scale design 636 below the LFP 640 where the tone scale design 642 curves away from the ideal display extension 644.
In some embodiments of the present invention, the distortion calculation can be modified by changing the error calculation between the ideal and actual display images. In some embodiments, the MSE may be replaced with a sum of distorted pixels. In some embodiments, the clipping error at upper and lower regions may be weighed differently.
Some embodiments of the present invention may comprise an ambient light sensor. If an ambient light sensor is available, the sensor can be used to modify the distortion metric including the effects of surround illumination and screen reflection. This can be used to modify the distortion metric and hence the backlight modulation algorithm. The ambient information can be used to control the tone scale design also by indicating the relevant perceptual clipping point at the black end.
Color Preservation Embodiments
Some embodiments of the present invention comprise systems and methods for preserving color characteristics while enhancing image brightness. In some embodiments, brightness preservation comprises mapping the full power gamut solid into the smaller gamut solid of a reduced power display. In some embodiments different methods are used for color preservation. Some embodiments preserve the hue/saturation of a color in exchange for a reduction in luminance boost.
Some non-color-preserving embodiments described above process each color channel independently operating to give a luminance match on each color channel. In those non-color-preserving embodiments, highly saturated or highlight colors can be become desaturated and/or change in hue following processing. Color-preserving embodiments address these color artifacts, but, in some case, may slightly reduce the luminance boost.
Some color-preserving embodiments may also employ a clipping operation when the low pass and high pass channels are recombined. Clipping each color channel independently can again result in a change in color. In embodiments employing color-preserving clipping, a clipping operation may be used to maintain hue/saturation. In some cases, this color-preserving clipping may reduce the luminance of clipped values below that of other non-color-preserving embodiments.
Some embodiments of the present invention may be described with reference to FIG. 46. In these embodiments, an input image 650 is read and code values corresponding to different color channels for a specified pixel location are determined 652. In some embodiments, the input image may be in a format that has separate color channel information recorded in the image file. In an exemplary embodiment the image may be recorded with red, green and blue (RGB) color channels. In other embodiments, an image file may be recorded in a cyan, magenta, yellow and black (CMYK) format, an Lab, YUV or another format. An input image may be in a format comprising a separate luminance channel, such as Lab, or a format without a separate luminance channel, such as RGB. When an image file does not have separate color channel data readily available, the image file may be converted to format with color channel data.
Once code values for each color channel are determined 652, the maximum code value among the color channel code values is then determined 654. This maximum code value may then be used to determine parameters of a code value adjustment model 656. The code value adjustment model may be generated in many ways. A tone-scale adjustment curve, gain function or other adjustment models may be used in some embodiments. In an exemplary embodiment, a tone scale adjustment curve that enhances the brightness of the image in response to a reduced backlight power setting may be used. In some embodiments, the code value adjustment model may comprise a tone-scale adjustment curve as described above in relation to other embodiments. The code value adjustment curve may then be applied 658 to each of the color channel code values. In these embodiments, application of the code value adjustment curve will result in the same gain value being applied to each color channel. Once the adjustments are performed, the process will continue for each pixel 660 in the image.
Some embodiments of the present invention may be described with reference to FIG. 47. In these embodiments, an input image is read 670 and a first pixel location is selected 672. The code values for a first color channel are determined 674 for the selected pixel location and the code values for a second color channel are determined 676 for the selected pixel location. These code values are then analyzed and one of them is selected 678 based on a code value selection criterion. In some embodiments, the maximum code value may be selected. This selected code value may then be used as input for a code value adjustment model generator 680, which will generate a model. The model may then be applied 682 to both the first and second color channel code values with substantially equal gain being applied to each channel. In some embodiments, a gain value obtained from the adjustment model may be applied to all color channels. Processing may then proceed to the next pixel 684 until the entire image is processed.
Some embodiments of the present invention may be described with reference to FIG. 48. In these embodiments, an input image 690 is input to the system. The image is then filtered 692 to create a first frequency range image. In some embodiments, this may be a low-pass image or some other frequency range image. A second frequency range image 694 may also be generated. In some embodiments, the second frequency range image may be created by subtracting the first frequency range image from the input image. In some embodiments, where the first frequency range image is a low-pass (LP) image, the second frequency range image may be a high-pass (HP) image. A code value for a first color channel in the first frequency range image may then be determined 696 for a pixel location and a code value for a second color channel in the first frequency range image may also be determined 698 at the pixel location. One of the color channel code values is then selected 700 by comparison of the code values or their characteristics. In some embodiments, a maximum code value may be selected. An adjustment model may then be generated or accessed 702 using the selected code value as input. This may result in a gain multiplier that may be applied 704 to the first color channel code value and the second color channel code value.
Some embodiments of the present invention may be described with reference to FIG. 49. In these embodiments, an input image 710 may be input to a pixel selector 712 that may identify a pixel to be adjusted. A first color channel code value reader 714 may read a code value for the selected pixel for a first color channel. A second color channel code value reader 716 may also read a code value for a second color channel at the selected pixel location. These code values may be analyzed in a analysis module 718, where one of the code values will be selected based on a code value characteristic. In some embodiments, a maximum code value may be selected. This selected code value may then be input to a model generator 720 or model selector that may determine a gain value or model. This gain value or model may then be applied 722 to both color channel code values regardless of whether the code value was selected by the analysis module 718. In some embodiments, the input image may be accessed 728 in applying the model. Control may then be passed 726 back to the pixel selector 712 to iterate through other pixels in the image.
Some embodiments of the present invention may be described with reference to FIG. 50. In these embodiments, an input image 710 may be input to a filter 730 to obtain a first frequency range image 732 and a second frequency range image 734. The first frequency range image may be converted to allow access to separate color channel code values 736. In some embodiments, the input image may allow access to color channel code values without any conversion. A code value for a first color channel of the first frequency range 738 may be determined and a code value for a second color channel of the first frequency range 740 may be determined.
These code values may be input to a code value characteristic analyzer 742, which may determine code value characteristics. A code value selector 744 may then select one of the code values based on the code value analysis. This selection may then be input to an adjustment model selector or generator 746 that will generate or select a gain value or gain map based on the code value selection. The gain value or map may then be applied 748 to the first frequency range code values for both color channels at the pixel being adjusted. This process may be repeated until the entire first frequency range image has been adjusted 750. A gain map may also be applied 753 to the second frequency range image 734. In some embodiments, a constant fain factor may be applied to all pixels in the second frequency range image. In some embodiments, the second frequency range image may be a high-pass version of the input image 710. The adjusted first frequency range image 750 and the adjusted second frequency range image 753 may be added or otherwise combined 754 to create an adjusted output image 756.
Some embodiments of the present invention may be described with reference to FIG. 51. In these embodiments, an input image 710 may be sent to a filter 760 or other some other processor for dividing the image into multiple frequency range images. In some embodiments, filter 760 may comprise a low-pass (LP) filter and a processor for subtracting an LP image created with the LP filter from the input image to create a high-pass (HP) image. The filter module 760 may output two or more frequency-specific images 762, 764, each having a specific frequency range. A first frequency range image 762 may have color channel data for a first color channel 766 and a second color channel 768. The code values for these color channels may be sent to a code value characteristic evaluator 770 and/or code value selector 772. This process will result in the selection of one of the color channel code values. In some embodiments, the maximum code value from the color channel data for a specific pixel location will be selected. This selected code value may be passed to an adjustment mode generator 774, which will generate a code value adjustment model. In some embodiments, this adjustment model may comprise a gain map or gain value. This adjustment model may then be applied 776 to each of the color channel code values for the pixel under analysis. This process may be repeated for each pixel in the image resulting in a first frequency range adjusted image 778.
A second frequency range image 764 may optionally be adjusted with a separate gain function 765 to boost its code values. In some embodiments no adjustment may be applied. In other embodiments, a constant gain factor may be applied to all code values in the second frequency range image. This second frequency range image may be combined with the adjusted first frequency range image 778 to form an adjusted combined image 781.
In some embodiments, the application of the adjustment model to the first frequency range image and/or the application of the gain function to the second frequency range image may cause some image code values to exceed the range of a display device or image format. In these cases, the code values may need to be “clipped” to the required range. In some embodiments, a color-preserving clipping process 782 may be used. In these embodiments, code values that fall outside a specified range may be clipped in a manner that preserves the relationship between the color values. In some embodiments, a multiplier may be calculated that is no greater than the maximum required range value divide by the maximum color channel code value for the pixel under analysis. This will result in a “gain” factor that is less than one and that will reduce the “oversize” code value to the maximum value of the required range. This “gain” or clipping value may be applied to all of the color channel code values to preserve the color of the pixel while reducing all code values to value that are less than or equal to the maximum value or the specified range. Applying this clipping process results in an adjusted output image 784 that has all code values within a specified range and that maintains the color relationship of the code values.
Some embodiments of the present invention may be described in relation to FIG. 52. In these embodiments, color-preserving clipping is used to maintain color relationships while limiting code values to a specified range. In some embodiments, a combined adjusted image 792 may correspond to the combined adjusted image 781 described in relation to FIG. 51. In other embodiments the combined adjusted image 792 may be any other image that has code values that need to be clipped to a specified range.
In these embodiments, a first color channel code value is determined 794 and a second color channel code value is determined 796 for a specified pixel location. These color channel code values 794, 796 are evaluated in a code value characteristic evaluator 798 to determine selective code value characteristic and select a color channel code value. In some embodiments, the selective characteristic will be a maximum value and the higher code value will be selected as input for the adjustment generator 800. The selected code value may be used as input to generate a clipping adjustment 800. In some embodiments, this adjustment will reduce the maximum code value to a value within the specified range. This clipping adjustment may then be applied to all color channel code values. In an exemplary embodiment, the code values of the first color channel and the second color channel will be reduced 802 by the same factor thereby preserving the ratio of the two code values. The application of this process to all pixel in an image will result in an output image 804 with code values that fall within a specified range.
Some embodiments of the present invention may be described with reference to FIG. 53. In these embodiments, methods are implemented in the RGB domain by manipulating the gain applied to all three color components based on the maximum color component. In these embodiments, an input image 810 is processed by frequency decomposition 812. In an exemplary embodiment, a low-pass (LP) filter 814 is applied to the image to create an LP image 820 that is then subtracted from the input image 810 to create a high-pass (HP) image 826. In some embodiments, a spatial 5×5 rect filter may be used for the LP filter. At each pixel in the LP image 820, the maximum value or the three color channels (R, G & B) is selected 816 and input to an LP gain map 818, which selects an appropriate gain function to be applied to all color channel values for that particular pixel. In some embodiments, the gain at a pixel with values [r, g, b] may be determined by a 1-D LUT indexed by max(r, g, b). The gain at value x may be derived from value of a Photometric matching tone scale curve, described above, at the value x divided by x.
A gain function 834 may also be applied to the HP image 826. In some embodiments, the gain function 834 may be a constant gain factor. This modified HP image is combined 830 with the adjusted LP image to form an output image 832. In some embodiments, the output image 832 may comprise code values that are out-of-range for an application. In these embodiments, a clipping process may be applied as explained above in relation to FIGS. 51 and 52.
In some embodiments of the present invention described above, the code value adjustment model for the LP image may be designed so that for pixels whose maximum color component is below a parameter, e.g. Maximum Fidelity Point, the gain compensates for a reduction in backlight power level. The Low Pass gain smoothly rolls off to 1 at the boundary of the color gamut in such a way that the processed Low Pass signal remains within Gamut.
In some embodiments, processing the HP signal may be independent of the choice of processing the low pass signal. In embodiments which compensate for reduced backlight power, the HP signal may be processed with a constant gain which will preserve the contrast when the power is reduced. The formula for the HP signal gain in terms of the full and reduced backlight powers and display gamma is given in 5. In these embodiments, the HP contrast boost is robust against noise since the gain is typically small e.g. gain is 1.1 for 80% power reduction and gamma 2.2.
In some embodiments, the result of processing the LP signal and the HP signal is summed and clipped. Clipping may be applied to the entire vector of RGB samples at each pixel scaling all three components equally so that the largest component is scaled to 255. Clipping occurs when the boosted HP value added to the LP value exceed 255 and is typically relevant for bright signals with high contrast only. Generally, the LP signal is guaranteed not to exceed the upper limit by the LUT construction. The HP signal may cause clipping in the sum but the negative values of the HP signal will never clip thereby maintaining some contrast even when clipping does occur.
Embodiments of the present invention may attempt to optimize the brightness of an image or they may attempt to optimize color preservation or matching while increasing brightness. Typically there is a tradeoff of a color shift when maximizing luminance or brightness. When the color shift is prevented, typically the brightness will suffer. Some embodiments of the present invention may attempt to balance the tradeoff between color shift and brightness by forming a weighted gain applied to each color component as shown in Equation 38.

WeightedGain(cvx,α)=α·Gain(cvx)+(1−α)·Gain(max(cvR,cvG,cvB)  Equation 38 Weighted Gain

This weighted gain varies between maximal luminance match at, alpha 0, to minimal color artifacts, at alpha 1. Note that when all code values are below the MFP parameter all three gains are equal.

Display-Model-Based, Distortion-Related Embodiments

The term “backlight scaling” may refer to a technique for reducing an LCD backlight and simultaneously modifying the data sent to the LCD to compensate for the backlight reduction. A prime aspect of this technique is selecting the backlight level. Embodiments of the present invention may select the backlight illumination level in an LCD using backlight modulation for either power savings or improved dynamic contrast. The methods used to solve this problem may be divided into image dependant and image independent techniques. The image dependent techniques may have a goal of bounding the amount of clipping imposed by subsequent backlight compensation image processing.
Some embodiments of the present invention may use optimization to select the backlight level. Given an image, the optimization routine may choose the backlight level to minimize the distortion between the image as it would appear on a hypothetical reference display and the image as it would appear on the actual display.
The following terms may be used to describe elements of embodiments of the present invention:

    
    
        1. Reference display model: A reference display model may represent the desired output from a display such as an LCD. In some embodiments, a reference display model may model an ideal display with zero black level or a display with unlimited dynamic range.
        2. Actual display model: A model of the output of an actual display. In some embodiments, the actual display output may be modeled for different backlight levels and the actual display may be modeled as having a non-zero black level. In some embodiments, a backlight selection algorithm may depend upon the display contrast ratio through this parameter.
        3. Brightness Preservation (BP): Processing of an original image to compensate for a reduced backlight level. The image as it would appear on the actual display is the output of the display model at a given backlight level on the brightened image. Some exemplary cases are:
        
            No brightness preservation: The unprocessed image data is sent to the LCD panel. In this case, the backlight selection algorithm
            Linear boost brightness compensation. The image is processed using a simple affine transformation to compensate for the backlight reduction. Though this simple brightness preservation algorithm sacrifices image quality if actually used for backlight compensation, this is an effective tool to select the backlight value.
            Tone Scale Mapping: An image is processed using a tone scale map that may comprise linear and non-linear segments. Segments may be used to limit clipping and enhance contrast.
        
        
        4. Distortion Metric. A display model and brightness preservation algorithm may be used to determine the image as it would appear on an actual display. The distortion between this output and the image on the reference display may then be computed. In some embodiments, the distortion may be calculated based on the image code values alone. The distortion depends on a choice of error metric, in some embodiments a Mean Square Error may be used.
        5. Optimization criteria. The distortion can be minimized subject to different constraints. For example, in some embodiments the following criteria may be used:
        
            Minimize Distortion on each frame of a video sequence
            Minimize Maximum distortion subject to an average backlight constraint
            Minimize Average distortion subject to an average backlight constraint

Display Models:

        
        
    
    


In some embodiments of the present invention, the GoG model may be used for both a reference display model and an actual display model. This model may be modified to scale based on the backlight level. In some embodiments, a reference display may be modeled as an ideal display with zero black level and maximum output W. An actual display may be modeled as having the same maximum output W at full backlight and a black level of B at full backlight. The contrast ratio is W/B. The contrast ratio is infinite when the black level is zero. These models can be expressed mathematically using CVMax to denote the maximum image code value in the equations below.




  
    
      
        Model
        ⁢
        
          
        
        ⁢
        Of
        ⁢
        
          
        
        ⁢
        Reference
        ⁢
        
          
        
        ⁢
        
          (
          Ideal
          )
        
        ⁢
        
          
        
        ⁢
        Display
        ⁢
        
          
        
        ⁢
        output
      
    
    
      
        
      
    
  
  
    
      
        
          
            Y
            Ideal
          
          ⁡
          
            (
            cv
            )
          
        
        =
        
          W
          ·
          
            
              (
              
                cv
                
                  cv
                  Max
                
              
              )
            
            γ
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        39
      
    
  




For an actual LCD with maximum output W and minimum output B at full backlight level i.e. P=1; the output is modeled as scaling with relative backlight level P. The contrast ratio CR=W/B is independent of backlight level.




  
    
      
        Model
        ⁢
        
          
        
        ⁢
        Of
        ⁢
        
          
        
        ⁢
        Actual
        ⁢
        
          
        
        ⁢
        LCD
      
    
    
      
        
      
    
  
  
    
      
        
          
            
              Y
              
                Actual
                ⁢
                
                  
                
              
            
            ⁡
            
              (
              
                P
                ,
                cv
              
              )
            
          
          =
          
            P
            ·
            
              
                (
                
                  
                    Gain
                    ·
                    
                      cv
                      
                        cv
                        Max
                      
                    
                  
                  +
                  Offset
                
                )
              
              γ
            
          
        
        ⁢
        
          

        
        ⁢
        
          Offset
          =
          
            B
            
              1
              γ
            
          
        
        ⁢
        
          

        
        ⁢
        
          Gain
          =
          
            
              W
              
                1
                γ
              
            
            -
            
              B
              
                1
                γ
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            B
            ⁡
            
              (
              P
              )
            
          
          =
          
            P
            ·
            B
          
        
        ⁢
        
          

        
        ⁢
        
          
            W
            ⁡
            
              (
              P
              )
            
          
          =
          
            P
            ·
            W
          
        
        ⁢
        
          

        
        ⁢
        
          CR
          =
          
            W
            /
            B
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        40
      
    
  




Brightness Preservation

In this exemplary embodiment, a BP process based on a simple boost and clip is used wherein the boost is chosen to compensate for the backlight reduction where possible. The following derivation shows the tone scale modification which provides a luminance match between the reference display and the actual display at a given backlight. Both the maximum output and black level of the actual display scale with backlight. We note that the output of the actual display is limited to below the scaled output maximum and above the scaled black level. This corresponds to clipping the luminance matching tone scale output to 0 and CVmax.




  
    
      
        Criteria
        ⁢
        
          
        
        ⁢
        for
        ⁢
        
          
        
        ⁢
        matching
        ⁢
        
          
        
        ⁢
        outputs
      
    
    
      
        
      
    
  
  
    
      
        
          
            
              Y
              ideal
            
            ⁡
            
              (
              cv
              )
            
          
          =
          
            
              Y
              actual
            
            ⁡
            
              (
              
                P
                ,
                
                  cv
                  ′
                
              
              )
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            W
            ·
            
              
            
            ⁢
            
              
                (
                
                  cv
                  
                    cv
                    Max
                  
                
                )
              
              γ
            
          
          =
          
            
          
          ⁢
          
            P
            ·
            
              
            
            ⁢
            
              
                (
                
                  
                    
                      (
                      
                        
                          W
                          
                            1
                            γ
                          
                        
                        -
                        
                          B
                          
                            1
                            γ
                          
                        
                      
                      )
                    
                    ·
                    
                      (
                      
                        
                          cv
                          ′
                        
                        cvMax
                      
                      )
                    
                  
                  +
                  
                    B
                    
                      1
                      γ
                    
                  
                
                )
              
              γ
            
          
        
        ⁢
        
          
        
        ⁢
        
          

        
        ⁢
        
          
            cv
            ′
          
          =
          
            
              cvMax
              
                (
                
                  
                    W
                    
                      1
                      γ
                    
                  
                  -
                  
                    B
                    
                      1
                      γ
                    
                  
                
                )
              
            
            ⁢
            
              
            
            ·
            
              (
              
                
                  
                    (
                    
                      
                        W
                        P
                      
                      ·
                      
                        
                          (
                          
                            cv
                            
                              cv
                              Max
                            
                          
                          )
                        
                        γ
                      
                    
                    )
                  
                  
                    1
                    γ
                  
                
                -
                
                  B
                  
                    1
                    γ
                  
                
              
              )
            
          
        
        ⁢
        
          
        
        ⁢
        
          
            cv
            ′
          
          =
          
            
              
                1
                
                  
                    P
                    
                      1
                      γ
                    
                  
                  ·
                  
                    (
                    
                      1
                      -
                      
                        
                          (
                          
                            B
                            W
                          
                          )
                        
                        
                          1
                          γ
                        
                      
                    
                    )
                  
                
              
              ·
              cv
            
            -
            
              
                
                  (
                  
                    B
                    W
                  
                  )
                
                
                  1
                  γ
                
              
              ·
              
                cvMax
                
                  (
                  
                    1
                    -
                    
                      
                        (
                        
                          B
                          W
                        
                        )
                      
                      
                        1
                        γ
                      
                    
                  
                  )
                
              
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        41
      
    
  




The clipping limits on cv′ imply clipping limits on the range of luminance matching.




  
    
      
        Clipping
        ⁢
        
          
        
        ⁢
        Limits
      
    
    
      
        
      
    
  
  
    
      
        
          
            
              cv
              ′
            
            ≥
            0
          
          ⁢
          
            

          
          ⇒
          
            
              
                1
                
                  
                    P
                    
                      1
                      γ
                    
                  
                  ·
                  
                    (
                    
                      1
                      -
                      
                        
                          (
                          
                            B
                            W
                          
                          )
                        
                        
                          1
                          γ
                        
                      
                    
                    )
                  
                
              
              ·
              ·
              cv
            
            ≥
            
              
                
                  (
                  
                    B
                    W
                  
                  )
                
                
                  1
                  γ
                
              
              ·
              
                cvMax
                
                  (
                  
                    1
                    -
                    
                      
                        (
                        
                          B
                          W
                        
                        )
                      
                      
                        1
                        γ
                      
                    
                  
                  )
                
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          cv
          ≥
          
            cvMax
            ·
            
              
                (
                
                  B
                  W
                
                )
              
              
                1
                γ
              
            
            ·
            
              P
              
                1
                γ
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            
              cv
              ′
            
            ≤
            cvMax
          
          ⁢
          
            

          
          ⇒
          
            
          
          ⁢
          
            
              
                
                  1
                  
                    
                      P
                      
                        1
                        γ
                      
                    
                    ·
                    
                      (
                      
                        1
                        -
                        
                          
                            (
                            
                              B
                              W
                            
                            )
                          
                          
                            1
                            γ
                          
                        
                      
                      )
                    
                  
                
                ·
                
                  
                
                ⁢
                cv
              
              -
              
                
              
              ⁢
              
                
                  
                    (
                    
                      B
                      W
                    
                    )
                  
                  
                    1
                    γ
                  
                
                ·
                
                  
                
                ⁢
                
                  cvMax
                  
                    (
                    
                      1
                      -
                      
                        
                          (
                          
                            B
                            W
                          
                          )
                        
                        
                          1
                          γ
                        
                      
                    
                    )
                  
                
              
            
            ≤
            
              
            
            ⁢
            cvMax
          
        
        ⁢
        
          

        
        ⁢
        
          cv
          ≤
          
            cvMax
            ·
            
              P
              
                1
                γ
              
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        42
      
    
  
  
    
      
        Clipping
        ⁢
        
          
        
        ⁢
        points
      
    
    
      
        
      
    
  
  
    
      
        
          
            x
            low
          
          ⁡
          
            (
            P
            )
          
        
        =
        
          
            
              cvMax
              ·
              
                
                  (
                  
                    P
                    CR
                  
                  )
                
                
                  1
                  γ
                
              
            
            ⁢
            
              
            
            ⁢
            
              
                x
                high
              
              ⁡
              
                (
                P
                )
              
            
          
          =
          
            cvMax
            ·
            
              
                (
                P
                )
              
              
                1
                γ
              
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        43
      
    
  




The tone scale provides a match of output for code values above a minimum and below a maximum where the minimum and maximum depend upon the relative backlight power P and the actual display contrast ratio CR=W/B.
Distortion Calculation
Various modified images created and used in embodiments of the present invention may be described with reference to FIG. 54. An original image 1840 may be used as input in creating each of these exemplary modified images. In some embodiments, an original input image 840 is processed 842 to yield an ideal output, YIdeal 844. The ideal image processor, a reference display 842 may assume that the ideal display has a zero black level. This output, YIdeal 844. may represent the original image 840 as seen on a reference (Ideal) display. In some embodiments, assuming a backlight level is given, the distortion caused by representing the image with this backlight level on the actual LCD may be computed.
In some embodiments, brightness preservation 846 may be used to generate an image I′ 850 from the image 1840. The image I′ 850 may then be sent to the actual LCD processor 854 along with the selected backlight level. The resulting output is labeled Yactual 858.
The reference display model may emulate the output of the actual display by using an input image I* 852.
The output of the actual LCD 854 is the result of passing the original image 1840 through the luminance matching tone scale function 846 to get the image I′ 850. This may not exactly reproduce the reference output depending upon the backlight level. However, the actual display output can be emulated on the reference display 842. The image I* 852 denotes the image data sent to the reference display 842 to emulate the actual display output, thereby creating Yemulated 860. The image I* 852 is produced by clipping the image 1840 to the range determined by the clipping points defined above in relation to Equation 43 and elsewhere. In some embodiments, I* may be described mathematically as:




  
    
      
        Clipped
        ⁢
        
          
        
        ⁢
        Image
      
    
    
      
        
      
    
  
  
    
      
        
          
            I
            *
          
          ⁡
          
            (
            
              cv
              ,
              P
            
            )
          
        
        =
        
          {
          
            
              
                
                  
                    x
                    low
                  
                  ⁡
                  
                    (
                    P
                    )
                  
                
              
              
                
                  cv
                  ≤
                  
                    
                      x
                      
                        low
                        ⁢
                        
                          
                        
                      
                    
                    ⁡
                    
                      (
                      P
                      )
                    
                  
                
              
            
            
              
                cv
              
              
                
                  
                    
                      x
                      low
                    
                    ⁡
                    
                      (
                      P
                      )
                    
                  
                  <
                  cv
                  <
                  
                    
                      x
                      high
                    
                    ⁡
                    
                      (
                      P
                      )
                    
                  
                
              
            
            
              
                
                  
                    x
                    high
                  
                  ⁡
                  
                    (
                    P
                    )
                  
                
              
              
                
                  
                    
                      x
                      high
                    
                    ⁡
                    
                      (
                      P
                      )
                    
                  
                  ≤
                  cv
                
              
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        44
      
    
  




In some embodiments, distortion may be defined as the difference between the output of the reference display with image I and the output of the actual display with backlight level P and image I′. Since image I* emulates the output of the actual display on the reference display, the distortion between the reference and actual display equals the distortion between the images I and I* both on the reference display.

D(YIdeal,YActual)=D(YIdeal,YEmulated)  Equation 45

Since both images are on the reference display, the distortion can be measured between the image data only not needing the display output.

D(YIdeal,YEmulated)=D(I,I*)  Equation 46

Image Distortion Measure

The analysis above shows the distortion between the representation of the image I 840 on the reference display and the representation on the actual display is equivalent to the distortion between that of images I 840 and I* 852 both on the reference display. In some embodiments, a pointwise distortion metric may be used to define the distortion between images. Given the pointwise distortion, d, the distortion between images can be computed by summing the difference between the images I and I*. Since the image I* emulates the luminance match, the error consists of clipping at upper and lower limits. In some embodiments, a normalized image histogram h(x) may be used to define the distortion of an image versus backlight power.




  
    
      
        
          
            D
            ⁡
            
              (
              
                I
                ,
                
                  I
                  *
                
              
              )
            
          
          =
          
            
              ∑
              x
            
            ⁢
            
              
            
            ⁢
            
              d
              ⁡
              
                (
                
                  x
                  ,
                  
                    
                      T
                      *
                    
                    ⁡
                    
                      (
                      
                        x
                        ,
                        P
                      
                      )
                    
                  
                
                )
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            D
            ⁡
            
              (
              
                I
                ,
                P
              
              )
            
          
          =
          
            
              
                ∑
                
                  x
                  <
                  
                    
                      cv
                      low
                    
                    ⁡
                    
                      (
                      P
                      )
                    
                  
                
              
              ⁢
              
                
              
              ⁢
              
                
                  
                    h
                    ~
                  
                  ⁡
                  
                    (
                    x
                    )
                  
                
                ·
                
                  d
                  ⁡
                  
                    (
                    
                      x
                      -
                      
                        
                          cv
                          
                            low
                            ⁢
                            
                              
                            
                          
                        
                        ⁡
                        
                          (
                          P
                          )
                        
                      
                    
                    )
                  
                
              
            
            +
            
              
                ∑
                
                  x
                  >
                  
                    
                      cv
                      
                        high
                        ⁢
                        
                          
                        
                      
                    
                    ⁡
                    
                      (
                      P
                      )
                    
                  
                
              
              ⁢
              
                
              
              ⁢
              
                
                  
                    h
                    ~
                  
                  ⁡
                  
                    (
                    x
                    )
                  
                
                ·
                
                  d
                  ⁡
                  
                    (
                    
                      x
                      -
                      
                        
                          cv
                          high
                        
                        ⁡
                        
                          (
                          P
                          )
                        
                      
                    
                    )
                  
                
              
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        47
      
    
  




Backlight vs Distortion Curve

Given a reference display, actual display, distortion definition, and image, the distortion may be computed at a range of backlight levels. When combined, this distortion data may form a backlight vs distortion curve. A backlight vs. distortion curve may be illustrated using a sample frame, which is a dim image of a view looking out of a dark closet, and an ideal display model with zero black level, an actual LCD model with 1000:1 contrast ratio, and a Mean Square Error MSE error metric. FIG. 55 is a graph of the histogram of image code values for this exemplary image.
In some embodiments, the distortion curve may be computed by calculating the distortion for a range of backlight values using a histogram. FIG. 56 is a graph of an exemplary distortion curve corresponding to the histogram of FIG. 55. For this exemplary image, at low backlight values, the brightness preservation is unable to effectively compensate for the reduced backlight resulting in a dramatic increase in distortion 880. At high backlight levels, the limited contrast ratio causes the black level to be elevated 882 compared to the ideal display. A minimum distortion range exists and, in some embodiments, the lowest backlight value giving this minimum distortion 884 may be selected by the minimum distortion algorithm.
Optimization Algorithm
In some embodiments, the distortion curve, such as the one shown in FIG. 56 may be used to select the backlight value. In some embodiments, the minimum distortion power for each frame may be selected. In some embodiments, when the minimum distortion value is not unique, the least power 884 which gives this minimum distortion may be selected. Results applying this optimization criterion to a brief DVD clip are shown in FIG. 57, which plots the selected backlight power against video frame number. In this case the average selected backlight 890 is roughly 50%.
Image Dependency
To illustrate the image-dependent nature of some embodiments of the present invention, exemplary test images with varying content were selected and the distortion in these images was calculated for a range of backlight values. FIG. 39 is a plot of the backlight vs. distortion curves for these exemplary images. FIG. 39 comprises plots for: Image A 596, a completely black image; Image B 590, a completely white image; Image C 594, a very dim photograph of a group of people and Image D 598, a bright image of a surfer on a wave.
Note that the shape of the curve depends strongly on the image content. This is to be expected as the backlight level balances distortion due to loss of brightness and distortion due to elevated black level. The black image 596 has least distortion at low backlight. The white image 590 has least distortion at full backlight. The dim image 594 has least distortion at an intermediate backlight level which uses the finite contrast ratio as an efficient balance between elevated black level and reduction of brightness.
Contrast Ratio
The display contrast ratio may enter into the definition of the actual display. FIG. 58 illustrates the minimum MSE distortion backlight determination for different contrast ratios of the actual display. Note that at the limit of 1:1 contrast ratio 900, the minimum distortion backlight depends upon the image Average Signal Level (ASL). At the opposite extreme of infinite contrast ratio (zero black level), the minimum distortion backlight depends upon the image maximum 902.
In some embodiments of the present invention, a reference display model may comprise a display model with an ideal zero black level. In some embodiments, a reference display model may comprise a reference display selected by visual brightness model and, in some embodiments a reference display model may comprise an ambient light sensor.
In some embodiments of the present invention, an actual display model may comprise a transmissive GoG model with finite black level. In some embodiments, an actual display model may comprise a model for a transflective display where output is modeled as dependent upon both the ambient light and reflective portion of the display.
In some embodiments of the present invention, Brightness Preservation (BP) in the backlight selection process may comprise a linear boost with clipping. In other embodiments, the backlight selection process may comprise tone scale operators with a smooth roll-off and/or a two channel BP algorithm.
In some embodiments of the present inventions, a distortion metric may comprise a Mean Square Error (MSE) in the image code values as a point-wise metric. In some embodiments, the distortion metric may comprise point-wise error metrics including a sum of absolute differences, a number of clipped pixels and/or histogram based percentile metrics.
In some embodiments of the present invention, optimization criteria may comprise selection of a backlight level that minimizes distortion in each frame. In some embodiments, optimization criteria may comprise average power limitations that minimize maximum distortion or that minimize average distortion.
LCD Dynamic Contrast Embodiments
Liquid Crystal Displays (LCDs) typically suffer from a limited contrast ratio. For instance, the black level of a display may be elevated due to backlight leakage or other problems. this may cause black areas to look gray rather than black. Backlight modulation can mitigate this problem by lowering the backlight level and associated leakage thereby reducing the black level as well. However, used without compensation, this technique will have the undesirable effect of reducing the display brightness. Image compensation may be used to restore the display brightness lost due to backlight dimming. Compensation has typically been confined to restoring the brightness of the full power display.
Some embodiments of the present invention, described above, comprise backlight modulation that is focused on power savings. In those embodiments, the goal is to reproduce the full power output at lower backlight levels. This may be achieved by simultaneously dimming the backlight and brightening the image. An improvement in black level or dynamic contrast is a favorable side effect in those embodiments. In these embodiments, the goal is to achieve image quality improvement. Some embodiments may result in the following image quality improvements:

    
    
        1. Lower black level due to reduced backlight,
        2. Improved saturation of dark colors due to reduced leakage caused by reducing backlight
        3. Brightness improvement, if compensation stronger than the backlight reduction is used.
        4. Improved dynamic contrast, i.e. maximum in bright frame of a sequence divided by minimum in a dark frame
        5. Intra frame contrast in dark frames.
    
    


Some embodiments of the present invention may achieve one or more of these benefits via two essential techniques: backlight selection and image compensation. One challenge is to avoid flicker artifacts in video as both the backlight and the compensated image will vary in brightness. Some embodiments of the present invention may use a target tone curve to reduce the possibility of flicker. In some embodiments, the target curve may have a contrast ratio that exceeds that of the panel (with a fixed backlight). A target curve may serve two purposes. First, the target curve may be used in selecting the backlight. Secondly, the target curve may be used to determine the image compensation. The target curve influences the image quality aspects mentioned above. A target curve may extend from a peak display value at full backlight brightness to a minimum display value at lowest backlight brightness. Accordingly, the target curve will extend below the range of typical display values achieved with full backlight brightness.
In some embodiments, the selection of a backlight luminance or brightness level may correspond to a selection of an interval of the target curve corresponding to the native panel contrast ratio. This interval moves as the backlight varies. At full backlight, the dark area of the target curve cannot be represented on the panel. At low backlight, the bright area of the target curve cannot be represented on the panel. In some embodiments, to determine the backlight, the panel tone curve, the target tone curve, and an image to display is given. The backlight level may be selected so that the contrast range of the panel with selected backlight most nearly matches the range of image values under the target tone curve.
In some embodiments, an image may be modified or compensated so that the display output falls on the target curve as much as possible. If the backlight is too high, the dark region of the target curve cannot be achieved. Similarly if the backlight is low, the bright region of the target curve cannot be achieved. In some embodiments, flicker may be minimized by using a fixed target for the compensation. In these embodiments, both backlight brightness and image compensation vary, but the display output approximates the target tone curve, which is fixed.
In some embodiments, the target tone curve may summarize one or more of the image quality improvements listed above. Both backlight selection and image compensation may be controlled through the target tone curve. Backlight brightness selection may be performed to “optimally” represent an image. In some embodiments, the distortion based backlight selection algorithm, described above, may be applied with a specified target tone curve and a panel tone curve.
In some exemplary embodiments, a Gain-Offset-Gamma Flare (GOGF) model may be used for the tone curves, as shown in equation 49. In some embodiments, the value of 2.2 may be used for gamma and zero may be used for the offset leaving two parameters, Gain and Flare. Both panel and target tone curves may be specified with these two parameters. In some embodiments, the Gain determines the maximum brightness and the contrast ratio determines the additive flare term.




  
    
      
        Tone
        ⁢
        
          
        
        ⁢
        Curve
        ⁢
        
          
        
        ⁢
        Model
      
    
    
      
        
      
    
  
  
    
      
        
          T
          ⁡
          
            (
            c
            )
          
        
        =
        
          M
          ·
          
            (
            
              
                
                  (
                  
                    1
                    -
                    
                      1
                      CR
                    
                  
                  )
                
                ·
                
                  c
                  γ
                
              
              +
              
                1
                CR
              
            
            )
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        48
      
    
  




where CR is the contrast ratio of the display, M is the maximum panel output, c is an image code value, T is a tone curve value and γ is a gamma value.

To achieve dynamic contrast improvement, the target tone curve differs from the panel tone curve. In the simplest application, the contrast ratio, CR, of the target is larger than that of the panel. An exemplary panel tone curves is represented in Equation 49,




  
    
      
        Exemplary
        ⁢
        
          
        
        ⁢
        Panel
        ⁢
        
          
        
        ⁢
        Tone
        ⁢
        
          
        
        ⁢
        Curve
      
    
    
      
        
      
    
  
  
    
      
        
          
            T
            Panel
          
          ⁡
          
            (
            c
            )
          
        
        =
        
          
            M
            Panel
          
          ·
          
            (
            
              
                
                  (
                  
                    1
                    -
                    
                      1
                      
                        CR
                        Panel
                      
                    
                  
                  )
                
                ·
                
                  c
                  γ
                
              
              +
              
                1
                
                  CR
                  Panel
                
              
            
            )
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        49
      
    
  




where CR is the contrast ratio of the panel, M is the maximum panel output, c is an image code value, T is a panel tone curve value and γ is a gamma value.

An exemplary target tone curve is represented in Equation 50,




  
    
      
        Exemplary
        ⁢
        
          
        
        ⁢
        Target
        ⁢
        
          
        
        ⁢
        Tone
        ⁢
        
          
        
        ⁢
        Curve
      
    
    
      
        
      
    
  
  
    
      
        
          
            T
            Target
          
          ⁡
          
            (
            c
            )
          
        
        =
        
          
            M
            Target
          
          ·
          
            (
            
              
                
                  (
                  
                    1
                    -
                    
                      1
                      
                        CR
                        Target
                      
                    
                  
                  )
                
                ·
                
                  c
                  γ
                
              
              +
              
                1
                
                  CR
                  
                    Target
                    ⁢
                    
                      
                    
                  
                
              
            
            )
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        50
      
    
  




where CR is the contrast ratio of the target, M is the maximum target output (e.g., max. panel output at full backlight brightness), c is an image code value, T is a target tone curve value and γ is a gamma value.

Aspects of some exemplary tone curves may be described in relation to FIG. 60. FIG. 59 is a log-log plot of code values on the horizontal axis and relative luminance on the vertical axis. Three tone curves are shown therein: a panel tone curve 1000, a target tone curve 1001 and a power law curve 1002. The panel tone curve 1000 extends from the panel black point 1003 to the maximum panel value 105. The target tone curve extends from the target black point 1004 to the maximum target/panel value 1005. The target black point 1004 is lower than the panel black point 1003 as it benefits from a lower backlight brightness, however, the full range of the target tone curve cannot be exploited for a single image as the backlight can have only one brightness level for any given frame, hence the maximum target/panel value 1005 cannot be achieved when the backlight brightness is reduced to obtain the lower target black point 1004. Embodiments of the present invention select the range of the target tone curve that is most appropriate for the image being displayed and for the desired performance goal.
Various target tone curves may be generated to achieve different priorities. For example, if power savings is the primary goal, the values of M and CR, for the target curve may be set equal to the corresponding values in the panel tone curve. In this power saving embodiment, the target tone curve is equal to the native panel tone curve. Backlight modulation is used to save power while the image displayed is virtually the same as that on the display with full power, except at the top end of the range, which is unobtainable at lower backlight settings.
An exemplary power saving tone curve is illustrated in FIG. 60. In these embodiments, the panel and target tone curves are identical 1010. The backlight brightness is reduced thereby enabling the possibility of a lower possible target curve 1011, however, this potential is not used in these embodiments. Instead, the image is brightened, through compensation of image code values, to match the panel tone curve 1010. When this is not possible, at the panel limit due to the reduced backlight for power savings 1013, the compensation may be rounded off 1012 to avoid clipping artifacts. This round off may be achieved according to methods described above in relation to other embodiments. In some embodiments, clipping may be allowed or may not occur due to a limited dynamic range in the image. In those cases, the round off 1012 may not be necessary and the target tone curve may simply follow the panel tone curve at the top end of the range 1014
In another exemplary embodiment, when a lower black level is the primary goal, the value of M for the target curve may be set equal to the corresponding value in the panel tone curve, but the value of CR for the target curve may be set equal to 4 times the corresponding value in the panel tone curve. In these embodiments, the target tone curve is selected to decrease the black level. The display brightness is unchanged relative to the full power display. The target tone curve has the same maximum M as the panel but has a higher contrast ratio. In the example above, the contrast ratio is 4 times the native panel contrast ratio. Alternatively, the target tone curve may comprise a round off curve at the top end of its range. Presumably the backlight can be modulated by a factor of 4:1.
Some embodiments which prioritize black level reduction may be described in relation to FIG. 61. In these embodiments, a panel tone curve 1020 is calculated as described above, for example, using Equation 49. A target tone curve 1021 is also calculated for a reduced backlight brightness level and higher contrast ratio. At the top end of the range, the target tone curve 1024 may extend along the panel tone curve. Alternatively, the target tone curve may employ a round-off curve 1023, which may reduce clipping near the display limit 1022 for a reduced backlight level.
In another exemplary embodiment, when a brighter image is the primary goal, the value of M for the target curve may be set equal to 1.2 times the corresponding value in the panel tone curve, but the value of CR for the target curve may be set equal to the corresponding value in the panel tone curve. The target tone curve is selected to increase the brightness keeping the same contrast ratio. (Note the black level is elevated.) The target maximum M is larger than the panel maximum. Image compensation will be used to brighten the image to achieve this brightening.
Some embodiments which prioritize image brightness may be described in relation to FIG. 62. In these embodiments, the panel tone curve and target tone curve are substantially similar near the bottom end of the range 1030. However, above this region, the panel tone curve 1032 follows a typical path to the maximum display output 1033. The target tone curve, however, follows an elevated path 1031, which provides for brighter image code values in this region. Toward the top end of the range, the target curve 1031 may comprise a round-off curve 1035, which rounds off the target curve to the point 1033 at which the display can no longer follow the target curve due to the reduced backlight level.
In another exemplary embodiment, when an enhanced image, with lower black level and brighter midrange, is the primary goal, the value of M for the target curve may be set equal to 1.2 times the corresponding value in the panel tone curve, and the value of CR for the target curve may be set equal to 4 times the corresponding value in the panel tone curve. The target tone curve is selected to both increase the brightness and reduce the black level. The target maximum is larger than the panel maximum M and the contrast ratio is also larger than the panel contrast ratio. This target tone curve may influence both the backlight selection and the image compensation. The backlight will be reduced in dark frames to achieve the reduced black level of the target. Image compensation may be used even at full backlight to achieve the increased brightness.
Some embodiments which prioritize image brightness and a lower black level may be described in relation to FIG. 63. In these embodiments, a panel tone curve 1040 is calculated as described above, for example, using Equation 49. A target tone curve 1041 is also calculated, however, the target tone curve 1041 may begin at a lower black point 1045 to account for a reduced backlight level. The target tone curve 1041 may also follow an elevated path to brighten image code values in the midrange and upper range of the tone scale. Since the display, with reduced backlight level, cannot reach the maximum target value 1042 or even the maximum panel value 1043, a round-off curve 1044 may be employed. The round-off curve 1044 may terminate the target tone curve 1041 at a maximum reduced-backlight panel value 1046. Various methods, described in relation to other embodiments above, may be used to determine round-off curve characteristics.
Some embodiments of the present invention may be described in relation to FIG. 64. In these embodiments, a plurality of target tone curves may be calculated and a selection may be made from the set of calculated curves based on image characteristics, performance goals or some other criterion. In these embodiments, a panel tone curve 1127 may be generated for a full backlight brightness situation with an elevated black level 1120. Target tone curves 1128 and 1129 may also be generated. These target tone curves 1128 and 1129 comprise a black level transition region 1122 wherein a curve transitions to a black level point, such as black level point 1121. These curves also comprise a common region wherein input points from any of the target tone curves are mapped to the same output points. In some embodiment, these target tone curves may also comprise a brightness round-off curve 1126, wherein a curve rounds off to a maximum brightness level 1125, such as described above for other embodiments. A curve may be selected from this set of target tone curves based on image characteristics. For example, and not by way of limitation, an image with many very dark pixels may benefit from a lower black level and curve 1128, with a dimmed backlight and lower black level, may be selected for this image. An image with many bright pixel values may influence selection of curve 1127, with a higher maximum brightness 1124. Each frame of a video sequence may influence selection of a different target tone curve. In not managed, use of different tone curves may cause flicker and unwanted artifacts in the sequence. However, the common region 1123, shared by all target tone curves of these embodiments serves to stabilize temporal effects and reduce flicker and similar artifacts.
Some embodiments of the present invention may be described in relation to FIG. 65. In these embodiments, a set of target tone curves, such as target tone curve 1105 may be generated. These target tone curves may comprise different black level transition regions 1102, which may correspond to different backlight brightness levels. This set of target tone curves also comprises an enhanced common region 1101 in which all curves in the set share the same mapping. In some embodiments, these curves may also comprise brightness round-off curves 1103 that transition from the common region to a maximum brightness level. In an exemplary enhanced target tone curve 1109, the curve may begin at black level point 1105 and transition to the enhanced common region 1101, the curve may then transition from the enhanced common region to maximum brightness level 1106 with a round-off curve. In some embodiments, the brightness round-off curve may not be present. These embodiments differ from those described with reference to FIG. 65 in that the common region is above the panel tone curve. This maps input pixel values to higher output values thereby brightening the displayed image. In some embodiments, a set of enhanced target tone curve may be generated and selectively used for frames of an image sequence. These embodiments share the common region the serves to reduce flicker and similar artifacts. In some embodiments, a set of target tone curves and a set of enhanced target tone curves may be calculated and stored for selective use depending on image characteristics and/or performance goals.
Some embodiments of the present invention may be described in relation to FIG. 66. In the methods of FIG. 66, target tone curve parameters are determined 1050. In some embodiments, these parameters may comprise a maximum target panel output, a target contrast ratio and or a target panel gamma value. Other parameters may also be used to define a target tone curve that may be used to adjust or compensate an image to produce a performance goal.
In these embodiments, a panel tone curve 1051 may also be calculated. A panel tone curve is shown to illustrate the differences between typical panel output and a target tone curve. A panel tone curve 1051 relates characteristics of the display panel to be used for display and may be used to create a reference image from which error or distortion measurements may be made. This curve 1051 may be calculated based on a maximum panel output, M, and a panel contrast ratio, CR for a given display. In some embodiments, this curve may be based on a maximum panel output, M, a panel contrast ratio, CR, a panel gamma value, γ, and image code values, c.
One or more target tone curves (TTCs) may be calculated 1052. In some embodiments, a family of TTCs may be calculated with each member of the family being based on a different backlight level. In other embodiments, other parameters may be varied. In some embodiments, the target tone curve may be calculated using a maximum target output, M, and a target contrast ratio, CR. In some embodiments, this target tone curve may be based on a maximum target output, M, a target contrast ratio, CR, a display gamma value, γ, and image code values, c. In some embodiments, the target tone curve may represent desired modifications to the image. For example, a target tone curve may represent one or more of a lower black level, brighter image region, compensated region, and/or a round-off curve. A target tone curve may be represented as a look-up-table (LUT), may be calculated via hardware or software or may be represented by other means.
A backlight brightness level may be determined 105. In some embodiments, the backlight level selection may be influenced by performance goals, such as power savings, black level criteria or other goals. In some embodiments, the backlight level may be determined so as to minimize distortion or error between a processed or enhanced image and an original image as displayed on a hypothetical reference display. When image values are predominantly very dark, a lower backlight level may be most appropriate for image display. When image values are predominantly bright, a higher backlight level may be the best choice for image display. In some embodiments an image processed with the panel tone curve may be compared to images processed with various TTCs to determine an appropriate TTC and a corresponding backlight level.
In some embodiments of the present invention, specific performance goals may also be considered in backlight selection and image compensation selection methods. For example, when power savings has been identified as a performance goal, lower backlight levels may have a priority over image characteristic optimization. Conversely, when image brightness is the performance goal, lower backlight levels may have lower priority.
A backlight level may be selected 1053 so as to minimize the error or distortion of an image with respect to the target tone curve, a hypothetical reference display or some other standard. In some embodiments, methods disclosed in U.S. patent application Ser. No. 11/460,768, entitled “Methods and Systems for Distortion-Related Source Light Management,” filed Jul. 28, 2006, which is hereby incorporated herein by reference, may be used to select backlight levels and compensation methods.
After target tone curve calculation, an image may be adjusted or compensated 1054 with the target tone curve to achieve performance goals or compensate for a reduced backlight level. This adjustment or compensation may be performed with reference to the target tone curve.
After backlight selection 1053 and compensation or adjustment 1054, the adjusted or compensated image may be displayed with the selected backlight level 1055.
Some embodiments of the present invention may be described with reference to FIG. 67. In these embodiments, an image enhancement or processing goal is established 1060. This goal may comprise power savings, a lower black level, image brightening, tone scale adjustment or other processing or enhancement goals. Based on the processing or enhancement goal, target tone curve parameters may be selected 1061. In some embodiments, parameter selection may be automated and based on the enhancement or processing goals. In some exemplary embodiments, these parameters may comprise a maximum target output, M, and a target contrast ratio, CR. In some exemplary embodiments, these parameters may comprise a maximum target output, M, a target contrast ratio, CR, a display gamma value, γ, and image code values, c.
A target tone curve (TTC) may be calculated 1062 based on the selected target tone curve parameters. In some embodiments, a set of TTCs may be calculated. In some embodiments, the set may comprise curves corresponding to varying backlight levels, but with common TTC parameters. In other embodiments, other parameters may be varied.
A backlight brightness level may be selected 1063. In some embodiments, the backlight level may be selected with reference to image characteristics. In some embodiments, the backlight level may be selected based on a performance goal. In some embodiments, the backlight level may be selected based on performance goals and image characteristics. In some embodiments, the backlight level may be selected by selecting a TTC that matches a performance goal or error criterion and using the backlight level that corresponds to that TTC.
Once a backlight level is selected 1063, a target tone curve corresponding to that level is selected by association. The image may now be adjusted, enhanced or compensated 1064 with the target tone curve. The adjusted image may then be displayed 1065 on the display using the selected backlight level.
Some embodiments of the present invention may be described with reference to FIG. 68. In these embodiments, image display performance goals are identified 1070. This may be performed through a user interface whereby a user selects performance goals directly. This may also be performed through a user query whereby a user identifies priorities from which performance goals are generated. A performance goal may also be identified automatically based on image analysis, display device characteristics, device usage history or other information.
Based on the performance goal, target tone curve parameters may be automatically selected or generated 1071. In some exemplary embodiments, these parameters may comprise a maximum target output, M, and a target contrast ratio, CR. In some exemplary embodiments, these parameters may comprise a maximum target output, M, a target contrast ratio, CR, a display gamma value, γ, and image code values, c.
One or more target tone curves may be generated 1072 from the target tone curve parameters. A target tone curve may be represented as an equation, a series of equations, a table (e.g., LUT) or some other representation.
In some embodiments, each TTC will correspond to a backlight level. A backlight level may be selected 1073 by finding the corresponding TTC that meets a criterion. In some embodiments, a backlight selection may be made by other methods. If a backlight is selected independently of the TTC, the TTC corresponding to that backlight level may also be selected.
Once a final TTC is selected 1073, it may be applied 1074 to an image to enhance, compensate or otherwise process the image for display. The processed image may then be displayed 1075.
Some embodiments of the present invention may be described with reference to FIG. 69. In these embodiments, image display performance goals are identified 1080. This may be performed through a user interface whereby a user selects performance goals directly. This may also be performed through a user query whereby a user identifies priorities from which performance goals are generated. A performance goal may also be identified automatically based on image analysis, display device characteristics, device usage history or other information. Image analysis may also be performed 1081 to identify image characteristics.
Based on the performance goal, target tone curve parameters may be automatically selected or generated 1082. A backlight level, which may be directly identified or may be implied via a maximum display output value and a contrast ratio, may also be selected. In some exemplary embodiments, these parameters may comprise a maximum target output, M, and a target contrast ratio, CR. In some exemplary embodiments, these parameters may comprise a maximum target output, M, a target contrast ratio, CR, a display gamma value, γ, and image code values, c.
A target tone curve may be generated 1083 from the target tone curve parameters. A target tone curve may be represented as an equation, a series of equations, a table (e.g., LUT) or some other representation. Once this curve is generated 1083, it may be applied 1084 to an image to enhance, compensate or otherwise process the image for display. The processed image may then be displayed 1085.
Color Enhancement and Brightness Enhancement
Some embodiments of the present invention comprise color enhancement and brightness enhancement or preservation. In these embodiments, specific color values, ranges or regions may be modified to enhance color aspects along with brightness enhancement or preservation. In some embodiments these modifications or enhancements may be performed on a low-pass (LP) version of an image. In some embodiments, specific color enhancement processes may be used.
Some embodiments of the present invention may be described with reference to FIG. 70. In these embodiments, an image 1130 may be filtered 1131 with a low-pass (LP) filter to produce an LP image 1125. This LP image 1125 may be subtracted 1134 or otherwise combined with the original image 1130 to produce a high-pass (HP) image 1135. The LP image may then be processed with a tonescale process 1133, such as a brightness preservation (BP) process or a similar process for brightening image features, compensating for a reduced backlight level or otherwise modifying the LP image 1125 as described above in relation to other embodiments. The resulting processed LP image may then be combined with the HP image 1135 to produce a tonescale enhanced image, which may then be processed with a bit-depth extension (BDE) process 1139. In the BDE process 1139, specially-designed noise patterns or dither patterns may be applied to the image to decrease susceptibility to contouring artifacts from subsequent processing that reduce image bit-depth. Some embodiments may comprise a BDE process as described in U.S. patent application Ser. No. 10/775,012, entitled “Methods and Systems for Adaptive Dither Structures,” filed Feb. 9, 2004 and invented by Scott J. Daly and Xiao-Fan Feng, said application is hereby incorporated herein by reference. Some embodiments may comprise a BDE process as described in U.S. patent application Ser. No. 10/645,952, entitled “Systems and Methods for Dither Structure Creation and Application,” filed Aug. 22, 2003 and invented by Xiao-Fan Feng and Scott J. Daly, said application is incorporated herein by reference. Some embodiments may comprise a BDE process as described in U.S. patent application Ser. No. 10/676,891, entitled “Systems and Methods for Multi-Dimensional Dither Structure Creation and Application,” filed Sep. 30, 2003 and invented by Xiao-Fan Feng and Scott J. Daly, said application is incorporated herein by reference. The resulting BDE-enhanced image 1129 may then be displayed or further processed. The BDE-enhanced image 1129 will be less-likely to show contouring artifacts when its bit-depth is reduced as explained in the applications, which are incorporated by reference above.
Some embodiments of the present invention may be described with reference to FIG. 71. In these embodiments, an image 1130 may be low-pass (LP) filtered 1131 to create an LP version of the image. This LP version may be sent to a color enhancement module 1132 for processing. The color enhancement module 1132 may comprise color detection functions, color map refinement functions, color region processing functions and other functions. In some embodiments, color enhancement module 1132 may comprise skin-color detection functions, skin-color map refinement functions and skin-color region processing as well as non-skin-color region processing. Functions in the color enhancement module 1132 may result in modified color values for image elements, such as pixel intensity values.
After color modification, the color-modified LP image may be sent to a brightness preservation or brightness enhancement module 1133. This module 1133 is similar to many embodiments described above in which image values are adjusted or modified with a tonescale curve or similar method to improve brightness characteristics. In some embodiments, the tonescale curve may be related to a source light or backlight level. In some embodiments, the tonescale curve may compensate for a reduced backlight level. In some embodiments, the tonescale curve may brighten the image or otherwise modify the image independently of any backlight level.
The color-enhanced, brightness-enhanced image may then be combined with a high-pass (HP) version of the image. In some embodiments, the HP version of the image may be created by subtracting 1134 the LP version from the original image 1130, resulting in a HP version of the image 1135. The combination 1137 of the color-enhanced, brightness-enhanced image and the HP version of the image 1135 produces an enhanced image 1138.
Some embodiments of the present invention may comprise image-dependent backlight selection and/or a separate gain process for the HP image. These two additional elements are independent, separable elements, but will be described in relation to an embodiment comprising both elements as illustrated in FIG. 72. In this exemplary embodiment, an image 1130 may be input to a filter module 1131 where an LP image 1145 may be produced. The LP image 1145 may then be subtracted from the original image 1130 to produce an HP image 1135. The LP image 1145 may also be sent to a color enhancement module 1132. In some embodiments, the original image 1130 may also be sent to a backlight selection module 1140 for use in determining a backlight brightness level.
The color enhancement module 1132 may comprise color detection functions, color map refinement functions, color region processing functions and other functions. In some embodiments, color enhancement module 1132 may comprise skin-color detection functions, skin-color map refinement functions and skin-color region processing as well as non-skin-color region processing. Functions in the color enhancement module 1132 may result in modified color values for image elements, such as pixel intensity values.
A brightness preservation (BP) or brightness enhancement tonescale module 1141 may receive the LP image 1145 for processing with a tonescale operation. The tonescale operation may depend on backlight selection information received from the backlight selection module 1140. When brightness preservation is achieved with the tonescale operation, backlight selection information is useful in determining the tonescale curve. When only brightness enhancement is performed without backlight compensation, backlight selection information may not be needed.
The HP image 1135 may also be processed in an HP gain module 1136 using methods described above for similar embodiments. Gain processing in the HP gain module will result in a modified HP image 1147. The modified LP image 1146 resulting from tonescale processing in the tonescale module 1141 may then be combined 1142 with the modified HP image 1147 to produce an enhanced image 1143
The enhanced image 1143 may be displayed on a display using backlight modulation with a backlight 1144 that has received backlight selection data from the backlight selection module 1140. Accordingly, an image may be displayed with a reduced or otherwise modulated backlight setting, but with modified image values that compensate for the backlight modulation. Similarly, a brightness enhanced image comprising LP tonescale processing and HP gain processing may be displayed with full backlight brightness.
Some embodiments of the present invention may be described with reference to FIG. 73. In these embodiments, an original image 1130 is input to a filter module 1150, which may generate an LP image 1155. In some embodiments, the filter module may also generate a histogram 1151. The LP image 1155 may be sent to the color enhancement module 1156 as well as a subtraction process 1157, where the LP image 1155 will be subtracted from the original image 1130 to form an HP image 1158. In some embodiments, the HP image 1158 may also be subjected to a coring process 1159, wherein some high-frequency elements are removed from the HP image 1158. This coring process will result in a cored HP image 1160, which may then be processed 1161 with a gain map 1162 to achieve brightness preservation, enhancement or other processes as described above for other embodiments. The gain mapping process 1161 will result in a gain-mapped HP image 1168.
The LP image 1155, sent to the color enhancement module 1156, may be processed therein with color detection functions, color map refinement functions, color region processing functions and other functions. In some embodiments, color enhancement module 1156 may comprise skin-color detection functions, skin-color map refinement functions and skin-color region processing as well as non-skin-color region processing. Functions in the color enhancement module 1156 may result in modified color values for image elements, such as pixel intensity values, which may be recorded as a color-enhanced LP image 1169.
The color-enhanced LP image 1169 may then be processed in a BP tonescale or enhancement tonescale module 1163. A brightness preservation (BP) or brightness enhancement tonescale module 1163 may receive the color-enhanced LP image 1169 for processing with a tonescale operation. The tonescale operation may depend on backlight selection information received from the backlight selection module 1154. When brightness preservation is achieved with the tonescale operation, backlight selection information is useful in determining the tonescale curve. When only brightness enhancement is performed without backlight compensation, backlight selection information may not be needed. The tonescale operation performed within the tonescale module 1163 may be dependent on image characteristics, performance goals of the application and other parameters regardless of backlight information.
In some embodiments, the image histogram 1151 may be delayed 1152 to allow time for the color enhancement 1156 and tonescale 1163 modules to perform their functions. In these embodiments, the delayed histogram 1153 may be used to influence backlight selection 1154. In some embodiments, the histogram from a previous frame may be used to influence backlight selection 1154. In some embodiments, the histogram from two frames back from the current frame may be used to influence backlight selection 1154. Once backlight selection is performed the backlight selection data may be used by the tonescale module 1163.
Once the color-enhanced LP image 1169 is processed through the tonescale module 1163, the resulting color-enhanced, brightness-enhanced LP image 1176 may be combined 1164 with the gain-mapped HP image 1168. In some embodiments, this process 1164 may be an addition process. In some embodiments, the combined, enhanced image 1177 resulting from this combination process 1164 will be the final product for image display. This combined, enhanced image 1177 may be displayed on a display using a backlight 1166 modulated with a backlight setting received from the backlight selection module 1154.
Some color enhancement modules of the present invention may be described with reference to FIG. 74. In these embodiments, an LP image 1170 may be input to a color enhancement module 1171. Various processes may be applied to the LP image 1170 in the color enhancement module 1171. A skin-color detection process 1172 may be applied to the LP image 1170. A skin-color detection process 1172 may comprise analysis of the color of each pixel in the LP image 1170 and assignment of a skin-color likelihood value based on the pixel color. This process may result in a skin-color likelihood map. In some embodiments, a look-up table (LUT) may be used to determine the likelihood that a color is a skin color. Other methods may also be used to determine a skin-color likelihood. Some embodiments may comprise skin color detection methods described above and in other applications that are incorporated herein by reference.
The resulting skin-color likelihood map may be processed by a skin-color map refinement process 1173. The LP image 1170 may also be input to or accessed by this refinement process 1173. In some embodiments, this refinement process 1173 may comprise an image-driven, non-linear low-pass filter. In some embodiments, the refinement process 1173 may comprise an averaging process applied to the skin-color map value when the corresponding image color value is within a specific color-space-distance to a neighboring pixel's color value and when the image pixel and the neighboring pixel are within a specific spatial distance. The skin-color map modified or refined by this process may then be used to identify a skin-color region in the LP image. A region outside the skin-color region may also be identified as a non-skin-color region.
In the color enhancement module 1171, the LP image 1170 may then be differentially processed by applying a color modification process 1174 to the skin-color region only. In some embodiments, a color modification process 1174 may be applied only to the non-skin-color region. In some embodiments, a first color modification process may be applied to the skin-color region and a second color modification process may be applied to the non-skin-color region. Each of these color modification processes will result in a color-modified or enhanced LP image 1175. In some embodiments, the enhanced LP image may be further processed in a tonescale module, e.g. BP or enhancement tonescale module 1163.
Some embodiments of the present invention may be described with reference to FIG. 75. In these embodiments, an image 1130 may be low-pass (LP) filtered 1131 to create an LP version of the image. This LP version may be sent to a color enhancement module 1132 for processing. The color enhancement module 1132 may comprise color detection functions, color map refinement functions, color region processing functions and other functions. In some embodiments, color enhancement module 1132 may comprise skin-color detection functions, skin-color map refinement functions and skin-color region processing as well as non-skin-color region processing. Functions in the color enhancement module 1132 may result in modified color values for image elements, such as pixel intensity values.
After color modification, the color-modified LP image may be sent to a brightness preservation or brightness enhancement module 1133. This module 1133 is similar to many embodiments described above in which image values are adjusted or modified with a tonescale curve or similar method to improve brightness characteristics. In some embodiments, the tonescale curve may be related to a source light or backlight level. In some embodiments, the tonescale curve may compensate for a reduced backlight level. In some embodiments, the tonescale curve may brighten the image or otherwise modify the image independently of any backlight level.
The color-enhanced, brightness-enhanced image may then be combined with a high-pass (HP) version of the image. In some embodiments, the HP version of the image may be created by subtracting 1134 the LP version from the original image 1130, resulting in a HP version of the image 1135. The combination 1137 of the color-enhanced, brightness-enhanced image and the HP version of the image 1135 produces an enhanced image 1138.
In these embodiments a bit-depth extension (BDE) process 1139 may be performed on the enhanced image 1138. This BDE process 1139 may reduce the visible artifacts that occur when bit-depth is limited. Some embodiments may comprise BDE processes as described in patent applications mentioned above that are incorporated herein by reference.
Some embodiments of the present invention may be described with reference to FIG. 76. These embodiments are similar to those described with reference to FIG. 73, but comprise additional bit-depth extension processing.
In these embodiments, an original image 1130 is input to a filter module 1150, which may generate an LP image 1155. In some embodiments, the filter module may also generate a histogram 1151. The LP image 1155 may be sent to the color enhancement module 1156 as well as a subtraction process 1157, where the LP image 1155 will be subtracted from the original image 1130 to form an HP image 1158. In some embodiments, the HP image 1158 may also be subjected to a coring process 1159, wherein some high-frequency elements are removed from the HP image 1158. This coring process will result is a cored HP image 1160, which may then be processed 1161 with a gain map 1162 to achieve brightness preservation, enhancement or other processes as described above for other embodiments. The gain mapping process 1161 will result in a gain-mapped HP image 11168.
The LP image 1155, sent to the color enhancement module 1156, may be processed therein with color detection functions, color map refinement functions, color region processing functions and other functions. In some embodiments, color enhancement module 1156 may comprise skin-color detection functions, skin-color map refinement functions and skin-color region processing as well as non-skin-color region processing. Functions in the color enhancement module 1156 may result in modified color values for image elements, such as pixel intensity values, which may be recorded as a color-enhanced LP image 1169.
The color-enhanced LP image 1169 may then be processed in a BP tonescale or enhancement tonescale module 1163. A brightness preservation (BP) or brightness enhancement tonescale module 1163 may receive the color-enhanced LP image 1169 for processing with a tonescale operation. The tonescale operation may depend on backlight selection information received from the backlight selection module 1154. When brightness preservation is achieved with the tonescale operation, backlight selection information is useful in determining the tonescale curve. When only brightness enhancement is performed without backlight compensation, backlight selection information may not be needed. The tonescale operation performed within the tonescale module 1163 may be dependent on image characteristics, performance goals of the application and other parameters regardless of backlight information.
In some embodiments, the image histogram 1151 may be delayed 1152 to allow time for the color enhancement 1156 and tonescale 1163 modules to perform their functions. In these embodiments, the delayed histogram 1153 may be used to influence backlight selection 1154. In some embodiments, the histogram from a previous frame may be used to influence backlight selection 1154. In some embodiments, the histogram from two frames back from the current frame may be used to influence backlight selection 1154. Once backlight selection is performed the backlight selection data may be used by the tonescale module 1163.
Once the color-enhanced LP image 1169 is processed through the tonescale module 1163, the resulting color-enhanced, brightness-enhanced LP image 1176 may be combined 1164 with the gain-mapped HP image 1168. In some embodiments, this process 1164 may be an addition process. In some embodiments, the combined, enhanced image 1177 resulting from this combination process 1164 may be processed with a bit-depth extension (BDE) process 1165. This BDE process 1165 may reduce the visible artifacts that occur when bit-depth is limited. Some embodiments may comprise BDE processes as described in patent applications mentioned above that are incorporated herein by reference.
After BDE processing 1165, enhanced image 1169 may be displayed on a display using a backlight 1166 modulated with a backlight setting received from the backlight selection module 1154.
Some embodiments of the present invention may be described with reference to FIG. 77. In these embodiments, an image 1180 may be filtered 1181 with a low-pass (LP) filter to produce an LP image 1183. This LP image 1183 may be subtracted 1182 or otherwise combined with the original image 1180 to produce a high-pass (HP) image 1189. The LP image may then be processed with a color enhancement module 1184. In the color enhancement module 1184, various processes may be applied to the LP image. A skin-color detection process 1185 may be applied to the LP image 1183. A skin-color detection process 1185 may comprise analysis of the color of each pixel in the LP image 1183 and assignment of a skin-color likelihood value based on the pixel color. This process may result in a skin-color likelihood map. In some embodiments, a look-up table (LUT) may be used to determine the likelihood that a color is a skin color. Other methods may also be used to determine a skin-color likelihood. Some embodiments may comprise skin-color detection methods described above and in other applications that are incorporated herein by reference.
The resulting skin-color likelihood map may be processed by a skin-color map refinement process 1186. The LP image 1183 may also be input to or accessed by this refinement process 1186. In some embodiments, this refinement process 1186 may comprise an image-driven, non-linear low-pass filter. In some embodiments, the refinement process 1186 may comprise an averaging process applied to values in the skin-color map when the corresponding image color value is within a specific color-space-distance to a neighboring pixel's color value and when the image pixel and the neighboring pixel are within a specific spatial distance. The skin-color map modified or refined by this process may then be used to identify a skin-color region in the LP image. A region outside the skin-color region may also be identified as a non-skin-color region.
In the color enhancement module 1184, the LP image 1183 may then be differentially processed by applying a color modification process 1187 to the skin-color region only. In some embodiments, a color modification process 1187 may be applied only to the non-skin-color region. In some embodiments, a first color modification process may be applied to the skin-color region and a second color modification process may be applied to the non-skin-color region. Each of these color modification processes will result in a color-modified or enhanced LP image 1188.
This enhanced LP image 1188 may then be added or otherwise combined with the HP image 1189 to produce an enhanced image 1192.
Some embodiments of the present invention may be described with reference to FIG. 78. In these embodiments, an image 1180 may be filtered 1181 with a low-pass (LP) filter to produce an LP image 1183. This LP image 1183 may be subtracted 1182 or otherwise combined with the original image 1180 to produce a high-pass (HP) image 1189. The LP image may then be processed with a color enhancement module 1184. In the color enhancement module 1184, various processes may be applied to the LP image. A skin-color detection process 1185 may be applied to the LP image 1183. A skin-color detection process 1185 may comprise analysis of the color of each pixel in the LP image 1183 and assignment of a skin-color likelihood value based on the pixel color. This process may result in a skin-color likelihood map. In some embodiments, a look-up table (LUT) may be used to determine the likelihood that a color is a skin color. Other methods may also be used to determine a skin-color likelihood. Some embodiments may comprise skin-color detection methods described above and in other applications that are incorporated herein by reference.
The resulting skin-color likelihood map may be processed by a skin-color map refinement process 1186. The LP image 1183 may also be input to or accessed by this refinement process 1186. In some embodiments, this refinement process 1186 may comprise an image-driven, non-linear low-pass filter. In some embodiments, the refinement process 1186 may comprise an averaging process applied to values in the skin-color map when the corresponding image color value is within a specific color-space-distance to a neighboring pixel's color value and when the image pixel and the neighboring pixel are within a specific spatial distance. The skin-color map modified or refined by this process may then be used to identify a skin-color region in the LP image. A region outside the skin-color region may also be identified as a non-skin-color region.
In the color enhancement module 1184, the LP image 1183 may then be differentially processed by applying a color modification process 1187 to the skin-color region only. In some embodiments, a color modification process 1187 may be applied only to the non-skin-color region. In some embodiments, a first color modification process may be applied to the skin-color region and a second color modification process may be applied to the non-skin-color region. Each of these color modification processes will result in a color-modified or enhanced LP image 1188.
This enhanced LP image 1188 may then be added or otherwise combined with the HP image 1189 to produce an enhanced image, which may then be processed with a bit-depth extension (BDE) process 1191. In the BDE process 1191, specially-designed noise patterns or dither patterns may be applied to the image to decrease susceptibility to contouring artifacts from subsequent processing that reduce image bit-depth. Some embodiments may comprise BDE processes as described in patent applications mentioned above that are incorporated herein by reference. The resulting BDE-enhanced image 1193 may then be displayed or further processed. The BDE-enhanced image 1193 will be less-likely to show contouring artifacts when its bit-depth is reduced as explained in the applications, which are incorporated by reference above.
Some embodiments of the present invention comprise details of implementing high quality backlight modulation and brightness preservation under the constraints of hardware implementation. These embodiments may be described with reference to embodiments illustrated in FIGS. 73 and 76.
Some embodiments comprise elements that reside in the backlight selection 1154 and BP tonescale 1163 blocks in FIGS. 73 and 76. Some of these embodiments may reduce memory consumption and real-time computation demands.
Histogram Calculation
In these embodiments, the histogram is calculated on image code values rather than luminance values. Thus no color conversion is needed. In some embodiments, the initial algorithm may calculate the histogram on all samples of an image. In these embodiments, the histogram calculation cannot be completed until the last sample of the image is received. All samples must be obtained and the histogram must be completed before the backlight selection and compensating tone curve design can be done.
These embodiments have several complexity issues:

    
    
        Need for a frame buffer as the first pixel cannot be compensated until the histogram is completed—RAM
        Little time is available for the histogram and backlight selection calculations as other functional elements are stalled waiting for results—Computation
        Large number of image samples which must be processed to compute a histogram on all image samples—Computation
        For 10-bit image data, a 10-bit histogram requires a relatively large memory for holding data and large number of points to be examined in the distortion optimization—RAM and Computation
    
    


Some embodiments of the present invention comprise techniques for overcoming these issues. To eliminate the need for a frame buffer, the histogram of a prior frame may be used as input to the backlight selection algorithm. The histogram from frame n is used as input for frame n+1, n+2 or another subsequent frame thereby eliminating the need for a frame buffer.
To allow time for computation, the histogram may be delayed one or more additional frames so the histogram from frame n is used as input for backlight selection of frame n+2, n+3, etc. This allows the backlight selection algorithm time from the end of frame n to the start of a subsequent frame, e.g., n+2, to calculate.
In some embodiments, a temporal filter on the output of the backlight selection algorithm may be used to reduce the sensitivity to this frame delay in backlight selection relative to the input frame.
To reduce the number of samples which must be processed in computing each histogram, some embodiments may use a block rather than individual pixels. For each color plane and each block, the maximum sample is computed. The histogram may be computed on these block maximums. In some embodiments, the maximum is still computed on each color plane. Thus an image with M blocks will have 3-M inputs to the histogram.
In some embodiments, the histogram may be computed on input data quantized to a small bit range i.e. 6-bits. In these embodiments, the RAM required for holding the histogram is reduced. Also, in distortion-related embodiments, the operations needed for the distortion search are reduced as well.
A exemplary histogram calculation embodiment is described below in the form of code as Function 1.










Function 1















/************************************************************


*************/


//


ComputeHistogram


// Comutes histogram based on maximum on block


// block size and histogram bitdepth set in defines


// Relevant Globals


// gHistogramBlockSize


// gN_HistogramBins


// N_PIPELINE_CODEVALUES


/************************************************************


*************/


void ComputeHistogram(SHORT *pSource[NCOLORS],IMAGE_SIZE


size, UINT32 *pHistogram)


{


 SHORT cv;


 SHORT bin;


 SHORT r,c,k;


 SHORT block;


 SHORT cvMax;


 SHORT BlockRowCount;


 SHORT nHistogramBlocksWide;


 nHistogramBlocksWide=size.width/gHistogramBlockSize;


 /* Clear histogram */


 for(bin=0;bin<gN_HistogramBins;bin++)


 pHistogram[bin]=0;


 // use max over block for histogram don't mix colors


 // track max in each scan line of block and do max over scanlines


 // initialize


 BlockRowCount=0;


 for(k=0;k<NCOLORS;k++)


 for(block=0;block<nHistogramBlocksWide;block++)


  MaxBlockCodeValue[k][block]=0;


 for(r=0;r<size.height;r++)


 {


 // single scan line


 for(c=0;c<size.width;c++)


 {


  block=c/gHistogramBlockSize;


  for(k=0;k<NCOLORS;k++)


  {


  cv=pSource[k][r*size.width+c];


  if(cv>MaxBlockCodeValue[k][block])


   MaxBlockCodeValue[k][block]=cv;


  }


 }


 // Finished line of blocks?


 if(r==(gHistogramBlockSize*(BlockRowCount+1)−1))


 {


  // update histogram and advance BlockRowCount


  for(k=0;k<NCOLORS;k++)


  for(block=0;block<nHistogramBlocksWide;block++)


  {


   cvMax=MaxBlockCodeValue[k][block];


bin=(SHORT)((cvMax*(int)gN_HistogramBins+


(N_PIPELINE_CODEVALUES/2))/


((SHORT)N_PIPELINE_CODEVALUES));


   pHistogram[bin]++;


  }


  BlockRowCount=BlockRowCount+1;


  // reset maximums


  for(k=0;k<NCOLORS;k++)


  for(block=0;block<nHistogramBlocksWide;block++)


   MaxBlockCodeValue[k][block]=0;


 }


 }


 return;


}









Target and Actual Display Models

In some embodiments, the distortion and compensation algorithms depend upon a power function used to describe the target and reference displays. This power function or “gamma” may be calculated off-line in integer representation. In some embodiments, this real-time calculation may utilize pre-computed integer values of the gamma power function. Sample code, listed below as Function 2, describes an exemplary embodiment.










Function 2















void InitPowerOfGamma(void)


{


 int i;


 //Init ROM table here


 for(i=0;i<N_PIPELINE_CODEVALUES;i++)


 {


 PowerOfGamma[i]=pow(i/((double)N_PIPELINE_CODEVALUES−1 ),


 GAMMA);


IntPowerOfGamma[i]=(UINT32)((1<<N_BITS_INT_GAMMA)*


PowerOfGamma[i]+0.5);


 }


 return;


}









In some embodiments, both the target and actual displays may be modeled with a two parameter GOG-F model which is used in real-time to control the distortion based backlight selection process and the backlight compensation algorithm. In some embodiments, both the target (reference) display and the actual panel may be modeled as having a 2.2 gamma power rule with an additive offset. The additive offset may determine the contrast ratio of the display.
Calculation of Distortion Weights
In some embodiments, for each backlight level and input image, the distortion between the desired output image and the output at a given backlight level may be computed. The result is a weight for each histogram bin and each backlight level. By computing the distortion weights only for the needed backlight levels the size of the RAM used is kept to a minimum or a reduced level. In these embodiments, the on-line computation allows the algorithm to adapt to different choices of reference or target display. This computation involves two elements, the image histogram and a set of distortion weights. In other embodiments, the distortion weights for all possible backlight values were computed off-line and stored in ROM. To reduce the ROM requirements, the distortion weights can be calculated for each backlight level of interest for each frame. Given the desired and panel display models and a list of backlight levels, the distortion weights for these backlight levels may be computed for each frame. Sample code for an exemplary embodiment is shown below as Function 3.










Function 3















/*****************************************************************


// void ComputeBackLightDistortionWeight


// computes distoriton needs large bitdepth


// comutes distortion weights for a list of selected backlight levels and panel parameters


// Relevant Globals


// MAX_BACKLIGHT_SEARCH


// N_BITS_INT_GAMMA


// N_PIPELINE_CODEVALUES


// IntPowerOfGamma


// gN_HistogramBins


******************************************************************************


************/


void ComputeBackLightDistortionWeight(SHORT nBackLightsSearched,









SHORT BlackWeight,



SHORT WhiteWeight,



SHORT PanelCR,



SHORT TargetCR,



SHORT BackLightLevelReference,



SHORT







BackLightLevelsSearched[MAX_BACKLIGHT_SEARCH])


{


 SHORT b;


 SHORT bin;


 SHORT cvL,cvH;


 _int64 X,Y,D,Dmax;


 Dmax=(1<<30);


 Dmax=Dmax*Dmax;


 for(b=0;b<nBackLightsSearched;b++)


 {


 SHORT r,q;


 r=N_PIPELINE_CODEVALUES/gN_HistogramBins;


 // find low and high code values for each backlight searched


 // PanelOutput=BackLightSearched*((1−PanelFlare)*y{circumflex over ( )}Gamma+PanelFlare)


 // TargetOutput=BackLightLevelReference*((1−TargetFlare)*x{circumflex over ( )}Gamma+TargetFlare)


 // for cvL, find x such that minimum paneloutput is achieved on targetoutput


 // TargetOutput(cvL)=min(PanelOutput)=BackLightSearched*PanelFlare


 // BackLightLevelReference*((1−


TargetFlare)*cvL{circumflex over ( )}Gamma+TargetFlare)=BackLightSearched/PanelCR


 // BackLightLevelReference/TargetCR*((TargetCR−


1)*cvL{circumflex over ( )}Gamma+1)=BackLightSearched/PanelCR


 // PanelCR*BackLightLevelReference*((TargetCR−


1)*cvL{circumflex over ( )}Gamma+1)=TargetCR*BackLightSearched


 // PanelCR*BackLightLevelReference*((TargetCR−


1)*IntPowerOfGamma[cvL]+(1<<N_BITS_INT_GAMMA))=TargetCR*BackLightSearched*


(1<<N_BITS_INT_GAMMA))


 X=TargetCR;


 X=X*BackLightLevelsSearched[b];


 X=X*(1<<N_BITS_INT_GAMMA);


 for(cvL=0;cvL<N_PIPELINE_CODEVALUES;cvL++)


 {


  Y=IntPowerOfGamma[cvL];


  Y=Y*(TargetCR−1);


  Y=Y+(1<<N_BITS_INT_GAMMA);


  Y=Y*BackLightLevelReference;


  Y=Y*PanelCR;


  if(X<=Y)


  break;


 }


 // for cvH, find x such that maximum paneloutput is achieved on targetoutput


 // TargetOutput(cvH)=max(PanelOutput)=BackLightSearched*1


 // BackLightLevelReference*((1−


TargetFlare)*cvH{circumflex over ( )}Gamma+TargetFlare)=BackLightSearched


 // BackLightLevelReference/TargetCR*((TargetCR−


1)*cvH{circumflex over ( )}Gamma+1)=BackLightSearched


 // BackLightLevelReference((TargetCR−


1)*cvH{circumflex over ( )}Gamma+1)=TargetCR*BackLightSearched


 // BackLightLevelReference((TargetCR−


1)*IntPowerOfGamma[cvH]+(1<<N_BITS_INT_GAMMA))=TargetCR*BackLightSearched*


(1<<N_BITS_INT_GAMMA)


 X=TargetCR;


 X=X*BackLightLevelsSearched[b];


 X=X*(1<<N_BITS_INT_GAMMA);


 for(cvH=(N_PIPELINE_CODEVALUES−1);cvH>=0;cvH−−)


 {


  Y=IntPowerOfGamma[cvH];


  Y=Y*(TargetCR−1);


  Y=Y+(1<<N_BITS_INT_GAMMA);


  Y=Y*BackLightLevelReference;


  if(X>=Y)


  break;


 }


 // build distortion weights


 for(bin=0;bin<gN_HistogramBins;bin++)


 {


  SHORT k;


  D=0;


  for(q=0;q<r;q++)


  {


  k=r*bin+q;


  if(k<=cvL)


   D+=BlackWeight*(cvL − k)*(cvL − k);


  else if(k>=cvH)


   D+=WhiteWeight*(k−cvH)*(k−cvH);


  }


  if(D>Dmax)


  D=Dmax;


  gBackLightDistortionWeights[b][bin]=(UINT32)D;


  }


 }


 return;


}









Sub-Sampled Search for Backlight

In some embodiments, the backlight selection algorithm may comprise a process that minimizes the distortion between the target display output and the panel output at each backlight level. To reduce both the number of backlight levels which must be evaluated and the number of distortion weights which must be computed and stored, a subset of backlight levels may be used in the search.
In some embodiments, two exemplary methods of sub-sampling the search may be used. In the first method, the possible range of backlight levels is coarsely quantized, e.g., to 4 bits. This subset of quantized levels is searched for the minimum distortion. In some embodiments, the absolute minimum and maximum values may also be used for completeness. In a second method, a range of values around the backlight level found for the last frame is used. For instance +−4, +−2, +−1 and +0 from the backlight level of the last frame are searched together with the absolute minimum and maximum levels. In this latter method, limitations in the search range impose some limitation on the variation in selected backlight level. In some embodiments, scene cut detection is used to control the sub-sampling. Within a scene, the BL search centers a small search window around the backlight of the last frame. At a scene cut boundary, the search allocates a small number of points through out the range of possible BL values. Subsequent frames in the same scene use the prior method of centering the search around the BL of the previous frame unless another scene cut is detected.
Calculation of a Single BP Compensation Curve
In some embodiments, several different backlight levels may be used during operation. In other embodiments, compensating curves for an exhaustive set of backlight levels was computed off-line then stored in ROM for image compensation in real-time. This memory requirement may be reduced by noting that in each frame only a single compensating curve is needed. Thus, the compensating tone curve is computed and saved in RAM each frame. In some embodiments, the design of the compensating curve is as used in the offline design. Some embodiments may comprise a curve with linear boost up to a Maximum Fidelity Point (MFP) followed by a smooth roll-off as described above.
Temporal Filter
One concern in a system with backlight modulation is flicker. This may be reduced through the use of image processing compensation techniques. However, there are a few limitations to compensation which may result in artifacts if the backlight variation is rapid. In some situations, the black and white points track the backlight and cannot be compensated in all cases. Also, in some embodiments, the backlight selection may be based on data from a delayed frame and thus may differ from the actual frame data. To regulate black/white level flicker and allow the histogram to be delayed in the backlight computation, a temporal filter may be used to smooth the actual backlight value sent to the backlight control unit and the corresponding compensation.
Incorporating Brightness Changes
For various reasons, a user may wish to change the brightness of a display. An issue is how to do this within the backlight modulation environment. Accordingly, some embodiments may provide for manipulation of the brightness of the reference display leaving the backlight modulation and brightness compensation components unchanged. The code below, described as Function 4, illustrates an exemplary embodiment where the reference backlight index is either set to the maximum or set to a value dependent upon the average picture level (APL) if the APL is used to vary the maximum display brightness.










Function 4















/************************************************************


 if(gStoredMode)


 {


 BackLightIndexReference=N_BACKLIGHT_VALUES−1;


 }


 else


 {


 APL=ComputeAPL(pHistogram);


 // temporal filter APL


 if(firstFrame)


 {


  for(i=(APL_FILTER_LENGTH−1);i>=0;i−−)


  {


  APL_History[i]=APL;


  }


 }


 for(i=(APL_FILTER_LENGTH−1);i>=1;i−−)


 {


  APL_History[i]=APL_History[i−1];


 }


 APL_History[0]=APL;


 APL=0;


 for(i=0;i<APL_FILTER_LENGTH;i++)


  APL=APL+APL_History[i]*IntAplFilterTaps[i];


 APL=(APL+(1<<(APL_FILTER_SHIFT−1)))>>


 APL_FILTER_SHIFT;


 BackLightIndexReference=APL2BackLightIndex[APL];


 }









Weighted Error Vector Embodiments

Some embodiments of the present invention comprise methods and systems that utilize a weighted error vector to select a backlight or source light illumination level. In some embodiments, a plurality of source light illumination levels are selected from which a final selection may be made for illumination of a target image. A panel display model may then be used to calculate the display output for each of the source light illumination levels. In some embodiments, a reference display model or actual display model, as described in relation to previously described embodiments, may be used to determine display output levels. A target output curve may also be generated. Error vectors may then be determined for each source light illumination level by comparing the panel outputs to the target output curve.
A histogram of the image or a similar construct that enumerates image values may also be generated for a target image. Values corresponding to each image code value in the image histogram or construct may then be used to weight the error vectors for a particular image. In some embodiments, the number of hits in a histogram bin corresponding to a particular code value may be multiplied by the error vector value for that code value thereby creating a weighted, image-specific error vector value. A weighted error vector may comprise error vector values for each code value in an image. This image-specific, source-light-illumination-level-specific error vector may then be used as an indication of the error resulting from the use of the specified source light illumination level for that specific image.
Comparison of the error vector data for each source light illumination level may indicate which illumination level will result in the smallest error for that particular image. In some embodiments, the sum of the weighted error vector code values may be referred to as a weighted image error. In some embodiments, the light source illumination level corresponding to the smallest error, or smallest weighted image error, for a particular image may be selected for display of that image. In a video sequence, this process may be followed for each video frame resulting in a dynamic source light illumination level that may vary for each frame.
Aspects of some exemplary embodiments of the present invention may be described in relation to FIG. 79, which illustrates a target output curve 2000 and several display output curves 2002-2008. The target output curve 2000 represents a desired relationship between image code values (shown on the horizontal axis) and display output (shown on the vertical axis). Display output curves 2002-2008 are also shown for source light illumination levels from 25% to 100%. The display output curve for a 25% backlight is shown at 2002. The display output curve for a 50% backlight is shown at 2004. The display output curve for a 75% backlight is shown at 2006. The display output curve for a 100% backlight is shown at 2008. In some embodiments, the vertical difference between a display output curve 2002-2008 and the target output curve 2000 may represent, or be proportional to, an error value corresponding to the code value at that position. In some embodiments, the accumulation of these error values for a set of code values may be referred to as an error vector.
Aspects of some exemplary embodiments of the present invention may be described in relation to FIG. 80, which illustrates error vector plots for specific display light source illumination levels. The error vector plots in this figure correspond to the target and display output curves 2000-2008 of FIG. 79. The error vector plot for a 25% backlight is shown at 2016. The error vector plot for a 50% backlight is shown at 2014. The error vector plot for a 75% backlight is shown at 2012. The error vector plot for a 100% backlight is shown at 2010. In these exemplary embodiments shown in FIG. 80, a squared error value is used making all error values positive numbers. In other embodiments, error values may be determined by other methods, and, in some cases, negative error values may exist.
In some embodiments of the present invention, an error vector may be combined with image data to create image-specific error values. In some embodiments, an image histogram may be combined with one or more error vectors to create a histogram weighted error value. In some embodiments, the histogram bin count for a specific code value may be multiplied by the error value corresponding to that code value thereby yielding a histogram-weighted error value. The sum of all the histogram-weighted code values for an image at a given backlight illumination level may be referred to as a histogram-weighted error. A histogram weighted error may be determined for each of a plurality of backlight illumination levels. A backlight illumination level selection may be based on the histogram-weighted errors corresponding to the backlight illumination levels.
Aspects of some embodiments of the present invention may be described in relation to FIG. 81, which comprises a plot of histogram-weighted errors for various backlight illumination levels. A histogram-weighted error plot 2020 for a first image shows a steady decrease in error magnitude to a minimum value 2021 near the 86% illumination level after which the plot rises as backlight values increase. For this particular image, an illumination level around 86% provides the lowest error. Another plot 2022 for a second image decreases steadily to a second minimum value 2023, around the 95% illumination level, after which the plot rises as backlight values increase. For this second image, an illumination level around 95% provides the lowest error. In this manner, a backlight illumination level may be selected for a particular image once histogram-weighted errors are determined for various source light levels or backlight illumination levels.
Aspects of some embodiments of the present invention may be described in relation to FIG. 82. In these embodiments, an image 2030 is input to a histogram calculation process 2031, which generates an image histogram 2032. A display panel is also analyzed to determine error vector data 2033 for a plurality of backlight illumination levels. A weighted error 2035 may then be generated 2034 by combining the histogram data 2032 with the weighted error vector data 2033. In some embodiments, this combination may be performed 2034 by multiplying the error vector value corresponding to a code value with the histogram count corresponding to that code value thereby producing a histogram-weighted error vector value. The sum of all the histogram-weighted error vector values for all code values in an image may be referred to as a histogram-weighted error 2035.
A histogram-weighted error may be determined for each of a plurality of backlight illumination levels by combining an error vector for each backlight illumination level with the appropriate histogram count values. This process may result in a histogram-weighted error array, which comprises histogram-weighted error values for a plurality of backlight illumination levels. The values in the histogram-weighted error array may then be analyzed to determine which backlight illumination level is most appropriate for image display. In some embodiments, the backlight illumination level corresponding to the minimum histogram-weighted error 2036 may be selected for image display. In some embodiments, other data may influence the backlight illumination level decision, for example, in some embodiments, power saving goals may influence the decision. In some embodiments, a backlight illumination level that is near the minimum histogram-weighted error value, but which meets some other criteria as well may be selected. Once the backlight illumination level 2037 is selected, this level may be signaled to the display.
Aspects of some embodiments of the present invention may be described in relation to FIG. 83. In these embodiments, a target output curve for a specific display device or display characteristic is generated 2040. This curve or its accompanying data represents the desired output of the display. Display output curves are also generated 2041 for various backlight or source light illumination levels. For example, in some embodiments, a display output curve may be generated for backlight illumination levels in 10% or 5% increments from 0% to 100%.
Based on the target output curve and the display or panel output curves, illumination-level-specific error vectors may be calculated 2042. These error vectors may be calculated by determining the difference between a target output curve value and a display or panel output curve value at a corresponding image code value. An error vector may comprise an error value for each code value of an image or for each code value in the dynamic range of the target display. Error vectors may be calculated for a plurality of source light illumination levels. For example, error vectors may be calculated for each display output curve generated for the display. A set of error vectors may be calculated in advance and stored for use in “real-time” calculations during image display or may be used in other calculations.
To tailor a source light illumination level to a specific image or image characteristic, an image histogram may be generated 2043 and used in the illumination level selection process. In some embodiments other data constructs may be used to identify the frequency at which image code values occur in a specific image. These other constructs may be referred to as histograms in this specification.
In some embodiments, the error vectors corresponding to varying source light illumination levels may be weighted 2044 with histogram values to relate the display error to the image. In these embodiments, the error vector values may be multiplied or otherwise related to the histogram values for corresponding code values. In other words, the error vector value corresponding to a given image code value may be multiplied by the histogram bin count value corresponding to the given code value.
Once the weighted error vector values are determined, all the weighted error vector values for a given error vector may be added 2045 to create a histogram-weighted error value for the illumination level corresponding to the error vector. A histogram-weighted error value may be calculated for each illumination level for which an error vector was calculated.
In some embodiments, the set of histogram-weighted error values may be examined 2046 to determine a set characteristic. In some embodiments, this set characteristic may be a minimum value. In some embodiments, this set characteristic may be a minimum value within some other constraint. In some embodiments, this set characteristic may be a minimum value that meets a power constraint. In some embodiments, a line, curve or other construct may be fitted to the set of histogram-weighted error values and may be used to interpolate between known error values or otherwise represent the set of histogram-weighted error values. Based on the histogram-weighted error values and a set characteristic or other constraint, a source light illumination level may be selected. In some embodiments, the source light illumination level corresponding to the minimum histogram-weighted error value may be selected.
Once a source light illumination level has been selected, the selection may be signaled to the display or recorded with the image to be used at the time of display so that the display may use the selected illumination level to display the target image.
Scene-Cut-Responsive Display-Light-Source Signal Filter
Source light modulation can improve dynamic contrast and reduce display power consumption, however, source light modulation can cause annoying fluctuation in display luminance. Image data may be modified, as explained above, to compensate for much of the source light changes, but this method cannot completely compensate for source light changes at the extreme ends of the dynamic range. This annoying fluctuation can also be reduced by temporally low-pass filtering the source light signal to reduce drastic source light level changes and the associated fluctuation. This method can be effective in controlling black level variation. and, with a sufficiently long filter, the black level variation can be effectively imperceptible.
However, a long filter, which may span several frames of a video sequence, can be problematic at scene transitions. For example, a cut from a dark scene to a bright scene needs a rapid rise in the source light level to go from the low black level to high brightness. Simple temporal filtering of the source light or backlight signal limits the responsiveness of the display and results in an annoying gradual rise in the image brightness following a transition from a dark scene to a bright scene. Use of a filter long enough to make this rise essentially invisible results in a reduced brightness following the transition.
Accordingly, some embodiments of the present invention may comprise scene cut detection and some embodiments may comprise a filter that is responsive to the presence of scene cuts in a video sequence.
Some embodiments of the present invention may be described with reference to FIG. 84. In these embodiments, an image 2050, or image data, is input to a scene-cut detector 2051 and/or a buffer 2052. In some embodiments, one or both of these modules 2051 and 2052 may generate an image histogram, which may be passed to the other module 2051 and 2052 as well. The image 2050 and/or image data may then be passed to the source light level selection module 2053 where an appropriate source light level may be determined or selected. This selection or determination may be performed in a variety of ways as discussed above. The selected source light level is then signaled to the temporal filter module 2054. The scene-cut detector module 2051 may use the image data or image histogram to determine whether a scene cut exists in the video sequence adjacent to the current frame or within a certain proximity to the current frame. If a scene cut is detected, its presence may be signaled to the temporal filter module 2054. The temporal filter module 2054 may comprise a source light signal buffer so that a sequence of source light level signals may be filtered. The temporal filter module 2054 may also comprise a plurality of filters or one or more variable filters to filter the source light signal. In some embodiments, the temporal filter module 2054 may comprise an infinite impulse response (IIR) filter. In some embodiments, the coefficients of an IIR filter may be varied to effect different filter responses and outputs.
The one or more filters of the temporal filter module 2054 may be scene-cut-dependent, whereby a scene-cut signal from the scene-cut detector 2051 may affect the characteristics of a filter. In some embodiments, a filter may be completely bypassed when a scene cut is detected in proximity to the current frame. In other embodiments, the filter characteristics may merely be changed in response to detection of a scene cut. In other embodiments, different filters may be applied in response to detection of a scene cut in proximity to the current frame. After the temporal filter module 2054 has performed any requisite filtering, the source light level signal may be transmitted to a source light operation module 2055.
Some embodiments of the present invention may be described with reference to FIG. 85. In these embodiments, the scene cut detection functions and associated temporal filter functions may be coupled with an image compensation module. In some embodiments, an image 2060, or image data, is input to a scene-cut detector module 2061, a buffer 2062 and/or an image compensation module 2066. In some embodiments, one or more of these modules 2061 and 2062 may generate an image histogram, which may be passed to another module 2061 or 2062. The image 2060 and/or image data may then be passed to the source light level selection module 2063 where an appropriate source light level may be determined or selected. This selection or determination may be performed in a variety of ways as discussed above. The selected source light level is then signaled to the temporal filter module 2054. The scene-cut detector module 2061 may use the image data or image histogram to determine whether a scene cut exists in the video sequence adjacent to the current frame or within a certain proximity to the current frame. If a scene cut is detected, its presence may be signaled to the temporal filter module 2064. The temporal filter module 2064 may comprise a source light signal buffer so that a sequence of source light level signals may be filtered. The temporal filter module 2064 may also comprise a plurality of filters or one or more variable filters to filter the source light signal. In some embodiments, the temporal filter module 2064 may comprise an infinite impulse response (IIR) filter. In some embodiments, the coefficients of an IIR filter may be varied to effect different filter responses and outputs.
The one or more filters of the temporal filter module 2064 may be scene-cut-dependent, whereby a scene-cut signal from the scene-cut detector 2061 may affect the characteristics of a filter. In some embodiments, a filter may be completely bypassed when a scene cut is detected in proximity to the current frame. In other embodiments, the filter characteristics may merely be changed in response to detection of a scene cut. In other embodiments, different filters may be applied in response to detection of a scene cut in proximity to the current frame. After the temporal filter module 2064 has performed any requisite filtering, the source light level signal may be transmitted to a source light operation module 2065 and to the image compensation module 2066. The image compensation module 2066 may use the source light level signal to determine an appropriate compensation algorithm for the image 2060. This compensation may be determined by various methods described above. Once the image compensation is determined, it may be applied to the image 2060 and the modified image 2067 may be displayed using the source light level sent to the source light operation module 2065.
Some embodiments of the present invention may be described with reference to FIG. 86. In these embodiments, an input image 2070 may be input to an image compensation module 2081 and an image processing module 2071. In the image processing module 2071, image data may be extracted, down-sampled or otherwise processed to enable the functions of other elements of these embodiments. In some embodiments, the image processing module 2071 may generate a histogram, which may be sent to a backlight selection module (BLS) 2072 comprising a histogram buffer module 2073 and a scene cut detector module 2084 as well as a distortion module 2074 and temporal filter module 2075.
Within the histogram buffer module 2073, histograms from a sequence of image frames may be compared and analyzed. The scene cut detector module 2084 may also compare an analyze histograms to determine the presence of a scene cut in proximity to the current frame. Histogram data may be transmitted to the distortion module 2074, where distortion characteristics may be computed 2077 for one or more source light or backlight illumination levels. A specific source light illumination level may be determined by minimizing 2078 the distortion characteristics.
This selected illumination level may then be sent to the temporal filter module 2075. The temporal filter module may also receive a scene cut detection signal from the scene cut detector module 2084. Based on the scene cut detection signal, a temporal filter 2079 may be applied to the source light illumination level signal. In some embodiments, no filter may be applied when a scene cut is detected in proximity to the current frame. In other embodiments, the filter applied when a scene cut is present will be different than the filter applied when a scene cut is not proximate.
The filtered source light illumination level signal may be sent to the source light operation module 2080 and to the image compensation module 2081. The image compensation module may use the filtered source light illumination level to determine an appropriate tone scale correction curve or another correction algorithm to compensate for any change in source light illumination level. In some embodiments, a tone scale correction curve or gamma correction curve 2082 may be generated for this purpose. This correction curve may then be applied to the input image 2070 to create a modified image 2083. The modified image 2083 may then be displayed with the source light illumination level that was sent to the source light operation module 2080.
Some embodiments of the present invention may be described with reference to FIG. 87. In these embodiments, an input image 2090 or data derived therefrom, is input to a spatial low-pass filter 2096, a buffer/processor 2092, a scene-cut detector module 2091 and a summer 2098. The spatial low-pass filter 2096 may create a low-pass image 2097, which may be transmitted to a brightness preservation tone scale generation module 2101. The low-pass image 2097 may also be sent to the summer 2098 for combination with the input image 2090 to form a high-pass image 2099.
The scene-cut detector module 2091 may use the input image or data therefrom, such as a histogram, as well as data stored in the buffer/processor 2092, to determine whether a scene cut is proximate to the current frame. If a scene cut is detected, a signal may be sent to the temporal filter module 2094. The input image 2090 or data derived therefrom, is sent to the buffer/processor 2092, where images, image data and histograms may be stored and compared. This data may be sent to the source light level selection module 2093 for consideration in calculating an appropriate source light illumination level. The level calculated by the source light level selection module 2093 may be sent to the temporal filter module 2094 for filtering. Exemplary filters used for this process are described later in this document. Filtering of the source light level signal may be adaptive to the presence of a scene cut in proximity to the current frame. As discussed later, the temporal filter module 2094 may filter more aggressively when a scene cut is not proximate.
After any filtering, the source light level may be sent to the source light operation module 2095 for use in displaying the input image or a modified image based thereon. The output of the temporal filter module 2094 may also be sent to the brightness preservation tone scale generation module 2101, which will then generate a tone scale correction curve and apply that correction curve to the low-pass image 2097. This corrected, low-pass image may then be combined with the high-pass image 2099 to form an enhance image 2102. In some embodiments, the high-pass image 2099 may also be processed with a gain curve before combination with the corrected, low-pass image.
Aspects of some embodiments of the present invention may be described with reference to FIG. 88. In these embodiments, a source light illumination level for a current frame is determined 2110. The presence of a scene cut in proximity to the current frame is also determined 2111. If a scene cut is proximate, a second temporal filtering process is applied 2112 to the source light illumination level signal for the current frame. If a scene cut is not proximate to the current frame, a first temporal filtering process 2113 is applied to the source light illumination level signal for the current frame. After any filtering is performed, the source light illumination level signal is sent to the display to designate 2114 the illumination level for the current frame. In some embodiments, the second filtering process 2112 may simply bypass any filtering when a scene cut is proximate.
Aspects of some embodiments of the present invention may be described with reference to FIG. 89. In these embodiments, an image is analyzed 2120 to determine data relevant to source light level selection. This process may comprise histogram generation and comparison. An appropriate source light level is selected 2121 based on image data. The presence of a scene cut may then be determined by comparison 2122 of image data from one or more previous frames and image data from the current frame. In some embodiments, this comparison may comprise histogram comparison. If a scene cut is not present 2123, a first filtering process may be applied 2125 to the source light level of the current frame. This process may adjust the value of the source light level for the current frame based on levels used for previous frames. When a scene cut is detected 2123, a second filtering process 2124 may be applied to the source light illumination level. In some embodiment, this second filtering process may comprise omission of the first filtering process or use of a less aggressive filtering process. After any filtering, the source light illumination level may be sent to a display for use in displaying the current frame.
The methods and systems of some embodiments of the present invention may be illustrated with reference to an exemplary scenario with a test video sequence. The sequence consists of a black background with a white object which appears and disappears. Both the black and white values follow the backlight regardless of image compensation. The backlight selected per frame goes from zero, on black frames, to a high value, to achieve the white, and back to zero. A plot of the source light or backlight level vs. frame number is shown in FIG. 90. The resulting image suffers from variation in the black level. The video sequence is a black background with a white square appearing. Initially, the backlight is low and the black scene is very dark. When the white square appears, the backlight rises and the increase in black level to a low gray is noticeable. When the square disappears, the backlight decreases and the background again is very dark. This variation in the black level can be disturbing. There are two ways to eliminate this black level variation: Artificially elevate the black in the dark scenes or control the variation in the backlight. Elevating the black level is undesirable so methods and systems of the present invention control the backlight variation so that the variation is not as drastic or noticeable.
Temporal Filtering
The solution of these embodiments is control this black level variation by controlling the variation in backlight signal. The human visual system is insensitive to low frequency variation in luminance. For instance, during a sunrise the brightness of the sky is constantly changing but the change is slow enough not to be noticeable. Quantitative measurements are summarized in a temporal Contrast Sensitivity Function (CSF) shown in FIG. 91. This concept may be used in some embodiments to design a filter which limits the black level variation
In some exemplary embodiments, a single pole IIR filter may be used to “smooth” the backlight signal. The filter may be based on history values of the backlight signal. These embodiments work well when future values are not available.

S(i)=α·S(i−1)+(1−α)·BL(i)0≦α≦1  Equation 51 IIR Filter

Where BL(i) is the backlight value based on image content and S(i) is a smoothed backlight value based on current value and history. This filter is an IIR filter with a pole at α. The transfer function of this filter may be expressed as:





  
    
      
        Filter
        ⁢
        
          
        
        ⁢
        Transfer
        ⁢
        
          
        
        ⁢
        Function
      
    
    
      
        
      
    
  
  
    
      
        
          H
          ⁡
          
            (
            z
            )
          
        
        =
        
          1
          
            1
            -
            
              α
              ·
              
                z
                
                  -
                  1
                
              
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        52
      
    
  




The Bode diagram of this function is shown in following FIG. 92. The frequency response diagram shows the filter is a low pass filter.
In some embodiments of the present invention, the filter may be varied based on the presence of a scene cut in proximity to the current frame. In some of these embodiments, two values for the pole alpha may be used. These values may be switched depending upon the scene cut detection signal. In an exemplary embodiment, when no scene cut is detected, a recommended value is 1000/1024. In some exemplary embodiments, values between 1 and 1⁄2 are recommended. However, when a scene cut is detected, this value may be replaced with 128/1024. In some embodiments, values between 1⁄2 and 0 may be used for this coefficient. These embodiments provide a more limited amount of smoothing across scene cuts, which has been found useful.
The plot in FIG. 93 illustrates the response of an exemplary system, which employs temporal backlight filtering to the sequence shown in FIG. 90, which included the appearance of a white region over a black background between frame 60 at 2141 and frame 120 at 2143. The unfiltered backlight increases from zero 2140a, before the appearance of the white region, to a steady high value 2140b when the white appears. The unfiltered backlight then drops instantly to zero again 2140c when the white region disappears from the sequence at 2143. This has the effect of brightening the bright white region, but also has the side effect of increasing the black background to a low gray. Thus the background varies as the white region appears and disappears. The filtered backlight 2142a, b and c limits the variation of the backlight so that its chance is imperceptible. The filtered backlight starts at a zero value 2142a before the appearance of the white region at 2141, then, more slowly increases 2142b over time. When the white region disappears, the backlight value is allowed to decrease 2142c at a controlled rate. The white region of the filtered system is slightly dimmer than the unfiltered system but the variation in the background is much less perceptible.
In some embodiments, the responsiveness of the temporal filter can be a problem. This is particularly noticeable in a side-by-side comparison with a system without such a limitation on the responsiveness of the backlight. For example, when filtering across a scene cut, the response of the backlight is limited by the filter used to control black level fluctuation. This problem is illustrated in FIG. 94. The plot of FIG. 94 simulates the output of a system following a sharp cut from black to white at 2150. The unfiltered system 2151 responds immediately by raising the backlight from zero 2151a to an elevated level 2151b to get a bright white. The filtered system slowly rises from zero 2152a along a curve 2152b following the cut from black to white. In the unfiltered system, the image cuts to a gray value immediately. In the filtered system, the gray slowly rises to white as the backlight increases slowly. Thus the responsiveness of the filtered system to rapid scene changes is reduced.
Scene Cut Detection
Some embodiments of the present invention comprise a scene cut detection process. When scene cuts are detected, the temporal filtering may be modified to allow rapid response of the backlight. Within a scene, the variation in backlight is limited by filtering to control the variation in black level. At a scene cut, brief artifacts and variation in the video signal are unnoticeable due to the masking effects of the human visual system.
A scene cut exists when the current frame is very different from the previous frame. When no scene cut occurs the difference between successive frames is small. To help detect a scene cut, a measurement of the difference between two images may be defined and a threshold may be set to differentiate a scene cut from no scene cut.
In some embodiments, a scene cut detection method may be based on correlation of a histogram difference. Specifically, the histograms of two successive or proximate frames, H1 and H2, may be calculated. The difference between two images may be defined as a histogram distance:




  
    
      
        Exemplary
        ⁢
        
          
        
        ⁢
        Histogram
        ⁢
        
          
        
        ⁢
        Distance
        ⁢
        
          
        
        ⁢
        Metric
      
    
    
      
        
      
    
  
  
    
      
        
          
            
              D
              cor
            
            (
            
              
            
            ⁢
            
              
                H
                1
              
              ,
              
                
              
              ⁢
              
                H
                2
              
            
            )
          
          =
          
            
          
          ⁢
          
            
              
                1
                W
              
              ⁢
              
                
                  ∑
                  
                    i
                    =
                    1
                  
                  N
                
                ⁢
                
                  
                
                ⁢
                
                  
                    ∑
                    
                      j
                      =
                      1
                    
                    N
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      a
                      ij
                    
                    ⁢
                    
                      
                      
                        
                          
                            H
                            1
                          
                          ⁡
                          
                            (
                            i
                            )
                          
                        
                        -
                        
                          
                            H
                            2
                          
                          ⁡
                          
                            (
                            i
                            )
                          
                        
                      
                      
                    
                    ⁢
                    
                      
                      
                        
                          
                            H
                            1
                          
                          ⁡
                          
                            (
                            j
                            )
                          
                        
                        -
                        
                          
                            H
                            2
                          
                          ⁡
                          
                            (
                            j
                            )
                          
                        
                      
                      
                    
                  
                
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          W
          =
          
            
              ∑
              
                i
                =
                1
              
              N
            
            ⁢
            
              
            
            ⁢
            
              
                ∑
                
                  j
                  =
                  1
                
                N
              
              ⁢
              
                
              
              ⁢
              
                a
                ij
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            a
            ij
          
          =
          
            
              (
              
                i
                -
                j
              
              )
            
            2
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        53
      
    
  




Where i and j are bin indices, N is the number of bins and H1(i) is the value of the i-th bin of the histogram. The histogram is normalized so that the total sum of bin values is equal to 1. In general terms, if the difference of each bin is large, then the distance, Dcor, is large. aij is the correlation weight which is equal to the square of the distance between bin indices. This indicates that if two bins are close to each other, for instance, the i-th bin and the (i+1)-th bin, then the contribution of their multiplication is very small; otherwise, the contribution is large. Intuitively, for pure black and pure white images, the two large bin differences are at the first bin and the last bin, since the distance of the bin index is large, the final distance of histograms is large. But for a slight luminance change to black image, although bin differences are also large, they are close to each other (i-th bin and (i+1)-th bin) and thus the final distance is small.

To classify a scene cut, a threshold needs to be determined in addition to the image distance measurement. In some embodiments, this threshold may be determined empirically and may be set to be 0.001.
In some embodiments, within a scene, the filtering adopted above to limit black level fluctuation may be used. These embodiments will simply employ a fixed-filter system that is not responsive to scene cuts. Visible fluctuation in black level does not occur, however, response is limited.
In some embodiments, when a scene cut is detected, the filter may be switched to a filter having a more rapid response. This allows the backlight to quickly rise following a cut from black to white yet not as drastic a rise as an unfiltered signal. As shown in FIG. 95, an unfiltered signal will jump from zero to a maximum value 2116 and stay at that value after a white region appears at 2160. The more aggressive filter used within scenes 2163 transitions too slowly for scene cut transitions, however, a modified filter 2162 used at scene cut locations allows a rapid rise followed by a gradual increase toward the maximum value.
Embodiments of the present invention that comprise scene cut detection and adaptive temporal filtering designed to make variations in black level imperceptible can be applied aggressively within a scene while preserving the responsiveness of the backlight to scene cuts with large brightness changes with changes to the adaptive filter.
Low-Complexity Y-Gain Embodiments
Some embodiments of the present invention are designed to work within a low-complexity system. In these embodiments, the source light or backlight level selection may be based on a luma histogram and minimization of a distortion metric based on this histogram. In some embodiments, the compensation algorithm may use a Y-Gain characteristic. In some embodiments, image compensation may comprise manipulation of parameters for controlling the Y-Gain processing. In some situations, Y-Gain processing may fully compensate for source light reduction on grayscale images, but will desaturate color on saturated images. Some embodiments may control the Y-Gain characteristic to prevent excessive desaturation. Some embodiments may employ a Y-Gain strength parameter to control desaturation. In some embodiments, a Y-Gain strength of 25% has proven effective.
Some embodiments of the present invention may be described with reference to FIG. 96. In these embodiments, distortion weights 2174 for various backlight illumination levels may be calculated and stored, such as in ROM, for access during on-line processing. In some embodiments, filter coefficients 2175 of other filter characteristics or parameters may be stored, such as in ROM, for selection during processing.
In these embodiments, an input image 2170 is input to a histogram calculation process 2071, which calculates an image histogram that may be stored in a histogram buffer 2172. In some embodiments, the histogram for a previous frame may be used to determine the backlight level for a current frame. In some embodiments, a distortion module 2176 may use the histogram values from the histogram buffer 2172 and distortion weights 2174 to determine distortion characteristics for various backlight illumination levels. The distortion module 2176 may then select a backlight illumination level that reduces or minimizes 2178 the calculated distortion. In some embodiments, Equation 54 may be used to determine a distortion value.




  
    
      
        Exemplary
        ⁢
        
          
        
        ⁢
        Distortion
        ⁢
        
          
        
        ⁢
        Metric
      
    
    
      
        
      
    
  
  
    
      
        
          D
          ⁡
          
            (
            
              BL
              ,
              H
            
            )
          
        
        =
        
          
            ∑
            bin
          
          ⁢
          
            
          
          ⁢
          
            
              Weight
              ⁡
              
                (
                
                  BL
                  ,
                  bin
                
                )
              
            
            ·
            
              H
              ⁡
              
                (
                bin
                )
              
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        54
      
    
  




Where BL represents a backlight illumination level, Weight is a distortion weight value related to a backlight illumination level and a histogram bin and H is a histogram bin value.

After selection of a backlight illumination level, the backlight signal may be filtered with a temporal filter 2180 in a filter module 2179. The filter module 2179 may use filter coefficients or characteristics 2175 that have been predetermined and stored. Once any filtering has been performed, the filtered, final backlight signal may be sent to the display or display backlight control module 2181.
The filtered, final backlight signal may also be sent to a Y-Gain Design module 2183, where it may be used in determining an image compensation process. In some embodiments, this compensation process may comprise application of a tonescale curve to the luma channel of an image. This Y-Gain tonescale curve may be specified with one or more points between which interpolation may be performed. In some embodiments, the Y-Gain tonescale process may comprise a maximum fidelity point (MFP) above which a roll-off curve may be used. In these embodiments, one or more linear segments may define the tonescale curve below the MFP and a round-off curve relation may define the curve above the MFP. In some embodiments, the round-off curve portion may be defined by Equation 55.




  
    
      
        Exemplary
        ⁢
        
          
        
        ⁢
        Slope
        ⁢
        
          
        
        ⁢
        Definition
        ⁢
        
          
        
        ⁢
        for
        ⁢
        
          
        
        ⁢
        Round
        ⁢
        
          -
        
        ⁢
        Off
        ⁢
        
          
        
        ⁢
        Curve
      
    
    
      
        
      
    
  
  
    
      
        slope
        =
        
          
            (
            
              1
              BL
            
            )
          
          
            1
            γ
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        55
      
    
  




These embodiments perform image compensation only on the luminance channel and provide full compensation for grayscale images, but this process can cause desaturation in color images. To avoid excessive desaturation of color images, some embodiments may comprise a compensation strength factor, which may be determined in a strength control module 2182. Because the Y-Gain Design Module 2183 operates only on the luma data, color characteristics are not known and the strength control module must operate without knowledge of actual color saturation levels. In some embodiments, the strength factor or parameter may be integrated into the tonescale curve definition as shown in Equation 56.




  
    
      
        Exemplary
        ⁢
        
          
        
        ⁢
        Slope
        ⁢
        
          
        
        ⁢
        Definition
        ⁢
        
          
        
        ⁢
        for
        ⁢
        
          
        
        ⁢
        Tonescale
        ⁢
        
          
        
        ⁢
        Curve
      
    
    
      
        
      
    
  
  
    
      
        slope
        =
        
          
            (
            
              
                
                  S
                  ·
                  1
                
                +
                
                  
                    (
                    
                      1
                      -
                      S
                    
                    )
                  
                  ·
                  BL
                
              
              BL
            
            )
          
          
            1
            γ
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        55
      
    
  




Where S is the strength factor, BL is the backlight illumination level and γ is the display gamma value. Exemplary tonescale curves are shown in FIG. 97.

Efficient Calculation Embodiments

In some embodiments of the present invention, backlight or source light selection may be based on minimizing the error between an ideal display and a finite contrast ratio display, such as an LCD. Ideal and finite CR displays are modeled. The error between ideal and finite CR display for each gray level defines an error vector for each backlight value. The distortion of an image is defined by weighting the image histogram by the error vector at each backlight level.
In some embodiments, displays may be modeled using a power function, gamma, plus an additive term to account for flare in the finite CR LCD given in Equation 56. This is a Gamma-Offset-Gain Flare model with Offset zero expressed using the display contrast ratio CR.




  
    
      
        Display
        ⁢
        
          
        
        ⁢
        Models
      
    
    
      
        
      
    
  
  
    
      
        
          
            
              Y
              Ideal
            
            ⁡
            
              (
              x
              )
            
          
          =
          
            x
            γ
          
        
        ⁢
        
          

        
        ⁢
        
          
            
              Y
              FiniteCR
            
            ⁡
            
              (
              
                x
                ,
                bl
                ,
                CR
              
              )
            
          
          =
          
            bl
            ·
            
              (
              
                
                  
                    (
                    
                      1
                      -
                      
                        1
                        CR
                      
                    
                    )
                  
                  ·
                  
                    x
                    γ
                  
                
                +
                
                  1
                  CR
                
              
              )
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        56
      
    
  




The display models are plotted in FIG. 98. The ideal display 2200 and the finite CR display with 25% 2201 and 75% 2202 backlight are shown.
The maximum and minimum of the finite CR LCD define upper and lower limits of the ideal display, xmax and xmin, which can be achieved with image compensation. These limits depend upon backlight, bl, gamma, γ, and contrast ratio, CR. These clipping limits defined by the models are summarized in Equation 57.




  
    
      
        Model
        ⁢
        
          
        
        ⁢
        Clipping
        ⁢
        
          
        
        ⁢
        Limits
      
    
    
      
        
      
    
  
  
    
      
        
          
            x
            min
          
          ⁡
          
            (
            bl
            )
          
        
        =
        
          
            
              
                (
                
                  bl
                  CR
                
                )
              
              
                1
                γ
              
            
            ⁢
            
              
            
            ⁢
            
              
                x
                max
              
              ⁡
              
                (
                bl
                )
              
            
          
          =
          
            
              (
              bl
              )
            
            
              1
              γ
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        57
      
    
  




In some embodiments, the max and min limits may be used to define an error vector for each backlight level. An exemplary error shown below is based on the square error caused by clipping. The components of the error vector are the error between the ideal display output and the nearest output on the finite contrast ratio display at the specified backlight level. Algebraically these are defined in Equation 58.




  
    
      
        Display
        ⁢
        
          
        
        ⁢
        Error
        ⁢
        
          
        
        ⁢
        Vectors
      
    
    
      
        
      
    
  
  
    
      
        
          
            d
            →
          
          ⁡
          
            (
            
              x
              ,
              bl
            
            )
          
        
        =
        
          {
          
            
              
                
                  
                    
                    
                      x
                      -
                      
                        
                          x
                          min
                        
                        ⁡
                        
                          (
                          bl
                          )
                        
                      
                    
                    
                  
                  2
                
              
              
                
                  x
                  ≤
                  
                    
                      x
                      min
                    
                    ⁡
                    
                      (
                      bl
                      )
                    
                  
                
              
            
            
              
                0
              
              
                
                  
                    
                      x
                      min
                    
                    ⁡
                    
                      (
                      bl
                      )
                    
                  
                  <
                  x
                  <
                  
                    
                      x
                      max
                    
                    ⁡
                    
                      (
                      bl
                      )
                    
                  
                
              
            
            
              
                
                  
                    
                    
                      x
                      -
                      
                        
                          x
                          max
                        
                        ⁡
                        
                          (
                          bl
                          )
                        
                      
                    
                    
                  
                  2
                
              
              
                
                  
                    
                      x
                      max
                    
                    ⁡
                    
                      (
                      bl
                      )
                    
                  
                  ≤
                  x
                
              
            
          
        
      
    
    
      
        
          Equation
          ⁢
          
            
          
          ⁢
          58
        
        ⁢
        
          
        
      
    
  




Sample error vectors are plotted in FIG. 99. Note the 100% backlight 3010 has an error at low code value caused by elevated black level compared to the ideal display. These are independent of image data depending only upon the backlight level and code value.
In some embodiments, the performance of the finite CR LCD with backlight modulation and image compensation may be summarized with the set of error vectors for each backlight as defined above. The distortion of an image at each backlight value may be expressed as the sum of the distortion of the image pixel values, Equation 59. As shown, in these embodiments, this can be computed from the image histogram. The image distortion may be calculated for each backlight, bl, by weighting the error vector for bl by the image histogram. The result is a measure of image distortion at each backlight level.




  
    
      
        Image
        ⁢
        
          
        
        ⁢
        Distortion
        ⁢
        
          
        
        ⁢
        
          vs
          .
          
            
          
          ⁢
          Backlight
        
      
    
    
      
        
      
    
  
  
    
      
        
          D
          ⁡
          
            (
            
              I
              ,
              bl
            
            )
          
        
        =
        
          
            
              ∑
              
                i
                ,
                j
              
            
            ⁢
            
              
            
            ⁢
            
              
                d
                →
              
              ⁡
              
                (
                
                  
                    I
                    ⁡
                    
                      (
                      
                        i
                        ,
                        j
                      
                      )
                    
                  
                  ,
                  bl
                
                )
              
            
          
          =
          
            
              ∑
              x
            
            ⁢
            
              
            
            ⁢
            
              
                
                  h
                  I
                
                ⁡
                
                  (
                  x
                  )
                
              
              ·
              
                
                  d
                  →
                
                ⁡
                
                  (
                  
                    x
                    ,
                    bl
                  
                  )
                
              
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        59
      
    
  




An exemplary embodiment may be demonstrated with three frames from a recent IEC standard for TV power measurement. Image histograms are shown in FIG. 100. The distortion versus backlight curves for the image histograms of FIG. 100 and display error vectors of FIG. 99 are shown in FIG. 101.
In some embodiments, the backlight selection algorithm may operate by minimizing the distortion of an image between the ideal and finite CR displays.
Some embodiments of the present invention comprise a distortion framework that comprises both display contrast ratio and the ability to include different error metrics. Some embodiments may operate by minimizing the number of clipped pixels as all or a portion of the backlight selection process. FIG. 102 compares an exemplary Sum of Squared Error (SSE) distortion with the number of clipped pixels (# Clipped) on one frame of the IEC test set. The SSE accounts for the magnitude of the error in addition to the number of pixels clipped and preserves image highlights. For this image, the SSE minimum occurs at a much higher backlight than the minimum of the number of clipped pixels. This difference arises due to the SSE accounting for the magnitude of the clipping error in addition to the number of clipped pixels. The curve representing the number of clipped pixels is not smooth and has many local minima. The SSE curve is smooth and the local minimum is a global minimum making a sub-sampled search for a minimum SSE effective.
Computation with this distortion framework is not as difficult as it may first appear. In some embodiments, backlight selection may be performed once per frame and not at the pixel rate. As indicated above, the display error weights depend only upon the display parameters and backlight not the image contents. Thus the display modeling and error vector calculation can be done off-line if desired. On-line calculation may comprise histogram calculation, weighting error vectors by the image histogram, and selecting the minimum distortion. In some embodiments, the set of backlight values used in the distortion minimization can be sub-sampled and effectively locate the distortion minimum. In an exemplary embodiment, 17 backlight levels are tested.
In some embodiments of the present invention, display modeling, error vector calculation, histogram calculation, weighting error vectors by the image histogram and backlight selection for minimum distortion may be performed on-line. In some embodiments, display modeling and error vector calculation may be performed off-line before actual image processing while histogram calculation, weighting error vectors by the image histogram and backlight selection for minimum distortion are performed on-line. In some embodiments, the clipping points for each backlight level may be calculated off-line while error vector calculation, histogram calculation, weighting error vectors by the image histogram and backlight selection for minimum distortion are performed on-line.
In some embodiments of the present invention, a subset of the full range of source light illumination levels may be selected for consideration when selecting a level for an image. In some embodiments, this subset may be selected by quantization of the full range of levels. In these embodiments, only levels in the subset are considered for selection. In some embodiments, the size of this subset of illumination levels may be dictated by memory constraints or some other resource constraint.
In some embodiments, this source light illumination level subset may be further limited during processing by limiting the subset values from which selection is made to a range related to the level selected for the previous frame. In some embodiments, this limited subset may be restricted to values within a given range of the level selected for the last frame. For example, in some embodiments, selection of a source light illumination level may be restricted to a limited range of 7 values on either side of the previously-selected level.
In some embodiments of the present invention, limitations on the range of source light illumination levels may be dependent on scene cut detection. In some embodiments, the source light illumination level search algorithm may search a limited range from within a subset of levels when no scene cut is detected proximate to the current frame and the algorithm may search the entire subset of illumination levels when a scene cut is detected.
Some embodiments of the present invention may be described with reference to FIG. 103. In these embodiments, image data, from an original input image frame 2250 is input to a scene cut detection module 2251 to determine whether a scene cut is proximate to the current input frame 2250. Image data related to frames adjacent to the current frame may also be input to the scene cut detection module 2251. In some embodiments, this image data may comprise histogram data. The scene cut detection module may then process this image data to determine whether a scene cut is proximate to the current frame. In some embodiments, a scene cut may be detected when the histogram of a previous frame and the histogram of the current frame differ by a threshold amount. The results of the scene cut detection process are then input to the distortion module 2252, where the presence of a scene cut may be used to determine what source light illumination values are considered in a source light illumination level selection process. In some embodiments, a broader range of illumination levels may be considered when a scene cut is proximate. In some embodiments, a limited subset of illumination levels related to the level selected for the last image frame may be used in the selection process. Accordingly, the scene cut detection process influences the range of values considered in the source light illumination process. In some embodiments, when a scene cut is detected a larger range of illumination levels is considered in the selection process for the current frame. In some embodiments, when a scene cut is detected, a range of illumination levels that is not related to the level selected for the previous frame is used in the selection process for the current frame while a range of illumination levels that is bracketed around the level selected for the previous frame is used in the selection process when a scene cut is not detected.
Once the range or subset of candidate illumination levels is determined with reference to the presence of a scene cut, distortion values for each candidate illumination level may be determined 2253. One of the illumination levels may then be selected 2254 based on a minimum distortion value or some other criterion. This selected illumination level may then be communicated to the source light or backlight control module 2255 for use in displaying the current frame. The selected illumination level may also be used as input to the image compensation process 2256 for calculation of a tonescale curve or similar compensation tool. The compensated or enhanced image 2257 resulting from this process may then be displayed.
Some embodiments of the present invention may be described with reference to FIG. 104. In these embodiments, an image or image sequence is analyzed 2260 to determine the presence of a scene cut proximate to a current frame. If the scene cut is detected 2263, a larger set of source light illumination level may be considered in the source light illumination level selection process. This larger set is relative in size to the subset that may be used when the scene cut is not detected. In some embodiments, this larger set may also be unrelated to the value used for the previous frame. When a scene cut is not detected 2262, a limited subset of illumination levels may be used in the selection process. In some embodiments, this limited subset may also be related to the value used for the previous frame. For example, in some embodiments, the limited subset may be a subset bracketed around the value used for the previous frame. Once the restrictions on the range of illumination levels are determined, the source light illumination level may be selected 2264 from the appropriate range or subset.
Mapping Module Embodiments
Some embodiments of the present invention may comprise a mapping module, which relates one or more image characteristics to a display model attribute. In some embodiments, one of these image characteristics may be an image Average Pixel Level (APL), which may be determined directly from an image file, from an image histogram or from other image data. In some embodiments, the mapping module may map an image APL to a display model scaling factor, to a display model maximum output value, to a specific display model or to some other display model attribute. In some embodiments, other inputs, in addition to the APL or another image characteristic, may be used to determine the display model attribute. For example, in some embodiments, the ambient light level, a user brightness selection or a user-selectable map selection may also affect the display model attribute selected by the mapping module.
Some embodiments of the present invention may be described with reference to FIG. 105. In these embodiments, an image 2270 or image data may be input to a mapping module 2271. The mapping module may comprise one or more maps or correlation constructs that relate one or more image characteristics to one or more display model attributes. In some embodiments, the mapping module 2271 may relate an image APL to an ideal display maximum output value or a scaling factor related to an ideal display maximum output value. For example, the mapping module 2271 may relate an image APL value or another image characteristic to a scaling factor that may be applied to the ideal display model output described in Equation 56.
Once this display model attribute has been determined, other display model parameters may be established in a display modeling module 2272. The display modeling module 2272 may determine model clipping limits, display error vectors, histogram weighting values and other data for determining a difference, error, distortion or other performance metric of an image when displayed at a specific source light illumination level. A performance metric or distortion module 2273 may then use this data to determine the performance metric for various source light illumination levels. In some embodiments, the performance metric or distortion module 2273 may also receive image data, such as an image histogram, for use in determining the performance metric. In some embodiments, a distortion module 2273 may combine image histogram data with weighting values determined in the modeling module 2272 to determine a distortion value for a given source light illumination level.
A source light level selection module 2274 may then select an appropriate source light illumination level based on the performance metric, such as distortion. This selected source light illumination level may then be communicated to the image compensation module 2275 so that the image may be compensated for any change in source light illumination level. The illumination level is also sent to the display source light control module 2276. A compensated image resulting from the image compensation process 2275 may then be sent to the display 2277 where it may be displayed using the source light illumination level selected for that image.
Some embodiments of the present invention may be described with reference to FIG. 106. In these embodiments, an image 2280 or image data may be input to a mapping module 2281. The mapping module may comprise one or more maps or correlation constructs that relate one or more image characteristics to one or more display model attributes as explained above in relation to embodiments illustrated in FIG. 105. In some embodiments, a manual map selection module 2288 may also affect map selection. When multiple maps or correlations are defined, a user may select a preferred map with the manual map selection module 2288. This selected map may effect a different correlation than a default map or one that is selected automatically. In some embodiments, maps may be stored and designated for specific viewing conditions, such as store display, low or high ambient light or for specific viewing content, such as television viewing, movie viewing or game play. Once the map or correlation has been selected, the mapping module 2281 may correlate the image characteristic to the display model attribute and send this attribute to the display modeling module 2282.
Once this display model attribute has been determined, other display model parameters may be established in a display modeling module 2282. The display modeling module 2282 may determine model clipping limits, display error vectors, histogram weighting values and other data for determining a difference, error, distortion or other performance metric of an image when displayed at a specific source light illumination level. A performance metric or distortion module 2283 may then use this data to determine the performance metric for various source light illumination levels. In some embodiments, the performance metric or distortion module 2283 may also receive image data, such as an image histogram, for use in determining the performance metric. In some embodiments, a distortion module 2283 may combine image histogram data with weighting values determined in the modeling module 2282 to determine a distortion value for a given source light illumination level.
A source light level selection module 2284 may then select an appropriate source light illumination level based on the performance metric, such as distortion. This selected source light illumination level may then be communicated to the image compensation module 2285 so that the image may be compensated for any change in source light illumination level. The illumination level is also sent to the display source light control module 2286. A compensated image resulting from the image compensation process 2285 may then be sent to the display 2287 where it may be displayed using the source light illumination level selected for that image.
Some embodiments of the present invention may be described with reference to FIG. 107. In these embodiments, an image 2290 or image data may be input to a mapping module 2291. The mapping module may comprise one or more maps or correlation constructs that relate one or more image characteristics to one or more display model attributes as explained above in relation to embodiments illustrated in FIG. 105. In some embodiments, an ambient light module 2298 may also affect map selection. An ambient light module 2298 may comprise one or more sensors for determining ambient light conditions, such as an ambient light intensity, ambient light color or variations in ambient light characteristics. This ambient light data may be transmitted to the mapping module 2291.
When multiple maps or correlations are defined, the mapping module may select a map based on the data received from the ambient light module 2298. This selected map may effect a different correlation than a default map or one that is selected automatically. In some embodiments, maps may be stored and designated for specific viewing conditions, such as low or high ambient light or various ambient light patterns. Once the map or correlation has been selected, the mapping module 2291 may correlate the image characteristic to the display model attribute and send this attribute to the display modeling module 2292.
Once this display model attribute has been determined, other display model parameters may be established in a display modeling module 2292. The display modeling module 2292 may determine model clipping limits, display error vectors, histogram weighting values and other data for determining a difference, error, distortion or other performance metric of an image when displayed at a specific source light illumination level. A performance metric or distortion module 2293 may then use this data to determine the performance metric for various source light illumination levels. In some embodiments, the performance metric or distortion module 2293 may also receive image data, such as an image histogram, for use in determining the performance metric. In some embodiments, a distortion module 2293 may combine image histogram data with weighting values determined in the modeling module 2292 to determine a distortion value for a given source light illumination level.
A source light level selection module 2294 may then select an appropriate source light illumination level based on the performance metric, such as distortion. This selected source light illumination level may then be communicated to the image compensation module 2295 so that the image may be compensated for any change in source light illumination level. The illumination level is also sent to the display source light control module 2296. A compensated image resulting from the image compensation process 2295 may then be sent to the display 2297 where it may be displayed using the source light illumination level selected for that image.
Some embodiments of the present invention may be described with reference to FIG. 108. In these embodiments, an image 2300 or image data may be input to a mapping module 2301. The mapping module may comprise one or more maps or correlation constructs that relate one or more image characteristics to one or more display model attributes as explained above in relation to embodiments illustrated in FIG. 105. In some embodiments, a user brightness selection module 2308 may also affect map selection. A user brightness selection module 2308 may accept user input designating a display brightness and may comprise a user interface or other means for accepting a user selection. In some embodiments, user brightness selection input may be sent to the mapping module 2301 where the input may be used to select or modify a map or modify the output from a map. This modified output may then be sent to the modeling module 2302. In other embodiments, user brightness selection input may be sent directly to the modeling module 2302 where it may be used to modify the data received from the mapping module 2301.
Once a display model attribute that conforms with user brightness input has been determined, other display model parameters may be established in the display modeling module 2302. The display modeling module 2302 may determine model clipping limits, display error vectors, histogram weighting values and other data for determining a difference, error, distortion or other performance metric of an image when displayed at a specific source light illumination level. A performance metric or distortion module 2303 may then use this data to determine the performance metric for various source light illumination levels. In some embodiments, the performance metric or distortion module 2303 may also receive image data, such as an image histogram, for use in determining the performance metric. In some embodiments, a distortion module 2303 may combine image histogram data with weighting values determined in the modeling module 2302 to determine a distortion value for a given source light illumination level.
A source light level selection module 2304 may then select an appropriate source light illumination level based on the performance metric, such as distortion. This selected source light illumination level may then be communicated to the image compensation module 2305 so that the image may be compensated for any change in source light illumination level. The illumination level is also sent to the display source light control module 2306. A compensated image resulting from the image compensation process 2305 may then be sent to the display 2307 where it may be displayed using the source light illumination level selected for that image.
Some embodiments of the present invention may be described with reference to FIG. 109. In these embodiments, an image 2310 or image data may be input to a mapping module 2311. The mapping module may comprise one or more maps or correlation constructs that relate one or more image characteristics to one or more display model attributes as explained above in relation to embodiments illustrated in FIG. 105. In some embodiments, a user brightness selection module 2318 may also affect map selection. A user brightness selection module 2308 may accept user input designating a preferred display brightness and may comprise a user interface or other means for accepting a user selection. In some embodiments, user brightness selection input may be sent to the mapping module 2311 where the input may be used to select or modify a map or modify the output from a map. This modified output may then be sent to the modeling module 2312. In other embodiments, user brightness selection input may be sent directly to the modeling module 2312 where it may be used to modify the data received from the mapping module 2311. In these embodiments, a user brightness selection or an indicator that a user brightness selection has been made, may be sent to a temporal filter module 2318.
Once a display model attribute that conforms with user brightness input has been determined, other display model parameters may be established in the display modeling module 2312. The display modeling module 2312 may determine model clipping limits, display error vectors, histogram weighting values and other data for determining a difference, error, distortion or other performance metric of an image when displayed at a specific source light illumination level. A performance metric or distortion module 2313 may then use this data to determine the performance metric for various source light illumination levels. In some embodiments, the performance metric or distortion module 2313 may also receive image data, such as an image histogram, for use in determining the performance metric. In some embodiments, a distortion module 2313 may combine image histogram data with weighting values determined in the modeling module 2312 to determine a distortion value for a given source light illumination level.
A source light level selection module 2314 may then select an appropriate source light illumination level based on the performance metric, such as distortion.
In these embodiments, the selected source light illumination level may then be sent to a temporal filter module 2318 that is responsive to a user brightness selection. In some embodiments, the filter module may apply a different filter when a user brightness selection is received. In some embodiments, a filter may be selectively applied when no user brightness selection has been received and not applied when a user brightness selection has been received. In some embodiments, a filter may be modified in response to the receipt of a user brightness selection.
After any filtering of the source light illumination level signal, the filtered signal may then be communicated to the image compensation module 2315 so that the image may be compensated for any change in source light illumination level. The filtered illumination level is also sent to the display source light control module 2316. A compensated image resulting from the image compensation process 2315 may then be sent to the display 2317 where it may be displayed using the filtered source light illumination level selected for that image.
Some embodiments of the present invention may be described with reference to FIG. 110. In these embodiments, an image 2330 or image data may be input to a mapping module 2331. The mapping module may comprise one or more maps or correlation constructs that relate one or more image characteristics to one or more display model attributes as explained above in relation to embodiments illustrated in FIG. 105. In some embodiments, a user brightness selection module 2338 may also affect map selection. A user brightness selection module 2338 may accept user input designating a display brightness and may comprise a user interface or other means for accepting a user selection. In some embodiments, user brightness selection input may be sent to the mapping module 2331 where the input may be used to select or modify a map or modify the output from a map. This modified output may then be sent to the modeling module 2332. In other embodiments, user brightness selection input may be sent directly to the modeling module 2332 where it may be used to modify the data received from the mapping module 2331.
These embodiments may further comprise an ambient light module 2198, which may comprise one or more sensors for determining ambient light conditions, such as an ambient light intensity, ambient light color or variations in ambient light characteristics. This ambient light data may be transmitted to the mapping module 2331.
When multiple maps or correlations are defined, the mapping module may select a map based on the data received from the ambient light module 2338. This selected map may effect a different correlation than a default map or one that is selected automatically. In some embodiments, maps may be stored and designated for specific viewing conditions, such as low or high ambient light or various ambient light patterns.
These embodiments may further comprise a manual map selection module 2340, which may also affect map selection. When multiple maps or correlations are defined, a user may select a preferred map with the manual map selection module 2340. This selected map may effect a different correlation than a default map or one that is selected automatically. In some embodiments, maps may be stored and designated for specific viewing conditions, such as store display, low or high ambient light or for specific viewing content, such as television viewing, movie viewing or game play.
In these embodiments, data received from the user brightness selection module 2338, the manual map selection module 2340 and the ambient light module 2339 may be used to select a map, modify a map or modify the results obtained from a map. In some embodiments, input from one of these modules may have priority over other modules. For example, in some embodiments, a manual map selection received from user input may override an automated map selection process based on ambient light conditions. In some embodiments, multiple inputs to the mapping module 2331 may be combined to select and modify a map or map output.
Once the map or correlation has been selected, the mapping module 2331 may correlate the image characteristic to the display model attribute and send this attribute to the display modeling module 2332.
Once a display model attribute that conforms with constraints in the mapping module 2331 has been determined, other display model parameters may be established in the display modeling module 2332. The display modeling module 2332 may determine model clipping limits, display error vectors, histogram weighting values and other data for determining a difference, error, distortion or other performance metric of an image when displayed at a specific source light illumination level. A performance metric or distortion module 2333 may then use this data to determine the performance metric for various source light illumination levels. In some embodiments, the performance metric or distortion module 2333 may also receive image data, such as an image histogram, for use in determining the performance metric. In some embodiments, a distortion module 2333 may combine image histogram data with weighting values determined in the modeling module 2332 to determine a distortion value for a given source light illumination level.
A source light level selection module 2334 may then select an appropriate source light illumination level based on the performance metric, such as distortion. This selected source light illumination level may then be communicated to the image compensation module 2335 so that the image may be compensated for any change in source light illumination level. The illumination level is also sent to the display source light control module 2336. A compensated image resulting from the image compensation process 2335 may then be sent to the display 2337 where it may be displayed using the source light illumination level selected for that image.
Some embodiments of the present invention may be described with reference to FIG. 111. In these embodiments, an image 2357 or image data may be processed by a histogram module 2355 to generate an image histogram. In some embodiments, a luminance histogram may be generated. In other embodiments, a color channel histogram may be generated. The image histogram may then be stored in a histogram buffer 2356. In some embodiments, the histogram buffer 2356 may have a capacity to accommodate multiple histograms, such as histograms from previous video sequence frames. These histograms may then be used by various modules of the system for several purposes.
In some embodiments, a scene cut module 2359 may access the histogram buffer and use histogram data to determine whether a scene cut is present in a video sequence. This scene cut information may then be sent to a temporal filter module 2364 where it may be used to switch or modify a filter or filter parameters. A mapping module 2353 may also access the histogram buffer 2356 and use histogram data to calculate an APL or another image characteristic.
The mapping module may comprise one or more maps or correlation constructs that relate one or more image characteristics to one or more display model attributes as explained above in relation to embodiments illustrated in FIG. 105. In some embodiments, a user brightness selection module 2351 may also affect map selection. A user brightness selection module 2351 may accept user input designating a display brightness and may comprise a user interface or other means for accepting a user selection. In some embodiments, user brightness selection input may be sent to the mapping module 2353 where the input may be used to select or modify a map or modify the output from a map. This modified output may then be sent to the modeling module 2354. In other embodiments, user brightness selection input may be sent directly to the modeling module 2354 where it may be used to modify the data received from the mapping module 2353.
These embodiments may further comprise an ambient light module 2350, which may comprise one or more sensors for determining ambient light conditions, such as an ambient light intensity, ambient light color or variations in ambient light characteristics. This ambient light data may be transmitted to the mapping module 2353.
These embodiments may further comprise a manual map selection module 2352, which may also affect map selection. When multiple maps or correlations are defined, a user may select a preferred map with the manual map selection module 2352.
In these embodiments, data received from the user brightness selection module 2351, the manual map selection module 2352 and the ambient light module 2350 may be used to select a map, modify a map or modify the results obtained from a map. In some embodiments, input from one of these modules may have priority over other modules. For example, in some embodiments, a manual map selection received from user input may override an automated map selection process based on ambient light conditions. In some embodiments, multiple inputs to the mapping module 2353 may be combined to select and modify a map or map output.
Once the map or correlation has been selected, the mapping module 2353 may correlate the image characteristic to the display model attribute and send this attribute to the display modeling module 2354.
Once a display model attribute that conforms with constraints in the mapping module 2353 has been determined, other display model parameters may be established in the display modeling module 2354. The display modeling module 2354 may determine model clipping limits, display error vectors, histogram weighting values and other data for determining a difference, error, distortion or other performance metric of an image when displayed at a specific source light illumination level. Alternatively, one or more display model parameters may be established in performance metric module 2362, which may determine model clipping limits, display error vectors, histogram weighting values and other data for determining a difference, error, distortion or other performance metric.
A performance or distortion module 2360 may then use this data to determine the performance metric for various source light illumination levels. A source light level selection module 2361 may then select an appropriate source light illumination level based on the performance metric, such as distortion. This selected source light illumination level may then be communicated to a temporal filter module 2364.
The temporal filter module 2264 may be responsive to input from other modules in the system. In particular, the scene cut module 2359 and the user brightness selection module 2351 may communicate with the temporal filter module 2364 to indicate when scene cuts occur and when a user has selected manual brightness selection. When these events occur, the temporal filter module may respond by switching or modifying filter processes as explained above in relation to scene-cut responsive embodiments.
The filtered source light illumination level may then be sent to the display source light control 2367 and to an image compensation calculation module 2368. The image compensation calculation module 2368 may then use the filtered source light illumination level in calculating a compensation curve or another compensation process as explained above for various embodiments. This compensation curve or process may then be indicated to the image compensation module 2358, where the curve or process may be applied to the original image 2357 to create an enhanced image 2369. The enhanced image 2369 may then be sent to the display 2370 where the image can be displayed in conjunction with the filtered source light illumination level.
Compound Color and Color Difference Histogram Embodiments
Some embodiments of the present invention may be tailored to work within systems with limited resources and restricted parameters. In some embodiments, image information may be obtained from a circuit, chip or process that does not provide full image data for each color channel. In some embodiments, downstream processes may require data to be converted to a specific format for processing.
In some embodiments, a compound color or color difference histogram is generated from an image and used to provide image data to further processes. In some embodiments, the color difference histogram may be a 2-dimensional histogram comprising luminance values and color difference values. In an exemplary embodiment, the histogram luminance values may be obtained using Equation 60.

Y=0.29R+0.59G+0.12B  Equation 60 Histogram Luminance Values

Where Y is the histogram luminance value, R is the red color channel value, G is the green color channel value and B is the blue color channel value.

In an exemplary embodiment, the histogram color difference values may be obtained using Equation 61.

C=max(R−Y,G−Y,B−Y)  Equation 61 Histogram Color Difference Values

Where R, G and B are color channel values, Y is the luminance value obtained from Equation 60 or otherwise and C is the color difference value in the histogram.

In some embodiments, a 2-dimensional color difference histogram may be generated using a luminance value, such as that obtained through Equation 60 and a color difference value, such as that obtained through Equation 61. However, in some embodiments, luminance values and color values obtained by other methods may be used to construct a 2-dimensional histogram. Histograms generated with a luminance channel and a color channel that represents multiple color channels in an input image, but which is not generated with color difference values may be referred to as a compound color histogram. A compound color channel may be created by combining multiple color channel data into a single compound color channel by adding, multiplying and otherwise combining color channel data.
Some embodiments of the present invention may comprise processes that require a 1-dimensional histogram as input. In these embodiments, a 2-dimensional color difference histogram or another 2-dimensional color-luminance histogram may be converted to a 1-dimensional histogram. This histogram conversion process may comprise summation of multiple 2-D histogram bins into a single 1-D histogram bin. Some exemplary embodiments may be described with reference to FIG. 112. In these embodiments, 2-D histogram bins are shown in a table 2400 with various bin values 2401. Each bin in the 2-D histogram table 2400 may be indexed with coordinates corresponding to luminance and color bin numbers. The bin numbers increase to the right and toward the top with the first bin at the bottom left. For example, the lower left 2-D bin 2402 may be referred to as H(1,1) since it is the lowest luminance bin and the lowest color bin. Similarly, 2-D bin 2403, which is the second luminance bin and the third color bin, may be referred to as H(2,3).
In order to convert or summarize the 2-D histogram into a 1-D histogram, a summation process may be designed to preserve as much information as possible and to take into consideration factors that influenced the generation of the 2-D histogram. In an exemplary embodiment, 2-D histogram bins with constant (Y+C) values may be added to create a new 1-D histogram bin. For example, the first 1-D bin would correspond to Y+C=2, which includes 2-D bin H(1,1) 2402 only as no other bin coordinates add up to 2. The next 1-D bin would correspond to Y+C=3, which includes 2-D bins H(1,2) and H(2,1). The third 1-D bin would correspond to Y+C=4, which includes 2-D bins H(1,3), H(2,2) and H(3,1). This process continues for each Y+C value with summation of all 2-D bins corresponding to a particular Y+C value becoming the new 1-D histogram bin value. Summation lines 2404 illustrate the correlation. This process works well when luminance and color contributions to the 2-D histogram are considered substantially equal. However, this is not always the case.
In some cases, the luminance and color values in a 2-D color difference histogram or other color/luminance histogram are obtained using different quantization factors, different bit depths or other factors that give a color component a different weight than a corresponding luminance component. In other cases, the resulting 1-D histogram may be used in a process where color or luminance has a greater influence on the results. In these cases, embodiments may comprise a color weight value that affects the summation process. In some embodiments, the color weight value may be used to vary the slope of the summation lines 2404 thereby changing which bins are added to create the new 1-D bin. For example, with a color weight value of 4, the slope of the summation lines may be changed to 1:4, such that the summation of 2-D bins H(1,2) and H(4,1) is the second 1-D bin value.
Once a 1-D histogram has been generated, the histogram or related data may be passed to other system modules. In some embodiments, the 1-D histogram or related data may be passed to a mapping module, a display modeling module or a performance metric module, such as a distortion module. The 1-D histogram may also be used by a scene cut detection module.
Some exemplary embodiments of the present invention may be described with reference to FIG. 113. In these embodiments, an image 2420 may be used as input for a color difference histogram generator 2421. The color difference histogram produced by the histogram generator 2421 may then be passed to a histogram conversion module 2423. The histogram conversion module 2423 may also receive a color weight parameter 2422. Based on the color weight parameter 2422, the histogram conversion module 2423 may determine a summation line slope or similar conversion parameter for converting the 2-D color difference histogram into a 1-D histogram. Once the parameters are set, the conversion may be performed, as explained above and a 1-D histogram will be created. This 1-D histogram may then be transmitted to various modules, such as a performance metric module 2425 for further processes, such a histogram weighting with an error vector.
Further embodiments of the present invention may be described with reference to FIG. 114. In these embodiments, an image 2430 or image data may be processed by a color difference histogram module 2431 to generate a 2-D color difference histogram. This 2-D color difference histogram may then be converted to a 1-D histogram in a histogram conversion module 2432. This 1-D histogram 2433 may then be stored in a histogram buffer 2434. In some embodiments, the histogram buffer 2434 may have a capacity to accommodate multiple histograms, such as histograms from previous video sequence frames. These histograms may then be used by various modules of the system for several purposes.
In some embodiments, a scene cut module 2435 may access the histogram buffer and use histogram data to determine whether a scene cut is present in a video sequence. This scene cut information may then be sent to a temporal filter module 2445 where it may be used to switch or modify a filter or filter parameters. A mapping module 2436 may also access the histogram buffer 2434 and use histogram data to calculate an APL or another image characteristic.
The mapping module may comprise one or more maps or correlation constructs that relate one or more image characteristics to one or more display model attributes as explained above in relation to embodiments illustrated in FIG. 105 and other figures. In some embodiments, a user brightness selection module 2439 may also affect map selection. A user brightness selection module 2439 may accept user input designating a display brightness and may comprise a user interface or other means for accepting a user selection. In some embodiments, user brightness selection input may be sent to the mapping module 2436 where the input may be used to select or modify a map or modify the output from a map. This modified output may then be sent to the modeling module 2437. In other embodiments, user brightness selection input may be sent directly to the modeling module 2437 where it may be used to modify the data received from the mapping module 2436.
These embodiments may further comprise an ambient light module 2438, which may comprise one or more sensors for determining ambient light conditions, such as an ambient light intensity, ambient light color or variations in ambient light characteristics. This ambient light data may be transmitted to the mapping module 2436.
These embodiments may further comprise a manual map selection module 2440, which may also affect map selection. When multiple maps or correlations are defined, a user may select a preferred map with the manual map selection module 2440.
In these embodiments, data received from the user brightness selection module 2439, the manual map selection module 2440 and the ambient light module 2438 may be used to select a map, modify a map or modify the results obtained from a map. In some embodiments, input from one of these modules may have priority over other modules. For example, in some embodiments, a manual map selection received from user input may override an automated map selection process based on ambient light conditions. In some embodiments, multiple inputs to the mapping module 2436 may be combined to select and modify a map or map output.
Once the map or correlation has been selected, the mapping module 2436 may correlate the image characteristic to the display model attribute and send this attribute to the display modeling module 2437.
Once a display model attribute that conforms to constraints in the mapping module 2436 has been determined, other display model parameters may be established in the display modeling module 2437. The display modeling module 2437 may determine model clipping limits, display error vectors, histogram weighting values and other data for determining a difference, error, distortion or other performance metric of an image when displayed at a specific source light illumination level. Alternatively, one or more display model parameters may be established in a performance metric module 2441, which may determine model clipping limits, display error vectors, histogram weighting values and other data for determining a difference, error, distortion or other performance metric.
A performance or distortion module 2443 may then use this data to determine the performance metric for various source light illumination levels. A source light level selection module 2444 may then select an appropriate source light illumination level based on the performance metric, such as distortion. This selected source light illumination level may then be communicated to a temporal filter module 2445.
The temporal filter module 2445 may be responsive to input from other modules in the system. In particular, the scene cut module 2435 and the user brightness selection module 2439 may communicate with the temporal filter module 2445 to indicate when scene cuts occur and when a user has selected manual brightness selection. When these events occur, the temporal filter module may respond by switching or modifying filter processes as explained above in relation to scene-cut responsive embodiments.
The filtered source light illumination level may then be sent to the display source light control 2448 and to an image compensation calculation module 2449. The image compensation calculation module 2449 may then use the filtered source light illumination level in calculating a compensation curve or another compensation process as explained above for various embodiments. This compensation curve or process may then be indicated to the image compensation module 2450, where the curve or process may be applied to the original image 2430 to create an enhanced image 2451. The enhanced image 2451 may then be sent to the display 2452 where the image can be displayed in conjunction with the filtered source light illumination level.
Histogram Manipulation
Current video processing systems and protocols place constraints on image data transmitted therewith. In some cases, protocols require additional data, such as metadata and synchronization data, to be transmitted with a video sequence. This additional overhead restricts the bandwidth that can be used to transmit actual video content. In some cases, this overhead requires the bit depth of the video content to be lowered. For example, 8-bit color or luminance channel data may be restricted to 7 bits for transmission. However, many display devices and processes are capable of handling the full 8-bit dynamic range. In some embodiments, when a histogram is generated or transmitted with a lower dynamic range, the histogram may be stretched to a higher dynamic range when received at the receiving device or module.
In some embodiments, a lower-dynamic-range histogram may be generated by a histogram module and transmitted to another module, such as a performance metric module, which may use an error vector to weight the histogram as part of a distortion calculation. However, this process is easier when the histogram range matches that of the error vector, which has the full dynamic range of the image. Accordingly, the performance metric module may stretch the histogram to the full dynamic range of the image before the weighting process.
Aspects of some embodiments of the present invention may be described with reference to FIG. 115. In these embodiments, an original dynamic range line 2460 represent the full dynamic range of an image. In this case the range spans from a low point 2461 with value zero to a high point 2462 with a value of 255, which is a full 8-bit range. However, an image with this dynamic range and a histogram created from such an image may be forced into a restricted dynamic range due to processing or transmission constraints. This restricted dynamic range may be represented by restricted dynamic range line 2463, which, in an exemplary embodiment, spans from a low point 2464 with a value of 16 to a high point 2465 with a value of 235. Once a histogram is generated or converted to this restricted dynamic range and is then transmitted to processes that do not have this dynamic range restriction, the histogram may be converted back to the full dynamic range of the image or to another dynamic range that meets restrictions on the later process. In this exemplary embodiment, the restricted dynamic range represented by line 2463 is converted back to the full dynamic range of the image represented by range line 2466, which spans from low point 2467 with a value of zero to high point 2468 with a high point of 255. Conversion to the full dynamic range may comprise assigning new values to the low and high points and using linear scaling to determine any intermediate points.
Further embodiments of the present invention may be described with reference to FIG. 116. In these embodiments, an image 2470 or image data may be processed by a color difference histogram module 2471 to generate a 2-D color difference histogram. This 2-D color difference histogram may then be converted to a 1-D histogram in a histogram conversion module 2472. The 1-D histogram may then be further converted with a histogram range converter 2493 that may change the dynamic range of the 1-D histogram. In some embodiments, a histogram range converter 2493 may convert a histogram received from the 1-D-to-2-D histogram converter 2473 to a different dynamic range, such as the dynamic range of an error vector or an image.
This 1-D histogram 2473 with converted dynamic range may then be stored in a histogram buffer 2474. In some embodiments, the histogram buffer 2474 may have a capacity to accommodate multiple histograms, such as histograms from previous video sequence frames. These histograms may then be used by various modules of the system for several purposes.
In some embodiments, a scene cut module 2475 may access the histogram buffer and use histogram data to determine whether a scene cut is present in a video sequence. This scene cut information may then be sent to a temporal filter module 2485 where it may be used to switch or modify a filter or filter parameters. A mapping module 2476 may also access the histogram buffer 2474 and use histogram data to calculate an APL or another image characteristic.
The mapping module may comprise one or more maps or correlation constructs that relate one or more image characteristics to one or more display model attributes as explained above in relation to embodiments illustrated in FIG. 105 and other figures. In some embodiments, a user brightness selection module 2479 may also affect map selection. A user brightness selection module 2479 may accept user input designating a display brightness and may comprise a user interface or other means for accepting a user selection. In some embodiments, user brightness selection input may be sent to the mapping module 2476 where the input may be used to select or modify a map or modify the output from a map. This modified output may then be sent to the modeling module 2477. In other embodiments, user brightness selection input may be sent directly to the modeling module 2477 where it may be used to modify the data received from the mapping module 2476.
These embodiments may further comprise an ambient light module 2478, which may comprise one or more sensors for determining ambient light conditions, such as an ambient light intensity, ambient light color or variations in ambient light characteristics. This ambient light data may be transmitted to the mapping module 2476.
These embodiments may further comprise a manual map selection module 2480, which may also affect map selection. When multiple maps or correlations are defined, a user may select a preferred map with the manual map selection module 2480.
In these embodiments, data received from the user brightness selection module 2479, the manual map selection module 2480 and the ambient light module 2478 may be used to select a map, modify a map or modify the results obtained from a map. In some embodiments, input from one of these modules may have priority over other modules. For example, in some embodiments, a manual map selection received from user input may override an automated map selection process based on ambient light conditions. In some embodiments, multiple inputs to the mapping module 2476 may be combined to select and modify a map or map output.
Once the map or correlation has been selected, the mapping module 2476 may correlate the image characteristic to the display model attribute and send this attribute to the display modeling module 2477.
Once a display model attribute that conforms with constraints in the mapping module 2436 has been determined, other display model parameters may be established in the display modeling module 2477. The display modeling module 2477 may determine model clipping limits, display error vectors, histogram weighting values and other data for determining a difference, error, distortion or other performance metric of an image when displayed at a specific source light illumination level. In some embodiments, model clipping limits, display error vectors, histogram weighting values and other data for determining a difference, error, distortion or other performance metric of an image when displayed at a specific source light illumination level may be determined within performance metric/distortion module 2481 such as in weight computation module 2482.
The performance or distortion module 2481 may then use this data to determine the performance metric for various source light illumination levels. A source light level selection module 2484 may then select an appropriate source light illumination level based on the performance metric, such as distortion. This selected source light illumination level may then be communicated to a temporal filter module 2485.
The temporal filter module 2485 may be responsive to input from other modules in the system. In particular, the scene cut module 2475 and the user brightness selection module 2439 may communicate with the temporal filter module 2485 to indicate when scene cuts occur and when a user has selected manual brightness selection. When these events occur, the temporal filter module may respond by switching or modifying filter processes as explained above in relation to scene-cut responsive embodiments.
The filtered source light illumination level may then be sent to the display source light control 2488 and to an image compensation calculation module 2489. The image compensation calculation module 2489 may then use the filtered source light illumination level in calculating a compensation curve or another compensation process as explained above for various embodiments. This compensation curve or process may then be indicated to the image compensation module 2490, where the curve or process may be applied to the original image 2470 to create an enhanced image 2491. The enhanced image 2491 may then be sent to the display 2492 where the image can be displayed in conjunction with the filtered source light illumination level.

Image Compensation Design for Additional Processing

In many of the above-described systems, image compensation is the last process to be performed on an image before display. However, in some systems, post-compensation processing may need to be performed. This may be due to chip or process architecture or other constraints on the system that preclude performance of this processing before image compensation. Additionally, in some cases, performing a process on an image before image compensation can cause artifacts or errors in the image that are not found when the process is performed after image compensation.
When a process is performed after image compensation occurs, the image compensation algorithm should take into consideration the effect of the post-compensation processing. If not, the image may be over-corrected or under-corrected for a given source light illumination level or other conditions. Accordingly, when post-processing will be performed, some embodiments of the present invention will consider the process in the design of the image compensation algorithm or process.
An exemplary image compensation and source light illumination level selection system is shown in FIG. 117. This system comprises a process for receiving an input image 2500 at a pre-image-compensation tonescale process 2501. After the initial process 2501, the modified image or modified image data is sent to a backlight selection module 2502 for image-related backlight selection. The modified image is also sent to a brightness preservation/image compensation (BP/IC) module 2503, which also receives the backlight selection produced from the backlight selection module 2502. The brightness preservation or image compensation module 2503 generates a BP/IC tonescale or similar process to compensate the image for the backlight changes resulting from the backlight selection process. This BP/IC tonescale or similar process is then applied to the modified image resulting in a compensated image 2505. The backlight selection is also sent to the backlight 2504 to control its illumination level. The compensated image 2505 may then be displayed using the selected backlight illumination level. In this exemplary system, the backlight selection process 2502 operates on the same image as the brightness preservation/image compensation process 2503. These embodiments may serve as a reference for post-compensation processes and modified compensate processes.
Another exemplary system is illustrated in FIG. 118. In this system, an input image 2510 is input to an image compensation tonescale process 2513. The input image is also input to the backlight selection module 2512. The selection resulting from the backlight selection process 2512 is sent to the brightness preservation/image compensation process 2513 as well as the display backlight 2514. The brightness preservation/image compensation process 2513 receives the image and generates a brightness preservation/image compensation tonescale or similar process for image compensation. That brightness preservation/image compensation process is then applied to the modified image resulting in a compensated image, which is then sent to a post-compensation process 2511. The post-compensation process 2511 may then further process the compensated image through another tonescale operation or another process.
The post-compensated image 2515 may then be displayed on a display with the selected backlight illumination level. Post-processing of the compensated image may result in improper image compensation. Also, in this exemplary system, any errors introduced in the compensation tonescale process 2513, may be amplified in the post-compensation process 2511. In some cases, these amplified errors may render this system inappropriate for use.
Yet another exemplary system is illustrated in FIG. 119. In this system, an input image 2520 is input to a backlight selection process 2522 and to a modified brightness preservation/image compensation process 2521 that is modified to account for a post-image-compensation process 2523. The backlight selection resulting from the backlight selection process 2522 is also sent to the modified brightness preservation/image compensation process 2521. The modified brightness preservation/image compensation process 2521 is aware of the post-image-compensation process 2523 and can account for its effect on the image. Accordingly, the modified brightness preservation/image compensation process 2521 can generate and apply to the image 2520 a process that will compensate for the backlight illumination level selected for the image and that will compensate for the effect of a post-image-compensation process 2523. This process is then applied to the image before it is sent to the post-image-compensation process 2523. The image is then processed with the post-image-compensation process 2523, which results in a compensated and modified image 2525 that can be displayed with the selected backlight illumination level. In this system, the use of a post-image-compensation process 2523 avoids the problems created by amplifying errors from a pre-image-compensation process.
Some embodiments of the present invention comprise a modified brightness preservation/image compensation process that accounts for the effect of another tonescale process applied after the modified brightness preservation/image compensation process. This additional tonescale process may be referred to as a post-compensation process. These modified processes may be based on the principle that a modified brightness preservation/image compensation process, MBP(x), followed by another tonescale process, TS(x), will have the same result as the tonescale process, TS(x), followed by an original brightness preservation/image compensation process, BP(x). This principle may be expressed in equation form as Equation 62.

TS(MBP(x))=BP(TS(x))

MBP(x)=TS−1(BP(TS(x)))  Equation 62 Exemplary Modified BP/IC Process

This principle may be described graphically in FIG. 120, where a first tonescale process, TS(x), is represented by a first tonescale curve 2530. For an input image code value, x 2531, this process yields an output value, w 2532. The output of the first tonescale curve, w, may then be used as input for a BP/IC process, BP(w), represented by a second tonescale curve 2534. Using w 2532 as input to the BP/IC process, the process will yield an output value, z 2536. The value z 2536 may then be used to determine the input value, y 2540, to the tonescale process, TS( ) 2538, that will result in the output, z 2536. That result is y 2540. In some embodiments, this final process may be performed by solving for the input that will yield the desired, known output. In other embodiments, an inverse tonescale operation, TS−1, may be obtained and used to determine the final value, y 2540, using z 2536.
Using these processes or mathematical or functional equivalents, a relationship between input code value, x 2531, and final value, y 2540, may be determined and mapped 2541. In some embodiments, the relationship between final value y 2540 and initial input, x 2531 may be communicated by determining a plurality of points that fit the relationship and interpolating between those points to generate a modified brightness preservation/image compensation curve, MBP(x).
Variable Delay Embodiments
In some embodiments of the present invention, an image may require substantial processing after compensation. In other embodiments, the source light illumination level processing may be more time consuming for some images than for others. In some embodiments, optional processes, such as frame rate conversion, may or may not be selected thereby creating differences in processing time for image processing. Accordingly, some embodiments of the present invention may comprise a variable delay for the source light illumination level signal (backlight signal).
Some embodiments of the present invention comprise a variable delay between the source light illumination level selection process and the source light control at the display. In some embodiments, this delay is selective and may be triggered by the use of specific processes, such as frame rate conversion, or other processes that affect the processing time of the image compensation pipeline.
In some embodiments of the present invention, a delay module, delay device or delay process may comprise a source light illumination level signal buffer that may store multiple illumination level signal for multiple image frames. In some embodiments, the buffer may have a variable output that is responsive to a post-processing module or process.
Some embodiments of the present invention may be described with reference to FIG. 121. In these embodiments, an image 2550 is input to a source light illumination level selection module 2552 for selection of a source light illumination level appropriate for the image and the device, viewing conditions or other factors. The image 2550 may also be sent to a source light illumination level compensation module 2551, which may also receive the source light illumination level selected in the source light illumination level selection module 2552. The compensation module 2551 may then use this image and source light information to generate a compensation curve and apply the compensation curve to the image. The compensated image may then be output to a selector or switch 2557, which may be set by manual or automated selection based on image characteristics, display device characteristics, user preferences or other parameters. Based on switch 2557 position, the compensated image may be directed to an optional post-compensation process 2554 or may bypass the optional process and be sent directly to a display device 2556. If the optional post-compensation process 2554 is selected, the image will be sent to the process, which may incur substantial delay. If the process 2554 is selected, the process 2554 or an associated process may signal to a delay module 2553 that a delay will occur. The delay module 2553 may then delay the source light control signal associated with the delayed image so that the control signal will arrive at the display source light 2555 when the post-processed image is sent to the display 2556.
Some embodiments of the present invention may be described with reference to FIG. 122. In these embodiments, an image 2560 is input to a source light illumination level compensation level module 2564 and is also input to a histogram module 2561. The histogram module 2564 may generate a histogram from the image 2560. The histogram may then be sent to a source light illumination level selection module 2562 where a source light illumination level may be selected based on the image histogram and other parameters. The selected source light illumination level may then be signaled to the compensation module 2564. With the source light illumination level known and the image received, the compensation module 2564 may process the image to compensate for the source light illumination level. The compensated image may then be sent to a frame rate conversion module 2565 where the image, e.g. image sequence, may optionally be converted to a different frame rate. Various frame rate conversion algorithms may be used and, in some embodiments, multiple algorithms may be employed with each algorithm associated with a specific processing delay. In some embodiments, the frame rate conversion module may comprise a bypass setting that omits any frame rate conversion and the associated delay.
The selected source light illumination level is also sent to a delay module 2563, which may comprise a buffer for the illumination level signals. If a frame rate conversion algorithm is selected, the frame rate conversion module 2565 may send a delay signal to the selective or variable delay module 2563. This delay signal may indicate to the delay module 2563 that the image processing pipeline is delayed and that a similar delay will be required to synchronize the image with it's associated source light illumination level signal. When the frame rate conversion process is selected, the frame rate conversion module 2565 may then process the image or image sequence and output the converted-frame-rate image 2567, 2566 to a display device. Also, at the appropriate time, the delay module 2563 will output the source light illumination level signal associated with the converted-frame-rate image 2567, 2566.
Further embodiments of the present invention may be described with reference to FIG. 123. In these embodiments, an image 2577 or image data may be processed by a color difference histogram module 2592 to generate a 2-D color difference histogram. This 2-D color difference histogram may then be converted to a 1-D histogram in a histogram conversion module 2593. This 1-D histogram 2575 may then be stored in a histogram buffer 2576. In some embodiments, the histogram buffer 2576 may have a capacity to accommodate multiple histograms, such as histograms from previous video sequence frames. These histograms may then be used by various modules of the system for several purposes.
In some embodiments, a scene cut module 2579 may access the histogram buffer and use histogram data to determine whether a scene cut is present in a video sequence. This scene cut information may then be sent to a temporal filter module 2584 where it may be used to switch or modify a filter or filter parameters. A mapping module 2573 may also access the histogram buffer 2576 and use histogram data to calculate an APL or another image characteristic.
The mapping module may comprise one or more maps or correlation constructs that relate one or more image characteristics to one or more display model attributes as explained above in relation to embodiments illustrated in FIG. 105 and other figures. In some embodiments, a user brightness selection module 2571 may also affect map selection. A user brightness selection module 2571 may accept user input designating a display brightness and may comprise a user interface or other means for accepting a user selection. In some embodiments, user brightness selection input may be sent to the mapping module 2573 where the input may be used to select or modify a map or modify the output from a map. This modified output may then be sent to the modeling module 2574. In other embodiments, user brightness selection input may be sent directly to the modeling module 2574 where it may be used to modify the data received from the mapping module 2573.
These embodiments may further comprise an ambient light module 2570, which may comprise one or more sensors for determining ambient light conditions, such as an ambient light intensity, ambient light color or variations in ambient light characteristics. This ambient light data may be transmitted to the mapping module 2573.
These embodiments may further comprise a manual map selection module 2572, which may also affect map selection. When multiple maps or correlations are defined, a user may select a preferred map with the manual map selection module 2572.
In these embodiments, data received from the user brightness selection module 2571, the manual map selection module 2572 and the ambient light module 2570 may be used to select a map, modify a map or modify the results obtained from a map. In some embodiments, input from one of these modules may have priority over other modules. For example, in some embodiments, a manual map selection received from user input may override an automated map selection process based on ambient light conditions. In some embodiments, multiple inputs to the mapping module 2573 may be combined to select and modify a map or map output.
Once the map or correlation has been selected, the mapping module 2573 may correlate the image characteristic to the display model attribute and send this attribute to the display modeling module 2574.
Once a display model attribute that conforms with constraints in the mapping module 2573 has been determined, other display model parameters may be established in the display modeling module 2574. The display modeling module 2574 may determine model clipping limits, display error vectors, histogram weighting values and other data for determining a difference, error, distortion or other performance metric of an image when displayed at a specific source light illumination level. In some embodiments, model clipping limits, display error vectors, histogram weighting values and other data for determining a difference, error, distortion or other performance metric of an image when displayed at a specific source light illumination level may be determined within performance metric/distortion module 2583 such as in weight computation module 2582.
A performance or distortion module 2583 may also comprise a histogram range converter 2594 for changing the dynamic range of a histogram. In some embodiments, a histogram range converter 2594 may convert a histogram received from the histogram buffer 2576 to a different dynamic range, such as the dynamic range of an error vector. The performance or distortion module 2583 may then use this data to determine the performance metric for various source light illumination levels. A source light level selection module 2581 may then select an appropriate source light illumination level based on the performance metric, such as distortion. This selected source light illumination level may then be communicated to a temporal filter module 2584.
The temporal filter module 2584 may be responsive to input from other modules in the system. In particular, the scene cut module 2579 and the user brightness selection module 2571 may communicate with the temporal filter module 2584 to indicate when scene cuts occur and when a user has selected manual brightness selection. When these events occur, the temporal filter module may respond by switching or modifying filter processes as explained above in relation to scene-cut responsive embodiments.
The filtered source light illumination level may then be sent to a delay module 2587, which may delay or buffer the illumination level signal in sync with it's associated image that may be delayed in the image processing pipeline, such as by a post-compensation process 2495. In some embodiments, a post-compensation process 2495 may be optional and may selectively actuate the delay module 2587. After any delays in the delay module 2587, the illumination level signal may be sent to the display source light control 2591. The filtered source light illumination level may also be sent from the filter module 2584 to an image compensation calculation module 2588. The image compensation calculation module 2588 may then use the filtered source light illumination level in calculating a compensation curve or another compensation process as explained above for various embodiments. This compensation curve or process may then be indicated to the image compensation module 2578, where the curve or process may be applied to the original image 2577 to create an enhanced image 2589. The enhanced image 2589 may then be sent to a post-compensation process 2595, such as a frame rate conversion process. The post-compensation process 2595 may also communicate with the delay module 2582 to selectively actuate or modulate the delay process. After any post-compensation processing, the processed image may be sent to the display 2590 where the image can be displayed in conjunction with the filtered source light illumination level that has been appropriately delay when necessary.

Low Frequency Gain Map Smoothing

Many embodiments of the present invention described above and other embodiments may be improved through the use of a spatially-smoothed low frequency gain map. In some situations, when a tone map increases pixel values in relation to the original pixel intensity, the values of spatial neighbors can be increased disproportionately. This can result in loss of detail in the adjusted image. However, this problem can be alleviated, in some embodiments, by the application of a spatially-smoothed, low-frequency gain map, which reduces the disproportionate gain between spatial neighbors.
Some embodiments of the present invention may be described in relation to FIG. 124. In these embodiments, an image may be split into two or more frequency ranges resulting in a low-pass or low-frequency (LF/LP) image 2640 and a high-pass or high-frequency (HF/HP) image 2641. In some embodiments, this process may be performed by low-pass filtering the original image 2649 to produce the low-pass image 2640 and by subtracting the low-pass image from the original image to produce the high-pass image 2641. In other embodiments, other methods may be used to produce a low-pass image 2640 and a high-pass image 2641 from an original image 2648.
In these embodiments, a gain function or process 2642 may also be generated. The gain process 2642 may comprise generation of a gain map or another mathematical or logical process for manipulation of image values. The gain process 842 may be based on one or more characteristics of the original image 2647, one or more characteristics of the low-pass image 2640 and/or other information. Once a gain process 2642 is generated, a gain image 2643 may be produced. A gain image 2643 may comprise gain values for each pixel or sub-pixel in an image. The gain image 2643 may then be spatially-smoothed 2644 by one or more of many methods known in the art. This smoothed gain image may then be combined 2645 with the low-pass image 2640 to produce an enhanced low-pass image. In some embodiments, this combination step may comprise multiplication of smoothed gain image values by low-pass image 2640 values. The combination 2645 of the smoothed gain image with the low-pass image 2640 may produce an enhanced low-pass image that may then be combined 2647 with the high-pass image 2641. The combination 2647 of the enhanced low-pass image and the high-pass image may result in an enhanced output image 2646.
Some embodiments of the present invention may be described in relation to FIG. 125. In these embodiments, an original input image 2650 may be split into two or more frequency ranges resulting in a low-pass or low-frequency image 2651 and a high-pass or high-frequency image 2652. In some embodiments, this process may be performed by low-pass filtering the original image 2650 to produce the low-pass image 2651 and by subtracting the low-pass image from the original image to produce the high-pass image 2652. In other embodiments, other methods may be used to produce a low-pass image 2651 and a high-pass image 2652 from an original image 2650.
In these embodiments, a gain process 2653 may also be generated. The gain process 2653 may be based on one or more characteristics of the original image 2650, one or more characteristics of the low-pass image 2651 and/or other information. A tone map 2653 may also be generated by any of the methods described above. Once a tone map 2653 is generated, a gain image 2654 may be produced. A gain image 2654 may comprise gain values for each pixel or sub-pixel in an image. The gain image 2654 may then be spatially-smoothed 2655 by one or more of many methods known in the art. This smoothed gain image 2656 may then be combined 2657 with the low-pass image 2651 to produce a enhanced low-pass image. In some embodiments, this combination step 2657 may comprise multiplication of smoothed gain image values by low-pass image values. The combination 2657 of the smoothed gain image with the low-pass image may produce an enhanced low-pass image.
In these embodiments, the high-pass image 2652 may also be modified. A high-pass gain process 2660 may be applied 2658 to the high pass image 2652 to produce an enhanced high-pass image. In some embodiments, the high-pass gain process may comprise a constant gain factor for all high-pass image elements. In other embodiments the high-pass gain process may result in a variable gain function. In other embodiments, other variations of gain functions and applications may be applied.
The enhanced low-pass image and the enhanced high-pass image may then be combined 2659 to produce an enhanced output image 2661. In some embodiments, this process may comprise addition of the two images.
Some embodiments of the present invention may be described in relation to FIG. 126. In these embodiments, an original input image 2670 serves as input to a LF/LP gain process 2671. In these embodiments, a LF/LP gain process may be created or modified in relation to the characteristics of the input image 2671. The LF/LP gain process may then be applied to the input image 2670, an LF/LP version of the input image or another variation of the input image to produce a LF/LP gain image 2674. This LF/LP gain image 2674 may then be spatially smoothed 2675 to produce a smoothed LF/LP gain image.
The input image 2670 may also serve as input to a filter module 2673. This may be done by passing the input image 2670 through the LF/LP gain process module 2671 or the input image 2670 may be sent directly 2681 to the filter module 2673. In some embodiments, the filter module may comprise a low-pass filter, which, when applied to the input image 2670, creates a low-frequency or low-pass (LF/LP) image. The LF/LP image may then be combined 2676 with the smoothed gain image to create an enhanced LF/LP image.
The input image 2670 may also serve as input to a HF/HP gain process 2672 whereby a high-frequency or high-pass (HF/HP) gain process is created. A HF/HP image may also be created by subtracting or otherwise processing the original input image 2670 with the LF/LP image. In some embodiments the HF/HP image may be created independently of the LF/LP image. The HF/HP gain process may then be applied 2678 to the HF/HP image to create an enhanced HF/HP image. In some embodiments, application of the HF/HP gain map to the HF/HP image may comprise multiplication of gain map values by the corresponding image values.
The enhanced HF/HP image may then be combined 2679 with the enhanced LF/LP image to produce an output image 2680.
Some embodiments of the present invention may be described in relation to FIG. 127. In these embodiments, an original input image 2690 serves as input to a frequency decomposition process 2691. In some embodiments, a low-pass filter 2692 may be used to create a LF/LP image. This LF/LP image may then be used to create 2693 a HF/HP image by subtraction from the input image 2690 or by other methods.
In some embodiments, a color analysis process 2696 may also be used. This process may comprise analysis of individual color channels of the input image or of the LF/LP image. Characteristics of one or more color channels may be used to determine a gain process, which may be applied to the LF/LP image to create an LF/LP gain image 2694. This LF/LP gain image 2694 may then be smoothed to create a smoothed LF/LP gain image 2695. The smoothed LF/LP gain image may then be applied 2697 to the LF/LP image to create an enhanced LF/LP image.
An HF/HP gain process 2700 may also be used. This process may be independent of image characteristics or may analyze the image and adapt thereto. The HF/HP gain may be applied 2699 to the HF/HP image to create an enhanced HF/HP image. Once the enhanced, frequency-specific images are created, they may be combined 2698 to form an enhanced output image 2701. This combination may comprise addition of the two enhanced images.
Some embodiments of the present invention may be described with reference to FIG. 128. In these embodiments, an input image 2710 may be input to a filter module 2730, comprising one or more filters or other elements for image frequency decomposition. The filter module 2730 process may result in a first frequency range image 2732 and a second frequency range image 2734. In some embodiments, the first frequency range image may be converted to allow access to separate color channel code values 2736. In some embodiments, the input image may allow access to color channel code values without any conversion. A code value for a first color channel of the first frequency range 2738 may be determined and a code value for a second color channel of the first frequency range 2740 may be determined.
These code values may be input to a code value characteristic analyzer 2742, which may determine code value characteristics. A code value selector 2744 may then select one of the code values based on the code value analysis. This selection may then be input to an adjustment model selector or generator 2745 that will generate or select a gain value or gain process based on the code value selection.
In these embodiments, the selected gain value or process may then be applied to the input image 2710 or the first frequency range image 2732 to obtain a first frequency range gain image 2746. The first frequency range gain image 2746 may represent gain values that are to be multiplied by image values to effect a gain process. This first frequency range gain image 2746 may then be spatially smoothed 2747 to create a first frequency range smoothed gain image.
The smoothed first frequency range gain image may then be applied 2748 to the first frequency range code values. A gain map may also be applied 2753 to the second frequency range image 2734. In some embodiments, a constant gain factor may be applied to all pixels in the second frequency range image. In some embodiments, the second frequency range image may be a high-pass version of the input image 2710. The adjusted first frequency range image 2750 and the adjusted second frequency range image 2753 may be added or otherwise combined 2754 to create an adjusted output image 2756.
Some embodiments of the present invention may be described with reference to FIG. 129. In these embodiments, an input image 2710 may be sent to a filter 2760 or some other processor for dividing the image into multiple frequency range images. In some embodiments, filter 2760 may comprise a low-pass (LP) filter and a processor for subtracting an LP image created with the LP filter from the input image to create a high-pass (HP) image. The filter module 2760 may output two or more frequency-specific images 2762, 2764, each having a specific frequency range. A first frequency range image 2762 may have color channel data for a first color channel 2766 and a second color channel 2768. The code values for these color channels may be sent to a code value characteristic evaluator 2770 and/or code value selector 2772. This process will result in the selection of one of the color channel code values. In some embodiments, the maximum code value from the color channel data for a specific pixel location will be selected. This selected code value may be passed to an adjustment mode generator 2773, which will generate a code value adjustment model. In some embodiments, this adjustment model may comprise a gain map or gain value.
This gain map or gain value may then be applied to the input image 2710 or to the first frequency range image 2762 to produce a first frequency range gain image 2774. The first frequency range gain image 2774 may represent values for each pixel location by which corresponding image values may be multiplied to effect a gain process. This gain image 2774 may then be spatially smoothed to produce a first frequency range smoothed image 2775.
The first frequency range smoothed gain image 2775 may then be applied 2776 to the input image 2710 or the first frequency range image 2762 to produce a first frequency range adjusted image 2778.
A second frequency range image 2764 may optionally be adjusted with a separate gain function 2765 to boost its code values. In some embodiments no adjustment may be applied. In other embodiments, a constant gain factor may be applied to all code values in the second frequency range image. This second frequency range image may be combined with the adjusted first frequency range image 2778 to form an adjusted combined image 2781.
In some embodiments, the application of the adjustment model to the first frequency range image and/or the application of the gain function to the second frequency range image may cause some image code values to exceed the range of a display device or image format. In these cases, the code values may need to be “clipped” to the required range. In some embodiments, a color-preserving clipping process 2782 may be used. In these embodiments, code values that fall outside a specified range may be clipped in a manner that preserves the relationship between the color values. In some embodiments, a multiplier may be calculated that is no greater than the maximum required range value divided by the maximum color channel code value for the pixel under analysis. This will result in a “gain” factor that is less than one and that will reduce the “oversize” code value to the maximum value of the required range. This “gain” or clipping value may be applied to all of the color channel code values to preserve the color of the pixel while reducing all code values to values that are less than or equal to the maximum value or the specified range. Applying this clipping process results in an adjusted output image 2784 that has all code values within a specified range and that maintains the color relationship of the code values.
Compensation for Ambient Conditions
Some embodiments of the present invention comprise methods and systems for compensating for ambient light conditions. Some of these embodiments may be described with reference to FIG. 130. These embodiments comprise a retinal model linked to the derivation of a tonescale used to enhance the image. Some embodiments also comprise methods and systems for image enhancement to compensate for backlight variation. Some embodiments employ a Retinal model and examine the change in luminance needed to keep retina responses substantially equal in two different adapting luminance levels. In some embodiments, the retinal model has the property that the necessary change in luminance is multiplicative and hence is equivalent to a change in backlight. The relative change in backlight needed to maintain equal retinal response. The needed backlight increase can be emulated using a brightness preservation algorithm.
In the exemplary system shown in FIG. 130, an ambient reference 2800 is selected as a standard input for a retinal model 2802 to determine retinal responses to various intensity levels. An ambient illumination sensor 2801 is also used to measure the intensity of ambient illumination surrounding the display. The output from the ambient sensor 2801 is input to a retinal model 2803 to determine retinal responses at the ambient level. The retinal response from the reference ambient retinal model 2802 and the ambient sensor retinal model 2803 are then used in a compensation calculator 2804 to determine image compensation processes. In some embodiments, the compensation calculator 2804 may determine an image compensation value that will produce a substantially similar retinal response at the ambient illumination level that the original image produces at the reference ambient level. In some embodiments, an image compensation value may be determined that does not produce a substantially similar response, but which, in combination with an image enhancement, produces a substantially similar retinal response In some cases, image enhancement may compensate for the difference in retinal response values. In other cases, the retinal response achieved at the reference ambient level may not be matched, but may be used in calculating a compensation backlight value.
After an image compensation value is determined, this value may be sent to an image enhancement module 2807 for determination of a tonescale curve or other correction mechanism to enhance the image. In some embodiments, the image enhancement module 2807 may generate a tonescale correction curve that will compensate the image. In some embodiments, the image enhancement module 2807 may work in conjunction with the compensation calculator 2804 to achieve a desired image processing result. For example, in some embodiments and situations, a tonescale correction process may not fully compensate for a loss in retinal response due to ambient light conditions. In these embodiments, a backlight level that partially compensates for the ambient light conditions may be selected by the compensation calculator 2804 and the image enhancement module 2807 may generate an image enhancement process that makes up for the partial compensation of the backlight.
In some embodiments, when the image enhancement module 2807 has generated an image enhancement process, such as a tonescale process, with input from the compensation calculator 2804, the enhancement process is applied to the code values 2806 of an original image 2805. This process results in enhanced code values 2808 for an enhanced image 2809, which may then be sent to a display 2810.
In another exemplary system shown in FIG. 131, an ambient reference 2820 is selected as a standard input for a retinal model 2822 to determine retinal responses to various intensity levels. An ambient illumination sensor 2821 is also used to measure the intensity of ambient illumination surrounding the display. The output from the ambient sensor 2821 is input to a retinal model 2823 to determine retinal responses at the ambient level. The retinal response from the reference ambient retinal model 2822 and the ambient sensor retinal model 2823 are then used in a compensation calculator 2824 to determine image compensation processes. A reference display model 2831 may also provide input to the compensation calculator 2824. A display reflectance model 2832 that represents the reflectivity and/or other characteristics of displays with a reflective component may also provide input to the compensation calculator 2824.
In some embodiments, the compensation calculator 2824 may determine a compensation value or values that will produce a substantially similar retinal response at the ambient illumination level that a standard image value produces at the reference ambient level. In some cases, image enhancement may compensate for the difference in retinal response values. In other cases, the retinal response achieved at the reference ambient level may not be matched, but may be used in calculating a compensation backlight value.
After a retinal response compensation value is determined, this value may be sent to an image enhancement module 2827 for determination of a tonescale curve or other correction mechanism to enhance the image. In some embodiments, the image enhancement module 2807 may generate a tonescale correction curve that will compensate the image for ambient conditions.
In some embodiments, when the image enhancement module 2827 has generated an image enhancement process, such as a tonescale process, with input from the compensation calculator 2824, the enhancement process is applied to the code values 2826 of an original image 2825. This process results in enhanced code values 2808 for an enhanced image 2829, which may then be sent to a display 2830.
In another exemplary system shown in FIG. 132, an ambient reference 2840 is selected as a standard input for a retinal model 2842 to determine retinal responses to various intensity levels. An ambient illumination sensor 2841 is also used to measure the intensity of ambient illumination surrounding the display. The output from the ambient sensor 2841 is input to a retinal model 2843 to determine retinal responses at the ambient level. The retinal response from the reference ambient retinal model 2842 and the ambient sensor retinal model 2843 are then used in a compensation calculator 2844 to determine retinal response compensation processes. A reference display model 2851 may also provide input to the compensation calculator 2844. A display reflectance model 2652 that represents the reflectivity and/or other characteristics of displays with a reflective component may also provide input to the compensation calculator 2644.
In some embodiments, the compensation calculator 2844 may determine a retinal response compensation value or values that will produce a substantially similar retinal response at the ambient illumination level that a standard image produces at the reference ambient level. In some cases, image enhancement may compensate for the difference in retinal response values. In other cases, the retinal response achieved at the reference ambient level may only partially compensate for the difference in retinal response between ambient and reference conditions.
In some embodiments, after a retinal response compensation value is determined with the compensation calculator 2844, the retinal response compensation value may be sent to a gain look-up table (LUT) module 2853 where the value may be used to select or generate a gain LUT. The original image or image data 2845 and the gain LUT selection may be sent to a color gain image generator 2854 for creation of a color gain image. This color gain image may then be modified using a MinGain( ) function 2856. In some embodiments, this MinGain( ) function 2856 may perform a color preservation process as described above. The resulting MinGain image may then be smoothed 2857. In some embodiments, this smoothing may be performed as explained above.
The smoothed gain image may then be combined 2847 with original image code values 2646 to produce enhanced code values 2848 that define an enhanced output image 2850.
Some embodiments may comprise an exemplary retinal model described in Equation 63.




  
    
      
        Exemplary
        ⁢
        
          
        
        ⁢
        Retinal
        ⁢
        
          
        
        ⁢
        Model
        ⁢
        
          
        
        ⁢
        Equation
      
    
    
      
        
      
    
  
  
    
      
        
          
            R
            ⁡
            
              (
              
                Y
                ,
                α
              
              )
            
          
          =
          
            
              Y
              n
            
            
              
                Y
                n
              
              +
              
                α
                n
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          α
          =
          
            
              
                c
                1
              
              ·
              
                
                  (
                  
                    Y
                    Adapted
                  
                  )
                
                b
              
            
            +
            
              c
              2
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            c
            1
          
          =
          12.6
        
        ⁢
        
          

        
        ⁢
        
          b
          =
          0.63
        
        ⁢
        
          

        
        ⁢
        
          
            c
            2
          
          =
          0
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        63
      
    
  




Sample retinal response curves at different adapted luminance levels are shown in FIG. 133. The response due to the stimulus luminance of 100 cd/m2 is shown by the dashed line, 2864. In a low adapting luminance 2860 (30 cd/m2), this stimulus gives a relatively large response of 0.50. The response to this stimulus drops as the adapting luminance increases 2861, 2862 reaching a value of 0.05 at an adapting luminance of 3000 cd/m2 2863.
This model can be mathematically inverted to give the stimulus luminance as a function of the retinal response and the adaptation parameter alpha, α. The inverse relation is shown in Equation 64, Retinal Model Inverse.




  
    
      
        Retinal
        ⁢
        
          
        
        ⁢
        Model
        ⁢
        
          
        
        ⁢
        Inverse
      
    
    
      
        
      
    
  
  
    
      
        
          Y
          ⁡
          
            (
            
              R
              ,
              α
            
            )
          
        
        =
        
          
            (
            
              
                α
                ·
                R
              
              
                1
                -
                R
              
            
            )
          
          
            1
            n
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        64
      
    
  




The inverse retinal response is plotted in FIG. 134.
An equivalent form of the retinal model is shown in Equation 65. In these embodiments, the form makes it clear the model retinal output depends only upon the ratio of Y to the parameter alpha.




  
    
      
        Equivalent
        ⁢
        
          
        
        ⁢
        Retinal
        ⁢
        
          
        
        ⁢
        Model
      
    
    
      
        
      
    
  
  
    
      
        
          R
          ⁡
          
            (
            
              Y
              ,
              α
            
            )
          
        
        =
        
          
            
              (
              
                Y
                α
              
              )
            
            n
          
          
            
              
                (
                
                  Y
                  α
                
                )
              
              n
            
            +
            1
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        65
      
    
  




The parameter alpha is modeled as depending upon the adapting luminance in the following expression, Equation 66. When graphed, this gives a line in a log-log plot, as shown in FIG. 135.

α=c1·(YAdapted)b+c2 

c1=12.6 b=0.63 c2=0  Equation 66 Model for sigma

In some embodiments, the condition for equal retinal response is that the ratio of luminance to parameter alpha be constant. In some embodiments, this defines a constant, depending only upon the adapting luminance levels. This relationship scales luminance values at one level of adaptation to luminance levels at a second level of adaptation and keeps the retinal response the same, as shown in Equation 67.




  
    
      
        Exemplary
        ⁢
        
          
        
        ⁢
        condition
        ⁢
        
          
        
        ⁢
        for
        ⁢
        
          
        
        ⁢
        equal
        ⁢
        
          
        
        ⁢
        retinal
        ⁢
        
          
        
        ⁢
        response
      
    
    
      
        
      
    
  
  
    
      
        
          
            
              Y
              1
            
            
              α
              1
            
          
          =
          
            
              Y
              2
            
            
              α
              2
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            Y
            1
          
          =
          
            
              (
              
                
                  α
                  1
                
                
                  α
                  2
                
              
              )
            
            ·
            
              Y
              2
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        67
      
    
  




The analysis of embodiments stated above indicates that preserving retinal response when viewing the display in different ambient light levels is achieved by scaling the luminance with a constant determined by the adaptation level. The relevant ratio can be expressed as Equation 68. Note the dependence upon the adapting luminance and the parameter b but not c1 (assuming c2 is zero). The ratio of adapting luminance values equals the ratio of ambient intensities assuming the surround reflectance is constant. In this development, only the ratio of ambient intensity to a reference ambient intensity is needed and hence absolute numbers are not needed. If it is needed to convert from an absolute ambient intensity level (lux) to a corresponding surround luminance, we can assume the reflective surface is an ideal Lambertian reflector which implies the surround luminance in cd/m2 equals the ambient intensity in lux divided by pi,




  
    Y
    Adapting
  
  =
  
    
      
        I
        Ambient
      
      π
    
    .
  








  
    
      
        Relevant
        ⁢
        
          
        
        ⁢
        ratio
      
    
    
      
        
      
    
  
  
    
      
        
          
            α
            1
          
          
            α
            2
          
        
        =
        
          
            
              (
              
                
                  Y
                  1
                  Adaptied
                
                
                  Y
                  2
                  Adaptied
                
              
              )
            
            b
          
          =
          
            
              (
              
                
                  I
                  1
                  Ambient
                
                
                  I
                  2
                  Ambient
                
              
              )
            
            b
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        68
      
    
  




Other embodiments described above illustrate how to use image processing to emulate a change in backlight and hence scaling of luminance. We note that the luminance is composed of both the light emitted from the display and ambient dependant flare light. In the remainder of the description we apply different display models to this basic retinal response matching result of Equation 67 to determine necessary image processing to compensate for changes in retinal response due to adaptation.
Transmissive Display Model Embodiments
By ignoring the flare term and approximating the display output as purely transmissive, the display output luminance can be modeled by Equation 69.

Y=BackLight·I=BackLight·(cv)γ  Equation 69 LCD display model

Thus, the display is assumed to have no reflection. Discussion of transflective displays below addresses issues with non-zero display reflection. For analysis, we assume an LCD with maximum luminance of 100 cd/m2 at full backlight and examine the influence of adapting luminance on the retinal response due to an image on the display. The retinal response of the display at different adapting luminance levels is shown in FIG. 136.
In this analysis, the range of retinal response values decreases as the adapting luminance increases. The entire range of image code values is mapped to the possible range of retinal response values. As the range of retinal response values decreases, the visible contrast between image values decreases and image quality suffers.
Compensation
The scaling of luminance required for constant neural response at different adaptation levels shown in Equation 67 is mathematically equivalent to the scaling caused by a difference in backlight as shown in Equation 70.




  
    
      
        Conditions
        ⁢
        
          
        
        ⁢
        for
        ⁢
        
          
        
        ⁢
        Luminance
        ⁢
        
          
        
        ⁢
        matching
      
    
    
      
        
      
    
  
  
    
      
        
          
            
              BackLight
              1
            
            ·
            
              I
              1
            
          
          =
          
            
              BackLight
              2
            
            ·
            
              I
              2
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            I
            1
          
          =
          
            
              (
              
                
                  BackLight
                  2
                
                
                  BackLight
                  1
                
              
              )
            
            ·
            
              I
              2
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        70
      
    
  




Thus the image processing used to compensate for a reduction of backlight can be applied to the change in adaptation level. The equivalent backlight change is given by Equation 71.




  
    
      
        Equivalent
        ⁢
        
          
        
        ⁢
        Backlight
        ⁢
        
          
        
        ⁢
        Change
      
    
    
      
        
      
    
  
  
    
      
        
          
            BackLight
            2
          
          
            BackLight
            1
          
        
        =
        
          
            
              α
              1
            
            
              α
              2
            
          
          =
          
            
              (
              
                
                  Y
                  1
                  Adaptied
                
                
                  Y
                  2
                  Adaptied
                
              
              )
            
            b
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        71
      
    
  




Prior luminance matching can be used to determine the necessary image processing to compensate for this change in backlight levels. For instance, if a simple gamma display model is used as was used above in the luminance matching derivation. The code values are scaled by this ratio to the power of 1/gamma, i.e. as shown in Equation 72.




  
    
      
        Exemplary
        ⁢
        
          
        
        ⁢
        Scaling
        ⁢
        
          
        
        ⁢
        Ratio
      
    
    
      
        
      
    
  
  
    
      
        
          c
          2
        
        =
        
          
            
              (
              
                
                  Y
                  1
                  Adaptied
                
                
                  Y
                  2
                  Adaptied
                
              
              )
            
            
              b
              γ
            
          
          ·
          
            c
            1
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        72
      
    
  




This relation must be clipped for large code values. We illustrate the adaptation compensating tonescale in FIG. 137. In this example, the display has a maximum luminance of 100 cd/m2 and a reference adapting luminance of 30 cd/m2 was chosen.
The retinal response of the display under different adaptation levels when a compensating tonescale is used is shown in FIG. 138. Observe that at each adapting luminance, the lower range of code values gives the same retinal response as the adapting luminance changes. Thus, the image contrast is preserved in this range. The upper range of code values is clipped similarly to the backlight compensation case. We note that the techniques used to preserve bright detail in the backlight compensation application could be applied here to preserve detail in areas which are clipped. See also the discussion of transflective displays below.
The goal of the tonescale in this example is to restore retinal response as much as possible. As a result, the compensation fully restores the lower values of the image but cannot achieve the higher retinal response values and merely uses the highest retinal response possible. In practice, the hard clipping results can be reduced by using soft clipping as in the smooth tonescale design used in the backlight compensation. Additionally, the clipping can be reduced by slightly under-compensating—trading off exact retinal response compensation at low values for less clipping of high values.
Inclusion of Flare
If we include the ambient dependent flare light, the luminance necessary for retinal response matching still scales with the ratios or model parameter alpha as described in Equation 67; however, the total luminance is now a sum of the displayed image luminance and the flare light as shown in Equation 73.

Ytotal(c,IAmbient)=YDisplay(c)+Yflare(IAmbient)

YDisplay(c)=B·cγYflare(IAmbient)=IAmbient·r  Equation 73 Total Luminance including flare

The conditions for retinal response matching under two ambient levels A1 and A2 becomes:




  
    
      
        Equal
        ⁢
        
          
        
        ⁢
        Retinal
        ⁢
        
          
        
        ⁢
        Response
        ⁢
        
          
        
        ⁢
        with
        ⁢
        
          
            
          
          ⁢
          
            
          
        
        ⁢
        flare
      
    
    
      
        
      
    
  
  
    
      
        
          
            
              
                
                  
                    
                      Y
                      Display
                    
                    ⁡
                    
                      (
                      
                        c
                        1
                      
                      )
                    
                  
                  +
                
              
            
            
              
                
                  
                    Y
                    flare
                  
                  ⁡
                  
                    (
                    
                      I
                      1
                      Ambient
                    
                    )
                  
                
              
            
          
          
            α
            1
          
        
        =
        
          
            
              
                
                  
                    
                      Y
                      Display
                    
                    ⁡
                    
                      (
                      
                        c
                        2
                      
                      )
                    
                  
                  +
                
              
            
            
              
                
                  
                    Y
                    flare
                  
                  ⁡
                  
                    (
                    
                      I
                      2
                      Ambient
                    
                    )
                  
                
              
            
          
          
            α
            2
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        74
      
    
  




If the display is modeled with a gamma power function and the flare off the display is proportional to the ambient light, the condition for matching retinal response can be used to determine a compensating tone curve as above. In this case, the compensating tone curve depends upon both the ambient light level and the display reflectivity.




  
    
      
        
          
            
              
                B
                ·
                
                  c
                  1
                  γ
                
              
              +
              
                
                  I
                  1
                  Ambient
                
                ·
                r
              
            
            
              α
              1
            
          
          =
          
            
              
                B
                ·
                
                  c
                  2
                  γ
                
              
              +
              
                
                  I
                  2
                  Ambient
                
                ·
                r
              
            
            
              α
              2
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            c
            2
            γ
          
          =
          
            
              
                
                  α
                  2
                
                
                  α
                  1
                
              
              ·
              
                (
                
                  
                    c
                    1
                    γ
                  
                  +
                  
                    
                      
                        I
                        1
                        Ambient
                      
                      B
                    
                    ·
                    r
                  
                
                )
              
            
            -
            
              
                
                  I
                  2
                  Ambient
                
                B
              
              ·
              r
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            c
            2
          
          =
          
            
              (
              
                
                  
                    
                      σ
                      2
                    
                    
                      σ
                      1
                    
                  
                  ·
                  
                    (
                    
                      
                        c
                        1
                        γ
                      
                      +
                      
                        
                          
                            I
                            1
                            Ambient
                          
                          B
                        
                        ·
                        r
                      
                    
                    )
                  
                
                -
                
                  
                    
                      I
                      2
                      Ambient
                    
                    B
                  
                  ·
                  r
                
              
              )
            
            
              1
              γ
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            c
            2
          
          =
          
            
              (
              
                
                  
                    
                      (
                      
                        
                          I
                          2
                          Ambient
                        
                        
                          I
                          1
                          Ambient
                        
                      
                      )
                    
                    b
                  
                  ·
                  
                    (
                    
                      
                        c
                        1
                        γ
                      
                      +
                      
                        
                          
                            I
                            1
                            Ambient
                          
                          B
                        
                        ·
                        r
                      
                    
                    )
                  
                
                -
                
                  
                    
                      I
                      2
                      Ambient
                    
                    B
                  
                  ·
                  r
                
              
              )
            
            
              1
              γ
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        75
      
    
  




To illustrate the effect of flare, compensation results can be plotted at different ambient light levels for two different display reflectivity values 0.1% and 1.0% as shown in FIGS. 139 and 140 respectively. The ambient level and the adapting luminance are related by the assumption of perfect Lambertian reflection as noted above. The reflectivity impacts the dark levels of the display. The retinal response at the bright end of the display is reduced due to adaptation similarly to the transmissive only case discussed before.
Transflective LCD
Frequently, transflective LCDs are used in high ambient environments. In the embodiments described below, we introduce a model for a transflective LCD and apply this to the neural response matching developed above. In some embodiments, the transflective display is assumed to have equal gamma values for both transmissive and reflective components. The transmissive and reflective components are assumed to be addressed with equal values to make the explanation and derivation more simplistic. However, variations without these assumptions can be addressed similarly.

YDisplayTransflective(BackLight,IAmbient,c)=BackLight·T·cγ+IAmbient·R·cγ  Equation 76 Model for a transflective Display

We note this model reduces to our prior purely transmissive model when the ambient term or reflective term is zero. We simplify the equation and assume the backlight is constant in further analysis.

YDisplayTransflective(IAmbient,c)=B·cγ+IAmbient·R·cγ  Equation 77 Simplified Transflective Model

An additive flare term can be included in the above.

We chose a transflective display with reflectance R of 10 and determine the Retinal Response as a function of adapting luminance. Retinal responses under different adaptations are shown in FIG. 141.
The condition to match the neural response assuming equal backlight but different adapting luminance levels is derived as follows:
For equal neural response:




  
    
      
        Transflective
        ⁢
        
          
        
        ⁢
        Display
        ⁢
        
          
        
        ⁢
        with
        ⁢
        
          
        
        ⁢
        equal
        ⁢
        
          
        
        ⁢
        Retinal
        ⁢
        
          
        
        ⁢
        Response
        ⁢
        
          
            
          
          ⁢
          
            
          
        
        ⁢
        including
        ⁢
        
          
        
        ⁢
        flare
      
    
    
      
        
      
    
  
  
    
      
        
          
            
              
                
                  
                    
                      Y
                      Display
                      Transflective
                    
                    ⁡
                    
                      (
                      
                        
                          I
                          1
                          Ambient
                        
                        ,
                        
                          c
                          1
                        
                      
                      )
                    
                  
                  +
                
              
            
            
              
                
                  
                    Y
                    flare
                  
                  ⁡
                  
                    (
                    
                      I
                      1
                      Ambient
                    
                    )
                  
                
              
            
          
          
            α
            1
          
        
        =
        
          
            
              
                
                  
                    
                      Y
                      Display
                      Transflective
                    
                    ⁡
                    
                      (
                      
                        
                          I
                          2
                          Ambient
                        
                        ,
                        
                          c
                          2
                        
                      
                      )
                    
                  
                  +
                
              
            
            
              
                
                  
                    Y
                    flare
                  
                  ⁡
                  
                    (
                    
                      I
                      2
                      Ambient
                    
                    )
                  
                
              
            
          
          
            α
            2
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        78
      
    
  
  
    
      
        Compensation
        ⁢
        
          
        
        ⁢
        for
        ⁢
        
          
        
        ⁢
        Transflective
        ⁢
        
          
        
        ⁢
        LCD
      
    
    
      
        
      
    
  
  
    
      
        
          
            
              
                
                  
                    
                      B
                      ·
                      
                        c
                        1
                        γ
                      
                    
                    +
                    
                      
                        I
                        1
                        Ambient
                      
                      ·
                    
                  
                
              
              
                
                  
                    
                      R
                      ·
                      
                        c
                        1
                        γ
                      
                    
                    +
                    
                      
                        I
                        1
                        Ambient
                      
                      ·
                      r
                    
                  
                
              
            
            
              α
              1
            
          
          =
          
            
              
                
                  
                    
                      B
                      ·
                      
                        c
                        2
                        γ
                      
                    
                    +
                    
                      
                        I
                        2
                        Ambient
                      
                      ·
                    
                  
                
              
              
                
                  
                    
                      R
                      ·
                      
                        c
                        2
                        γ
                      
                    
                    +
                    
                      
                        I
                        2
                        Ambient
                      
                      ·
                      r
                    
                  
                
              
            
            
              α
              2
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            
              
                
                  
                    (
                    
                      B
                      +
                      
                        
                          I
                          1
                          Ambient
                        
                        ·
                        R
                      
                    
                    )
                  
                
              
              
                
                  
                    
                      c
                      1
                      γ
                    
                    +
                    
                      
                        I
                        1
                        Ambient
                      
                      ·
                      r
                    
                  
                
              
            
            
              α
              1
            
          
          =
          
            
              
                
                  
                    (
                    
                      B
                      +
                      
                        
                          I
                          2
                          Ambient
                        
                        ·
                        R
                      
                    
                    )
                  
                
              
              
                
                  
                    
                      c
                      2
                      γ
                    
                    +
                    
                      
                        I
                        2
                        Ambient
                      
                      ·
                      r
                    
                  
                
              
            
            
              α
              2
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            c
            2
          
          =
          
            
          
          ⁢
          
            
              (
              
                
                  
                    
                      (
                      
                        
                          I
                          2
                          Ambient
                        
                        
                          I
                          1
                          Ambient
                        
                      
                      )
                    
                    b
                  
                  ·
                  
                    
                      (
                      
                        
                          
                            (
                            
                              B
                              +
                              
                                
                                  I
                                  1
                                  Ambient
                                
                                ·
                                R
                              
                            
                            )
                          
                          ·
                          
                            c
                            1
                            γ
                          
                        
                        +
                        
                          
                            I
                            1
                            Ambient
                          
                          ·
                          r
                        
                      
                      )
                    
                    
                      (
                      
                        B
                        +
                        
                          
                            I
                            2
                            Ambient
                          
                          ·
                          R
                        
                      
                      )
                    
                  
                
                -
                
                  
                    
                      I
                      2
                      Ambient
                    
                    
                      (
                      
                        B
                        +
                        
                          
                            I
                            2
                            Ambient
                          
                          ·
                          R
                        
                      
                      )
                    
                  
                  ·
                  r
                
              
              )
            
            
              1
              γ
            
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        79
      
    
  




Results illustrating compensation for a transflective display with R=10% and flare due to a screen reflectance of 1.0% are shown in FIG. 142. The Retinal Responses resulting from using the compensating tonescales on the sample transflective display are shown in FIG. 143.
In some embodiments, we have focused on brightness or luminance compensation. These examples illustrate only the derivation of the compensating tonescale. In some embodiments, the two channel framework used for backlight compensation can be used in addition to the simple compensating tonescale derived above. An additional aspect is the variation in color gamut between reflective and transflective primaries.
The terms and expressions which have been employed in the foregoing specification are used therein as terms of description and not of limitation, and there is no intention in the use of such terms and expressions of excluding equivalence of the features shown and described or portions thereof, it being recognized that the scope of the invention is defined and limited only by the claims which follow.

## Claims

1. A method for determining an image compensation method, said method comprising:
a) selecting a reference ambient illumination level;
b) determining a reference retinal response based on said reference ambient illumination level using a retinal model, wherein said retinal model preserves retinal response under different ambient light levels by employing a relationship described in the following equations:




  
    
      R
      ⁡
      
        (
        
          Y
          ,
          α
        
        )
      
    
    =
    
      
        Y
        n
      
      
        
          Y
          n
        
        +
        
          α
          n
        
      
    
  




  
    α
    =
    
      
        
          c
          1
        
        ·
        
          
            (
            
              Y
              Adapted
            
            )
          
          b
        
      
      +
      
        c
        2
      
    
  


wherein Y is a measured display luminance value, Yadapted is an ambient luminance value, n is a retinal response exponent and c1 and c2 are constants and b is a constant that varies between 0.5 and 1;
c) determining an actual ambient illumination level in the vicinity of a display;
d) determining an actual retinal response based on said actual ambient illumination level using said retinal model; and
e) determining an image compensation value based on said reference retinal response and said actual retinal response.

2. A method as described in claim 1 wherein said constants have the following values:


c1=12.6 b=0.63 c2=0





  
    
      R
      ⁡
      
        (
        
          Y
          ,
          α
        
        )
      
    
    =
    
      
        Y
        n
      
      
        
          Y
          n
        
        +
        
          α
          n
        
      
    
  




  
    α
    =
    
      
        
          c
          1
        
        ·
        
          
            (
            
              Y
              Adapted
            
            )
          
          b
        
      
      +
      
        c
        2
      
    
  




  
    
      c
      1
    
    =
    
      
        12.6
        ⁢
        
          
        
        ⁢
        b
      
      =
      
        
          0.63
          ⁢
          
            
          
          ⁢
          
            c
            2
          
        
        =
        0

3. A method as described in claim 1 further comprising determining an image enhancement tonescale curve based on said image compensation value.

4. A method as described in claim 1 wherein said determining an image compensation value is also based on a display model.

5. A method as described in claim 1 wherein said determining an image compensation value is also based on a display reflectance model.

6. A method as described in claim 3 wherein said determining an image enhancement tonescale curve is also based on an original input image.

7. A method as described in claim 3 wherein said determining an image enhancement tonescale curve is also based on color values for an original input image.

8. A method for compensating an image for ambient illumination, said method comprising:
selecting a reference ambient illumination level;
determining a first backlight setting appropriate for said reference ambient illumination level;
determining an actual ambient illumination level in the vicinity of a display;
determining a second backlight setting appropriate for said actual ambient illumination level;
determining an image compensation scaling function according to the following equation,





  
    cv
    2
  
  =
  
    
      
        (
        
          
            Y
            Reference
          
          
            Y
            Ambient
          
        
        )
      
      
        b
        γ
      
    
    ·
    
      cv
      1
    
  




wherein cv1 is an original image code value, cv2 is a compensated image code value, YReference is said reference ambient illumination level, YAmbient is said actual ambient illumination level, b is a constant that may vary between 0.5 and 1, and γ is a display gamma value; and
adjusting image code values with said image compensation scaling function.

9. A method as described in claim 8 wherein said image compensation scaling function is related to a display model.

10. A method as described in claim 8 wherein said image compensation scaling function is related to a display reflectance model.

11. A method as described in claim 8 wherein said image compensation scaling function is related to a transflective display model.

12. A method for compensating an image for ambient illumination, said method comprising:
selecting a reference ambient illumination level;
determining a first backlight setting appropriate for said reference ambient illumination level;
determining an actual ambient illumination level in the vicinity of a display;
determining a second backlight setting appropriate for said actual ambient illumination level;
determining an image compensation scaling function according to the equation:






  
    
      cv
      2
    
    =
    
      
        (
        
          
            
              
                (
                
                  
                    I
                    Ambient
                  
                  
                    I
                    Reference
                  
                
                )
              
              b
            
            ·
            
              (
              
                
                  cv
                  1
                  γ
                
                +
                
                  
                    
                      I
                      Reference
                    
                    B
                  
                  ·
                  r
                
              
              )
            
          
          -
          
            
              
                I
                Ambient
              
              B
            
            ·
            r
          
        
        )
      
      
        1
        γ
      
    
  
  ,



wherein cv1 is an original image code value, cv2 is a compensated image code value, IReference is said reference ambient illumination level, IAmbient is said actual ambient illumination level, b is a constant that may vary between 0.5 and 1, B is a backlight intensity value, r is a display reflectance value and γ is a display gamma value; and
adjusting image code values with said image compensation scaling function.

13. A method for compensating an image for ambient illumination, said method comprising:
selecting a reference ambient illumination level;
determining a first backlight setting appropriate for said reference ambient illumination level;
determining an actual ambient illumination level in the vicinity of a display;
determining a second backlight setting appropriate for said actual ambient illumination level;
determining an image compensation scaling function according to the equation:






  
    cv
    2
  
  =
  
    
      (
      
        
          
            
              (
              
                
                  I
                  Ambient
                
                
                  I
                  Reference
                
              
              )
            
            b
          
          ·
          
            
              (
              
                
                  
                    (
                    
                      B
                      +
                      
                        
                          I
                          Reference
                        
                        ·
                        R
                      
                    
                    )
                  
                  ·
                  
                    cv
                    1
                    γ
                  
                
                +
                
                  
                    I
                    Reference
                  
                  ·
                  r
                
              
              )
            
            
              (
              
                B
                +
                
                  
                    I
                    Ambient
                  
                  ·
                  R
                
              
              )
            
          
        
        -
        
          
            
              I
              Ambient
            
            
              (
              
                B
                +
                
                  
                    I
                    Ambient
                  
                  ·
                  R
                
              
              )
            
          
          ·
          r
        
      
      )
    
    
      1
      γ
    
  



wherein cv1 is an original image code value, cv2 is a compensated image code value, IReference is said reference ambient illumination level, IAmbient is said actual ambient illumination level, b is a constant that may vary between 0.5 and 1, B is a backlight intensity value, r is a display reflectance value, R is the display reflectivity, and γ is a display gamma value; and
adjusting image code values with said image compensation scaling function.

14. A system for compensating an image for ambient illumination, said system comprising:
a storage for a reference ambient illumination level;
a sensor for determining an actual ambient illumination level in the vicinity of a display;
a compensation calculator for determining an image compensation scaling function described in the following equation:





  
    cv
    2
  
  =
  
    
      
        (
        
          
            Y
            Reference
          
          
            Y
            Ambient
          
        
        )
      
      
        b
        γ
      
    
    ·
    
      cv
      1
    
  



wherein cv1 is an original image code value, cv2 is a compensated image code value, YReference is said reference ambient illumination level, YAmbient is said actual ambient illumination level, b is a constant that may vary between 0.5 and 1, and γ is a display gamma value; and
an image processor for adjusting image code values with said image compensation scaling function.

15. A system for compensating an image for ambient illumination, said system comprising:
a storage for a reference ambient illumination level;
a sensor for determining an actual ambient illumination level in the vicinity of a display;
a compensation calculator for determining an image compensation scaling function described in the following equation:





  
    
      cv
      2
    
    =
    
      
        (
        
          
            
              
                (
                
                  
                    I
                    Ambient
                  
                  
                    I
                    Reference
                  
                
                )
              
              b
            
            ·
            
              (
              
                
                  cv
                  1
                  γ
                
                +
                
                  
                    
                      I
                      Reference
                    
                    B
                  
                  ·
                  r
                
              
              )
            
          
          -
          
            
              
                I
                Ambient
              
              B
            
            ·
            r
          
        
        )
      
      
        1
        γ
      
    
  
  ,



wherein cv1 is an original image code value, cv2 is a compensated image code value, IReference is said reference ambient illumination level, IAmbient is said actual ambient illumination level, b is a constant that may vary between 0.5 and 1, B is a backlight intensity value, r is a display reflectance value and γ is a display gamma value; and
an image processor for adjusting image code values with said aid image compensation scaling function.

16. A system for compensating an image for ambient illumination, said system comprising:
a storage for a reference ambient illumination level;
a sensor for determining an actual ambient illumination level in the vicinity of a display;
a compensation calculator for determining an image compensation scaling function described in the following equation:





  
    cv
    2
  
  =
  
    
      (
      
        
          
            
              (
              
                
                  I
                  Ambient
                
                
                  I
                  Reference
                
              
              )
            
            b
          
          ·
          
            
              (
              
                
                  
                    (
                    
                      B
                      +
                      
                        
                          I
                          Reference
                        
                        ·
                        R
                      
                    
                    )
                  
                  ·
                  
                    cv
                    1
                    γ
                  
                
                +
                
                  
                    I
                    Reference
                  
                  ·
                  r
                
              
              )
            
            
              (
              
                B
                +
                
                  
                    I
                    Ambient
                  
                  ·
                  R
                
              
              )
            
          
        
        -
        
          
            
              I
              Ambient
            
            
              (
              
                B
                +
                
                  
                    I
                    Ambient
                  
                  ·
                  R
                
              
              )
            
          
          ·
          r
        
      
      )
    
    
      1
      γ
    
  



wherein cv1 is an original image code value, cv2 is a compensated image code value, IReference is said reference ambient illumination level, IAmbient is said actual ambient illumination level, b is a constant that may vary between 0.5 and 1, B is a backlight intensity value, r is a display reflectance value, R is the display reflectivity, and γ is a display gamma value; and
an image processor for adjusting image code values with said image compensation scaling function.

17. A system as described in claim 14 further comprising determining a display backlight compensation value based on said reference ambient illumination level and said actual ambient illumination level.