A contour coding method adaptively encodes a contour image in a video frame based on the size and complexity of the contour image in order to improve the quality of a reconstructed contour image. first, the size and complexity of the contour image inputted are determined. Simultaneously, the contour image is encoded by using a first and a second contour coding methods to thereby provide first and second coded contour data, respectively. And, the first or the second coded contour data is selected as encoded contour image data based on the size and complexity of the contour image.
|
5. A method for adaptively encoding a contour image of an object included in a video frame of a video signal wherein the video frame is divided into a multiplicity of blocks, each of the blocks having K×L pixels with K and L being positive integers, respectively, and the contour image consists of a plurality of contour pixels, the contour pixels representing pixels located on a contour, said method comprising the steps of:
(a2) detecting the number of contour blocks, each of the contour blocks including one or more contour pixels therein; (b2) calculating curvatures of the contour at selected contour pixels to thereby determine a mean curvature based on the calculated curvatures wherein a curvature of the contour at a selected contour pixel denotes an angle change between two lines that pass; therethrough, each of the two lines being drawn through said selected contour pixel and another contour pixel located a predetermined number of contour pixels away therefrom in one direction along the contour; (c2) comparing the number of contour blocks and the mean curvature with a first and a second predetermined threshold values, respectively; (d2) coding the contour image by using ea first contour coding method if the number of contour blocks is smaller than the first predetermined threshold value and the mean curvature is greater than or equal to the second predetermined threshold value; and (e2) coding the contour image by using a second contour coding method if the number of contour blocks is larger than or equal to the first predetermined threshold value or the mean curvature is smaller than the second predetermined threshold value, wherein the first contour coding method is chosen to be capable of representing the contour image more precisely than the second contour coding method.
1. A method for adaptively encoding a contour image of an object included in a video frame of a video signal wherein the video frame is divided into a multiplicity of blocks, each of the blocks having K×L pixels with K and L being positive integers, respectively, and the contour image consists of a plurality of contour pixels, the contour pixels representing pixels located on a contour, said method comprising the steps of:
(a1) coding the contour image by using a first and a second contour coding methods to thereby provide first and second coded contour data, respectively, the first coded contour data being capable of representing the contour image more precisely than the second coded contour data; (b1) detecting the number of contour blocks, each of the contour blocks including one or more contour pixels therein; (c1) comparing the number of contour blocks with a first predetermined threshold value; (d1) calculating curvatures of the contour at selected contour pixels to thereby determine a mean curvature based on the calculated curvatures wherein a curvature of the contour at a selected contour pixel denotes an angle change between two lines that pass therethrough, each of the two lines being drawn through said selected contour pixel and another contour pixel located a predetermined number of contour pixels away therefrom in one direction along the contour; (e1) comparing the mean curvature with a second predetermined threshold value; and (f1) selecting the first coded contour data if the number of contour blocks is smaller than the first predetermined threshold value and the mean curvature is greater than or equal to the second predetermined threshold value and selecting the second coded contour data if otherwise, to thereby provide the selected coded contour data as encoded contour image data.
2. The method according to
3. The method according to
4. The method according to
6. The method according to
7. The method according to
8. The method according to
|
This invention relates to a video signal coding method; and, more particularly, to a method for adaptively encoding a contour image in a video frame of a video signal based on the size and complexity of the contour image.
In digital video 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 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 substantial 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(see, Michael Hotter, "Object-Oriented Analysis-Synthesis Coding Based on Moving Two-Dimensional Objects", Signal Processing: Image Communication, 2, No.4, pp. 409-428 (December, 1990)).
According to the object-oriented analysis-synthesis coding technique, an input video image is divided into objects and three sets of parameters for defining the motion, the contour and pixel data of each object are processed through different encoding channels.
In processing a contour image of an object, contour information is important for the analysis and synthesis of the shape of the object. One of the classical coding schemes for representing the contour information is a chain coding technique. In the chain coding technique, although there is no loss in the contour information, the amount of bits required is substantially large.
To overcome the latter drawback, there have been proposed several techniques to approximate a contour such as a polygonal approximation and a B-spline approximation. Compared with the polygonal approximation, it is possible to obtain a more accurate representation in case of the B-spline approximation, wherein a high-order polynomial is used to reduce the approximation error. The B-spline approximation technique, however, results in an increased overall computational complexity of the video encoder.
One of the techniques introduced to ameliorate such problem of increased computational complexity is a contour coding technique employing a polygonal approximation and a discrete sine transform(DST). This technique is described in a commonly owned copending application, U.S. Ser. No. 08/520,204, filed on Aug. 28, 1995 and entitled "IMPROVED CONTOUR APPROXIMATION METHOD FOR REPRESENTING A CONTOUR OF AN OBJECT". However, when dealing with a complex contour image, the above technique employing the polygonal approximation and DST may yield a reconstructed image that may still have considerable discrepancies from its original contour image.
It is, therefore, a primary object of the invention to provide a method for use in an encoder which appropriately encodes a contour image in a video frame of a video signal based on the size and the complexity of the contour image to thereby improve the quality of a reconstructed contour image in the video frame.
In accordance with the present invention, there is provided a method for adaptively encoding a contour image of an object included in a video frame of a video signal wherein the video frame is divided into a multiplicity of blocks, each of which includes K×L pixels with K and L being positive integers, respectively, and the contour image consists of a plurality of contour pixels, the contour pixels representing pixels located on the contour, said method comprising the steps of: (a) detecting the number of contour blocks, each contour block including one or more contour pixels therein; (b) calculating curvatures of the contour at selected contour pixels, thereby determining a mean curvature based on the calculated curvatures wherein a curvature of the contour at a selected contour pixel denotes an angle change between two lines that pass therethrough, each of the two lines being drawn through the selected contour pixel and another contour pixel located a predetermined number of contour pixels away therefrom in a direction along the contour; (c) comparing the number of contour blocks and the mean curvature with a first and a second predetermined threshold values, respectively; (d) coding the contour image by using a first contour coding method if the number of contour blocks is smaller than the first predetermined threshold value and the mean curvature is greater than or equal to the second predetermined threshold value; and (e) coding the contour image by using a second contour coding method if the number of contour blocks is larger than or equal to the first predetermined threshold value or the mean curvature is smaller than the second predetermined threshold value, wherein the first contour coding method is chosen to be capable of representing the contour image more precisely than the second contour coding method.
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 represents a block diagram of a contour coding apparatus in accordance with the present invention;
FIG. 2 provides an illustrative diagram, for defining contour blocks; and
FIG. 3 offers an explanatory diagram describing a curvature calculation process.
Referring to FIG. 1, there is shown a block diagram of a contour coding apparatus 10 for adaptively encoding a contour image of an object in a video frame of a video signal in accordance with the present invention.
Contour image data of an object included in the video frame is inputted to a size detection unit 110, a complexity detection unit 130, a first contour coding unit 200, and a second contour coding unit 300 in parallel, wherein the contour image data represents position information of contour pixels, the contour pixels representing pixels located on the contour.
At the size detection unit 110, the video frame is first divided into a plurality of blocks of K×L pixels with K and L being positive integers, respectively, and the number of contour blocks is determined for the contour, each contour block denoting a block containing therein at least one contour pixel. That is, as shown in FIG. 2, each block located in a shaded region 20 is overlapping with a portion of a contour 30 in the video frame 40 and these blocks are referred to as contour blocks.
Then, the number of contour blocks is inputted to a first comparison unit 120, wherein the number is compared with a first predetermined threshold value TH1. An output from the first comparison unit 120 is a logic high signal if the number is greater than or equal to the first threshold value TH1, i.e., if the size of the contour image is considered as being large; and a logic low signal, if otherwise.
In the meanwhile, the complexity detection unit 130 calculates curvatures at selected contour pixels and determines a mean curvature for the contour.
Referring to FIG. 3, there is shown an explanatory diagram depicting a curvature calculation process carried out at the complexity detection unit 130. First, one contour pixel, e.g., T2, is selected as a target pixel and its two Nth, e.g., 6th, neighboring contour pixels, e.g., T1 and T3, on both sides of the contour 30 are determined. Then, two lines are drawn through the target pixel T2 and its two Nth neighboring contour pixels T1 and T3. An angle change between the two lines that pass through the target pixel T2 is defined as the curvature of the contour at the target pixel T2. In the preferred embodiment of the invention, all the contour pixels are selected as the target pixels. However, in order to reduce the calculation burden, every Pth contour pixels may be selected as the target pixels, P being an integer larger than 1. Thereafter, curvatures of the contour at the remaining target pixels are calculated in the same manner as described above.
As the curvatures of the contour at all the target pixels are determined, the mean curvature of the contour may be calculated as follows: ##EQU1## wherein CM denotes the mean curvature; M is the number of target pixels; and θi represents a curvature at each of the target pixels.
Referring back to FIG. 1, at a second comparison unit 140, the mean curvature CM determined at the complexity detection unit 130 is compared with a second predetermined threshold value TH2. The second comparison unit 140 provides a control unit 150 with a logic low signal if the mean curvature CM is greater than or equal to the second threshold value TH2, i.e., if the contour image is determined as being rather complex; and a logic high signal, if otherwise.
At the control unit 150, the signals from the two comparison units 120 and 140 are logically combined, and a logic low control signal is generated to a switching unit 400 if both of the signals from the comparison units 120 and 140 are logic low, i.e., if the contour is regarded small and complex. Otherwise, i.e., if the contour image is large or simple, a logic high control signal is generated to the switching unit 400.
Meantime, the contour image data is encoded at the first and second contour coding units 200 and 300.
Specifically, at the first contour coding unit 200, the contour image data is encoded, e.g., by using a conventional chain coding method and fed to the switching unit 400 as first encoded data, wherein the direction vectors between successive contour pixels are encoded. As an example, a commonly used chain coding scheme employs eight direction vectors, which can be coded by 3-bit code words. In the chain coding, typically, the start contour pixel address information is followed by a string of code words.
On the other hand, at the second contour coding unit 300, the contour image data is encoded, e.g., by using the method employing the polygonal approximation and the DST and resultant encoded data is provided to the switching unit 400 as second encoded data, wherein the contour image data is first approximated by the polygonal approximation; errors between the original contour image and the approximated contour image are calculated by using DST; the result of the polygonal approximation is encoded by using, e.g., a fixed length code without compression; and the result of the DST is then encoded by using, e.g., a binary arithmetic code of JPEG(Joint Picture Experts Group). Details of the polygonal approximation and the DST techniques are disclosed in the afore-mentioned U.S. Ser. No. 08/520,204, filed on Aug. 28, 1995 and entitled "IMPROVED CONTOUR APPROXIMATION METHOD FOR REPRESENTING A CONTOUR OF AN OBJECT", which is incorporated herein by reference.
In response to the control signal provided from the control unit 150, the switching unit 400 selects, as encoded contour image data, either the first or the second encoded data. That is, if the logic low control signal is applied thereto, the first encoded data is transmitted to a transmitter(not shown) for the transmission thereof, and the second encoded data is transmitted if the control signal is logic high.
As a result, the smaller and more complex contour images in the video frame are selected to be encoded at the first contour coding unit 200 by the chain coding method, while the larger or the simpler contour images in the video frame are chosen to be encoded at the second contour coding unit 300 by the contour coding method employing the polygonal approximation and DST.
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.
Patent | Priority | Assignee | Title |
10547852, | Feb 06 2016 | VERSITECH LIMITED | Shape-adaptive model-based codec for lossy and lossless compression of images |
5878170, | Apr 11 1997 | QUARTERHILL INC ; WI-LAN INC | Method and apparatus for reconstructing contours in a contour image decoder |
5881175, | Jun 07 1996 | QUARTERHILL INC ; WI-LAN INC | Method and apparatus for encoding an image signal by using the contour signal thereof |
5912991, | Feb 07 1997 | SAMSUNG ELECTRONICS CO , LTD | Contour encoding method using error bands |
5915045, | Jan 15 1997 | QUARTERHILL INC ; WI-LAN INC | Method and apparatus for encoding a contour of an object by adapting a vertex coding technique |
5949425, | Nov 25 1997 | Terrain Experts, Inc. | Terrain representation with polygonal seams |
6023300, | Jul 05 1997 | QUARTERHILL INC ; WI-LAN INC | Method and apparatus for encoding a contour of an object based on a contour motion estimation technique |
6041138, | Aug 05 1996 | Ricoh Company, Ltd. | Method and device for extracting features from gray-scale image and generating boundaries of document elements |
6069976, | Apr 03 1998 | QUARTERHILL INC ; WI-LAN INC | Apparatus and method for adaptively coding an image signal |
6128041, | Jul 11 1997 | QUARTERHILL INC ; WI-LAN INC | Method and apparatus for binary shape encoding |
Patent | Priority | Assignee | Title |
5572605, | Sep 01 1992 | Apparatus and method for inputting, compressing and outputting characters, illustrations, drawings and logomarks | |
EP586219, | |||
EP708563, | |||
GB2229337, | |||
JP60075975, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
May 27 1996 | KIM, JIN-HUN | DAEWOO ELECTRONICS CO , LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 008057 | /0598 | |
Jun 24 1996 | Daewoo Electronics Co., Ltd. | (assignment on the face of the patent) | / | |||
Dec 31 2002 | DAEWOO ELECTRONICS CO , LTD | Daewoo Electronics Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 013645 | /0159 | |
Dec 15 2011 | Daewoo Electronics Corporation | MAPLE VISION TECHNOLOGIES INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 027437 | /0446 | |
Jun 01 2017 | MAPLE VISION TECHNOLOGIES INC | QUARTERHILL INC | MERGER AND CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 042935 | /0282 | |
Jun 01 2017 | QUARTERHILL INC | QUARTERHILL INC | MERGER AND CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 042935 | /0282 | |
Jun 01 2017 | QUARTERHILL INC | WI-LAN INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 043182 | /0859 |
Date | Maintenance Fee Events |
Oct 30 1998 | ASPN: Payor Number Assigned. |
Sep 27 2001 | M183: Payment of Maintenance Fee, 4th Year, Large Entity. |
Dec 02 2005 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Dec 02 2009 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Jun 30 2001 | 4 years fee payment window open |
Dec 30 2001 | 6 months grace period start (w surcharge) |
Jun 30 2002 | patent expiry (for year 4) |
Jun 30 2004 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jun 30 2005 | 8 years fee payment window open |
Dec 30 2005 | 6 months grace period start (w surcharge) |
Jun 30 2006 | patent expiry (for year 8) |
Jun 30 2008 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jun 30 2009 | 12 years fee payment window open |
Dec 30 2009 | 6 months grace period start (w surcharge) |
Jun 30 2010 | patent expiry (for year 12) |
Jun 30 2012 | 2 years to revive unintentionally abandoned end. (for year 12) |