Patent Publication Number: US-7714932-B2

Title: Apparatus and method for adaptively de-interlacing image frame

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of application Ser. No. 11/091,507, filed Mar. 29, 2005, now U.S. Pat. No. 7,365,795 which claims the priority under 35 U.S.C. §119(a) on Patent Application No(s). 093128779 filed in Taiwan, Republic of China on Sep. 22, 2004, the entirety thereof being incorporated herein by reference. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of Invention 
     The invention relates to an apparatus and a method for de-interlacing a frame and, in particular, to an apparatus and a method for adaptive de-interlace of a frame. 
     2. Related Art 
     According to the well-developed technology, the displaying quality of video media is greatly progressed. However, different image processing methods may affect the displaying quality while displaying the video media. The different processing methods are, for example, the interlace scan method and the progressive scan method. 
     An interlace scan frame is composed of two fields, wherein each field includes only the odd scan lines of the frame or the even scan lines of the frame. In the interlace scan frame, the resolution of each odd field and/or even field is only half of the original frame. The advantage of the interlace scan method is to smoothly display the dynamic image, and the disadvantage thereof is to cause the blurring in the displayed image. The scan speed of the progressive scan is twice of the interlace scan, so that the progressive scan can present fine and clear frames. As a result, the present advanced video apparatus adopts the progressive scan method for scanning and displaying. 
     Regarding to the scan standard of present analog televisions, the most popular standards includes the Television Standards Committee (NTSC) system and Phase Alternation by Line (PAL) system. The NTSC system adopts the interlace scan method, so that if the image of the NTSC system is displayed in a progressive scan display system, the displayed frame only includes the odd field or the even field resulting in the poor image resolution (only half of the original image resolution). Therefore, the display quality of the image is unsatisfied. In addition, if an interlace scan DVD image is directly displayed on a progressive scan display system, the above-mentioned problem also occurs. To solve the above-mentioned problem, the interlace scan image must be de-interlaced. In other words, the de-interlace process is a way for transforming the interlace scan image into the progressive scan image. 
     The de-interlace processes include two typical linear transform technologies, which are weave and bob de-interlace processes. Referring to  FIG. 1A , the weave de-interlace process is to overlaid or weave two input fields (including an odd field and an even field) for generating a progressive frame. As shown in  FIG. 1B , the bob de-interlace process is to accept only one input field, such as the even frame only, and to discard the other field, such as the odd frame. Thus, the resolution of the vertical direction of the frame is decreased to half of the original image. To recover the resolution of the image, two adjacent scan lines of the same field are used to compensate the scan line there between in the discarded field. 
     The weave de-interlace process has better effects for static images, but may have misalignment for the dynamic images, which results in the serrations at the edge of the frame and decreases the displaying qualities. The bob de-interlace process may overcome the misalignment problem to obtain clear and nature dynamic images. However, for the static images, the bob de-interlace process decreases the vertical resolution of the images and then compensates it by the interpolation method. Thus, the displayed frame becomes blurred and is not sharp. 
     It is therefore a subjective of the invention to provide an apparatus and a method for adaptive de-interlace of a frame, which can select the proper de-interlace algorithm according to the interlace scan frame to be processed, so as to employ the suitable de-interlace method to process the dynamic or static image. Thus, the displaying qualities can be enhanced. 
     SUMMARY OF THE INVENTION 
     In view of the foregoing, the invention is to provide an apparatus and a method for adaptive de-interlace of a frame. 
     To achieve the above, an apparatus for adaptive de-interlace a frame of the invention includes a line-segment difference-value calculating module, a motion-vector calculating module, an intra-block calculating module, a trigger-value producing module, and an image processing module. In the invention, the line-segment difference-value calculating module computes a difference value of a line segment within the frame. The motion-vector calculating module computes a motion vector of a macro block that is located in the frame and comprises the line segment. The intra-block calculating module computes the amount of intra blocks in the frame. The trigger-value producing module determines whether the amount of the intra blocks is larger than a first threshold or not. If so, the trigger-value producing module then generates a trigger value according to the difference value of the line segment; otherwise, if not, the trigger-value producing module then generates the trigger value according to the difference value of the line segment and the motion vector. The image processing module determines whether the trigger value is larger than a second threshold or not. If so, the image processing module de-interlaces the line segment according to a first de-interlace algorithm; otherwise, if not, the image processing module de-interlaces the line segment according to a second de-interlace algorithm. 
     In addition, the invention also discloses a method for adaptive de-interlace of a frame, comprising the following steps of: calculating a difference value of a line segment within the frame; calculating a motion vector of a macro block, which is located in the frame and comprises the line segment; calculating the amount of intra blocks in the frame; determining whether the amount of the intra blocks is larger than a first threshold or not; if the amount of the intra blocks is larger than the first threshold, generating a trigger value according to the difference value of the line segment; if the amount of the intra blocks is no larger than the first threshold, generating the trigger value according to the difference value of the line segment and the motion vector; determining whether the trigger value is larger than a second threshold or not; if the trigger value is larger than the second threshold, de-interlacing the line segment according to a first de-interlace algorithm; and if the trigger value is no larger than the second threshold, de-interlacing the line segment according to a second de-interlace algorithm. 
     As mentioned above, the apparatus for adaptive de-interlace of the frame has a trigger-value producing module and an image processing module, which can select the proper de-interlace algorithm, such as the bob or weave de-interlace algorithm, according to the difference value of the line segment, the motion vector and the amount of intra blocks. Therefore, the frame obtained according to the apparatus and method of the invention may have better display effects. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The invention will become more fully understood from the detailed description given herein below illustration only, and thus is not limitative of the present invention, and wherein: 
         FIG. 1A  is a schematic view showing the frame according to the weave de-interlace method; 
         FIG. 1B  is a schematic view showing the frame according to the bob de-interlace method; 
         FIG. 2  is a schematic view showing an apparatus for adaptive de-interlace of a frame according to a preferred embodiment of the invention; 
         FIG. 3  is a flow chart showing a method for adaptive de-interlace of a frame according to a preferred embodiment of the invention; and 
         FIG. 4  is a schematic view showing output values of pixels in different fields of a present frame and a reference frame for illustrating the method for adaptive de-interlace a frame according to the embodiment of the invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The present invention will be apparent from the following detailed description, which proceeds with reference to the accompanying drawings, wherein the same references relate to the same elements. 
     With reference to  FIG. 2 , an apparatus  2  for adaptive de-interlace of a frame according to an embodiment of the invention includes a line-segment difference-value calculating module  21 , a motion-vector calculating module  22 , an intra-block calculating module  23 , a trigger-value producing module  24 , and an image processing module  25 . Moreover, the apparatus  2  may include a video image buffer module  11  and an image output module  12 , which are respectively for providing frames and outputting the de-interlaced image. The apparatus  2  may further include an image display module  13  for receiving and displaying the de-interlaced image outputted from the image output module  12 . Of course, other equivalent modifications and changes familiar to those skilled in the art should be included in the scope of the invention. For example, the apparatus for adaptive de-interlace of the frame may include/exclude the image display module. 
     The line-segment difference-value calculating module  21  computes a difference value of a line segment within the frame. The motion-vector calculating module  22  computes a motion vector of a macro block that is located in the frame and comprises the line segment. The intra-block calculating module  23  computes the amount of intra blocks in the frame. The trigger-value producing module  24  determines whether the amount of the intra blocks is larger than a first threshold or not. If the amount of the intra blocks is larger than a first threshold, the trigger-value producing module  24  then generates a trigger value according to the difference value of the line segment; otherwise, if the amount of the intra blocks is no larger than a first threshold, the trigger-value producing module  24  then generates a trigger value according to the difference value of the line segment and the motion vector. The image processing module  25  determines whether the trigger value is larger than a second threshold or not. If the trigger value is larger than a second threshold, the image processing module  25  de-interlaces the line segment according to a first de-interlace algorithm; otherwise, if the trigger value is no larger than a second threshold, the image processing module  25  de-interlaces the line segment according to a second de-interlace algorithm. Wherein, the first de-interlace algorithm is a bob de-interlace algorithm, and the second de-interlace algorithm is a weave de-interlace algorithm. 
     A method for adaptive de-interlace of a frame according an embodiment of the invention will be described hereinafter with reference to  FIGS. 3 and 4 . To be noted, this method could be applied cooperating with the above-mentioned apparatus  2 , so the following descriptions will include the same modules and corresponding reference numbers as previously illustrated. 
     The method for adaptive de-interlace of a frame according to an embodiment of the invention includes the following steps S 01  to S 12 . In the step S 01 , a frame is read in from the video image buffer module  11 . The frame can be a decoded MPEG decompressed image or comprise predicted frame (P frame) information including motion vectors. 
     After the line-segment difference-value calculating module receives the pixel data of the macro blocks in the reference frame and the present frame, the step S 02  is to choose a line-segment width. Accordingly, in the scope of the micro block, each scan line can be divided into several line segments of the same width. Then, the difference value of the line segment can be obtained according to the comparison between characteristic values of two line segments, which are located at the same position of different frames. 
     The characteristic value (δ i,n,m ) of the line segment can be determined according to the sum of the absolute value of the difference between the output values of pixels at the relative positions of adjacent two scan lines in two fields, and can be calculated according to the following equation (1): 
                     δ     i   ,   n   ,   m       =       Dif   ⁡     (     i   ⁢     :     ⁢   n   ⁢     :     ⁢   m     )       =       ∑     k   =   1     j     ⁢                    Odd   ⁡     (   n   )       ⁢   _LineSeg   ⁢     (   m   )     ⁢   _Pix   ⁢     (   k   )       -               Even   ⁢     (     n   +   1     )     ⁢   _LineSeg   ⁢     (   m   )     ⁢   _Pix   ⁢     (   k   )                              (   1   )               
