# Patent

## Title
Flicker band automated detection system and method

## Abstract

A flicker band automated detection system and method are presented. In one embodiment an incidental motion mitigation exposure setting method includes receiving image input information; performing a motion mitigating flicker band automatic detection process; and implementing exposure settings based upon results of the motion mitigating flicker band automatic detection process. The auto flicker band detection process includes performing a motion mitigating process on an illumination intensity indication. Content impacts on an the motion mitigated illumination intensity indication are minimized. The motion mitigated illumination intensity indication is binarized. A correlation of the motion mitigated illumination intensity and a reference illumination intensity frequency is established.

## Background
RELATED APPLICATIONS
This application claims the benefit of and priority filing date of provisional application 60/772,437 entitled “A Flicker Band Automated Detection System and Method” filed Feb. 10, 2006, which is incorporated herein by this reference.


FIELD OF THE INVENTION
The present invention relates to the field of digital cameras. More particularly the present invention relates to a flicker band automated detection system and method.
BACKGROUND OF THE INVENTION
Electronic systems and circuits have made a significant contribution towards the advancement of modern society and are utilized in a number of applications to achieve advantageous results. Numerous electronic technologies such as digital computers, calculators, audio devices, video equipment, and telephone systems have facilitated increased productivity and reduced costs in analyzing and communicating data, ideas and trends in most areas of business, science, education and entertainment. For example, digital cameras have had a significant impact on the field of photography and usually offer a number of features that enhance image quality. Nevertheless, there are several phenomena such as flicker or running bands in an image frame that can adversely impact results. Setting a rolling shutter time to a multiple of a corresponding illumination variation (e.g., 1/100 seconds or 1/120 seconds) often mitigates adverse impacts associated with the flicker bands. However, determining the illumination variance frequency is usually very difficult and often susceptible to a number of inaccuracies.
A rolling shutter approach is often utilized by a variety of devices (e.g., a CMOS imagers) to control the optical integration time. Rolling shutter approaches typically enable an equal optical integration time to be achieved for pixels in an image frame however this optical integration does not typically happen for all pixels simultaneously. The actual interval used for integration is usually dependent on the vertical position of the pixel in an image frame. Rolling shutter approaches typically utilize at least two pointers, a reset pointer and a read pointer, to define shutter width. Shutter width is the number of lines (“distance”) between the two pointers. These pointers continuously move through the pixel array image frame from top to bottom, jumping from line to line at timed intervals. The reset pointer typically starts the integration for pixels in a line, and subsequently, the read pointer reaches the same line and initiates signal readout. Shutter width multiplied by the line time gives the duration of the optical integration time. If the illumination intensity of the light source does not remain constant over time, rolling shutter methods of integration time control can lead to the possibility of flicker or “running bands” in the image frame.
Flicker band issues are typically caused by scene illumination sources with varying light intensity. For example, illumination intensity usually fluctuates in light sources driven by alternating current (AC) supply power. The light intensity of AC powered light sources (e.g., fluorescent lamps) usually is enveloped by a 100 Hz or 120 Hz wave if the power source is operating at 50 Hz or 60 Hz correspondingly. If the video rate is 15 frames per second, there could be six (50 Hz power) or eight (60 Hz power) flicker dark bands overlying the preview image.
Determining the illumination variance frequency is traditionally resource intensive and difficult. A straightforward frequency transform (e.g., FFT) of the image frame consumes significant amounts of computation resources and the results can be relatively easily corrupted by the image content. Some traditional attempts at detecting mismatches between the frequency of an illumination source and the duration of optical integration time for an imager with rolling shutter involve detecting a sine image fluctuation in the difference of the two consecutive image frames. However, these approaches are often limited by averages from a single line or row of an image. In addition, a slight vertical shift in the camera such as the shaking hand of a photographer, could greatly deteriorate the results. Relatively low confidence levels associated with these traditional approaches are exacerbated by the utilization of zero crossing point estimation of flicker wave periods.
SUMMARY
A flicker band automated detection system and method are presented. In one embodiment an incidental motion mitigation exposure setting method includes receiving image input information; performing a motion mitigating flicker band automatic detection process; and implementing exposure settings based upon results of the motion mitigating flicker band automatic detection process. The motion mitigating flicker band automatic detection process includes performing a motion mitigating process on an illumination intensity indication. Content impacts on the motion mitigated illumination intensity indication are minimized. The motion mitigated illumination intensity indication is binarized. A correlation of the motion mitigated illumination intensity and a reference illumination intensity frequency is established.



DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the invention by way of example and not by way of limitation. The drawings referred to in this specification should be understood as not being drawn to scale except if specifically noted.
FIG. 1 is a flow chart of an exemplary incidental motion mitigation exposure setting method in accordance with one embodiment of the present invention.
FIG. 2 is a block diagram of an exemplary automated flicker band compensation imaging system in accordance with one embodiment of the present invention.
FIG. 3 is a flow chart of an exemplary auto flicker band detection process 300 in accordance with one embodiment of the present invention.



DETAILED DESCRIPTION
Reference will now be made in detail to the preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the preferred embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be obvious to one of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention.
Some portions of the detailed descriptions, which follow, are presented in terms of procedures, logic blocks, processing, and other symbolic representations of operations on data bits within a computer memory. These descriptions and representations are the means generally used by those skilled in data processing arts to effectively convey the substance of their work to others skilled in the art. A procedure, logic block, process, etc., is here, and generally, conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps include physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic, optical, or quantum signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present application, discussions utilizing terms such as “processing”, “computing”, “calculating”, “determining”, “displaying” or the like, refer to the action and processes of a computer system, or similar processing device (e.g., an electrical, optical, or quantum, computing device), that manipulates and transforms data represented as physical (e.g., electronic) quantities. The terms refer to actions and processes of the processing devices that manipulate or transform physical quantities within a computer system's component (e.g., registers, memories, other such information storage, transmission or display devices, etc.) into other data similarly represented as physical quantities within other components.
FIG. 1 is a flow chart of incidental motion mitigation exposure setting method 100 in accordance with one embodiment of the present invention.
In step 100, test illumination input information is received. The test illumination information can be initial illumination information sensed by a digital imager. The information can be received from a variety of digital imagers. In one embodiment the image input information is received from a CMOS imager. The auto exposure (AE) is set to a predetermined reference illumination frequency for capturing the initial image test input information. In one exemplary implementation, initial sensor timing for the received initial test input information is set so that frame height is not a multiple of the inverse of twice the reference illumination frequency. For example, if an auto exposure (AE) reference illumination frequency is initially set at the reference illumination frequency of 50 Hz the sensor timing frame is set up so that the frame height is not a multiple of 1/100 seconds. This ensures that the location of flicker bands will move from frame to frame if the flicker bands exist.
In step 120, a motion mitigating flicker band automatic detection process is performed. The motion mitigating flicker band automatic detection process automatically identifies an illumination frequency. In one embodiment, the motion mitigating flicker band automatic detection process provides a confidence level by utilizing correlation scores to a know reference frequency. Down-sampled averages are utilized in the determination of the correlation score to minimize adverse impacts of incidental motion or jitters in hand movements while capturing the image. Additional explanation and implementations of motion mitigating flicker band automatic detection processes is presented below.
In step 130, exposure settings are implemented. The exposure settings are implemented based upon said identified illumination frequency. In one embodiment of the present invention, a digital camera exposure reset from an initial exposure setting to an exposure based upon the identified illumination frequency is executed. In one exemplary implementation, auto exposure controls are utilized to switch between exposure tables (e.g., a 50 Hz exposure table or a 60 Hz exposure table).
FIG. 2 is a block diagram of automated flicker band compensation imaging system 200 in accordance with one embodiment of the present invention. Automated flicker band compensation imaging system 200 includes lens 210, shutter 220, light sensor 230, processor 240 and memory 250. Lens 210 is coupled to shutter 220 which is coupled to light sensor 230 which in turn is coupled to processor 240. Processor 240 is coupled to shutter 220 and memory 250 which includes flicker band automatic detection instructions 255.
The components of automated flicker band compensation imaging system 200 cooperatively operate to automatically detect and minimize flicker band effects while capturing digital images. Lens 210 focuses light reflected from an object onto light sensor 230. Light sensor 230 senses light from lens 210 and converts the light into electrical digital image information. In one embodiment of the present invention, light sensor 230 is a complementary metal oxide silicon (CMOS) light sensor. Shutter 210 controls the length of time light is permitted to pass from lens 210 to light sensor 230. Light sensor 230 forwards the digital image information to processor 240 for processing. Processor 240 performs digital image information processing including automated flicker band detection and mitigation. Memory 250 stores digital image information and instructions for directing processor 240, including flicker band detection instructions 255 for performing automated flicker band detection and mitigation. In one embodiment, a subtraction buffer included in the processor 240 stores content neutralized illumination intensity values utilized by the processor. In an alternate embodiment, the subtraction buffer is included in memory 250.
FIG. 3 is a flow chart of auto flicker band detection process 300 in accordance with one embodiment of the present invention.
In step 310, a motion mitigating process is performed on an illumination intensity indication. In one embodiment, the motion mitigation process includes performing image down-sampling and averaging illumination intensity values from a plurality of pixel rows of the resulting sub-sampled image. In one exemplary implementation, the number of downsampled pixel rows is maintained above a minimum that is greater than the video frame rate. In one embodiment reliable down-sampled pixels are selected for the averaging, wherein the reliable down-sampled pixels include pixels associated with a smooth well lit surface.
In step 320, content impacts are minimized on the motion mitigated illumination intensity indication. In one embodiment, minimizing content impacts on the illumination intensity indication includes subtracting illumination intensity values of a first frame from illumination intensity values of a second frame. In one exemplary implementation, the current frame column buffer is subtracted from the previous frame column buffer. The subtraction results are stored in a new buffer referred to as the subtraction buffer. In one exemplary implementation, a periodic waveform is included in the entries of the subtraction buffer if there is flicker band problem.
In step 330, the motion mitigated illumination intensity indication is binarized. In one embodiment, binarizing the illumination intensity indication includes comparing each entry value in a subtraction buffer with a moving average value and if a row in the subtraction buffer has a value larger than the mean, the values changes to +1, otherwise it's change to −1. For example if the j-th row in the subtraction buffer has a value larger than the mean, the value is changed to +1, otherwise it's changed to −1.
In step 340, a correlation of the motion mitigated illumination intensity to a reference illumination intensity frequency is determined. In one embodiment a correlation score is utilized to establish the correlation of the motion mitigated illumination intensity to a reference illumination intensity frequency. For example, the correlation score is assigned based upon the following manipulation:




  score
  =
  
    
      ∑
      
        
          0
          ⁢
          
            <
            _
          
          ⁢
          
            k
            ⁢
            
              T
              2
            
            ⁢
            i
          
        
        =
        1
      
      X
    
    ⁢
    
      
    
    ⁢
    
      
        S
        ⁡
        
          [
          i
          ]
        
      
      ⁢
      
        R
        ⁡
        
          [
          
            i
            +
            k
          
          ]
        
      
    
  




Where S[i] is the brightness indication sequence, R[i+k] is the reference sequence, X is the number of samples, k is the offset and the parameter T is the distance between two flicker bands in the sub sampled image. The unit for the T parameter is the number of rows. Additional confidence is provided by the correlation of the motion mitigated illumination intensity to a reference illumination intensity frequency. The additional confidence level provided by the present invention enables a conscious decision (e.g., a decision that has very low false positive error probability) on the current flickering frequency when the reference frequency is known to be relatively stable. For example the reference frequency is selected to correspond with the power source frequency since the power frequency does not change very often. The present invention correlation score also provides enhanced noise immunity, since one or two earliest entries in the column vector can still produce high correlation results.

The downsampling reduces the influence of incidental movement or camera jitter on determining the illumination intensity frequency. The larger of the down scaling ratio, the more translational invariant that frame subtraction performed for minimizing content impacts in step 320. In one exemplary implementation, the number of downsampled pixel rows is maintained above the minimum. For example, if the video frame rate is 15 frames per second and the luminance frequency is 60 hertz, there will be eight horizontal bands in the image frame. In order to capture the variations of those bands, the number of downsample rows is maintained above
It is appreciated that the generation of the column vector from the down sampled image can be implemented in a variety of different ways. In one exemplary implementation, the average of the downsample pixels is taken from multiple entire rows. If the surface is smooth the frame subtraction has a better chance of successfully removing the same content of camera jitter. Therefore the downsample pixels are chosen from a location corresponding to relatively smooth and well lit surface to generate the column vector. In another exemplary implementation simple tracking of the down sampled pixels is performed before the row averaging, so that the influence of the horizontal translation can be reduced.
Thus, the present invention facilitates automated selection of exposure settings with a high degree of confidence and minimal impacts due to jitter.
The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the Claims appended hereto and their equivalents.

