METHOD AND APPARATUS FOR PADDING INTERLACED MACROBLOCK TEXTURE INFORMATION

Abstract: A method for padding interlaced texture information on a previous frame to perform a motion estimation detects whether said each texture macroblock of the previous frame is a boundary block or not. After the undefined texture pixels of the boundary block are extrapolated from the defined texture pixels thereof by using a horizontal repetitive padding, a transparent row padding and a transparent field padding sequentially, an undefined adjacent block is expanded based on the extrapolated boundary block.

Description: - 1 - METHOD AND APPARATUS FOR PADDING INTERLACED MACROBLOCK TEXTURE INFORMATION TECHNICAL FIELD OF THE INVENTION The present invention relates to a method and apparatus for padding interlaced macroblock texture information; and, more particularly, to a method and apparatus capable of padding texture information on a previous frame on a macroblock-by-macroblock basis in order to perform a motion estimation in the interlaced coding technique . BACKGROUND ART In digitally televised systems such as videotelephone, teleconference and high definition television systems, a large amount of digital data is needed to define each video frame signal since a video line signal in the video frame signal comprises a sequence of digital data referred to as pixel values. Since, however, the available frequency bandwidth of a conventional transmission channel is limited, in order to transmit the large amount of digital data therethrough, it is necessary to compress or reduce the volume of data through the use of various data compression techniques, especially in the case of such low bit-rate video signal encoders as video-telephone and teleconference systems . One of such techniques for encoding video signals for a low bit-rate encoding system is the so-called object- oriented analysis-synthesis coding technique, wherein an input video image is divided into objects, and three sets of parameters for defining the motion, contour and pixel data of each object are processed through different encoding channels. One example of object-oriented coding scheme is the - 2 - so-called MPEG (Moving Picture Express Group) phase 4 (MPEG- 4) , which is designed to provide an audio-visual coding standard for allowing content-based interactivity, improved coding efficiency and/or universal accessibility in such applications as low-bit rate communication, interactive multimedia (e.g. , games, interactive TV, etc.) and area surveillance (see, for instance, MPEG-4 Video Verification Model Version 7.0, International Organisation for Standardisation, ISO/IEC JTC1/SC29/ G11 MPEG97/N1642 , April 1997) . According to the MPEG-4, an input video image is divided into a plurality of video object planes (VOP' s) , which correspond to entities in a bitstream that a user can access and manipulate. A VOP can be referred to as an object and represented by a bounding rectangle whose width and height may be the smallest multiples of 16 pixels (a macroblock size) surrounding each object so that the encoder may process the input video image on a VOP-by-VOP basis, i.e., an object-by-object basis. Each VOP in the MPEG-4 is described by three sets of parameters defining shape information, motion information and texture information, i.e., color information thereof, wherein the shape information represented by, e.g., a binary mask corresponds to the contour of said each VOP, i.e., the boundary of an object; the motion information represents spatial correlation between a current frame and a corresponding previous frame; and the texture information consists of luminance and chrominance data. Meanwhile, since the texture information for two input video images sequentially received has naturally time redundancy, it is desirable to get rid of the time redundancy therein by using a motion estimation and compensation technique in order to efficiently encode the texture information in the MPEG-4. A progressive image padding technique, i.e., a conventional repetitive padding technique, is applied on a frame-by-frame basis to the VOP prior to the motion estimation and compensation. In principle, the repetitive padding technique fills the transparent area outside the object of the VOP by repeating boundary pixels of the object, wherein the boundary pixels are located on the contour of the object. It is preferable to perform the repetitive padding technique with respect to the reconstructed shape information, which is generated by decoding the encoded shape information in the reverse order along the encoding scheme. Each boundary pixel is repeated towards the exterior of the object. If transparent pixels in the transparent area outside the object can be filled by the repetition of more than one boundary pixel, taking the average of the repeated values as a padded value is preferred. This progressive padding process is generally divided into 3 steps, i.e., a horizontal repetitive padding; a vertical repetitive padding and an exterior padding (see, MPEG-4 Video Verification Model Version 7.0) . While the progressive padding technique is used to perform the motion estimation and compensation based on each frame generated for every 1/30 seconds as described above, an interlaced padding technique is required to perform the motion estimation and compensation on a field- by-field basis, wherein two fields, i.e., a top and a bottom fields are combined to be reconstructed as a frame, i.e., an interlaced texture image. The interlaced encoding technique to perform the motion estimation and compensation on a field-by-field basis may be suitably used to encode precisely the interlaced texture information either for the fast movement such as a sport, horse racing and car racing or with a rarely field correlation, i.e., with a rarely temporal correlation between the top and the bottom fields. However, if the padding for each field block is performed independently without considering its field correlation based on the interlaced texture information as described in the progressive padding technique, there may exist some pixel which will not be modified based on only the object pixels of the object, but will be modified by padding when taking account of their field correlation, needing two consecutive fields, i.e., the top and the bottom fields, included in the interlaced texture information. DISCLOSURE OF THE INVENTION It is, therefore, an object of the invention to provide a method and apparatus for padding the interlaced texture information with its field correlation on a texture macroblock-by-texture macroblock basis to perform a motion estimation and compensation. In accordance with the invention, there is provided a method for padding an interlaced texture information of a previous frame on a texture macroblock-by-texture macroblock basis to perform a motion estimation, wherein each texture macroblock of the previous frame has M x N texture pixels, M and N being positive even integers, the method comprising the steps of: (a) detecting whether said each texture macroblock of the previous frame is a boundary block or not, wherein the boundary block has one or more defined texture pixels and one or more undefined texture pixels; (b) extrapolating the undefined texture pixels of the boundary block from the defined texture pixels thereof to generate an extrapolated boundary block and filling, if either of the two field blocks has no defined texture pixel, a undefined field block based on another field block of the boundary block, wherein the undefined field block represents a field block having no defined texture pixel ; and (c) expanding an undefined adjacent block based on the extrapolated boundary block, wherein the undefined adjacent block is adjacent to the extrapolated boundary block and - 5 - has undefined texture pixels. BRIEF DESCRIPTION OF THE DRAWINGS The above and other objects and features of the present invention will become apparent from the following description of preferred embodiments given in conjunction with the accompanying drawings, in which: Fig. 1 shows a schematic block diagram of a conventional apparatus for encoding interlaced texture information of an object in a video signal; Fig. 2 presents a flow chart for illustrating the operation of the previous frame processing circuit shown in Fig. 1 in accordance with the present invention; Figs. 3A and 3B describe an exemplary boundary macroblock and a top and a bottom boundary field blocks for the boundary macroblock, respectively; Figs. 3C to 3E represent a padding procedure of the top and the bottom boundary field blocks sequentially in accordance with the present invention; and Fig. 4 depicts a plurality of undefined adjacent blocks for an exemplary VOP and the padding directions for each undefined adjacent block. MODE OF CARRYING OUT THE INVENTION Referring to Fig. 1, there is shown a schematic block diagram of an apparatus for encoding interlaced texture information on a current frame, wherein the interlaced texture information may be referred as a current VOP in MPEG-4. The interlaced texture information is partitioned into a plurality of texture macroblocks to be applied to a frame division circuit 102, wherein each texture macroblock has M x N texture pixels, M and N being positive even integers typically ranging between 4 and 16. The frame division circuit 102 divides each texture macroblock into a top and a bottom field blocks, wherein the top field block having M/2 x N texture pixels contains every odd row of said each texture macroblock and the bottom field block having the other M/2 x N texture pixels contains every even row of said each texture macroblock. The top and the bottom field blocks for said each texture macroblock are sequentially provided as a current top and a current bottom field blocks, respectively, to a subtractor 104 and a motion estimator 116. Essentially at the same time, previous interlaced texture information is read out from a previous frame processing circuit 114 and provided to the motion estimator 116 and a motion compensator 118, wherein the previous interlaced texture information of a previous frame has previous texture pixels and precedes the interlaced texture information of the current frame by one frame period. The previous frame is also partitioned into a plurality of search regions and each search region is divided into a top and a bottom search regions, wherein the top search region having P (M/2 x N) previous texture pixels contains every odd row of said each search region and the bottom search region having the other P (M/2 x N) previous texture pixels contains every even row of said each search region, P being a positive integer, typically, 2. The motion estimator 116 determines motion vectors for the current VOP on a field-by-field basis. First, the motion estimator 116 detects a previous texture macroblock in the previous frame for each current top or bottom field block, wherein the previous texture macroblock is located at a same position as said each current top or bottom field block. Then the previous texture macroblock is divided into a previous top and a previous bottom field blocks; and errors between said each current top or bottom field block and two previous top and bottom field blocks are - 7 - calculated. Since the top and the bottom search regions have a plurality of candidate top and candidate bottom field blocks including the previous top and the previous bottom field blocks, respectively, said each current top or bottom field block is displaced on a pixel -by-pixel basis within the top and the bottom search regions in accordance with each candidate top and each candidate bottom field blocks, respectively; and, at each displacement, two errors between said each current top or bottom field block and said each candidate top and said each candidate bottom field blocks are compared with each other. As described above, the motion estimator 116 performs motion estimation of said each current top or bottom field block with respect to its previous top and bottom field blocks and selects, as an optimum candidate field block or a most similar field block, a candidate top or bottom field block which yields a minimum error. Outputs from the motion estimator 116 are a motion vector and a field indication flag being provided to the motion compensator 118 and a variable length coding (VLC) circuit 108, wherein the motion vector denotes a displacement between said each current top or bottom field block and the optimum candidate field block and the field indication flag represents whether the optimum candidate field block belongs to the top search region or not. The motion compensator 118 performs a motion compensation by making the optimum candidate field block shift by the motion vector toward said each current top or bottom field block depending on the field indication flag, to thereby provide a motion-compensated optimal candidate field block as a predicted top or bottom field block for said each current top or bottom field block to the subtractor 104 and an adder 112. The subtractor 104 obtains an error field block by subtracting the predicted top or bottom field block from said each current top or bottom field block on a - 8 - corresponding pixel -by-pixel basis, to provide the error field block to a texture encoding circuit 106. In the texture encoding circuit 106, the error field block may be subjected to an orthogonal transform for removing spatial redundancy thereof and then transform coefficients are quantized, to thereby provide the quantized transform coefficients to the VLC circuit 108 and a texture reconstruction circuit 110. Since a conventional orthogonal transform such as a discrete cosine transform (DCT) is performed on a DCT block-by-DCT block basis, each DCT block having typically 8 x 8, i.e., M/2 x N/2, texture pixels, the error field block having 8 x 16 error texture pixels may be preferably divided into two DCT blocks in the texture encoding circuit 106. If necessary, before performing the DCT, each error field block may be DCT-padded based on the shape information or the reconstructed shape information of each VOP in order to reduce higher frequency components which may be generated in the DCT processing. For example, a predetermined value, e.g., '0', may be assigned to the error texture pixels at the exterior of the contour in each VOP. The VLC circuit 108 performs a statistical encoding on the quantized transform coefficients fed from the texture encoding circuit 106 and the field indication flag and the motion vector, for said each current top or bottom field block, fed from the motion estimator 116 by using, e.g., a conventional variable length coding technique, to thereby provide statistically encoded data to a transmitter (not shown) for the transmission thereof. In the meantime, the texture reconstruction circuit 110 performs an inverse quantization and inverse transform on the quantized transform coefficients to provide a reconstructed error field block, which corresponds to the error field block, to the adder 112. The adder 112 combines the reconstructed error field block from the texture reconstruction circuit 110 and the predicted top or bottom field block from the motion compensator 118 on a pixel -by-pixel basis, to thereby provide a combined result as a reconstructed top or bottom field block for said each current top or bottom field block to the previous frame processing circuit 114. The previous frame processing circuit 114 sequentially modifies the reconstructed top or bottom field block based on the shape information or the reconstructed shape information for the current VOP, to thereby provide all the modified top and bottom field blocks as another previous interlaced texture information for a subsequent current VOP to the motion estimator 116 and the motion compensator 118. Referring to Fig. 2, there is a flow chart illustrating an important aspect of the invention related to the operation of the previous frame processing circuit 114 shown in Fig. 1, i.e., explaining a padding procedure for texture information on a previous frame on a macroblock-by-macroblock basis. At step S201, the reconstructed top or bottom field block for the current top or bottom field block is sequentially received and, at step S203, exterior pixels in the reconstructed top or bottom field block are removed based on the shape information of the current VOP, wherein the exterior pixels are located at the outside of the contour for the current VOP. The reconstructed shape information may be used on behalf of the shape information, wherein the shape information is encoded in accordance with an encoding scheme to generate the encoded shape information and the encoded shape information is reconstructed as the reconstructed shape information by being decoded in the reverse order along the encoding scheme. While the exterior pixels are removed to be set as transparent pixels, i.e., undefined texture pixels, the remaining interior pixels in the reconstructed top or bottom field block are provided as defined texture pixels on a field block-by-field block basis. - 10 - At step S204, each reconstructed block is determined whether or not being located on the contour of the current VOP, wherein said each reconstructed block has the reconstructed top field block and the corresponding reconstructed bottom field block. In other words, said each reconstructed block is determined as an interior block, a boundary block, or an exterior block, wherein the interior block has only the defined texture pixels, the exterior block has only the undefined texture pixels and the boundary block has both the defined texture pixels and the undefined texture pixels. If the reconstructed block is determined as an interior block, at step S210, no padding is performed and the process goes to step S211. If the reconstructed block is a boundary block as shown in Fig. 3A, at steps S221 to S224, the undefined texture pixels of the boundary block are extrapolated from the defined texture pixels thereof to generate an extrapolated boundary block. First, at step S221, each boundary block is divided into a top and a bottom boundary field blocks as shown in Fig. 3B, each boundary field block having M/2 x N texture pixels. At step S222, the undefined texture pixels are padded on a row-by-row basis by using a horizontal repetitive padding technique as shown in Fig. 3C to generate a padded row for each row. In other words, the undefined texture pixels are filled by repeating boundary pixels toward the arrows as shown in Fig. 3C, wherein each boundary pixel among the defined texture pixels is located on the contour, i.e., the border, of the current VOP. If any undefined texture pixel may be filled by the repetition of more than one boundary pixel, the average value of the repeated values is used. If there exist one or more transparent rows on each top or bottom field block, at step S223, each transparent row is padded by using one or more nearest defined or padded rows among the corresponding top or bottom field block, wherein the defined row has all the defined texture - 11 - pixels therein. For example, as shown in Fig. 3D, each undefined texture pixel of the transparent row shown in the bottom field block is replaced with an average of two defined or padded texture pixels based on a nearest upward and a nearest downward padded rows, i.e., the 2nd and the 4th padded rows in the bottom field block. If the transparent row is located at the highest or the lowest row, i.e., corresponds to the 1st row 1 or the 8th row, said each texture pixel is replaced with a defined or padded texture pixel of the nearest padded or defined row. If there exists only one transparent boundary field block of the two boundary field blocks as shown in Fig. 3B, at step S224, the transparent boundary field block is padded based on another boundary field block of the boundary block, wherein the transparent boundary field block, i.e., an undefined field block having no defined texture pixel therein. In other words, if a top field block is transparent, all the undefined texture pixels of the transparent boundary field block, i.e., the top field block, may be replaced with a constant value P as shown in Fig. 3E, e.g., a mean value of the defined texture pixels within the bottom field block. The mean value of both the defined and the padded pixels within the bottom field block can also be used to fill the transparent field block. If necessary, a middle value 2 L"1 of all the possible values for any texture pixel may be used based on the channel characteristics, wherein L is the number of bits assigned for each pixel. For example, if L is equal to 8, there are 256 texture pixels 0 to 255 and the middle value is determined to be 128. To cope with a VOP of fast motion, the padding must be further extended to blocks which stretch outside the VOP but are immediately next to any boundary block. If the reconstructed block is determined as the exterior block at step S204, at step S207, it is determined whether the exterior block is adjacent to any extrapolated boundary - 12 - block. If the exterior block is adjacent to no extrapolated boundary block, at step 209, no padding is performed and the process goes to step S211. If the exterior block is adjacent to one or more extrapolated boundary blocks so that the exterior block corresponds to an undefined adjacent block, at step S208, the undefined texture pixels in the undefined adjacent block are padded based on one of the extrapolated boundary blocks to generate an extrapolated adjacent block for the undefined adjacent block, wherein each extrapolated boundary block has a part of the contour A or B of the current VOP and each undefined adjacent block is shown as a shaded region as shown in Fig. 4. If a plurality of extrapolated boundary blocks surround the undefined adjacent block, an extrapolated boundary block is selected in priority sequence of the leftward, upward, rightward and downward based on the undefined adjacent block and then a vertical or a horizontal border of the selected extrapolated boundary block is repeated rightwards, downwards, leftwards or upwards, wherein the vertical or the horizontal border adjoins the undefined adjacent block. As shown in Fig. 4, the undefined adjacent blocks JB4 , JB20, JB9 and JB2 select their respective leftward, upward, rightward and downward extrapolated boundary blocks a2 , alO, a3 and al, respectively; and a rightmost vertical border of the extrapolated boundary block a2 is expanded rightward to fill the undefined adjacent block JB4 , a lowermost horizontal border of the extrapolated boundary block alO is expanded downward to fill the undefined adjacent block JB20 and so on. Also, undefined diagonal blocks such as Ml and M2 may be padded with a constant value, e.g., '128' to be the extrapolated adjacent block for the undefined diagonal block, wherein each undefined diagonal block is diagonally adjacent to the extrapolated boundary block and has all undefined texture pixels. As described above, at step S211, the modified top and - 13 - bottom field blocks, i.e, the extrapolated boundary and the extrapolated adjacent blocks as well as the interior blocks are provided as another previous interlaced texture information for the subsequent current VOP. While the present invention has been described with respect to the particular embodiments, it will be apparent to those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention as defined in the following claims.

Claims: - 14 - What is claimed is: 1. A method for padding interlaced texture information on a previous frame on a texture macroblock-by-texture macroblock basis to perform a motion estimation, wherein each texture macroblock of the previous frame has M x N texture pixels, M and N being positive even integers, respectively, the method comprising the steps of: (a) detecting whether said each texture macroblock of the previous frame is a boundary block or not, wherein the boundary block has at least one defined texture pixels and at least one undefined texture pixels; (b) dividing the boundary block into two field blocks, each field block having M/2 x N texture pixels; extrapolating the undefined texture pixels of the boundary block from the defined texture pixels thereof to generate an extrapolated boundary block; and filling, if either one of the two field blocks has no defined texture pixel, an undefined field block based on the other field block of the boundary block, wherein the undefined field block represents a field block having no defined texture pixel; and (c) expanding an undefined adjacent block based on the extrapolated boundary block, wherein the undefined adjacent block is adjacent to the extrapolated boundary block and has only undefined texture pixels. 2. The method as recited in claim 1, wherein the step (b) further includes the step of (bl) field-padding the undefined texture pixels in a field block from the defined texture pixels therein, to thereby generate a padded field block for the field block. 3. The method as recited in claim 2, wherein the step (bl) has the steps of: (bll) row-padding the undefined texture pixels on a - 15 - row-by-row basis to generate a padded row; and (bl2) padding, if there exists a transparent row, the transparent row from at least one nearest padded row, wherein the transparent row represents a row having no defined texture pixel . 4. The method as recited in claim 3, wherein said step (c) includes the steps of: (cl) selecting, if said undefined adjacent block is surrounded by a plurality of extrapolated boundary blocks, an extrapolated boundary block in priority sequence of the leftward, upward, rightward and downward based on said undefined adjacent block; and (c2) replicating a vertical or a horizontal border of the selected extrapolated boundary block rightwards, downwards, leftwards or upwards, to thereby expand the undefined adjacent block, wherein the vertical or the horizontal border adjoins said undefined adjacent block. 5. The method as recited in claim 3, wherein all the undefined texture pixels of said undefined field block are replaced with a constant value. 6. The method as recited in claim 5, wherein all the undefined texture pixels of said undefined field block are replaced with a mean value of both the defined texture pixels and padded texture pixels within the padded field block for the other field block, wherein the padded texture pixels are field-padded through the step (bl) . 7. The method as recited in claim 5, wherein all the undefined texture pixels of said undefined field block are replaced with a mean value of the defined texture pixels within the padded field block for the other field block. 8. The method as recited in claim 5, wherein the constant - 16 - value is 2 L"1 , wherein L is the number of bits assigned for each pixel . 9. The method as recited in claim 8, wherein L is 8. 10. An apparatus for padding interlaced texture information on a previous frame on a texture macroblock-by- texture macroblock basis to perform a motion estimation, wherein each texture macroblock of the previous frame has M x N texture pixels, M and N being positive even integers, respectively, the apparatus comprising: a boundary block detector for detecting whether said each texture macroblock of the previous frame is a boundary block or not, wherein the boundary block has at least one defined texture pixels and at least one undefined texture pixels; a field divider for dividing the boundary block into two field blocks, each field block having M/2 x N texture pixels ; a transparent field padding circuit for filling an undefined field block based on the other field block of the boundary block, wherein the undefined field block represents a field block having no defined texture pixel; an adjacent block padding circuit for expanding an undefined adjacent block based on the extrapolated boundary block, wherein the undefined adjacent block is adjacent to the extrapolated boundary block and has only undefined texture pixels. 11. The apparatus as recited in claim 10, wherein the apparatus further comprises a field-padding circuit for field-padding the undefined texture pixels in a field block from the defined texture pixels therein, to thereby generate a padded field block for the field block. 12. The apparatus as recited in claim 11, wherein the - 17 - field-padding circuit includes: a horizontal padding circuit for padding the undefined texture pixels on a row-by-row basis to generate a padded row; and a transparent row padding circuit for padding the transparent row from at least one nearest padded row, wherein the transparent row represents a row having no defined texture pixel. 13. The apparatus as recited in claim 12, wherein said adjacent block padding circuit includes: a selector for selecting an extrapolated boundary block in priority sequence of the leftward, upward, rightward and downward based on said undefined adjacent block; and means for replicating a vertical or a horizontal border of the selected extrapolated boundary block rightwards, downwards, leftwards or upwards, to thereby expand the undefined adjacent block, wherein the vertical or the horizontal border adjoins said undefined adjacent block. 14. The apparatus as recited in claim 12, wherein all the undefined texture pixels of said undefined field block are replaced with a constant value. 15. The apparatus as recited in claim 14, wherein all the undefined texture pixels of said undefined field block are replaced with a mean value of both the defined texture pixels and padded texture pixels within the padded field block for the other field block, wherein the padded texture pixels are field-padded through the field-padding circuit. 16. The apparatus as recited in claim 14, wherein all the undefined texture pixels of said undefined field block are replaced with a mean value of the defined texture pixels - 18 - within the padded field block for the other field block. 17. The apparatus as recited in claim 14, wherein the constant value is 2 L"1 , L being the number of bits assigned for each pixel . 18. The apparatus as recited in claim 17, wherein L is 8.

Inventors: LEE SANG HOON, LEE, SANG, HOON
Applicants: DAEWOO ELECTRONICS CO LTD, DAEWOO ELECTRONICS CO., LTD.
Application year: 1998
Main classification: H04N7
IPC codes: H04N7