Wherein, i shows the present frame, n shows the number of the scan line in the frame, m shows the number of the line segment in the scan line, j shows the (adjustable) width of the line segment (unit: pixel), and k shows the position of the pixel in the line segment.
 
     After computing the characteristic value (δ i,n,m ) of the line segment in the present frame and the characteristic value (δ i-1,n,m ) of the line segment in the reference frame, the absolute value of the difference there between is then calculated to obtain the difference value of the line segment, which can be calculated according to the following equation (2):
 
Δ i,n,m =|(δ i,n,m )−(δ i-1,n,m )|  (2)
 
     The  FIG. 4  shows output values of pixels in different fields of the present frame and reference frame. Assuming the width of each line segment includes 4 pixels, the four output values of the pixels of a first line segment in the odd field of the present frame should be (10, 64, 70, 83). The four output values of the pixels of a first line segment in the even field of the present frame should be (13, 40, 65, 70). According to the equation (1), the characteristic value of the first line segment in the present frame is 45 as shown in the following equation (3). In addition, the four output values of the pixels of a first line segment in the odd field of the reference frame should be (11, 10, 64, 70), and the four output values of the pixels of a first line segment in the even field of the reference frame should be (10, 13, 40, 65). According to the equation (1), the characteristic value of the first line segment in the reference frame is 33 as shown in the following equation (4). After obtaining the characteristic values, the difference value of the line segment can be computed according to the equation (2) and is 12 as shown in the following equation (5).
 