## Claims

1. An incidental motion mitigation exposure setting method comprising:
receiving image input information;
performing a motion mitigating flicker band automatic detection process, wherein said motion mitigating flicker band automatic detection process includes:
performing a motion mitigating process on an illumination intensity indication, wherein said motion mitigating process includes image down sampling and averaging pixel intensity readings over a plurality of pixel rows;
minimizing content impacts on said illumination intensity indication results of said motion mitigating process;
binarizing said motion mitigated illumination intensity indication; and
finding a correlation of said motion mitigated illumination intensity and a reference illumination intensity frequency; and

implementing exposure settings based upon results of said motion mitigating flicker band automatic detection process.

2. The incidental motion mitigation exposure setting method of claim 1 wherein said motion mitigating flicker band automatic detection process automatically identifies an illumination frequency.

3. The incidental motion mitigation exposure setting method of claim 2 wherein said exposure settings are implemented based upon said identified illumination frequency.

4. The incidental motion mitigation exposure setting method of claim 1 wherein said image input information is received from a CMOS imaging apparatus.

5. The incidental motion mitigation exposure setting method of claim 1 further comprising setting up a sensor timing frame that is not a multiple of an illumination intensity reference frequency.

6. The incidental motion mitigation exposure setting method of claim 1 wherein a correlation score is utilized to establish said correlation and said correlation score is assigned based upon the following manipulation:




  score
  =
  
    
      ∑
      
        
          0
          ⁢
          
            <
            _
          
          ⁢
          
            k
            ⁢
            
              T
              2
            
            ⁢
            i
          
        
        =
        1
      
      X
    
    ⁢
    
      
    
    ⁢
    
      
        S
        ⁡
        
          [
          i
          ]
        
      
      ⁢
      
        R
        ⁡
        
          [
          
            i
            +
            k
          
          ]
        
      
    
  



where S[i] is the brightness indication sequence, R[i+k] is the reference sequence, X is the number of samples, k is the offset and the parameter T is the distance between two flicker bands in the sub sampled image with the unit of number of rows.

7. A flicker band automatic detection imaging system comprising:
a lens for focusing light reflected from an object;
a light sensor for sensing light from said lens and converting said light into electrical digital image information;
a shutter for controlling a length of time said light is permitted to pass from said lens to said light sensor;
a processor for processing said digital image information forwarded from said light sensor and directing motion mitigated flicker band automatic detection and mitigation, wherein said motion mitigating flicker band automatic detection and mitigation includes:
performing a motion mitigating process on an illumination intensity indication, wherein said motion mitigating process includes image down sampling and averaging pixel intensity readings over a plurality of pixel rows;
minimizing content impacts on said illumination intensity indication results of said motion mitigating process;
binarizing said motion mitigated illumination intensity indication; and

finding a correlation of said motion mitigated illumination intensity and a reference illumination intensity frequency; and
a memory for storing digital image information and instructions for directing said processor, including motion mitigated flicker band automatic detection instructions for performing flicker band automatic detection and mitigation.

8. A flicker band automatic detection imaging system of claim 7 wherein said motion mitigating auto flicker band detection process automatically identifies an illumination intensity frequency and establishes a corresponding exposure setting.

9. A flicker band automatic detection imaging system of claim 7 wherein said processor controls said length of time said shutter permits light to pass from said lens to said light sensor based upon said established exposure setting.

10. A flicker band automatic detection imaging system of claim 7 wherein content neutralized illumination intensity values are utilized by said processor.

11. A flicker band automatic detection imaging system of claim 7 wherein said directing motion mitigated flicker band automatic detection identifies an illumination intensity frequency based upon a known reference illumination intensity frequency.

12. A motion mitigating flicker band automatic detection process comprising
performing a motion mitigating process on an illumination intensity indication;
minimizing content impacts on an said motion mitigated illumination intensity indication;
binarizing said motion mitigated illumination intensity indication; and
finding a correlation of said motion mitigated illumination intensity and a reference illumination intensity freqeuncy.

13. A motion mitigating flicker band automatic detection process of claim 12 wherein said motion mitigation process includes:
performing image sub-sampling; and
averaging illumination intensity values from a plurality of pixel rows of said resulting sub-sampled image.

