Abstract:
To handle static text and logos in stabilized images without destabilizing the static text and logos, a method of handling overlay subpictures in stabilized images includes separating an existing overlay subpicture from an input image to generate a separated overlay subpicture and a separated input image. The separated input image is stabilized to form a stabilized image. The separated overlay subpicture is then merged with the stabilized image to obtain an output image.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    This is a Continuing Application of, and claims priority to, U.S. application Ser. No. 12/037,096, filed on Feb. 26,2008. 
     
    
     BACKGROUND OF THE INVENTION 
       [0002]    1. Field of the Invention 
         [0003]    The present invention relates to video enhancement, and more particularly, to a method for handling overlay subpictures in stabilized images. 
         [0004]    2. Description of the Prior Art 
         [0005]    Image stabilization is a technique used for preventing or eliminating instability in photographic devices, such as telescopes, binoculars, cameras, and video cameras. For devices such as telescopes, which are for observing the subjects in the distance, even a slight shake can cause a major shift in the image displayed. Likewise, for cameras employing long shutter speeds, stillness is necessary for ensuring capture of a clear, focused image with no blur. Thus, image stabilization is a powerful and important tool for helping observers, photographers, and videographers capture steady images without blur. 
         [0006]    In the realm of video, image stabilization, which is typically a preventative technique employed at the photographic device, can also be employed as an editing “cure” for instability occurring from frame to frame in an existing video clip. Please refer to  FIGS. 1 and 2 , which illustrate an example of performing image stabilization according to the prior art.  FIG. 1  shows a first frame  101  and a second frame  102  in sequence in a video clip  100 . The first frame  101  precedes the second frame  102 , and can be considered an image. From the first frame  101  to the second frame  102 , observations about certain elements common to a scene being captured in the first frame  101  and the second frame  102  can be made. In the scene, a man  103  is photographed. It can be seen that the man  103  shifts downward from the first frame  101  to the second frame  102 . Thus, the photographer either shifted or tilted the camera upward between the first frame  101  and the second frame  102 . To stabilize the scene between the first frame  101  and the second frame  102 , editing software can be utilized to crop a top portion of the scene displayed in the second frame  102 , and fill in a bottom portion  110  of the scene displayed in the second frame  102 , so as to maintain a constant resolution throughout the video clip  100 . The filling in can be accomplished by utilizing an algorithm to extrapolate from existing data in the second frame  102 , or previous data from earlier frames, such as the first frame  101 , could also be utilized to fill in the bottom portion  110  of the scene displayed in the second frame  102 . At this point, the image is considered stabilized. 
         [0007]    In many situations, however, before stabilizing the image, it is likely that the image will have added text or logos, e.g. subtitles or a company logo. This may occur, for example, if the user received the image from another user who has already performed some editing, such as adding the logo or subtitles, or it could occur if the user previously added the subtitles themselves, and decides to perform image stabilization at a later point in the editing process. Please refer to  FIG. 3 , which illustrates image stabilization with subtitles according to the prior art. A video clip  300  includes a first frame  301  and a second frame  302 , which can be considered an image. The image includes a mountain  303 , subtitles  304 , and a time display  305 . Similar to the situation described above for  FIGS. 1 and 2 , when the editing software is utilized to perform image stabilization on the second frame  302 , the second frame  302  is cropped at the top of the scene, and the algorithm is utilized to fill the in the bottom of the scene. However, this time, the subtitles  304  and the time display  305  are shifted up with the rest of the scene, as they are considered part of the scene. This means that as image stabilization is performed over the entirety of the video clip  300 , the subtitles  304  and the time display  305  will jump up and down, or left and right, from frame to frame in the video clip  300 . This disorients the viewer, rendering the subtitles  304  and the time display  305 , and possibly the entire video clip  300 , unviewable. Further, this destabilization could be extended to other desirably static items, such as logos and other added effects. 
       SUMMARY OF THE INVENTION 
       [0008]    It is therefore an object of the present invention to provide a method for handling static text and logos in stabilized images which does not destabilize the static text and logos. 
         [0009]    According to the preferred embodiment of the present invention, a method for handling overlay subpictures in stabilized images includes separating an existing overlay subpicture from an input image to generate a separated overlay subpicture and a separated input image. The separated input image is stabilized to form a stabilized image. The separated overlay subpicture is then merged with the stabilized image to obtain an output image. 
         [0010]    These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0011]      FIGS. 1 and 2  illustrate an example of performing image stabilization according to the prior art. 
           [0012]      FIGS. 3 and 4  illustrate image stabilization with subtitles according to the prior art. 
           [0013]      FIG. 5  illustrates image stabilization according to the present invention. 
           [0014]      FIG. 6  is a flowchart of a process for performing image stabilization according to the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0015]    Please refer to  FIGS. 5 and 6 .  FIG. 5  illustrates handling overlay subpictures during image stabilization according to the present invention.  FIG. 6  is a flowchart of a process  60  for performing image stabilization according to the present invention. Briefly, taking a video clip  500  as an example, the video clip  500  may be considered a stabilized version of the video clip  300  shown in  FIG. 3 . The present invention begins in Step  600  with detecting an overlay subpicture in an input image  302 . The subpicture may be a part of the image with some specific characteristics. For example, the subpicture may be graphic bitmap overlays used in video to create subtitles, captions, karaoke lyrics, menu highlighting effects, and so on. The overlay subpicture may be subtitles  504 , the timer  505 , a logo, another static object of the input image  502 , or some combination of the above. Once the overlay subpicture(s) are identified, the overlay subpicture(s) may be separated from the input image  302  in Step  602 . The input image  302  may then be stabilized to form a stabilized image  502  in Step  604 , and the overlay subpicture(s)  504 ,  505  may then be merged with the stabilized image  502  to obtain an output image in Step  606 . 
         [0016]    The method may further comprise utilizing the input image  302  and a plurality of images, e.g. other images in the video clip  500 , to determine a static region  504  of the input image  302  corresponding to the overlay subpicture. Most images in the video clip  500  may comprise subtitles, a logo, or other overlay subpictures. Taking the subtitles, which may represent text of spoken audio in the video clip  500 , as an example, the subtitles may be limited to the static region of the input image and the plurality of images. So, prior to detecting the subtitles, the static region corresponding to the subtitles may be determined first from analyzing the input image  302  and the plurality of images. Then, the subtitles may be detected in the static region in the input image  302 . Likewise, the timer may be located in a timer region  505 . So, prior to detecting the subtitles, the timer region  505  may be determined from the input image  302  and the plurality of images. Then, the timer may be detected in the timer region in the input image  302 . 
         [0017]    To determine the static region  504 ,  505  of the input image  302 , the present invention may look for regions with matching size, matching shape, and/or matching position common to the input image and the plurality of images. The matching size, matching shape, and/or matching position do not have to be exact matches, but can be determined within predetermined tolerances. For example, the subtitles may change from frame to frame, such that in some of the plurality of images, the subtitles occupy a region with short length, whereas in other of the plurality of images, the subtitles may occupy a region with long length. However, the region with long length and the region with short length may still be determined to be the static region  504 , due to similar position, and similar shape of the subtitles throughout the plurality of images and the input image. Other techniques may also be utilized to determine the static region of the input image corresponding to the overlay subpicture. For example, the input image and the plurality of images may be utilized to calculate a motion vector, a luminance variation, and/or a chrominance variation matching a predetermined criterion. In the example of the logo, the logo may have similar luminance and chrominance throughout the plurality of images and the input image. For example, the logo may be blue, red, white, or any other color, and the color of the logo may change very little throughout the video clip  500 . Not to mention, the logo may have very little variation of position throughout the video clip  500 , for example being located in a corner of each image of the plurality of images and the input image. Therefore, low motion, low luminance variation, and low chrominance variation throughout the video clip  500  may indicate presence of the static region  504 ,  505 , and may be utilized to determine the static region of the input image  302  corresponding to the overlay subpicture. 
         [0018]    The overlay subpicture may be separated (Step  602 ) by determining boundaries of the overlay subpicture, recording a location of the overlay subpicture, generating a copy of the overlay subpicture, and removing the overlay subpicture from the input image. Then, the overlay subpicture may be merged by laying the copy over the stabilized image at the location. For example, the subtitles may have a color of white or yellow. Thus, to determine the boundaries of the subtitles, the color of the subtitles may be utilized in contrast with colors of surrounding pixels to determine which pixels belong to the subtitles. Then, the location of the subtitles may be recorded. The location could be a corner of the subtitles, a center of the subtitles, or another point of the subtitles. The location may be an absolute location relative to dimensions of the input image. In this way, the location may be isolated from the stabilization process. In other words, even though the input image may be shifted during stabilization, and thus coordinates of the input image may be shifted, if the location is absolute relative to the dimensions of the input image, then the location will not shift with the input image during stabilization. Otherwise, an x-axis shift and a y-axis shift may be recorded during stabilization, and the location of the subtitles may be recovered from the x-axis shift and the y-axis shift post stabilization. The copy may be made according to the boundaries of the subtitles. Then, the subtitles may be removed from the input image. Of course, removal of the subtitles implies replacement of the pixels of the subtitles with something, which something may preferably be image data from similar locations in frames immediately preceding or following the input image, or less preferably may be interpolated image data from the surrounding pixels surrounding the subtitles. The pixels of the subtitles may be considered the region the subtitles are located in within the input image. 
         [0019]    The overlay subpicture may be merged with the stabilized image to obtain the output image, and this may be accomplished by processing a region the overlay subpicture is located in, and setting the overlay subpicture separated from the input image on the stabilized image. The region the overlay subpicture is located in may be processed by replacing the region the overlay subpicture is located in with image data from a second region of the stabilized image, or by replacing the region the overlay subpicture is located in with image data from a second region of at least one image of the plurality of images. Then, the overlay subpicture may replace pixels of the stabilized image located where the overlay subpicture was located relative to the dimensions of the input image. The overlay subpicture may be merged with the stabilized image to obtain the output image by further smoothing a border region of the overlay subpicture and the stabilized image by a low-pass filter, such as performing a Gaussian smoothing. The overlay subpicture may comprise subtitles, a logo, and/or a timer, though other types of overlay subpicture may also be processed by the present invention. 
         [0020]    In another embodiment, the overlay subpicture may be merged by masking the input image except the overlay subpicture and laying the stabilized image over the masked input image. After the overlap subpicture is identified, the step of masking the input image is to keep only the overlay subpicture of the input image visible. The stabilized image is generated from the input image and laying the stabilized image over the masked input image. The overlay subpicture of the stabilized image may be removed before merging it with the masked input image. 
         [0021]    In the prior art, the subtitles, logo, timer, or other overlay subpicture shifted with the input image as the input image was stabilized to form the stabilized image. In the present invention, however, the overlay subpicture(s) are identified, separated from the input image or replaced in the stabilized image, the input image is stabilized to form the stabilized image, and the overlay subpicture(s) are then returned or merged to the stabilized image in their original location relative to the dimensions of the frame. In this way, over the video clip as a whole, and from frame to frame, the overlay subpicture(s) remain stable, in spite of the rest of the image shifting due to image stabilization. This creates a more pleasing viewing experience for the user, and makes the image stabilization process more flexible for integration even after the overlay subpicture(s) have been added to the video clip. 
         [0022]    Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention.