Title of Invention | AN APPARATUS FOR ADAPTIVELY CODING A CONTOUR OF AN OBJECT |
---|---|
Abstract | An apparatus for adaptively coding a contour of an object in a current frame based on a predicted current contour which is selected among previously reconstructed contours within a previous frame. Once the predicted current contour which is most similar to the current contour is detected (100), the apparatus matches (420) the predicted current contour with the current contour and widens (430) the predicted current contour to thereby detect non-matching sections and matching sections (333) between the current contour and the predicted current contour Subsequently, the portions of the current contour which conespond to the non matching sections are encoded through polygonal approximation technique. The result of the approximation technique and information for the predicted current contour are multiplexed and then transmitted as encoded contour data referring to Figs 1, 2, 3 and 4 |
Full Text | Field of the Invention The present invention relates to a method and an apparatus for adaptively coding a contour of an object expressed in a video signal, and, more particularly, to a method and apparatus capable of reducing the amount of transmission data through the use of a contour motion estimation technique Description of the Prior Art In digital television systems such as video-telephone, 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 the digital data therethrough, it is inevitable 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 system One of such techniques for encoding video signals for a -1A- low bit-rate encoding system is the so-called object-oriented analysis-synthesis coding technique(see Michael Hotter, "Object-Oriented Analysis-Synthesis Coding Based on Moving Two-Dimensional Objects " , Signal Processing. Image Communication 2, 409-42 8(December, 1990) ) According to the object-oriented analysis-synthesis coding technique, an input video image is divided into objects, and three sees of parameters for defining the motion, contour and pixel data of each object are processed through different encoding channels. In processing a contour of an object, contour information is important for the analysis and synthesis of the object shape. A classical coding method for representing the contour information is a chain coding method The chain coding method, however, requires a substantial amount of bits for the representation thereof, although there is no loss in the contour information To overcome the drawback, therefore, there have been proposed several methods to encode the contour information such as a polygonal approximation and a B-spline approximation. One of the disadvantages in tne polygonal approximation is the roughness of the representation of the contour The B-spline approximation is, on the other hand, capable of representing the contour more precisely, however, it requires a high-order polynomial to reduce the approximation error The B-spline approximation technique, - 2 - therefore, may result in an increased overall computational complexity of the video encoder. One of the techniques introduced to ameliorate such problems associated with the rough representation of the contour and the increased computational complexity in the above approximation approaches is a contour approximation technique employing a discrete sine transform(DST) Even though it is possible to remedy the rough representation and computational complexity, and somewhat reduce the volume of transmission data through the use of the DST based contour approximation, it still remains desirable to further reduce the volume of transmission data in order to successfully implement a low-bit rate codec system having, eg, a 64 kb/s transmission channel bandwidth. Summary of the Invention It is, therefore, a primary object of the invention to provide an improved contour encoding method and apparatus which mter-code contour information to thereby further reduce the volume of transmission data More particularly, the present invention provides a method and apparatus for contour coding employing a contour motion estimation technique based on a difference between a current and previous contours In accordance with the present invention, there is provided a method for encoding a current contour based on one - 3 - or more previously reconstructed contours of video image signals, comprising the steps of (a) choosing one of the previously reconstructed contours as a predicted contour for the current contour; (b) overlapping the predicted contour with the current contour, (c) finding matching segments between the predicted and the current contours and setting two end points of each matching segment as major vertices, (d) widening the overlapped predicted contour and determining matching sections on the current contour, wherein each matching section represents a portion of the current contour overlapping with the widened contour between two major vertices; (e) setting the two major vertices at the ends of each matching section as primary vertices, (f) polygonal-approximating each non-matching section on the current contour, thereby determining secondary vertices on non-matching sections, and (g) encoding the current contour by representing each matching section by a portion of the predicted contour between two primary vertices of each matching section and the non-matching sections by the secondary vertices to thereby provide encoded current contour data Brief Description of the Drawings The above and other objects and features of the present invention will become apparent from the following description - 4 - of preferred embodiments gxven in conjunction with the accompanying drawings, in which Fig. 1 represents a schematic block diagram of an apparatus for encoding a contour in accordance with the present invention, Fig 2 provides a detailed block diagram of a motion estimation unit shown in Fig. 1, Fig. 3 shows a detailed block diagram of an optimum contour detection block shown in Fig. 2; Fig. 4 is a detailed block diagram of an inter-coding unit shown in Fig. 1, Figs. 5A and 5B illustrate procedures of matching contours carried out by the preferred embodiments of the present invention; and Fig 6 depicts a widening process executed to the matching contour by the preferred embodiment of the present invention. Detailed Description of the Preferred Embodiments Referring to Fig 1, there is shown a schematic block diagram of an inventive apparatus 10 for encoding contours in a frame signal. A contour image signal of a current frame having therein one or more objects is inputted to a contour detection unit 100 and a motion estimation unit 300 via a line 150 in a form of a segmentation mask, wherein each pixel in - 5 - the segmentation mask has a label identifying a region it belongs to For instance, a pixel in a background has a label "0" and each pixel in an ob]ect is labeled by one of non-zero values. The contour detection unit 100 detects contours from the input segmentation mask and assigns index data to each of the contours included in the contour image signal according to a processing order thereof; and sequentially outputs contour information for each of the contours in the current frame, wherein the contour information includes contour data representing positions of contour pixels on a contour and index data thereof The contour information on a line L10 from the contour detection unit 100 is provided as current contour information to an inter-coding unit 200, and a motion estimation unit 300 The motion estimation unit 300 detects a most similar contour to the current contour on the line L10 based on the current contour image signal on the line L50, the current contour information on the line L10 and a reconstructed previous contour image signal coupled thereto from a frame memory 700 via a line L30 The previous contour image signal is also in the form of a segmentation mask, each pixel therein having a label identifying a region it belongs to Outputs of the motion estimation unit 300 on lines L20 and L40 are index data of the most similar contour and motion information representing a displacement between the current contour and - 6 - the most similar contour The motion estimation unit 300 will be described in detail with reference to Figs. 2 and 3. Referring to Fig. 2, the motion estimation unit 300 includes a global motion vector detection block 310, a predicted contour image generation block 320, and an optimum contour detection block 330 The global motion vector detection block 310, using the previous contour image signal on the line L30 and the current contour image signal on the line L50, detects a global motion vector(GMV) yielding a largest number of object pixels overlapping with each other Detection of the GMV is carried out within a predetermined search ranges of, eg., +/- 16 pixels The GMV detected at the global motion vector detection block 310 is fed to the predicted contour image generation block 320 and provided on lines L22 and L42 leading to the motion compensation unit 400 and a multiplexor(MUX) 800, respectively At the predicted contour image generation block 320, the previous contour image coupled thereto via the line L30 is shifted by the GMV to produce a predicted contour image. Further, as in the contour detection unit 100 shown in Fig 1, the predicted contour image generation block 320 detects contours in the predicted contour image. Contour information for each of the predicted contours detected at the predicted contour image generation block 320 is fed on a line L60 At the optimum contour detection block 330, based on the - 7 - predicted contour information on the Line L60 and current contour information on the line L10, an optimum contour, a predicted contour most similar to the current contour is detected among predicted contours residing within a preset search range, e q , +/- 8 pixels of the current contour, and local motion vector(LMV) representing a displacement between the current contour and the optimum contour and the index data of the optimum contour are outputted on the lines L20 and L40 In a preferred embodiment of the invention, the index data of the predicted contour has a same value as a label of the object pixels corresponding to the predicted contour. Referring to Fig 3, there is shown in detail the optimum contour detection block: 330, which includes a candidate contour determination sector 331, a matching sector 333, and an optimum contour determination sector 335 The candidate contour determination sector 331 detects predicted contours residing within the preset search range from the current contour and calculates the lengths of the current and the detected predicted contours based on the current contour information and the predicted contour information on the lines L10 and L60, respectively Thereafter, the lengths of the current contour and each of those predicted contours within the preset search range are compared If a difference between the lengths of the current and a predicted contour is smaller than M times the shorter one of the two contours, the predicted contour is determined - 8 - as a candidate contour, M being a predetermined number. After determining one or more candidate contours for the current contour, indication signals identifying those candidate contours, e g , index data of the candidate contours, are fed to the matching sector 333 The length of a contour can be defined by, for example, the number of contour pixels which constitute the contour In another preferred embodiment of the invention, the candidate contours can be determined based on the numbers of object pixels positioned inside the respective contours in lieu of the lengths thereof The matching sector 333 retrieves contour information for each candidate contour from the predicted contour image generation block 320 via the line L60 in response to the indication signals inputted thereto. Subsequently, the current contour and a candidate contour are matched based on the current contour information on the line L10 and the candidate contour information on the line L60 After performing the matching process between the current contour and each candidate contour, the matching sector 333 provides the optimum contour determination sector 335 with matching information for each candidate block. The matching information includes index data, a motion displacement and a matching length for a candidate contour During the matching process for a candidate contour, the candidate contour is displaced by, e g , a one pixel basis within the preset search - 9 - range, and matching segments of the current and the candidate contours at each displacement are determined Thereafter, the total length of the matching segments is computed for each displacement The computed lengths are then compared with one another and the largest one thereof is determined as the matching length for the candidate contour and the displacement which yields the largest. length is set as the motion displacement for the candidate contour Referring to Fig 5A, there are illustrated details of a matching segment determination scheme Fig. 5A depicts a current contour 10 and a candidate contour 20 overlapping with eacn other After overlapping the contours 10 with 20, the intersection points therebetween such as PV1 to PV6, P1 and P2 are detected and lengths of the overlapping segments PV6-PV1, PV2-PV3, P1-P2, and PV4-PV5 are calculated. If the length of an overlapping segment is greater than a threshold value TH1, the overlapping segment is determined as a matching segment In Fig 5A, it is assumed that the overlapping segment between P1 and P2 is not greater than the TH1, the remaining overlapping segments are greater than the TH1. Therefore, the remaining overlapping segments, e g., PV2 to PV3, PV4 to PV5, and PV6 to PV1, are determined as the matching segments In another preferred embodiment of the invention, determination of the matching segment can be carried out based on tne number of contour pixels residing on a given overlapping segment in lieu of the length thereof - 10 - In the above matching procedure, when a contour intersects with an edge of a video frame, a portion of the edge between the intersection points is regarded as a portion of the contour. For instance, as shown in Fig. 5B, if a current contour 50 and a candidate contour 60 intersect with a right edge 40-1 of the video frame 40 at points 50-1, 50-2 and 60-1, 60-2, the portions of the edge 40-1 between the points 50-1 and 50-2 and the points 60-1 and 60-2 are treated as parts of the contours 50 and 60, respectively. At the optimum contour determination sector 335 responsive to the matching information for each candidate contour, the matching lengths of the candidate contours are compared with each other; and a candidate contour corresponding to a matching length of a maximum value is declared as the optimum contour of the current contour. The motion displacement corresponding to the optimum contour is set as the local motion vector(LMV). Outputs from the optimum contour determination sector 335 on the lines L20 and L40 are the LMV and the index data of the optimum contour. Referring back to Fig. 1, the motion compensation unit 400 generates a predicted current contour by retrieving the optimum contour information from the frame memory 700 via the line L30 based on the GMV on the line L22, and the LMV and the index data of the optimum contour on the line L20, wherein the predicted current contour represents the optimum contour shifted by the sum of the GMV and the LMV. The output to the - 11 - inter-coding unit 200 and a contour reconstruction unit 600 provided via a line L55 from the motion compensation unit 400 is the predicted current contour information representing position data of contour pixels of the predicted current contour and index -data thereof. Referring to Fig. 4, there is depicted a detailed block diagram of the inter-coding unit 200 which includes a matching block 420, a widening block 430 and an encoding block 440 The predicted current contour information on the line L55 and the current contour information on the line L10 are fed to the matching block 420. At the matching block 420, the predicted current contour is matched with the current contour. The matching procedure executed at the matching block 420 is similar to the matching procedure of the matching sector 3 33 m Fig. 3 described hereinabove with reference to Figs. 5A and 5B. For instance, if the contours 10 and 2 0 in Fig. 5A are the current contour and the predicted current contour, those points PV1 to PV6, each constituting an end point of a matching segment, are determined as major vertices. The intersecting points PI and P2 are not major vertices since the overlapping segment therebetween is not a matching segment. The matched contour is fed to the widening block 430, wherein matched contour information includes position information of contour pixels on the predicted current and the current contours and the major vertices. The widening block 430, as illustrated in Fig. 6, widens - 12 - the predicted current contour 20 by a predetermined threshold Dmax to create a predicted contour band 20 Then, the widening block 430 matches the predicted contour band 20 with the current contour 10 to find portions of the current contour overlapping with the predicted contour band 20' between pairs of major vertices inclusive It is found, in the example given in Fig 6, that the current contour 10 overlaps with the predicted contour band 20' between the pairs of vertices PV6 and PV3, and PV4 and PV5 Such overlapping parts PV6 to PV3 and PV4 to PV5 of the current contour 10 are set as overlapping sections Thereafter, a length of each overlapping section is compared with a threshold TH2 and an overlapping section longer than the threshold TH2 is determined as a matching section and major vertices at the ends of the matching section arts considered as primary vertices In the exemplary matched contour shown in Fig 6, those pairs of the vertices PV6-PV3 and PV4-PV5 become primary vertices if the lengths therebetween are greater than TH2 In the subsequent encoding process, those matching sections are treated as being matched with the portions of the predicted current contour between each pair of the primary vertices The output from the widening block 430 to the encoding block 440 is matching data including position information of the primary vertices and the contour pixels of the current contour. At the encoding block 440, vertices are determined on -13- each of non-matching sections of the current contour, e.g., portions of the current contour 10 between primary vertices PV6-PV5 and PV4-PV3 through the use of the conventional polygonal approximation technique based on the predetermined threshold Dmax . That is, according to the conventional polygonal approximation, a contour pixel on any contour segment which has a farthest distance to a line segment corresponding thereto is determined as a vertex wnen the farthest distance is greater than the Dmax. Those vertices determined by the polygonal approximation are set: as secondary vertices. The encoding block 440 encodes position data of the primary and the secondary vertices and provides the encoded vertex data to the MUX 800 and an inter-decoding unit 500 At the MUX 800, the encoded vertex data, the GMV, the LMV and the index data of the optimum contour are multiplexed to provide encoded contour data to a transmitter(not shown) for the transmission thereof Meanwhile, at the inter-decoding unit 500, the encoded vertex data is decoded into decoded vertex data representing the decoded primary and secondary vertices and the decoded vertex data is provided to the contour reconstruction block 600 The decoded vertex data from the inter-decoding unit 500 is utilized in reconstructing the current image signal together with the predicted current contour information fed via the line L55 at the contour reconstruction unit 600 That - 14 - is, in order to provide a reconstructed current image signal having reconstructed current contour, portions of the reconstructed current contour which correspond to the non-matching sections of the current contour are reconstructed based" on the decoded vertex data while remaining portions are reconstructed from the predicted current contour. The reconstructed current image signal is stored at the frame memory 700 and is utilized as a reconstructed previous image signal for the next image signal. While the present invention has been described with respect to certain preferred embodiments only, other modifications and variations may be made without departing from the spirit and scope of the present invention as set forth in the following claims. - 15 - WE CLAIM: 1 An apparatus for adaptively coding a contour of an object in a current image frame based on a previous image frame, wherein the respective current and the previous image frames include one or more object, each of the objects having a contour, comprising a contour detection unit (100) for detecting contours from a contour image signal, a motion estimation unit (300) comprising a global motion vector detection block (310), a predicted contour image generation block (320), and an optimum contour detection block (330), wherein the global motion vector detection block (310) detecting a global motion vector (GMV), which yields a largest number of object pixels overlapping with each other, based on a previous contour image signal and a contour image signal, the predicted contour image generation block (320) producing a predicted contour image, and the optimum contour detection block (330) detecting an optimum contour, which is a predicted contour most similar to the current contour, among predicted contours residing within a preset search range an outputting a -16- local motion vcctof (LMV) representing a displacement between the current contour and the optimum contour and index data of the optimum contour, a motion compensation unit (400) for generating a predicted current contour representing the optimum contour shifted by the sum of the GMV and the LMV, an inter-coding unit (200) comprising a matching block (420), a widening block (430) and an encoding block (440), wherein the matching block (420) matching the predicted current contour with the current contour and setting two end points of each matching segment as major vertices, the widening block (430) widening the predicted current contour to create a predicted contour band, matching the predicted contour band with the ! current contour, finding matching sections on the current contour and setting two end points of each matching section as primary vertices, each matching section representing a portion of the current contour overlapping with the predicted contour band between a pair of major vertices, and the encoding block (440) for determining secondary vertices on non-matching sections of the current contour and encoding position data of the primary and the secondary vertices to thereby provide encoded vertex data, -17- a multiplexor (800) for multiplexing the encoded vertex data, the global motion vector, the local motion vector and the index data of the optimum contour, an inter-decoding unit (500) for decoding the encoded vertex data, a contour reconstruction unit (600) for reconstructing the current contour image signal, and a frame memory (700) for storing the reconstructed current contour image signal to be utilized as the previous contour image signal for the next image signal 2 The apparatus as claimed in claim 1, wherein the optimum contour detection block (330) composes a candidate contour determination sector (331) for calculating a length of ,the current contour and lengths of previous contours positioned within s predetermined search range of the current contour and determining candidate contours among the previous contours within the predetermined search range, a ratio between the lengths of the current contour and a candidate contour being within a predetermined range, a matching sector (333) for displacing each candidate contour by different amounts to thereby detect overlapping segments of the displaced -18- contour with the current contour and computing a sum of lengths of overlapping segments which are greater than a threshold TH1, and an optimum contour determination sector (335) for generating as the optimum contour a candidate contour corresponding to a largest sum of the lengths and outputting a displacement yielding the largest sum as the local motion vector -19- 3 The apparatus as claimed in claim 2, wherein each of the matching sections is longer than a preset threshold TH2 4 The apparatus as claimed in claim 3, wherein said secondary vertices are determined through the use of a polygonal approximation technique based on a threshold Dmax An apparatus for adaptively coding a contour of an object in a current frame based on a predicted current contour which is selected among previously reconstructed contours within a previous frame. Once the predicted current contour which is most similar to the current contour is detected (100), the apparatus matches (420) the predicted current contour with the current contour and widens (430) the predicted current contour to thereby detect non-matching sections and matching sections (333) between the current contour and the predicted current contour Subsequently, the portions of the current contour which conespond to the non matching sections are encoded through polygonal approximation technique. The result of the approximation technique and information for the predicted current contour are multiplexed and then transmitted as encoded contour data referring to Figs 1, 2, 3 and 4 |
---|
01090-cal-1997 correspondence.pdf
01090-cal-1997 description (complete).pdf
01090-cal-1997 priority document others.pdf
01090-cal-1997 priority document.pdf
1090-CAL-1997-(27-09-2012)-ASSIGNMENT.pdf
1090-CAL-1997-(27-09-2012)-CORRESPONDENCE.pdf
1090-CAL-1997-(27-09-2012)-FORM-16.pdf
1090-CAL-1997-(27-09-2012)-PA.pdf
1090-cal-1997-granted-abstract.pdf
1090-cal-1997-granted-acceptance publication.pdf
1090-cal-1997-granted-assignment.pdf
1090-cal-1997-granted-claims.pdf
1090-cal-1997-granted-correspondence.pdf
1090-cal-1997-granted-description (complete).pdf
1090-cal-1997-granted-drawings.pdf
1090-cal-1997-granted-examination report.pdf
1090-cal-1997-granted-form 1.pdf
1090-cal-1997-granted-form 2.pdf
1090-cal-1997-granted-form 3.pdf
1090-cal-1997-granted-form 5.pdf
1090-cal-1997-granted-form 6.pdf
1090-cal-1997-granted-letter patent.pdf
1090-cal-1997-granted-priority document.pdf
1090-cal-1997-granted-reply to examination report.pdf
1090-cal-1997-granted-specification.pdf
Patent Number | 193723 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Indian Patent Application Number | 1090/CAL/1997 | ||||||||
PG Journal Number | 30/2009 | ||||||||
Publication Date | 24-Jul-2009 | ||||||||
Grant Date | 04-Mar-2005 | ||||||||
Date of Filing | 10-Jun-1997 | ||||||||
Name of Patentee | DAEWOO ELECTRONICS CORPORATION | ||||||||
Applicant Address | 686, AHYEON-DONG, MAPO-GU, SEOUL | ||||||||
Inventors:
|
|||||||||
PCT International Classification Number | H03M7/00 | ||||||||
PCT International Application Number | N/A | ||||||||
PCT International Filing date | |||||||||
PCT Conventions:
|