Abstract:
In visual display devices such as LCD devices with backlight illumination, the backlight typically consumes most of device battery power. In the interest of displaying a given pixel pattern at a minimized backlight level, the pattern can be transformed while maintaining image quality, with a transform determined from pixel luminance statistics. Aside from, or in addition to being used for such minimizing, a transform also can be used for image enhancement, for a displayed image better to meet a visual perception quality. In either case, the transform preferably is constrained for enforcing one or several display attributes. In a network setting, the technique can be implemented in distributed fashion, so that subtasks of the technique are performed by different, interconnected processors such as server, client and proxy processors.

Description:
TECHNICAL FIELD  
       [0001]    The invention concerns power management and image enhancement in visual display devices and, more particularly, in liquid crystal display devices. 
       BACKGROUND OF THE INVENTION  
       [0002]    Visual display devices are ubiquitous in battery-powered portable electronic devices such as notebook computers and mobile, hand-held telephones where, typically, they are the largest consumers of battery power. For example, in mobile devices equipped with thin-film transistor (TFT) liquid-crystal displays (LCD) utilizing backlight illumination, the LCD panel consumes more than 30% of the device power and the backlight typically consumes 75% of the LCD power. Thus, for conserving battery power, there is primary interest in minimizing the power consumption of the display device. 
         [0003]    An LCD screen typically includes an array of liquid-crystal pixels arranged as a plurality of rows each having a plurality of pixels, arranged in columns, with each pixel capable of displaying any one of 256 luminance values of a gray scale and the corresponding chrominance values. Each pixel has its own liquid crystal cell, a dedicated thin-film transistor, and a dedicated capacitor. The electrical field of the capacitor controls the orientation of the liquid crystals within the cell, determining the optical transmissivity of the cell and thus its luminance when lit by a backlight. The capacitor is charged and discharged via its transistor. Device activation typically is row-by-row, so that, at any one time, all column lines are connected to a single row. 
         [0004]    For saving power in an LCD device, dynamic backlight control can be used, involving dynamic scaling down and up of the backlight brightness while the device is being used, e.g. in playing back a movie. Moreover, it is beneficial to correspondingly transform an image/pattern to be displayed by transforming the pixel luminance values. 
         [0005]    For determining a transform and applying the transform to pixel luminance values, it is convenient to employ a processor made or instructed for performing arithmetic and logical operations. Such a processor may be in communication with one or more other processors, as in a communications network, for example. 
       SUMMARY OF THE INVENTION  
       [0006]    When the display backlight is set at a specific brightness value, a preferred transformation, (1), of the pixel values can be determined for minimizing perceived image distortion between the original untransformed image at maximum backlight and the transformed image under the specific backlight condition. Furthermore, a preferred transformation, (2), of the pixel values can be determined for minimizing power consumption while meeting an image-quality requirement. A preferred transformation can maximize the luminance of a given pattern and provide optimal contrast by assigning each pixel a value from a given dynamic range of pixel values based on the value of the probability density of the pixel luminance values for the given pattern. Preferably, in effecting a transformation, certain display attributes are taken into account for imposing constraints on transform parameters. In a network setting, the technique can be implemented in distributed fashion, so that subtasks of the technique are performed by different, interconnected processors such as server, client and proxy processors. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWING  
         [0007]      FIG. 1  is a graph showing an exemplary pixel value distribution along a line of 256 pixel values as may arise for a particular given pattern, and further showing the graphs of the identity transform and of an illustrative multi-stage transform. 
           [0008]      FIG. 2  is a graph showing the pixel value distribution of  FIG. 1  approximated by a step function, and further showing how the transform slopes are computed. 
           [0009]      FIG. 3  is a graph showing a multi-stage transform obtained for the step function of  FIG. 2 . 
           [0010]      FIG. 4  is a representation of an exemplary procedure for transforming the given pixel values using the pixel value distribution of the given pattern in accordance with a preferred embodiment of the invention. 
           [0011]      FIG. 5  is a representation of a further exemplary procedure for transforming the given pixel values using the pixel value distribution of the given pattern, representing a further preferred embodiment of the invention. 
           [0012]      FIG. 6  is a block schematic of an exemplary embodiment of the technique. 
           [0013]      FIG. 7  is a block schematic of an exemplary distributed-processing embodiment of the technique. 
           [0014]      FIG. 8  is a table of exemplary feasible allocations of processing tasks in distributed processing. 
       
    
    
     DETAILED DESCRIPTION  
       [0015]    Transform Shape 
         [0016]    For a transformation technique,  FIG. 1  shows given or input pixel luminance values on the x-axis, output pixel values on the y-axis, and a pictorial representation of a distribution of the pixel values. The straight line from (0, 0) to (255, 255) represents the identity transform which saves no power and causes no distortion. For backlight control, a transform is desired so that, after scaling the backlight, the maximum perceived luminance value is u&lt;255 at x=255. Then, assuming that the perceived luminance of the pixel is the product of the backlight value and the transformed pixel value, we can scale the backlight by a factor of u/255, saving power. 
         [0017]      FIG. 1  also shows a generic multi-stage transform with 4 stages as an example. More generally, on judicious choice of the number of stages/segments and their slope, any desired transformation can be effected. The invention includes techniques for advantageously determining the number of stages and their slopes. 
         [0018]    Constraints on Transform Shape 
         [0019]    A preferred transform will meet certain constraints for preventing undesirable effects. For example, if at any stage the slope of the transform were 0, then all the pixel values in that range would get compressed to a single value, resulting in total loss of contrast there. This is the case for certain transforms previously known in the art which clip the high pixel values to a threshold value, resulting in washout of bright pixels in the image. For example, washout will impair images of bulbs and lights due to loss of contrast in the region of the light. Conversely, if a slope is too large, pixel values that are close to each other are dramatically separated in the pixel-value space, causing a distorted rendition as compared with the original image. For example, where a given pixel value distribution has a peak, a swath of pixels have very similar luminance, e.g. in the court of a basketball scene. If the transform then has a high slope for these pixel values, the transformed court will have dramatically varying luminance, and the image will appear distorted. 
         [0020]    In addressing such concerns, a preferred technique imposes two constraints on the slope, m, of the transform in any stage: 
         [0000]      m≦s max , 
         [0000]      m≧s min ,   (1) 
         [0000]    where s max  and s min  are determined from a target backlight scaling factor, u/255. Then 
         [0000]        s   max =255 /u    
         [0000]        S   min   =s× 255 /u    
         [0000]    where s is a suitably chosen parameter. 
         [0021]    With these constraints, a preferred multistage transform can give good power savings through dynamic backlight control, maintaining brightness, maintaining contrast where necessary, avoiding contrast distortion in important regions, and minimizing washout effect as compared with known transforms. 
         [0022]    Estimation of Multistage Transform 
         [0023]    For the present description of a preferred technique for estimating a desired multi-stage transform it will be assumed that u is given, i.e. that we know the required backlight scaling factor, and hence the power savings. The technique aims at finding a transform that minimizes distortion while achieving power savings determined by u. A basic exemplary procedure can be described as follows: 
         [0024]    (a) In regions where the histogram value is high, i.e., where there are several pixels with that range of values, we maintain the original contrast by using as large a slope value as possible. 
         [0025]    (b) In regions where the histogram value is low, i.e., where there are few pixels with values in that range, we use a lesser slope. Contrast is reduced in these regions, but because it affects only a few pixels the reduction is not perceived as much. 
         [0026]    We start by dividing the x-axis into B bins, where B can be between 0 and 255. A typical value of B may be between 5 and 30. Then we integrate the original histogram within these bins to get a piecewise uniform density function as shown in  FIG. 2 . U(i) denotes the value of the uniform density in bin i. 
         [0027]      FIG. 2  also shows the uniform density over the entire dynamic range for comparison. The value of this density is denoted as U. If U(i)&gt;U, then the number of pixels in bin i is greater than average, suggesting that we should maintain the original contrast by using an appropriate slope. If U(i)&lt;U, then a less-than-average number of pixels is indicated in bin i, and so we can afford to lose some contrast by using a lesser slope. For example, as shown in  FIG. 2 , a practicable slope can be chosen as the one that transforms the uniform density with the value U(i) in bin i to another uniform density with the value U. This slope is given by 
         [0000]    
       
         
           
             
               
                 
                   
                     s 
                      
                     
                       ( 
                       i 
                       ) 
                     
                   
                   = 
                   
                     
                       U 
                        
                       
                         ( 
                         i 
                         ) 
                       
                     
                     U 
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
         [0028]    On taking account of the constraints given by Equation  1 , we obtain the following for determining the slope for bin i: 
         [0000]      If  s ( i )&gt; s   max , then  s ( i )= s   max    
         [0000]      If  s ( i )&lt; s   min , then  s ( i )= s   min    
         [0029]      FIG. 3  shows what the transform can look like after this step. At this point, the transform does not necessarily meet the desired maximum perceived luminance value, u. Using the target backlight scaling factor, u/255, the maximum desired transformed luminance can be computed as 
         [0000]        y   f =min(255,  x   f ×255 /u ) 
         [0000]    where x f  is the maximum input luminance for the frame. 
         [0030]    Typically, x f &gt;u, thus typically y f =255.  FIG. 3  shows this case; y f =255 is the maximum transformed luminance, allowing a scaling of the backlight by a factor of u/255 to result in a maximum displayed brightness of u.  FIG. 3  also shows u, the value the maximum perceived luminance. We are now interested in modifying the computed transform so that it has a maximum value=y f . In  FIG. 3 , y f  is more than the maximum value given by the current transform, t(255), so that we can scale up the transform by an appropriate factor. If y f  were less than t( 255 ), then we would scale down the transform. In either case we honor the constraints given by Equation 1. 
         [0031]      FIG. 4  shows an exemplary algorithm, designated as MULTISTAGE, for determining the transform t(p), 0≦p≦256. It can be used for task (1) as described in the Summary above. 
         [0032]    For task (2) we further seek to meet a prescribed maximum perceived brightness after backlight scaling.  FIG. 5  shows an exemplary algorithm, there designated as SCALING, which can be used for task (2). On combining procedures MULTISTAGE and SCALING, both tasks can be performed simultaneously. We note a number of typical applications of the two algorithms individually and in combination as follows: 
         [0033]    1. Apply MULTISTAGE alone. Use the maximum value, t(255), to determine the backlight scaling factor, t(255)/255. This seeks to give the best possible image without trying to meet any particular power saving goal. 
         [0034]    2. Apply MULTISTAGE. Determine the backlight scale factor based on the desired backlight setting, u. The scale factor is given by u/255. Then apply SCALING. This yields an optimal video or image and also meets the desired power saving goal. 
         [0035]    3. Apply a transform with a fixed slope from 0 up to a certain threshold pixel value. Use MULTISTAGE after this threshold value. This seeks to maintain maximum brightness, while still achieving contrast at the high pixel values. 
         [0036]    4. Proceed per Application 3 above, and then apply SCALING as in Application 2. 
         [0037]    5. Proceed per Application 4 above, but, when applying SCALING, scale the fixed-slope transform only if the minimum slope constraints cannot be met. 
         [0038]    6. When used for video, apply a low-pass filter in time to smooth the transform determined for each frame of a scene by any of Applications 1-5 above. This minimizes flicker as may result from very fast transform changes frame to frame. 
         [0039]    7. Apply a high-pass filter to sharpen the edges of the video processed by any of applications 1 to 6 described above. 
         [0040]    8. By scaling of chrominance pixels, apply a color boost to the chrominance values for improving the color combination of the processed image. For example, in a preferred embodiment in the YUV space, the U and V components each are scaled up by a respective fixed factor. Alternatively, chrominance scaling can involve a generic functional transform of the luminance component. 
         [0041]    Interaction with Environment 
         [0042]    For an over-all view of a typical implementation of the technique,  FIG. 6  shows different types of input  1  to a processor  2  for generating processed video frame output  3  as well as a backlight value  4  for display of video frame output  3  on an end-client-display device  5 . As illustrated, for example, input  1  can include any/all of: values and statistics of pixels of an input video frame, values and statistics of a past video frame in a sequence of video frames, LCD panel characteristics of the display device  5 , ambient light conditions of the environment in which the input video frame was generated, and user input. Input data are used by processor  2  in determining transform parameters, determining a backlight value, and transforming pixel values. At the display device  5 , the transformed pixel values can be displayed against a backlight as determined by processor  2 , or against some other supplied background. For display, a video/image may be targeted for either or a combination of (i) least power consumption on the display device  5  and (ii) best possible enhancement as compared with the input. 
         [0043]    Techniques of the invention can be applied for static backlight setting of an individual display, or dynamically in a scenario where the backlight can be changed from frame to frame of a video sequence. In either case, in processing a frame, the processor  2  can make reference to at least one previously processed frame. A previous frame can also be used for smoothing, e.g. with a suitable small portion a of the pixel values of a previous frame added to a portion (1-α) of the current frame of a scene. 
         [0044]    Technological Benefits and Uses 
         [0045]    Techniques of the invention can generate high-quality video, still images, graphics, and screen shots of other multimedia applications such as Microsoft Power Point and Word applications, all at minimized display backlight power or at any specific display backlight power. Furthermore, the techniques can be useful for enhancing a display even where there may be little or no concern with backlight power. Techniques can be implemented for power management and/or image enhancement in notebook-PC&#39;s, media players such as DVD playback devices, handheld consumer electronic devices, portable media players, personal digital assistant (PDA) devices, LCD TV&#39;s and mobile phones, for example. 
         [0046]    Distributed Processing 
         [0047]    The technique, as described above, can be implemented in various ways of performing processing tasks. For example, processing can be allocated in its entirety to a server/encoder, or to a client/decoder. Furthermore, for use with functionally interconnected computers, e.g. in a network, processing can be distributed between server and client processors having respective capabilities for encoding bitstream and transmitting side information, and decoding bitstream and deciphering side information for video on a per-frame basis. Further in a network, certain processing tasks can be carried out by proxies in communication with a client, direct or indirect. Side information can include executable code for tasks yet to be carried out. 
         [0048]    For distributed processing,  FIG. 7  illustrates an exemplary server-client arrangement. From source  11 , uncompressed original video data is supplied to server  12  for encoding and partial processing by respective modules  121  and  122  which may or may not interact with each other in generating the encoded video bitstream  13  and side information  14  including a set of backlight values B=(b 0 , b 1 , . . . , bN), a set of histogram values H=(h 0 , h 1 , . . . , h 255 ), and a further set of frame-dependent information F=(F 0 , F 1 , . . . , FN). In an exemplary alternative embodiment, instead of the histogram values a set of transformations T=(T 0 , T 1 , . . . , TN) is generated. 
         [0049]    The encoded bitstream  13  and side information/transformations  14  are transmitted via a communications channel  15  to a client  16  including a decoder  161  and a module  162  for complementing the processing of module  122 . On selecting a backlight value  17 , a final display frame  18  is obtained. The frame  18  can be displayed on the client LCD panel, with benefit of enhanced video quality at lowest power, for example. 
         [0050]    As a benefit of such distributed processing, client work load can be lightened especially when histogram information or a desired transform is generated at the server and transmitted as side information. Furthermore, by including side information with the bitstream on a per-frame basis, the client can be given a choice in modifying the decoded frame for a specific environment&#39;s needs. Thus, one and the same bitstream can be viewed differently by each of different clients, on using the transmitted side information in combination with user parameters. For example, a client can use the received side information including histogram or the transform, backlight values, and other frame-dependent parameters to generate different final frames from one and the same bitstream. This may involve use of different parts of the side information, and/or of the same parts in different ways in determining a transformation. Such choices can be made by a client to suit its environment and preferences, allowing different clients to use the same received data in different ways. 
         [0051]    In one embodiment of the invention, all processing can be done in the server where the individual frames can be transformed for a given backlight value. The encoder then can generate the appropriate bitstream for each transformed frame. The server can transmit the encoded bitstream, along with side information including the preferred backlight to be used in the client. The client processor can decode the received bitstream for displaying the corresponding image on the client LCD panel at the preferred backlight value that has been deciphered from the side information. In another embodiment, when the client processor already knows a preferred backlight value, no side information need be transmitted, and no additional processing is required by the client processor. 
         [0052]    With reference to the table of  FIG. 8 , to illustrate allocation of processing tasks to server and client processors, a set of five exemplary tasks of the technique may be identified, including (1) computing a histogram of luminance values, (2) determining a backlight value, (3) determining a transform, (4) applying the transform, and (5) setting a backlight value on display. For five exemplary implementations, numbered 1 to 5 in the table of  FIG. 8 , in corresponding server and client columns each “X” indicates allocation of a task to server or to client. Further feasible allocations between server and client are not precluded, and tasks may be distributed further to proxy intermediaries between server and client. 
         [0053]    Application of the technique can be combined with decoding, on providing a decoder with suitable side information along with a bitstream to be decoded. Histogram information, or a preferred transform, as well as additional side information can be obtained from a current frame, as illustrated in  FIG. 7 , for example. Or also, in case of a continuing video scene, information from a previous frame may be adequate for transforming the current frame. A scene change can be detected by the client or can be signaled by means of side information, for example. 
         [0054]    When suitable information is available at the decoder, a transform can be established prior to decoding, so that, on decoding a bitstream, each block can be transformed in-line. This approach reduces memory access bandwidth and enhances overall efficiency of the technique. 
         [0055]    Further to enhance efficiency, whether at a server or a client, establishing a histogram can be facilitated by sub-sampling an input frame, e.g. 2×2, 4×4 or 8×8, thereby reducing computational work by a factor if 4, 16 or 64, respectively. Such savings are at a certain expense of histogram resolution or accuracy. An exemplary embodiment uses a 2×2 sub-sampling for a standard QVGA resolution image of 320×240 pixels. 
         [0056]    Yet further enhancement of efficiency can be obtained on implementing the technique so as to access multiple sets of image/video data, for processing concurrent with reading and writing. A processor capable of reading and writing simultaneously can enable vectorization in transforming and color compensation. Advantageously, a processor may have special capabilities for establishing vital statistics, e.g. of histograms. And, entirely within a suitable video decoding module, a transformation can be effected in transform domain involving only the DC component.