δ i,n,m =Σ(|10−13|+|64−40|+|70−65|+|83−70|)=45  (3)
 
δ i-1,n,m =Σ(|11−10|+|10−13|+|64−40|+|70−65|)=33  (4)
 
Δ i,n,m =|(δ i,n,m )−(δ i-1,n,m )|=|45−33|=12  (5)
 
     After the step S 02  for computing the difference value of the line segment, the step S 03  is then to use the motion-vector calculating module to retrieve the motion vector of the macro block, in which the processed line segment is located. Hence the motion vector presents the displacement between different fields of a certain block in the same time, it can be shown as a specific coordinate values. If the motion vectors of all blocks are read in one by one, the desired frame can be built. To be noted, the dimension of a block is usually composed of 8×8 pixels or 16×16 pixels, and, of course, it can be composed of other compositions of pixels. This can be adjusted according to the performance of the apparatus for performing the de-interlace process and the capacity of memory. 
     After retrieving the motion vector, the motion-vector calculating module computes the sum of a length of the X component of the motion vector and a length of the Y component of the motion vector, which is a right-angle length of the motion vector. For example, assuming the retrieved motion vector is (1,−32), that means the block has a positive displacement of 1 pixel in X-coordinate and a negative displacement of 32 pixels in Y-coordinate. Thus, the right-angle length of the motion vector is 33 as shown in the following equation (6):
 
|1|+|−32|=33  (6)
 
     In the step S 04 , the intra-block calculating module computes the amount of macro blocks marked as intra blocks within an entire frame. If one macro block is marked as an intra block, this marked macro block has no displacement. Thus, the image of this marked macro block (intra block) is not generated according to the motion vector and the reference block, but should be constructed according to the pixel information of the macro block directly. In other words, the more macro blocks are marked as the intra blocks in the frame, the less relationship is between the frame and the reference frame. 
     In the step S 05 , the trigger-value producing module then determines whether the amount of the intra blocks (calculated in the step S 04 ) is larger than a first threshold or not. If so, the step S 06  is consequently performed to generate a trigger value according to the difference value of the line segment. If not, the step S 07  is consequently performed to generate the trigger value according to the difference value of the line segment and the motion vector. 
     In step S 08 , the image processing module determines whether the trigger value (produced in the step S 06  or S 07 ) is larger than a second threshold or not. If so, the step S 09  is then performed to de-interlace the line segment of the present frame according to a first de-interlace algorithm, which is a bob de-interlace algorithm. If not, the step S 10  is consequently performed to de-interlace the line segment of the present frame according to a second de-interlace algorithm, which is a weave de-interlace algorithm. 
     After that, the step S 11  is to determine whether the entire frame has been processed or not. If any line segment and image are not processed yet, then the steps S 02  to S 10  are repeated again. Otherwise, if all line segment and image are already processed, the step S 12  is then performed. 
     In the step S 12 , the de-interlace process is complete and ended, and the de-interlaced image can then be outputted to the image output module to construct an output image. Various kinds of display apparatuses can then display the output image. 
     To sum up, the apparatus for adaptive de-interlace of the frame has a trigger-value producing module and an image processing module, which can select the proper de-interlace algorithm, such as the bob or weave de-interlace algorithm, according to the difference value of the line segment, the motion vector and the amount of intra blocks. Therefore, the frame obtained according to the apparatus and method of the invention may have better display effects. 
     Although the invention has been described with reference to specific embodiments, this description is not meant to be construed in a limiting sense. Various modifications of the disclosed embodiments, as well as alternative embodiments, will be apparent to persons skilled in the art. It is, therefore, contemplated that the appended claims will cover all modifications that fall within the true scope of the invention.