An improved interpolation method in which a threshold value used for determining a pixel value of a pixel generated by interpolation according to a context which is a 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, thereby reducing the blocking and smoothing phenomena in the restored binary image.

Patent
   RE39237
Priority
Jul 10 1997
Filed
Dec 12 2001
Issued
Aug 15 2006
Expiry
Nov 26 2017
Assg.orig
Entity
Large
1
11
all paid
0. 9. An apparatus comprising:
(a) means for preparing a threshold table showing various threshold values corresponding to a context cp (state value) of pixels (reference pixels) of the reduced image, around an interpolated pixel;
(b) means for calculating an interpolation value based on the pixel values of pixels (object pixels) adjacent to and/or around the interpolated pixel;
(c) means for calculating the context cp which is the state value of the reference pixels around the interpolated pixel;
(d) means for obtaining a threshold value corresponding to the calculated context from the threshold table; and
(e) means for comparing the interpolation value with the threshold value of the step (d), and setting the pixel value of the interpolated pixel as “1” if the interpolation value is greater than the threshold value, and setting the pixel value of the interpolated pixel as “0” if the interpolation value is equal to or less than the threshold value.
1. A computer usable medium having embodied thereon a computer program for restoring a binary image block reduced through a down sampling into the block with the size of the original binary image block, the computer program being executable by a machine to perform:
(a) preparing a threshold table showing various threshold values corresponding to a context cp (state value) of pixels (reference pixels) of the reduced image, around an interpolated pixel;
(b) calculating an interpolation value based on the pixel values of pixels (object pixels) adjacent to and/or around the interpolated pixel;
(c) calculating the context cp which is the state value of the reference pixels around the interpolated pixel;
(d) obtaining a threshold value corresponding to the calculated context from the threshold table; and
(e) comparing the interpolation value with the threshold value of the step (d), and setting the pixel value of the interpolated pixel as “1” if the interpolation value is greater than the threshold value, and setting the pixel value of the interpolated pixel as “0” if the interpolation value is equal to or less than the threshold value.
2. The computer usable medium of claim 1, wherein the computer program at (b) calculates by an interpolation method using the following equations:

INP[P1]=r*A+s*(B+c+D)+t*(E+F+G+H+I+J+K+L)

INP[P2]=r*B+s*(A+c+D)+t*(E+F+G+H+I+J+K+L)

INP[P3]=r*c+s*(A+B+D)+t*(E+F+G+H+I+J+K+L)

INP[P4]=r*D+s*(A+B+c)+t*(E+F+G+H+I+J+K+L)
where P1, P2, P3 and P4 represent an interpolated pixel, A, B, c and D are the objective pixels adjacent to the interpolated pixel, E, F, G, H, I, J, K and L are the objective pixels around the pixels A, B, c and D, INP[P] represents the interpolation value of the interpolated pixel P, r is the weight of the object pixel which is the closest to the interpolated pixel, s is the weight of three object pixels which are the next closest to the interpolated pixel, and t is the weight of eight object pixels around the next closest pixels, and the condition of r>s>t is satisfied.
3. The computer usable medium of claim 1, wherein the computer program at (c) is performed using the following equation: c p = 0 k O k · 2 k
where P represents the position of the interpolated pixel, O represents the reference pixel, and k is an index of the reference pixels.
4. The computer usable medium of claim 3, wherein the index k of the computer program at (c) is varied according to the location of the interpolated pixels with respect to the adjacent pixels.
5. The computer usable medium of claim 1, wherein the computer program at (a) preforms:
(a1) calculating possible sums of the reference pixels;
(a2) calculating possible interpolation values with respect to the possible sums of the reference pixels;
(a3) setting possible candidate threshold values with respect to the possible sum of the reference pixels; and
(a4) selecting a threshold value from the candidate threshold values with respect to each context corresponding to the possible sum of the reference pixels, resulting in the threshold table.
6. The computer usable medium of claim 5, wherein the candidate threshold values of the computer program at (a3) are the median values of every adjacent pair of the possible interpolation values which are arranged in size.
7. The computer usable medium of claim 5, wherein the computer program at (a4) selects the median values of the candidate threshold values with respect to each context as the threshold value.
8. The computer usable medium of claim 7, wherein the computer program being further executable by a machine to perform adjusting the threshold values of the table by allowing a predetermined variable range for the selected threshold values and then selecting a threshold value with respect to each context, showing the least error in reproduction when the threshold values are applied to an actual binary image.
0. 10. The apparatus of claim 9, wherein the interpolation calculating means calculates by an interpolation method using the following equations:

INP[P1]=r*A+s*(B+c+D)+t*(E+F+G+H+I+J+K+L)

INP[P2]=r*B+s*(A+c+D)+t*(E+F+G+H+I+J+K+L)

INP[P3]=r*c+s*(A+B+D)+t*(E+F+G+H+I+J+K+L)

INP[P4]=r*D+s*(A+B+c)+t*(E+F+G+H+I+J+K+L)
where P1, P2, P3 and P4 represent an interpolated pixel, A, B, c and D are the objective pixels adjacent to the interpolated pixel, E, F, G, H, I, J, K and L are the objective pixels around the pixels A, B, c and D, INP[P] represents the interpolation value of the interpolated pixel P, r is the weight of the object pixel which is the closest to the interpolated pixel, s is the weight of three object pixels which are the next closest to the interpolated pixel, and t is the weight of eight object pixels around the next closest pixels, and the condition of r>s>t is satisfied.
0. 11. The apparatus of claim 9, wherein the context calculating means is performed using the following equation: c p = 0 k c k · 2 k
where P represents the position of the interpolated pixel, O represents the reference pixel, and k is an index of the reference pixels.
0. 12. The apparatus of claim 11, wherein the index k used in the context calculating means is varied according to the location of the interpolated pixels with respect to the adjacent pixels.
0. 13. The apparatus of claim 9, wherein the threshold table preparing means includes:
(a1) means for calculating possible sums of the reference pixels;
(a2) means for calculating possible interpolation values with respect to the possible sums of the reference pixels;
(a3) means for setting possible candidate threshold values with respect to the possible sum of the reference pixels; and
(a4) means for selecting a threshold value from the candidate threshold values with respect to each context corresponding to the possible sum of the reference pixels, resulting in the threshold table.
0. 14. The apparatus of claim 13, wherein the candidate threshold values set by the possible candidate threshold value setting means are the median values of every adjacent pair of the possible interpolation values which are arranged in size.
0. 15. The apparatus of claim 13, wherein the threshold value selecting means selects the median values of the candidate threshold values with respect to each context as the threshold value.
0. 16. The apparatus of claim 15, further comprising means for adjusting the threshold values of the table by allowing a predetermined variable range for the selected threshold values and then selecting a threshold value with respect to each context, showing the least error in reproduction when the threshold values are applied to an actual binary image.

This is a continuation of U.S. patent application Ser. No. 08/979,107, filed Nov. 26, 1997,
INP[P2]=r*B+s*(A+C+D)+t*(E+F+G+H+I+J+K+L)
INP[P3]=r*C+s*(A+B+D)+t*(E+F+G+H+I+J+K+L)
INP[P4]=r*D+s*(A+B+C)+t*(E+F+G+H+I+J+K+L)
where r, s and t are weights according to the distance from the interpolated pixel, that is, r is the weight of the object pixel which is the closest to the interpolated pixel, s is the weight of object pixels which are the next closest to the interpolated pixel, and t is the weight of object pixels around the next closest pixels. Also, the condition of r>s>t is satisfied.

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. For example, if r, s and t are 4, 2 and 1, respectively, then the threshold value is set to 9. If the interpolation value INP[P] is greater than the threshold value THR, the pixel value of the interpolated pixel becomes “1”. Otherwise, the pixel value of the interpolated pixel becomes “0”.

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 can be present in the restored binary image.

To reduce the blocking or smoothing effects, 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.

An improved interpolation method according to a preferred embodiment of the present invention will be described with reference to FIGS. 3A through 3D. In FIGS. 3A through 3D, pixels A, B, C, D, E, F, G, H, I, J, K and L indicated by “O” represents object pixels belonging to the reduced image, and pixels E, F, G, H, I, J, K and L represent reference pixels, and pixels P1, P2, P3 and P4 indicated by “X” represent the interpolated pixels of the restored binary image.

First, an interpolation value INP[P] is obtained by the object pixels as follows:
INP[P1]=r*A+s*(B+C+D)+t*(E+F+G+H+I+J+K+L)
INP[P2]=r*B+s*(A+C+D)+t*(E+F+G+H+I+J+K+L)
INP[P3]=r*C+s*(A+B+D)+t*(E+F+G+H+I+J+K+L)
INP[P4]=r*D+s*(A+B+C)+t*(E+F+G+H+I+J+K+L)
where r, s and t are weights according to the distance from the interpolated pixel, that is, r is the weight of the object pixel which is the closest to the interpolated pixel, s is the weight of object pixels which are the next closest to the interpolated pixel, and t is the weight of object pixels around the next closest pixels. Also, the condition of r>s>t is satisfied. Here, r, s and t are 4, 2 and 1, respectively.

