Abstract:
A method and apparatus for sensing changes in digital video data includes a display control device which includes a video data interface, a detector and a controller. The video data interface receives digital video data. The detector determines whether image data is static by calculating the CRC of digital video data. The controller generates control signals in response to the detection of static digital video data. The controller may be coupled to one or more devices, including the backlight of a video display device. The backlight may be turned off when static data is detected. The backlight may be turned on again when non-static data is detected. Efficient power management is provided by controlling the state of a device based upon digital video data content.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to visual display devices, such as liquid crystal display (LCD) devices, that are used in computers and communication devices. More particularly, the present invention relates to a method and apparatus for sensing changes in digital video data.  
           [0003]    2. Background  
           [0004]    One important feature of computers and communication devices is power consumption. It is desirable to maximize the amount of usage between battery charges. Reducing power consumption increases the amount of usage between battery charges. Visual display devices, particularly the backlights included in many visual display devices, represent a significant portion of power consumption in computers and communication devices. Power consumption may be reduced by turning off devices such as a display backlight when video being sent to the video display is static.  
           [0005]    A typical visual display device includes a video controller, which delivers control signals to a display panel, such as a LCD panel, according to control instructions from a processor, to commence the control of the display panel. The visual display device also stores character code data fed from the processor in a memory. The stored data are successively read from the memory, converted by the video controller to data to be displayed and sent to the display panel for display. The data is sent to the screen many times per second to refresh the screen.  
           [0006]    As mentioned above, power consumption may be reduced by turning units of a computer off when the video data being sent to the video display is static. Typical methods for detecting static video data store all or part of consecutive images and then compare the data stored for each image. If the data stored for consecutive images is the same for a predetermined number of images, devices are placed into a low power consumption mode.  
           [0007]    These methods have several disadvantages. Methods that compare the entire contents of successive images require an excessive amount of memory. Methods that compare only a portion of successive images fail to detect changing data in the image portions not compared. This may result in a device being turned off or on prematurely, possibly resulting in the loss of information.  
           [0008]    Other typical methods check for changing video data in the computer processor, before the video data is sent to an external video display apparatus. This prevents power management of the display apparatus and any associated devices independent of the microprocessor.  
           [0009]    Still other methods include comparing pulse trains in response to transitions in input video signals. These methods suffer from the disadvantage of requiring additional hardware circuitry at added cost. These methods also typically work with a specific type of visual display device. A need exists in the prior art for a method and apparatus for sensing changes in digital video data, which can sense changes independent of the microprocessor, and which requires minimal memory and hardware circuitry.  
         BRIEF DESCRIPTION OF THE INVENTION  
         [0010]    The present invention provides a method and apparatus for sensing changes in digital video data. A display control device includes a video data interface, a detector and a controller. The video data interface receives video data. The detector determines whether image data is static by calculating the Cyclic Redundancy Check (CRC) of digital video data. The controller generates control signals in response to the detection of static digital video data.  
           [0011]    According to one embodiment, the controller is coupled to the backlight of a video display device. The backlight may be turned off when static data is detected. The backlight may be turned on again when non-static data is detected. Alternatively, the controller may be coupled to other devices, which are turned on or off depending upon the signals generated by the detector, thus providing efficient power usage. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0012]    [0012]FIG. 1 is a block diagram of a typical computer system including a display device.  
         [0013]    [0013]FIG. 2 is a block diagram of a video display interface in accordance with an embodiment of the present invention.  
         [0014]    [0014]FIG. 3A is a block diagram of a frame typically used on a thin film transistor (TFT) liquid crystal display.  
         [0015]    [0015]FIG. 3B is a block diagram illustrating a 256-frame cycle in a typical frame rate control (FRC) super twisted nematic (STN)-type liquid crystal display.  
         [0016]    [0016]FIG. 4 is a flow diagram of a method for detecting changes in digital video data in accordance with one embodiment of the present invention.  
         [0017]    [0017]FIG. 5 is a flow diagram of a method for turning a video display backlight on an off in accordance with one embodiment of the present invention.  
         [0018]    [0018]FIG. 6 is a block diagram of a video display interface for a super twisted nematic (STN) liquid crystal display in accordance with one embodiment of the present invention.  
         [0019]    [0019]FIG. 7 is a block diagram of a video display interface for a dual scan super twisted nematic (DSTN) liquid crystal display in accordance with one embodiment of the present invention.  
         [0020]    [0020]FIG. 8 is a block diagram of a video display interface for a thin film transistor (TFT) liquid crystal display in accordance with one embodiment of the present invention.  
         [0021]    [0021]FIG. 9 is a flow diagram of a method for determining the cyclic redundancy check (CRC) of a video image for a super twisted nematic (STN) liquid crystal display in accordance with one embodiment of the present invention.  
         [0022]    [0022]FIG. 10 is a flow diagram of a method for determining the CRC of a video image for a dual scan super twisted nematic (DSTN) liquid crystal display in accordance with one embodiment of the present invention.  
         [0023]    [0023]FIG. 11 is a flow diagram of a method for determining the cyclic redundancy check (CRC) of a video image for a thin film transistor (TFT) liquid crystal display in accordance with one embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0024]    Those of ordinary skill in the art will realize that the following description of the present invention is illustrative only. Other embodiments of the invention will readily suggest themselves to such skilled persons having the benefit of this disclosure.  
         [0025]    The invention relates to visual display devices, such as liquid crystal display (LCD) devices, that are used in computers and communication devices. More particularly, the present invention relates to a method and apparatus for sensing changes in digital video data.  
         [0026]    The invention further relates to machine readable media on which are stored (1) the layout parameters of the present invention and/or (2) program instructions for using the present invention in performing operations on a computer. Such media includes by way of example magnetic tape, magnetic disks, optically readable media such as CD ROMs and semiconductor memory such as PCMCIA cards. The medium may also take the form of a portable item such as a small disk, diskette or cassette. The medium may also take the form of a larger or immobile item such as a hard disk drive or a computer RAM.  
         [0027]    Portable computers typically contain a flat panel display (FPD). A liquid crystal display (LCD) is one type of FPD. LCDs include the active matrix type, which are also called TFT (thin film transistor), and the passive matrix type, which are also called STN (super twisted nematic). Dual scan STN displays (DSTN) are divided into top and bottom panels and are scanned simultaneously from upper panel and lower panel data streams. Both TFTs and STNs are available in monochromatic or color versions. These FPDs are driven by a controller, which is usually part of an integrated circuit chip. The controller is often referred to as a display controller, or an LCD controller.  
         [0028]    Analog gray scales are possible on TFTs. However, analog drive techniques are not available on STN LCDs because the voltage difference between on and off states is small, and thus difficult to control. Spatial and temporal techniques are used to control gray scales on this type of display.  
         [0029]    One spatial technique used for LCDs is “dithering”. Since LCDs cannot vary the size of an individual dot, groups of dots are used. Dark areas of the image contain a higher proportion of black pixels, while lighter areas of the image contain a lower proportion of black pixels.  
         [0030]    Temporal techniques used by many STN LCDs modulate the amount of time a pixel is on and off. These techniques take advantage of the fact that the human eye can only discern discrete frames at approximately 10 frames per second. A pixel element is either on or off. Full color shades are achieved by leaving the pixel “on” or “off” at all times. Partial color shades are achieved by turning the pixel “on” part of the time and “off” the rest of the time so that the eye perceives a shade that is somewhere between the highest intensity shade and the lowest intensity shade.  
         [0031]    The temporal technique used widely with STN LCDs is referred to as Frame Rate Cycling or Frame Rate Control (FRC). This technique uses the frame refresh period as the smallest time interval. The number of frames defines the temporal sequence. In a two-frame FRC algorithm, two phases control the temporal sequence. Phase- 1  is “on” during frame- 1  and “off” during frame- 2 , while phase- 2  is 180 degrees out of phase, or “off” during frame- 1  and “on” during frame- 2 . By using two frames for the gray scale period, three shades may be produced, as shown in Table 1, below.  
                           TABLE 1                                   Frame   Shade                           0/2    0%           1/2    50%           2/2   100%                      
 
         [0032]    Likewise, by using three frames for the gray scale period, four shades may be produced, as shown in Table 2, below. Thus, n shades requires using n- 1  frames for the gray scale period.  
                           TABLE 2                                   Frame   Shade                           0/3    0%           1/3   33%           2/3   66%           3/3   100%                       
 
         [0033]    If the FRC technique and dithering/spatial techniques are combined, the number of gray scales may be extended beyond those produced by FRC or dithering alone.  
         [0034]    [0034]FIG. 1 is a block diagram showing a computer system according to one embodiment of the present invention. The computer system comprises a core unit  10 , including a processor  12 , a random access memory (RAM)  14 , a mass storage device  16 , a pointing device interface  24  and a keyboard device interface  20 , all connected via a bus  36 . A keyboard  18  is connected to the core unit  10  via the keyboard interface  20 . A pointing device  22  is connected to the core unit  10  via the pointing device interface  24 . The core unit  10  is also connected to a display device  26  via a video display interface  28 . The display device  26  may be a LCD, such as a TFT, STN, or DSTN. The display device  26  contains a backlight  34 .  
         [0035]    In operation, the processor processes program instructions stored in RAM  14  and mass storage device  16 . The pointing device interface  24  and the keyboard device interface  20  allow manually entered data via the pointing device  22  and the keyboard  18 , respectively. The video display interface  28  accepts digital video data from the processor  12 . The video display interface  28  puts the digital video data in a format acceptable to the display device  26 . The video display interface  28  contains a display control device.  
         [0036]    The video display interface for a DSTN LCD is structured as shown in FIG. 2. Unlike STN LCDs, DSTN LCDs are separated into an upper half and a lower half, and video data is processed separately, by  40  and  42 . For the purposes of illustration, the invention will be described with respect to the upper half. The video display interface receives image data from the core unit  10  and stores it in a buffer  42 . According to one embodiment, 24-bit red, green and blue (RGB) image data is received in the buffer  42 . The buffer  42  is connected to a color separator  44 , which separates the 24-bit RGB color data into eight-bit R  46 , G  48  and B  50  components.  
         [0037]    The eight-bit R  46 , G  48  and B  50  data are inputted to frame rate control units  52 ,  54  and  56 , respectively. The same image data is inputted from the color separator  44  256 consecutive times, and the respective frame rate control units  52 ,  54  and  56  perform frame rate modulation for the inputted image data. One cycle comprises 256 frames. Each frame rate control unit  52 ,  54  and  56  outputs different frame data each time as frame data for each color, depending upon the particular frame number.  
         [0038]    Referring now to FIG. 3A, a single frame containing 24-bit RGB color data is illustrated. 24-bit RGB data is commonly used with TFT-type LCD displays. The video data for one complete image is contained in one frame  60 . The frame  60  contains separate 8-bit R, G and B components for every pixel in the image. Detecting a change between images is accomplished by comparing the CRCs for successive single frames.  
         [0039]    Referring now to FIG. 3B, a 256-frame modulated cycle is illustrated. Frame modulated cycles are commonly used with STN or DSTN-type LCD displays. In a 256-frame cycle  62 , the video data for one complete image is contained in 256 separate video frames  64 . Therefore, detecting a change between images requires the comparison of 256 frames (one cycle  62 ) with another 256 frames. This comparison is done by comparing the Cyclic Redundancy Check (CRC) result of each set of 256 frames.  
         [0040]    As indicated above, the present invention employs CRCs to detect changes between video images. To facilitate understanding the inventive concepts in the present invention, an overview of some aspects of the CRC algorithm will now be presented. The CRC algorithm provides a way of detecting small changes in blocks of data. The algorithm operates on a block of data as a unit. This block of data is divided by a number, referred to as the generator polynomial, leaving the remainder, which is the CRC result.  
         [0041]    Generator polynomials are classified by their highest non-zero digit, which is termed the degree of the polynomial. A generator polynomial of degree n has n+1 bits and produces an n-bit CRC result. CRC generator polynomials are designed and constructed for use over data blocks of limited size. For n-bit generator polynomials, the maximum designed data length is generally 2 (n−1) −1 bits. The minimum degree generator polynomial required to detect an single bit change in an entire screen is shown in Table 3 below. The third entry in the table indicates the required polynomial degree to check all 256 frames of a 256 frame FRC modulated DSTN display image having a resolution of 1,024×768 (256 frames×3 bits per pixel=768 bits per pixel). The number of bits required is found by taking the logarithm of the number of bits in the image.  
                                                                         TABLE 3                                           Bits Per   Bits Per       Display           Horizontal   Vertical   Pixel   Image   LN2(Bits)   Type                                    1   1,024   768   3    2,359,296   21.2   DSTN       2   1,024   768   24   18,874,368   24.2   TFT       3   1,024   768   768   6.04E + 08   29.2   DSTN all                  
 
         [0042]    According to one embodiment of the present invention, two 30-bit CRC registers are used to detect changing image data. Those of ordinary skill in the art will recognize that a register having the number of bits indicated in Table 3 will detect any single bit change in the indicated screen image. Furthermore, the addition of one parity bit enables detection of odd bit changes on the whole screen image. If a 30-bit CRC is used for entry number 3 in Table 3, the probability of two screen images having the same anomaly approximates 2 −31 . This probability is reduced further by using two registers instead of one. Thus, if two 30-bit CRCs are used, the probability of two screen images having the same anomaly becomes 2 −63 .  
         [0043]    According to another embodiment of the present invention, one 59-bit CRC is used. Using one 59-bit CRC for the same data requires a generator polynomial of order 59 as well.  
         [0044]    According to a preferred embodiment of the present invention, a plurality of CRCs are used, each having a different lengths and cycles. This allows for maximum coverage. Additionally, all CRC registers are initialized to non-zero values, such as all ones. This is done because when a CRC register contains only zeros, processing a zero data bit does not change the CRC remainder. If the CRC register is clear, and extraneous zero bits occur, these data differences will not be detected. Initializing the CRC register to all ones before determining the CRC avoids this problem and allows the detection of extraneous leading zeros.  
         [0045]    According to another embodiment of the present invention, two 30-bit CRC registers are used to detect changing image data, and the generator polynomials are x 28 +x 15 +1 and x 29 +x 27 +1. The polynomial coefficients for each generator polynomial may be represented in hexadecimal format as x10008001 and x28000001, respectively. Both generator polynomials are primitive polynomials having different lengths and cycles.  
         [0046]    Turning now to FIG. 4, a method for detecting changing digital video data is presented. At reference numeral  70 , the CRC for a first image is determined. At reference numeral  72 , the CRC for a second CRC is determined. At reference numeral  74 , the two CRCs are compared. If the CRCs are not the same, the count is initialized at reference numeral  76 , and the first CRC value is set to the second CRC value at reference numeral  78 .  
         [0047]    If the CRCs are the same, a count is changed at reference numeral  88 . If the count is initialized to a minimum value, the count would be incremented. If the count is initialized to a maximum value, the count would be decremented. At reference numeral  82 , a check is made to determine whether a predetermined number of consecutive static images has been detected. If the predetermined number of static images has been detected, an indication of static data is made at reference numeral  84 . If the predetermined number has not been detected, execution continues at reference numeral  86 .  
         [0048]    According to one embodiment of the present invention, the backlight  34  is turned off when static image data is detected for a predetermined number of frames. When image data starts changing again, the backlight  34  is turned back on. This method is shown in FIG. 5. At reference numeral  90 , a check is made to determine whether image data is changing. If image data is changing, execution continues at reference numeral  90 . If image data is not changing, the backlight  34  is turned off at reference numeral  92 . At reference numeral  94 , a check is made to determine whether image data is changing. If image data is not changing, execution continues at reference numeral  94 . If image data is changing, the backlight  34  is turned on once again at reference numeral  96 . After the backlight  34  is turned on, execution continues at reference numeral  90 .  
         [0049]    The description regarding turning the backlight  34  on and off based upon whether image data is changing is not intended to be limiting in any way. Those of ordinary skill in the art will readily recognize that the state of other devices may be changed upon the detection of static or changing image data. These changes might include turning a device on or off, or putting a device into or out of a “standby” mode.  
         [0050]    According to another embodiment of the present invention, a portion of the screen image is excluded from the CRC determinations. This may be used to exclude portions of the image used to represent an item that changes over time, but is not of interest. Examples include a clock value or a flashing cursor. According to this embodiment, data is excluded from the CRC calculation by determining whether pixel data received is part of an exclusion region. If the data is part of an exclusion region, the data is not stored.  
         [0051]    According to another embodiment of the present invention, the display device is an STN-type LCD. This is illustrated in FIG. 6. Twenty-four bit RBG data is received by the video display interface  100 . Three-bit FRC modulated RGB data is output by the video display interface  100 . A detector  108  determines whether digital video data is static. Upon sensing a change in the digital video data, controller  110  sends a signal to a device, which may include the backlight  106  of a display device  104 .  
         [0052]    Turning now to FIG. 9, a method for detecting changing digital video data for a 256-frame FRC modulated STN-type LCD display is presented. At reference numeral  132 , the detector  108  receives three bits of RGB data. At reference numeral  134 , the data is stored. At reference numeral  136 , a check is made to determine whether the end of a frame has been reached. If the end of a frame has not been reached, execution continues at reference numeral  132 . If the end of a frame has been reached, a check is made to determine whether 256 frames have been read at reference numeral  138 . If 256 frames have not been read, execution continues at reference numeral  138 . If 256 frames have been read, the CRC for all 256 frames is calculated at reference numeral  140 .  
         [0053]    According to another embodiment of the present invention, the display device is a DSTN-type LCD. This is illustrated in FIG. 7. Twenty-four bit RBG data is received by the video display interface  112 . Three-bit FRC modulated RGB data is output by the video display interface  112  for both the upper panel and the lower panel. A detector  116  determines whether digital video data is static. Upon sensing a change in the video data, controller  120  sends a signal to a device, which may include the backlight  118  of a display device  114 .  
         [0054]    Turning now to FIG. 10, a method for detecting changing digital video data for a 256-frame FRC modulated DSTN-type LCD display is presented. At reference numeral  142 , the detector  116  receives six bits of RGB data. Three of the six bits are from the upper half of the display and the other three bits are from the lower half of the display. At reference numeral  144 , the bits from the upper and lower halves of the display are combined and stored. At reference numeral  146 , a check is made to determine whether the end of a frame has been reached. If the end of a frame has not been reached, execution continues at reference numeral  142 . If the end of a frame has been reached, a check is made to determine whether 256 frames have been read at reference numeral  148 . If 256 frames have not been read, execution continues at reference numeral  142 . If 256 frames have been read, the CRC for all 256 frames is calculated at reference numeral  150 .  
         [0055]    According to another embodiment of the present invention, the display device is a TFT-type LCD. This is illustrated in FIG. 8. Twenty-four bit RBG data is received by the video display interface  122 . Twenty-four bit RGB data is output by the video display interface  122  for both the upper panel and the lower panel. A detector  126  determines whether digital video data is static. Upon sensing a change in the digital video data, controller  130  sends a signal to a device, which may include the backlight  128  of a display device  124 .  
         [0056]    Turning now to FIG. 11, a method for detecting changing digital video data for a TFT-type LCD display is presented. At reference numeral  152 , the detector receives twenty-four bits of RGB data for one pixel. At reference numeral  154 , the data is stored. At reference numeral  156 , a check is made to determine whether the end of a frame has been reached. If the end of a frame has not been reached, execution continues at reference numeral  152 . If the end of a frame has been reached, the CRC is calculated at reference numeral  158 .  
         [0057]    The above discussion of STN, DSTN and TFT displays is not intended to be limiting in any way. Those of reasonable skill in the art will recognize that the invention may be applied to other displays, including a MIN-type liquid crystal display or the like. The present invention may also be applied to a plasma display or the like. Additionally, the present invention may also be applied to a Cathode Ray Tube (CRT)-type display or its equivalent.  
         [0058]    Moreover, the above discussion of 256 gray levels is not intended to be limiting in any way. Those of reasonable skill in the art will recognize that other gray scales may be used as well. Additionally, those of reasonable skill in the art will recognize that the invention may be applied to display devices employing other color spaces such as YUV, or to monochrome display devices. The invention may also be applied to display devices that employ a combination of spatial and temporal techniques to vary the possible number of grayscales.  
         [0059]    According to a presently preferred embodiment, the present invention may be implemented in software or firmware, as well as in programmable gate array devices, ASIC and other hardware.  
         [0060]    While embodiments and applications of this invention have been shown and described, it would be apparent to those skilled in the art that many more modifications than mentioned above are possible without departing from the inventive concepts herein. The invention, therefore, is not to be restricted except in the spirit of the appended claims.