Abstract:
A method and an apparatus are provided for image stabilization for the output of analog-to-digital converters (ADC) and for phase-locked loops (PLL). The digital coding at the output of ADCs and PLLs is filtered by this method and apparatus to eliminate the noise which has contaminated the coding. The noise sources are noise picked up by the cable, system board noise, ADC power and ground noise paths, and switching noise. The differences of energy level of sequential pixels in the ADC and PLL digital outputs used in image displays are used to decide if correction is required. The method of image noise filtering is compatible with programmable circuitry. This allows the method to be tuned for optimal image stabilization.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The present invention generally relates to filtering noise effects out of digital signals using energy analysis of the digital coding. More particularly, this invention relates to a method for image stabilization for the output of analog-to-digital converters and for phase-locked loops.  
         [0003]     2. Description of the Prior Art  
         [0004]     Display images today often need stabilization and correction. Typically, this stabilization is required because of moving subjects or moving cameras. Without correction, the unstable images will be “fuzzy” or “blurred”. There are several techniques available in today&#39;s art. They include subdividing the image into nested pixel blocks in order to determine the overall image change in magnification, rotation, and translation. This determined change could then be used to correct the overall image. Another technique uses a sensor to detect the amount of movement of a display device and a correction circuit. Another technique uses displacement estimation and a feedback loop to achieve image alignment.  
         [0005]      FIG. 1   a  shows an image display  11  with example pixels, x 1 , x 2 , x 3 , . . . , xn. In today&#39;s image processors, these individual pixels are normally processed using analog-to-digital converters (ADC) and phase-locked loops (PLL). Today&#39;s art typically does not address the image correction from the ADC and PLL circuit level. 
        U.S. Pat. No. 6,560,375 (Hathaway, et al.) describes a method of stabilizing and registering a video image in multiple video fields of a video sequence which provides accurate determination of the image change in magnification, rotation and translation between video fields, so that the video fields may be accurately corrected for these changes in the image in the video sequence. A key area of a video field is selected which contains an image which it is desired to stabilize in a video sequence. The area is subdivided into nested pixel blocks and the translation of each of the pixel blocks from the video field to a new video field is determined as a precursor to determining change in magnification, rotation and translation of the image from the key video field to the new video field.     U.S. Pat. No. 6,317,114 (Abali, et al.) discloses an image stabilizing apparatus and method for a display device having a display screen, include a sensor for sensing a movement of the display device, and a movement compensation circuit, coupled to the sensor, for compensating for the movement of the display device such that an image on the display screen of the display device remains stationary in relation to an observer&#39;s view.     U.S. Pat. No. 5,629,988 (Burt, et al.) describes a system and method for electronic stabilization of an image produced by an electronic imaging device. The input may be any sequence of image frames from an image source, such as a video camera, an IR or X-ray imager, radar, or from a storage medium such as computer disk memory, videotape or a computer graphics generator. The invention can also be used with images from multiple sources when these must be stabilized with respect to one another. The invention uses a feedback loop and second image warp stage to achieve precise image alignment as part of the displacement estimation process.          
       SUMMARY OF THE INVENTION  
       [0009]     It is therefore an object of the present invention to provide a method and an apparatus for image stabilization for the output of analog-to-digital converters and for phase-locked loops.  
         [0010]     The objects of this invention are achieved by a method of digitized image stabilization using energy analysis noise correction for analog-to digital converters (ADC). The method comprises the steps of determining if a given image pixels&#39; digital coding is not between the digital coding of its 2 adjacent pixels, and determining if differences between a given image pixel&#39;s digital coding&#39;s absolute value and its two adjacent pixel&#39;s digital coding is less than a pre-determined threshold value. The image pixel&#39;s digital coding is determined to not be between said coding of its two adjacent pixels in a monotonically increasing mode if the difference between a digital coding of a left-most adjacent pixel and the given image pixel is positive, and if the difference between the digital coding of the right-most adjacent pixel and the given image pixel is positive. The image pixel&#39;s digital coding is determined to not be between said coding of its two adjacent pixels in a monotonically decreasing mode if the difference between a digital coding of the left-most adjacent pixel and said given image pixel is negative, and if the difference between the digital coding of the right-most adjacent pixel and said given image pixel is negative. If it has been determined that both a given image pixel&#39;s digital coding is not between the digital coding of its 2 adjacent pixels and a difference between given image pixel&#39;s digital coding&#39;s absolute value and its two adjacent pixel&#39;s digital coding is less than a pre-determined threshold value, than the digital coding of the given image pixel is changed to an average of the digital coding of the two adjacent pixels.  
         [0011]     The objects of this invention are also achieved by a method of digitized image stabilization using energy analysis noise correction for phase-locked loops (PLL). The method comprises the steps of selecting an odd number, n, consecutive pixel samples which include a given image pixel, (n−1)/2 consecutive image pixels which are adjacent on the left to said given image pixel, and (n−1)/2 consecutive image pixels which are adjacent on the right to said given image pixel. The method also comprises computing the (n−1) differences between digital codings of said n consecutive pixel samples, adding said n−1 differences between said digital codings of said n consecutive pixel samples to produce a total energy, and choosing a programmable, threshold for the summation of said 4 differences between said digital codings of said n consecutive pixel samples. The method also comprises comparing said total energy to said threshold, deciding if said total energy is greater than said threshold, and changing said digital coding of said given image pixel if said energy is greater than said threshold.  
         [0012]     The above and other objects, features and advantages of the present invention will be better understood from the following detailed description taken in conjunction with the accompanying drawings.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0013]      FIG. 1   a  is a prior art view of an image display.  
         [0014]      FIG. 1   b  shows an analog-to-digital converter with the noise reduction apparatus of this invention.  
         [0015]      FIG. 1   c  shows a model of the noise reduction apparatus of this invention.  
         [0016]      FIG. 2   a  shows an energy analysis method for the output of an ADC to correct a pixel&#39;s digital coding upward toward more energy.  
         [0017]      FIG. 2   b  shows an energy analysis method for the output of an ADC to correct a pixel&#39;s digital coding downward toward less energy.  
         [0018]      FIG. 2   c  shows an energy analysis method for the output of an ADC which is monotonically increasing and which does not qualify for correction.  
         [0019]      FIG. 2   d  shows an energy analysis method for the output of an ADC which is monotonically decreasing and which does not qualify for correction.  
         [0020]      FIG. 3   a  shows a square wave output of a phase-locked loop which has inconsistent digital coding.  
         [0021]      FIG. 3   b  shows a sine wave output of a phase-locked loop which has inconsistent digital coding.  
         [0022]      FIG. 4   a  shows an energy analysis method for the output of a PLL to correct a pixel&#39;s digital coding upward toward more energy.  
         [0023]      FIG. 4   b  shows an energy analysis method for the output of a PLL to correct a pixel&#39;s digital coding downward toward less energy.  
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0024]      FIG. 1   b  shows a block diagram of an analog signal  105  which is converted to digital form using analog-to-digital converter, ADC  110 . The output of the ADC consists of digital code  120 . This digital code has noise components which need to be removed. The noise components are cable noise, system board noise, ADC power and ground noise paths, and switching noise. The ADC noise reduction block  130  is the location of the apparatus of this invention. The output  140  of the ADC noise reduction block is a “clean result” with minimal noise.  
         [0025]      FIG. 1   c  is a modeling block diagram. It shows a constant input value  150 . This constant or DC value goes into the ADC  155 . Since the input is a DC value without noise, the ADC output is an Ideal output  170  without noise. A noise source  160  is injected or added to the ADC clean output at  165 . The non-ideal digital output with noise is shown  175 . The ADC noise filter  180  of this invention removes the injected noise  160  to produce clean result  190 .  
         [0026]     There are digital codes produced by an ADC for each of the display image pixels displayed horizontally from left to right on a display.  FIG. 2   a  shows a plot of digital values versus horizontal position on a display screen. At horizontal position  1 , there is a digital code of X 1  ( 210 ). At horizontal position  2 , there is a digital code X 2  ( 230 ). Code X 2  ( 230 ) appeared at the output of the ADC block  130  in  FIG. 1   a . The “gray” X2 code  240  is the adjusted code, which resulted from going through the apparatus of this invention block  130  shown in  FIG. 1   a . This “new” X 2  ( 240 ) code is a result of averaging the adjacent codes X 1  ( 210 ) and X 2  ( 220 ). X 1 , X 2 , and X 3  represent 3 consecutive digital codes representing 3 consecutive pixels displayed horizontally on a display. The equations for the averaging example shown in  FIG. 2   a  are as follows.  
                                             Define   E1 = G(x1) − G(x2)           E2 = G(x3) − G(x2)            If E1 &gt; 0, E2 &gt; 0, E1 &lt; Ethreshold, and E2 &lt; Ethreshold, then       G(x2) = [G(x1) + G(x3)]/2 as in  FIG. 2a .                  
 
         [0027]     As seen in the equations above, energy values E1 and E2 are defined based on the differences of the absolute values of the digital codings of horizontal pixels  1  and  2  and of the differences of the absolute values of the digital codings of horizontal pixels  3  and  2 . The equations above say that if E1 and E2 are positive and if E1 and E2 are both less than some threshold, the digital coding of the middle pixel, x 2  is replaced by the average of the digital coding of x 1  and x 3 . If E1 and E2 are not less than the threshold, there is no correction, since the coding of pixel x 2  is probably valid. Also, if both E1 and E2 are not greater than 0, the pixels are lined up as in either  FIG. 2   c  or  FIG. 2   d  and no correction is required. The example of  FIG. 2   a  is the case where the “new” X 2  ( 240 ) code resulting from ADC correction is more “white” with a higher value than the original X2 code  230 .  
         [0028]      FIG. 2   b  shows a plot of digital values versus horizontal position on a display screen. At horizontal position  1 , there is a digital code of X 1  ( 250 ). At horizontal position  2 , there is a digital code X 2  ( 270 ). Code X 2  ( 270 ) appeared at the output of the ADC block  130  in  FIG. 1   a . The “gray” X2 code  280  is the adjusted code, which resulted from going through the apparatus of this invention block  130  shown in  FIG. 1   a . This “new” X 2  ( 280 ) code is a result of averaging the adjacent codes X 1  ( 250 ) and X 2  ( 260 ). X 1 , X 2 , and X 3  represent 3 consecutive digital codes representing 3 consecutive pixels displayed horizontally on a display. The equations for the averaging example shown in  FIG. 2   b  are as follows.  
                                             Define   E1 = G(x1) − G(x2)           E2 = G(x3) − G(x2)            If E1 &lt; 0, E2 &lt; 0, (absolute value E1) &lt; Ethreshold, &amp;       (absolute value E2) &lt; Ethreshold,       then G(x2) = [G(x1) + G(x3)]/2 as in  FIG. 2b .                    
         [0029]     As seen in the equations above, energy values E1 and E2 are defined based on the differences of the absolute values of the digital codings of horizontal pixels  1  and  2  and of the differences of the absolute values of the digital codings of horizontal pixels  3  and  2 . The equations above say that if E1 and E2 are positive and if E1 and E2 are both less than some threshold, the digital coding of the middle pixel, x 2  is replaced by the average of the digital coding of x 1  and x 3 . If E1 and E2 are not less than the threshold, there is no correction, since the coding of pixel x 2  is probably valid. Also, if both E1 and E2 are not greater than 0, the pixels are lined up as in either  FIG. 2   c  or  FIG. 2   d  and no correction is required. The example of  FIG. 2   b  is the case where the “new” X 2  ( 280 ) code resulting from ADC correction is more “white” with a higher value than the original X2 code  270 .  
         [0030]      FIG. 3   a  shows the second or Phase Locked Loop (PLL) embodiment of this invention.  FIG. 3   a  shows an ideal PLL input analog waveform  310 . The sampling signals are shown  315 . The actual PLL input, analog waveform is shown  320 . The actual waveform has overshoots, undershoots, and sampling jitter. These irregularities cause the 8 bit digital code developed by digital sampling to be inconsistent.  
         [0031]     The 8-bit digital code for the sampling of the graph in  FIG. 3   a  is shown. For example, the first high level sample shown has a digital value of ‘F9’ or (1111-1001). The second high level sample shown has a digital value of ‘F8’. The third high level sample shown has a digital value of ‘FC’. All three high level samples yield different digital codings. This makes for an inconsistent digital representation coming out of the PLL. In addition, the first low-level sample shown has a digital value of ‘03’ or (0000-0011). The second low level sample shown has a digital value of 05. The third low level sample shown has a digital value of low 01. All three level samples yield different digital codings. This results in inconsistent digital representations coming out of the PLL.  
         [0032]     Similarly,  FIG. 3   b  shows a sine wave instead of the square wave  350  shown in  FIG. 3   a . In the example of  FIG. 3   b , the effects of jitter on the sampling position causes inconsistent digital codings. This sampling jitter can result in inconsistent and non-repeatable digital codings for the same waveform as shown in  FIG. 3   b.    
         [0033]      FIG. 4   a  shows a plot of energy level or gray level (G) versus the left-to-right horizontal position of a pixel on a display. At horizontal position  1 , there is a digital code of X 1  ( 410 ). At horizontal position  2 , there is a digital code X 2  ( 450 ). At horizontal position  3 , there is a digital code X 3  ( 440 ). At horizontal position  4 , there is a digital code X 4  ( 460 ). At horizontal position  5 , there is a digital code X 5  ( 420 ). The “gray” X3 code  430  is the adjusted code, which resulted from going through the apparatus of this invention. This “new” X3 code is a result of averaging the adjacent codes X 1  ( 410 ) and X 5  ( 420 ). This new X3 code is more “white” or higher up on the gray scale, as shown in  FIG. 4   a . This “white” example shown in  FIG. 4   a  represents the case of 5 consecutive horizontal pixel samples. The reason for 5 consecutive pixel samples is to utilize an even number of transitions (4) in order to catch the Moiré pattern. A Moiré pattern of pixels are alternating white and black spots on the display. If more than 5 consecutive pixel samples are used, more hardware would be needed to implement the apparatus of this invention. Therefore, 5 consecutive horizontal pixel samples is optimum. The equation for the “white” example shown in  FIG. 4   a  is given below.  
                                             Define:   E1 = absolute value of [G(x1) − G(x2)]           E2 = absolute value of [G(x2) − G(x3)]           E3 = absolute value of [G(x3) − G(x4)]           E4 = absolute value of [G(x4) − G(x5)]           Energy = E1 + E2 + E3 + E4            If Energy &gt; threshold (programmable), then       G(x3) will be changed to “white value” (programmable),       if G(x3) &gt; 128                    
         [0034]      FIG. 4   b  shows a plot of energy level or gray level (G) versus the left-to-right horizontal position of a pixel on a display. At horizontal position  1 , there is a digital code of X 1  ( 411 ). At horizontal position  2 , there is a digital code X 2  ( 451 ). At horizontal position  3 , there is a digital code X 3  ( 441 ). At horizontal position  4 , there is a digital code X 4  ( 461 ). At horizontal position  5 , there is a digital code X 5  ( 421 ). The “gray” X3 code  431  is the adjusted code, which resulted from going through the apparatus of this invention. This “new” X3 code is a result of averaging the adjacent codes X 1  ( 411 ) and X 5  ( 421 ). This new X3 code is more “black” or lower down on the grey scale, as shown in  FIG. 4   b . This “black” example shown in  FIG. 4   b  represents the case of 5 consecutive horizontal pixel samples. The reason for 5 consecutive pixel samples is to utilize an even number of transitions (4) in order to catch the Moiré pattern. A Moiré pattern of pixels are alternating white and black spots on the display. If more than 5 consecutive pixel samples are used, more hardware would be needed to implement the apparatus of this invention. Therefore, 5 consecutive horizontal pixel samples is optimum. The equation for the “black” example shown in  FIG. 4   b  is given below.  
                                             Define:   E1 = absolute value of [G(x1) − G(x2)]           E2 = absolute value of [G(x2) − G(x3)]           E3 = absolute value of [G(x3) − G(x4)]           E4 = absolute value of [G(x4) − G(x5)]           Energy = E1 + E2 + E3 + E4            If Energy &gt; threshold (programmable), then       G(x3) will be changed to “black value” (programmable),       if G(x3) &lt; 128.                    
         [0035]     The advantage of this invention is the unique energy analysis method of image stabilization and correction. The energy of image pixels are represented by the absolute values of the digital coding coming out of an analog-to-digital converter or out of a phase-locked loop. Since the invention involves comparing digital codes and digital thresholds, the method is programmable and is amenable to be implemented via digital circuitry and processors.  
         [0036]     While the invention has been described in terms of the preferred embodiments, those skilled in the art will recognize that various changes in form and details may be made without departing from the spirit and scope of the invention.