Then, the context Cp which is state value of the reference pixels is calculated by the following equation (1): C p = 0 k O k · 2 k ( 1 )
where P represents the position of the interpolated pixel, O represents the reference pixel, and k is an index of the reference pixels and also a weight. Here, the index k is varied depending on the relative position between the interpolated pixel and the adjacent object pixels. FIGS. 3A through 3D shows index of the reference pixels when interpolating the interpolated pixels P1, P2, P3 and P4.

Next, a threshold value THRc according to the calculated context is determined with reference to the threshold value table shown in FIG. 4. The threshold value of FIG. 4 is experimentally obtained by comparing the original image and the restored binary image such that a restoration error is minimized.

In the threshold table of FIG. 4, the context values are arranged in the left column according to size in units of 16, and threshold values corresponding to each context value are arranged in each row.

Since the number of the reference pixels for calculating context is 8, the number of potential combinations become 256.

In FIG. 3A, if the context value is “0”, the value of reference pixels “FELKJIHG” becomes “00000000”. Also, the value of the reference pixels becomes “10000000” and “01000000” if the values of the context are “1” and “2”, respectively. Also, if the value of the context is 255, the value of the reference pixels becomes “11111111”.

In FIG. 4, reference numerals 400, 402 and 404 represent the threshold values when the context values are 0, 1 and 2, respectively. Also, reference numeral 406 represents the threshold value when the context values is 255. That is, when the context values are 0, 1 and 2, the threshold values are equal to 5, 6 and 6, respectively. Also, when the context value is 255, the threshold value is equal to 14 as indicated by the reference numeral 406.

The interpolation value INP[P] and the threshold value THRc according to the context of the object pixels are a compared to determine a 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 is set to “1”. Otherwise, the pixel value of the interpolated pixel is set to “0”.

The threshold table used in the present invention is effectively determined in consideration of reference pixel values. The procedure for preparing the threshold table in consideration of the reference pixel values will be described with reference to FIGS. 5 through 7.

Here, the sum of the reference pixels represents the sum of pixel values of the reference pixels which contributes to calculate the context. For example, it refers to the sum of the pixel values of the reference pixels indicated by E, F, G, H, I, J, K and L in FIG. 3.

In FIG. 3, since the number of the reference pixels is equal to 8, the possible sum of the reference pixels is one of 0, 1, 2, 3, 4, 5, 6, 7 and 8.

FIG. 5A shows the relationship between the sums of the reference pixels and the possible interpolation values. In FIG. 5A, sums of the reference pixels are arranged in the left column according to size while the possible interpolation values on the sums of the reference pixels are arranged in the right column. Here, the weights, r, s and t are 4, 2 and 1, respectively.

For example, if the sum of the reference pixels is equal to “0”, that is, all the pixel values of the reference pixels are “0”, the interpolation value is one of 0, 2, 4, 6, 8 and 10. If all the pixel values of the adjacent object pixels A, B, C and D are “0”, the interpolation value becomes “0”. Also, if all the pixel values of the adjacent object pixels A, B, C and C are 37 1”, the interpolation value becomes “10”.

In the same manner, if the sum of the reference pixels is equal to “8”, that is, if all the pixel values of the reference pixels are “1”, the interpolation value becomes one of 8, 10, 12, 14, 16 and 18.

FIG. 5B shows the possible threshold values corresponding to the possible interpolation values. In FIG. 5B, the possible candidate threshold values are median values of every adjacent pair of the possible interpolation values arranged by size in FIG. 5B.

FIG. 6 shows the threshold values selected from the candidate threshold values of FIG. 5B, corresponding to the median values of the candidate threshold values, according to the possible combinations of the context.

In FIG. 6, reference numerals 600, 602, and 604 represent the threshold values when the context values are 0, 1 and 2, respectively. Also, reference numeral 606 represents the threshold value when the context value is 255. That is, if the context values are equal to 0, 1 and 2, the threshold values become “5”, “6” and “6”, respectively. Also, if the context value is equal to 255, the threshold value become “13”.