14. A motion mitigating flicker band automatic detection process of claim 12 wherein a number of downsampled pixel rows is maintained above a minimum that is greater than a video frame rate.

15. A motion mitigating flicker band automatic detection process of claim 12 wherein minimizing content impacts on said illumination intensity indication includes subtracting illumination intensity values of a first frame from illumination intensity values of a second frame.

16. A motion mitigating flicker band automatic detection process of claim 12 wherein said correlation score is assigned based upon the following manipulation:




  score
  =
  
    
      ∑
      
        
          0
          ⁢
          
            <
            _
          
          ⁢
          
            k
            ⁢
            
              T
              2
            
            ⁢
            i
          
        
        =
        1
      
      X
    
    ⁢
    
      
    
    ⁢
    
      
        S
        ⁡
        
          [
          i
          ]
        
      
      ⁢
      
        R
        ⁡
        
          [
          
            i
            +
            k
          
          ]
        
      
    
  



where S[i] is the brightness indication sequence, R[i+k] is the reference sequence, X is the number of samples, k is the offset and the parameter T is the distance between two flicker bands in the sub sampled image with the unit of number of rows.

17. A motion mitigating flicker band automatic detection process of 13 further comprising selecting reliable down-sampled pixels for said averaging.

18. A motion mitigating flicker band automatic detection process of claim 13 wherein said reliable down-sampled pixels include pixels associated with smooth well lit surface.

19. A motion mitigating flicker band automatic detection process of claim 12 wherein binarizing said illumination intensity indication includes comparing each entry value in a subtraction buffer with a moving average value and if a row in the subtraction buffer as a value larger than the mean the values change to one, otherwise the values change to negative one.

20. An incidental motion mitigation exposure setting method comprising:
receiving image input information;
performing a motion mitigating flicker band automatic detection process, wherein said motion mitigating flicker band automatic detection process includes:
performing a motion mitigating process on an illumination intensity indication;
minimizing content impacts on said illumination intensity indication results of said motion mitigating process;
binarizing said motion mitigated illumination intensity indication; and
finding a correlation of said motion mitigated illumination intensity and a reference illumination intensity frequency; and
implementing exposure settings based upon results of said motion mitigating flicker band automatic detection process.

21. An incidental motion mitigation exposure setting method of claim 20 wherein said motion mitigation process includes:
performing image sub-sampling; and
averaging illumination intensity values from a plurality of pixel rows of said resulting sub-sampled image.

22. An incidental motion mitigation exposure setting method of claim 20 wherein a number of downsampled pixel rows is maintained above a minimum that is greater than a video frame rate.

23. An incidental motion mitigation exposure setting method of claim 20 wherein minimizing content impacts on said illumination intensity indication includes subtracting illumination intensity values of a first frame from illumination intensity values of a second frame.

24. An incidental motion mitigation exposure setting method of claim 20 wherein a correlation score is utilized to establish said correlation and said correlation score is assigned based upon the following manipulation:




  score
  =
  
    
      ∑
      
        
          0
          ⁢
          
            <
            _
          
          ⁢
          
            k
            ⁢
            
              T
              2
            
            ⁢
            i
          
        
        =
        1
      
      X
    
    ⁢
    
      
    
    ⁢
    
      
        S
        ⁡
        
          [
          i
          ]
        
      
      ⁢
      
        R
        ⁡
        
          [
          
            i
            +
            k
          
          ]
        
      
    
  



where S[i] is the brightness indication sequence, R[i+k] is the reference sequence, X is the number of samples, k is the offset and the parameter T is the distance between two flicker bands in the sub sampled image with the unit of number of rows.

25. An incidental motion mitigation exposure setting method of claim 20 further comprising selecting reliable down-sampled pixels for said averaging.

26. An incidental motion mitigation exposure setting method of claim 20 wherein said reliable down-sampled pixels include pixels associated with smooth well lit surface.

27. A incidental motion mitigation exposure setting method of claim 20 wherein subtraction values are equal to subtracting illumination intensity values of a first frame from illumination intensity values of a second frame and binarizing said illumination intensity indication includes comparing said subtraction values with a moving average value and if a row of said subtraction values is larger than the mean the subtraction values change to one, otherwise the subtraction values change to negative one.