An interpolation method in which a threshold value used for determining a pixel value of a pixel generated by interpolation according to a context (state value of adjacent pixels). In the interpolation method, the ambiguity between the interpolation value and the threshold value is removed by using the context (state value of the reference pixels around the interpolated pixel), thereby reducing the blocking and smoothing phenomena in the restored binary image.
|
0. 6. A computer usable medium having embodied thereon a computer program for restoring a reduced binary image, reduced from an original binary image by down sampling, into the original binary image, comprising the steps of:
(a) calculating a predicted value of an interpolated pixel based on values of object pixels A, B, c and D around the interpolated pixel; (b) calculating a context cp1, representing a state value of reference pixels around the object pixels, by concatenation of the reference pixel values using the following equation:
wherein p represents the position of the interpolated pixel Ck represents the reference pixel and k is an index of reference pixels;
(c) obtaining a threshold value, THRc(t), corresponding to the context cP which is changed in each interpolated pixel based on its context; and (d) comparing the predicted value with the threshold value of step (c), and determining the interpolated pixel as "1" if the predicted value in step (a) is greater than the threshold value in step (c), and setting the pixel value of the interpolated pixel as "0" if the predicted value is equal to or less than the threshold value.
1. A computer usable medium having embodied thereon a computer program for restoring a reduced binary image, reduced from an original binary image by down sampling, into the original binary image, comprising the steps of:
(a) calculating a predicted value of an interpolated pixel based on values of object pixels A, B, c and D around the interpolated pixel using the following equation:
where h and v of each term represent horizontal and vertical distances between the object pixel and the interpolated pixel included in the corresponding term;
(b) calculating a context cP, representing a state value of reference pixels around the object pixels, by concatenation of the reference pixel values using the following equation:
wherein P represents the position of the interpolated pixel, ck represents the reference pixel and k is an index of reference pixels;
(c) obtaining a threshold value, THRc(t), corresponding to the context cP which is changed in each interpolated pixel based on its context; and (d) determining the interpolated pixel as "1" if the predicted value in step (a) is greater than the threshold value in step (c), and setting the pixel value of the interpolated pixel as "0" otherwise.
2. The computer usable medium of
3. The computer readable medium of
4. The computer readable medium of
5. The computer usable medium of
(c1) defining arrays h(c)(t) and THRc(t), where c is an index of the predicted values in step (a), and t is an index of proposed threshold values; (c2) initializing the array h(c)(t) to zero, and receiving the original binary image and the reduced image; (c3) determining the location of the interpolated pixel to be interpolated, according to a raster scanning, and calculating a context of the reference pixels; (c4) initializing the threshold index t of proposed threshold values; (c5) calculating interpolation value INP(P) of the interpolated pixel as in step (a); (c6) comparing the current proposed threshold value THRc(t) with the calculated predicted value INP(P), and setting the pixel value of the interpolated pixel to "1" if the interpolation value INP(P) is greater than the proposed threshold value THRc(t), and setting the pixel value of the interpolated pixel to "0" if the interpolation value INP(P) is less than or equal to the proposed threshold value THRc(t); (c7) comparing the pixel value of the interpolated pixel with the original pixel value, and increasing the value of the array h(c)(t) and the index of proposed threshold values t by "1" if there is a hit, where a hit occurs when the pixel value of the interpolated pixel is equal to the original pixel value; (c8) checking whether the comparison of the step (c6) has been performed on all proposed threshold values, and returning to the step (c6) if the comparison has not been performed on all candidate values; (c9) checking whether the interpolation has been performed on all pixels of the binary image, and returning to the step (c3) if the interpolation has not been performed on all pixels of the binary image; and (c10) setting the proposed threshold value having the highest frequency of hits as the threshold value of the corresponding interpolation value, if the interpolation is performed on all pixels of the binary image.
0. 7. The computer usable medium of
0. 8. The computer readable medium of
0. 9. The computer readable medium of
0. 10. The computer usable medium of
(c1 ) defining arrays h(c)(t) and THRc(t), where c is an index of the predicted values in step (a), and t is an index of proposed threshold values; (c2 ) initializing the array h(c)(t) to zero, and receiving the original binary image and the reduced image; (c3 ) determining the location of the interpolated pixel to be interpolated, according to a raster scanning, and calculating a context of the reference pixels; e#### (c4 ) initializing the threshold index t of proposed threshold values; |
|||||||||||||||||||
This is a continuation of U.S. patent application Ser. No. 08/979,852, filed Nov. 26, 1997,
In
In the down sampling step 100, an M×N binary image block is converted into an (M×CR)×(N×CR) binary image block. Here, CR is a conversion ratio indicating the ratio in size of the reduced image block obtained by the down sampling with respect to the original binary image block.
In the coding step 102, the reduced image is encoded. In order to code the binary image including objects, MPEG-4 adopts a context based arithmetic encoder (CAE). The CAE is an encoder which divides the binary image into blocks and processes all blocks by the same method. The CAE is adopted as a coding method in the verification model of MPEG-4, due to its simplicity and comparatively high coding efficiency.
The reduced image coded through the coding step 102 is transmitted via a transmission route. In the reverse coding step 104, the coded reduced image is restored into the reduced image. In the up sampling step 106, the interpolation is performed on the reduced image to obtain the original binary image.
In the down sampling step, if half or more pixels of each group of four pixels in a macro block are equal to "1", the pixel value of the converted pixel becomes "1". Here, pixels having value "1" represent a part of the picture containing an object, and pixels having value "0" represent a part of the picture without an object. The boundary between pixels having value "1" and pixels having value "0" represents the boundary of the object information.
Referring to
In
First, an interpolation value INP[P] is obtained by a linear interpolation method as follows, using the object pixels A, B, C and D:
where r and s are weights, and r is greater than s. That is, for each interpolated pixel, the larger weight is applied to the pixel which is the closest to each interpolated pixel.
Next, the obtained interpolation value INP[P] and a threshold value THR are compared. Here, the threshold value THR is set to a value which is half of the largest possible interpolation value. If the interpolation value INP[P] is greater than the threshold value THR, the pixel value of that interpolated pixel becomes "1". Otherwise, the pixel value of the interpolated pixel becomes "0". The pixel values are assigned arbitrarily and by convention. Naturally, they can be switched.
Here, only one threshold THR is applied while a plurality of interpolation values INP may be applied. Thus, if the interpolation value INP[P] and the threshold value THR are close to each other, it is unclear whether the pixel value of the interpolated pixel is correct or not. Accordingly, serious blocking or smoothing phenomenon is present in the restored binary image.
To reduce the blocking or smoothing, a threshold value to be compared with the interpolation value INP[P] is adaptively determined according to the context (state values of the pixels (reference pixels) around the interpolated pixel), thereby reducing ambiguity in determination of the pixel value of the interpolated pixel. Also, proposed threshold values are determined using a learning method.
An improved interpolation method according to the present invention will be described with reference to
First, the interpolation value of a pixel to be generated by interpolation is calculated. Here, the interpolation value is calculated by a bilinear interpolation method. However, the interpolation value may alternatively be calculated by using the average of the object pixels or other methods.
The interpolation value is calculated using the bilinear interpolation method by the following equation (1):
where h and v of each term represent horizontal and vertical distances between the object pixel and the interpolated pixel included in the corresponding term. The interpolation value INP[P] is determined as a value between 0 and 1.
The number of combinations of the object pixels is equal to 16, and the number of interpolation values INP[P] is 16. However, if duplicate values are not counted, the actual number of interpolation values is 12, which are all between 0 and 1. Accordingly, an integer t has the range of ∼11, and the number of proposed threshold values THRc[t] is equal to 12, including 0, 0.0625, 0.1875, 0.25, 0.375, 0.4375, 0.5625, 0.625, 0.75, 0.8125, 0.9375 and 1.
Then, the context (state value of the reference pixels) is calculated by the following equation (2):
where P represents the position of the interpolated pixel (P indicates P1 in
The proposed threshold values THRc[t] are determined by a learning method, described below.
Then, the interpolation value INP[P] and the threshold value THRc based on the context are compared to determine the pixel value of the interpolated pixel.
If the interpolation value INP[P] is greater than the threshold value THRc, the pixel value of the interpolated pixel becomes "1". Otherwise, the pixel value of the interpolated pixel becomes "0".
Next, a method for determining the threshold value THRc based on the context of the reference pixel will be described. The threshold value THRc is obtained by a learning method. The learning is performed by the step of comparing the original binary image with the restored binary image.
In detail, referring to
Here, the array h[c][t] holds numbers of hits, where a hit is the name given to when the restored pixel value is equal to the original pixel value. The hits are determined by applying all of the possible threshold values to each context. Here, c is an index of the interpolation values, and t is an index of the proposed threshold values. In the case of
Also, the array THRc[t] stores the proposed threshold values. Here, t is an index of the proposed threshold values.
Then, the array h[c][t] is initialized to zero (step 320).
After initializing the array h[c][t] to zero, the original binary image and the reduced image are input (step 330).
Then, the location of an initial interpolated pixel is determined. The interpolation is performed from the upper-left to the lower-right by a raster scanning (step 340).
Once the location of the interpolated pixel is determined, context is calculated by the above equation (2) (step 350).
The threshold index t is initialized (step 355).
Then, the interpolation value INP[P] of the interpolated pixel is calculated (step 360).
The current proposed threshold value from THRc[t] is compared with the calculated interpolation value INP[p] (step 370, FIG. 3A). If the interpolation value INP[p] is greater than the proposed threshold value THRc[t], the pixel value P of the interpolated pixel is set to "1" (step 372). Otherwise, the pixel value P of the interpolated pixel is set to "0" (step 374).
The pixel value P of the interpolated pixel is compared with the original pixel value (step 380). If the pixel value P is equal to the original pixel value, the corresponding value in the array h[c][t] is increased by "1". This value represents the number of hits (step 385). Otherwise, the step 385 is not performed.
It is checked whether the comparison of step 380 has been performed on all proposed threshold values of the current interpolation value (step 390).
If the condition of step 390 is satisfied, it is determined whether the interpolation has been performed on all pixels of the binary image (step 400).
If the condition of step 390 is not satisfied, then the process returns to step 370.
If the interpolation has been performed on all pixels of the binary image, the proposed threshold value providing the highest frequency of hits is set as the threshold value of the corresponding interpolation value (step 400).
If the condition of step 390 is not satisfied, the process returns to step 350.
According to the interpolation method of the present invention, ambiguity of the restoration performed by using only the interpolation value obtained by the bilinear interpolation can be removed by using the context, thereby reducing restoration error in the restored binary image.
The invention may be embodied in a general purpose digital computer that is running a program or program segments originating from a computer readable or usable medium, such medium including but not limited to magnetic storage media ((e.g., ROM's, floppy disks, hard disks, etc.), optically readable media (e.g., CD-ROMs, DVDs, etc.) and carrier waves (e.g., transmissions over the Internet). A functional program, code and code segments, used to implement the present invention can be derived by a skilled computer programmer from the description of the invention contained herein.
As described above, in the interpolation method of the present invention, the ambiguity in the comparison between the interpolation value and the threshold value is removed by using the context (state value of the reference pixels around the interpolated pixel), thereby reducing the blocking and smoothing phenomena in the restored binary image.
| Patent | Priority | Assignee | Title |
| Patent | Priority | Assignee | Title |
| 4771471, | Mar 07 1985 | Dainippon Screen Mfg. Co., Ltd. | Smoothing method for binary-coded image data and apparatus therefor |
| 5121447, | Apr 27 1989 | Canon Kabushiki Kaisha | Apparatus for performing gradation processing on image data |
| 5703965, | Dec 02 1994 | Lawrence Livermore National Security LLC | Image compression/decompression based on mathematical transform, reduction/expansion, and image sharpening |
| 5754710, | Aug 06 1993 | Fuji Xerox Co., Ltd. | Image resolution conversion method and appratus thereof |
| 5818964, | Dec 27 1994 | Texas Instruments Incorporated | Method and apparatus for selecting an adaptive filter for image data |
| 5875268, | Sep 27 1993 | Canon Kabushiki Kaisha | Image processing with low-resolution to high-resolution conversion |
| 5911007, | Oct 29 1993 | Canon Kabushiki Kaisha | Image processing method and apparatus |
| KR9630704, |
| Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
| Jul 31 2000 | Samsung Electronics Co., Ltd. | (assignment on the face of the patent) | / |
| Date | Maintenance Fee Events |
| Jan 07 2003 | ASPN: Payor Number Assigned. |
| Jul 01 2003 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
| Jun 29 2007 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
| Jun 20 2011 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
| Jun 29 2011 | ASPN: Payor Number Assigned. |
| Jun 29 2011 | RMPN: Payer Number De-assigned. |
| Date | Maintenance Schedule |
| Jun 18 2005 | 4 years fee payment window open |
| Dec 18 2005 | 6 months grace period start (w surcharge) |
| Jun 18 2006 | patent expiry (for year 4) |
| Jun 18 2008 | 2 years to revive unintentionally abandoned end. (for year 4) |
| Jun 18 2009 | 8 years fee payment window open |
| Dec 18 2009 | 6 months grace period start (w surcharge) |
| Jun 18 2010 | patent expiry (for year 8) |
| Jun 18 2012 | 2 years to revive unintentionally abandoned end. (for year 8) |
| Jun 18 2013 | 12 years fee payment window open |
| Dec 18 2013 | 6 months grace period start (w surcharge) |
| Jun 18 2014 | patent expiry (for year 12) |
| Jun 18 2016 | 2 years to revive unintentionally abandoned end. (for year 12) |