If the context value is equal to “0”, that is, if the sum of the reference pixels is “0” in FIG. 5A, the candidate threshold values include −1, 1, 3, 5, 7, 9 and 11 as shown in FIG. 5B, and the median among those, i.e., 5, is selected as the threshold value.

If the context value is equal to “1”, that is, if the sum of the reference pixels is “1” in FIG. 5A, the candidate threshold values include 0, 2, 4, 6, 8, 10 and 12 as shown in FIG. 5B, and the median among those, i.e., 6, is selected as the threshold value.

If the context value is equal to “2”, that is, if the sum of the reference pixels is “2” in FIG. 5A, the candidate threshold values include 1, 4, 5, 7, 9, 11 and 13 as shown in FIG. 5B, and the median among those, i.e., 7, is selected as the threshold value.

If the context value is equal to “255”, that is, if the sum of the reference pixels is “8” in FIG. 5A, the candidate threshold values include 7, 9, 11, 13, 15, 17 and 19 as shown in FIG. 5B, and the median among those, i.e., 13, is selected as the threshold value.

Also, FIG. 7 is a threshold table which is obtained in consideration of ±2 variable range on the threshold value of FIG. 6. That is, the threshold values of the ±2 variable range are applied to the actual binary image, and the threshold value showing the least error during the reproduction is then selected.

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 state value (context) of the reference pixels around the interpolated pixel, thereby reducing the blocking and smoothing phenomena 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.

FIGS. 8A through 8C show the effect of the interpolation method according to the present invention, in contrast to the conventional method. In detail, FIG. 8A shows the original binary image, FIG. 8B shows the result of the conventional bilinear interpolation, and FIG. 8C shows the result of the interpolation according to the present invention.

As can be seen from FIGS. 8B and 8C, the blocking effect is sharply reduced compared to the conventional bilinear interpolation method.

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 state value (context) of the reference pixels around the interpolated pixel, thereby reducing the blocking and smoothing phenomena in the restored binary image.

In the interpolation method of the present invention, since variable threshold values according to the context combination are quickly obtained from the threshold table, the interpolation can be performed rapidly.

Cho, Dae-sung, Shin, Jae-seob

Patent Priority Assignee Title
8270031, Jan 08 2009 Ricoh Company, LTD Halftone mechanism
Patent Priority Assignee Title
4771471, Mar 07 1985 Dainippon Screen Mfg. Co., Ltd. Smoothing method for binary-coded image data and apparatus therefor
5054100, Nov 16 1989 Eastman Kodak Company Pixel interpolator with edge sharpening
5754706, Jun 19 1996 Xerox Corporation System and apparatus for single subpixel elimination in an high addressable error diffusion process
5799113, Jan 19 1996 Microsoft Technology Licensing, LLC Method for expanding contracted video images
5805305, Oct 28 1994 NEC Corporation Image forming apparatus capable of producing a pseudo half-tone image by using dither patterns
5818964, Dec 27 1994 Texas Instruments Incorporated Method and apparatus for selecting an adaptive filter for image data
5832143, Jan 17 1996 Sharp Kabushiki Kaisha Image data interpolating apparatus
6088489, Oct 18 1994 Canon Kabushiki Kaisha Image data resolution conversion
JP4199477,
JP7182503,
JP8116430,
/
Executed onAssignorAssigneeConveyanceFrameReelDoc
Dec 12 2001Samsung Electronics Co., Ltd.(assignment on the face of the patent)
Date Maintenance Fee Events
Feb 05 2007ASPN: Payor Number Assigned.
May 18 2007M1552: Payment of Maintenance Fee, 8th Year, Large Entity.
May 24 2011M1553: Payment of Maintenance Fee, 12th Year, Large Entity.


Date Maintenance Schedule
Aug 15 20094 years fee payment window open
Feb 15 20106 months grace period start (w surcharge)
Aug 15 2010patent expiry (for year 4)
Aug 15 20122 years to revive unintentionally abandoned end. (for year 4)
Aug 15 20138 years fee payment window open
Feb 15 20146 months grace period start (w surcharge)
Aug 15 2014patent expiry (for year 8)
Aug 15 20162 years to revive unintentionally abandoned end. (for year 8)
Aug 15 201712 years fee payment window open
Feb 15 20186 months grace period start (w surcharge)
Aug 15 2018patent expiry (for year 12)
Aug 15 20202 years to revive unintentionally abandoned end. (for year 12)