Patent US4885786A successfully refreshed from Google Patents.
← Back to Patent Explorer
US4885786A Expired / Lapsed US ⏱️ 0.0 years remaining

Method for enlarging an image stored in run representation form

Assignee: International Business Machines Corp
•
Filing: 1988-05-24
•
Granted: 1989-12-05
•
Expires: 2008-05-24
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The method according to the present invention enlarges a binary digital image by a method comprising the steps of: storing the rows of the image as a plurality of run end representations, in which a row is represented as a sequence of values giving the white and black run ends; enlarging each row of the image along the horizontal axis by altering the value of each run end representation to achieve enlargement on the horizontal axis by a factor F1; enlarging the image along the vertical axis by interpolating rows between the lines of the partially enlarged image so as to produce enlargement along the vertical axis by a factor F2; storing the enlarged size image generated by the above steps in run end form. An image enlarged by the method of the present invention may be reduced by the simple technique of dividing the image into blocks of pixels and assigning one pixel in a reduced image for each block of pixels in the larger image. Each pixel in the reduced image may by set equal to a center pixel in each block.

Inventors

  • 👤 Karen L. Anderson
  • 👤 William B. Pennebaker
  • 👤 Keith S. Pennington

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 16:07
CPC Classifications
G; G06; G06T; G06T3/00; G06T3/40; G06T3/4007; H; H04; H04N; H04N1/00; H04N1/387; H04N1/393; H04N1/3935

Claims Analysis

Total Claims: 27
Claim 1
Independent Claim 210 words
A method for enlarging a binary digital image along first and second axes thereof by factors of F1 and F2, respectively, said binary image having rows of picture elements or pels, said rows arranged adjacently along said second axis and containing runs of white and black pels, comprising the steps of: storing the rows of said image as a plurality of run ends with each row being represented as a sequence of values corresponding to the unnormalized white and black run ends; partially enlarging said binary image along said first axis by altering the value of each unnormalized run end in the respective rows by a predetermined factor F1; further enlarging said binary image along said second axis by creating additional rows interpolated between the rows of the partially enlarged image produced by the preceding step, using the corresponding run ends of the rows of the partially enlarged image adjacent the additional interpolated rows to determine the positions of the white and black run ends on the interpolated rows, the number and distribution of said interpolated rows being chosen so as to produce enlargement along said second axis by a predetermined factor F2; and storing said enlarged size image generated by the above steps in said unnormalized run end form.
Claim 2
Independent Claim 210 words
A method for enlarging a binary digital image along first and second axes thereof by factors of F1 and F2, respectively, said binary image having rows of picture elements or pels, said rows arranged adjacently along said second axis and containing runs of white and black pels, comprising the steps of: storing the rows of said image as a plurality of run ends with each row being represented as a sequence of values corresponding to the unnormalized white and black run ends; partially enlarging said binary image along said first axis by altering the value of each unnormalized run end in the respective rows by a predetermined factor F1; further enlarging said binary image along said second axis by creating additional rows interpolated between the rows of the partially enlarged image produced by the preceding step, using the corresponding run ends of the rows of the partially enlarged image adjacent the additional interpolated rows to determine the positions of the white and black run ends on the interpolated rows, the number and distribution of said interpolated rows being chosen so as to produce enlargement along said second axis by a predetermined factor F2; and storing said enlarged size image generated by the above steps in said unnormalized run end form.
Claim 3
Dependent Claim 38 words
A method according to claim 1 in which said enlarging steps further comprise the step of: compensating for output device characteristics which produce white and black pels of different sizes by adjusting characteristics of white and black runs.
Claim 4
Dependent Claim 129 words
A method according to claim 1 wherein said step of enlarging each row of said binary image along said first axis further comprises: obtaining the run end values describing a current row of said image to be enlarged; multiplying each run end value in said current row by F1 to enlarge each run and thereby said current row by a factor of F1; detecting edge pel position changes in said image along said second axis by comparing run end locations from previous enlarged rows with those of said enlarged current row; smoothing edges ending on the row preceding the current row by accordingly adding or removing pels from said edges; and repeating said obtaining, multiplying, detecting, and smoothing steps until all rows of said binary image have been enlarged.
Claim 5
Dependent Claim 13 words
A method according to claim 1 in which F1 is equal to 3.
Claim 6
Dependent Claim 13 words
A method according to claim 1 in which F2 is equal to 3.
Claim 7
Dependent Claim 15 words
A method according to claim 1 in which said first axis is a horizontal axis.
Claim 8
Dependent Claim 15 words
A method according to claim 1 in which said second axis is a vertical axis.
Claim 9
Independent Claim 262 words
A method for enlarging a binary digital image along one axis thereof by a predetermined factor F, said binary image having lines of picture elements or pels, said lines arranged adjacently along said one axis and containing runs of white and black pels, comprising the steps of: initializing a buffer with unnormalized run end values corresponding to those of the runs of white and black pels in a number of adjacent lines selected from said image, said lines comprising two extreme lines disposed respectively at the two ends of sid buffer along said one axis; discarding one of the extreme lines from one end of said buffer; reading the unnormalized run end values describing a line of said image adjacent said other extreme line, and adding said run end values of said adjacent line to the other end of said buffer following the other extreme line; interpolating zero or more lines between two selected lines of said buffer, in accordance with said predetermined enlargement factor F along said one axis, by creating respective run end values to describe each interpolated line; selecting the run end locations for said interpolated lines being generated by examining the image lines in said buffer, in order to detect edge pel position changes along said axis and smoothing edges by accordingly adding or removing pels from said edges; storing said zero or more interpolated lines and said selected line nearer said other end of said buffer in run end form; and repeating said discarding, reading, adding, interpolating, selecting, and storing steps for all lines of said image.
Claim 10
Independent Claim 262 words
A method for enlarging a binary digital image along one axis thereof by a predetermined factor F, said binary image having lines of picture elements or pels, said lines arranged adjacently along said one axis and containing runs of white and black pels, comprising the steps of: initializing a buffer with unnormalized run end values corresponding to those of the runs of white and black pels in a number of adjacent lines selected from said image, said lines comprising two extreme lines disposed respectively at the two ends of sid buffer along said one axis; discarding one of the extreme lines from one end of said buffer; reading the unnormalized run end values describing a line of said image adjacent said other extreme line, and adding said run end values of said adjacent line to the other end of said buffer following the other extreme line; interpolating zero or more lines between two selected lines of said buffer, in accordance with said predetermined enlargement factor F along said one axis, by creating respective run end values to describe each interpolated line; selecting the run end locations for said interpolated lines being generated by examining the image lines in said buffer, in order to detect edge pel position changes along said axis and smoothing edges by accordingly adding or removing pels from said edges; storing said zero or more interpolated lines and said selected line nearer said other end of said buffer in run end form; and repeating said discarding, reading, adding, interpolating, selecting, and storing steps for all lines of said image.
Claim 11
Independent Claim 429 words
A method for enlarging a binary digital image along first and second axes thereof by factors of F1 and F2, respectively, said original binary image having rows of picture elements or pels, said rows arranged adjacently along said second axis and containing runs of white and black pels, and then reducing the enlarged binary image to the original binary image size, such that the image that results upon reductiin after said original binary image has been enlarged is identical to said original binary image, comprising the steps of: storing the rows of said original binary image as run end representations, in which each row is represented as a sequence of integer values corresponding to the unnormalized white and black run ends; enlarging said original binary image by the steps of: enlarging each row of said original binary image along said first axis by altering the integer value of each run end in the run end representation corresponding to each respective row by a predetermined factor F1, in such manner that for each pel represented in said each respective row there exists a pel at a known position in the produced enlarged image row having the same binary value as said pel represented in said each respective row; further enlarging said original binary image along said second axis by creating run end representations representing rows interpolated between the rows of the partially enlarged image produced by the preceding step, using the run ends of the rows of the partially enlarged image adjacent each interpolated row to determine the positions of the white and black run ends in the interpolated rows, so as to produce enlargement of said original binary image along said second axis by a predetermined factor F2; storing the enlarged image generated by the above steps in run end form; and reducing said enlarged image to a reduced image identical to said original binary image and of said original size by the steps of: dividing said enlarged image into a plurality of strips parallel to said first axis, each strip containing one row which was obtained by enlargement of an original image row and zero or more interpolated rows; dividing each of said strips into blocks, each block corresponding to an original image pel and containing a pel of known position corresponding in binary value to said original image pel; and creating said reduced image by providing a pel for each said block and assigning a binary value to said pel equal to the value of the pel of known position in the block corresponding to said pel.
Claim 12
Independent Claim 429 words
A method for enlarging a binary digital image along first and second axes thereof by factors of F1 and F2, respectively, said original binary image having rows of picture elements or pels, said rows arranged adjacently along said second axis and containing runs of white and black pels, and then reducing the enlarged binary image to the original binary image size, such that the image that results upon reductiin after said original binary image has been enlarged is identical to said original binary image, comprising the steps of: storing the rows of said original binary image as run end representations, in which each row is represented as a sequence of integer values corresponding to the unnormalized white and black run ends; enlarging said original binary image by the steps of: enlarging each row of said original binary image along said first axis by altering the integer value of each run end in the run end representation corresponding to each respective row by a predetermined factor F1, in such manner that for each pel represented in said each respective row there exists a pel at a known position in the produced enlarged image row having the same binary value as said pel represented in said each respective row; further enlarging said original binary image along said second axis by creating run end representations representing rows interpolated between the rows of the partially enlarged image produced by the preceding step, using the run ends of the rows of the partially enlarged image adjacent each interpolated row to determine the positions of the white and black run ends in the interpolated rows, so as to produce enlargement of said original binary image along said second axis by a predetermined factor F2; storing the enlarged image generated by the above steps in run end form; and reducing said enlarged image to a reduced image identical to said original binary image and of said original size by the steps of: dividing said enlarged image into a plurality of strips parallel to said first axis, each strip containing one row which was obtained by enlargement of an original image row and zero or more interpolated rows; dividing each of said strips into blocks, each block corresponding to an original image pel and containing a pel of known position corresponding in binary value to said original image pel; and creating said reduced image by providing a pel for each said block and assigning a binary value to said pel equal to the value of the pel of known position in the block corresponding to said pel.
Claim 13
Dependent Claim 16 words
A method according to claim 9 wherein each said block comprises 3 pels by 3 pels.
Claim 14
Dependent Claim 20 words
A method according to claim 10, wherein each said pel of known position is the center pel in said block.
Claim 15
Independent Claim 217 words
A system for enlarging a binary digital image along first and second axes thereof by factors of F1 and F2, respectively, said binary image having rows of picture elements or pels, said rows arranged adjacently along said second axis and containing runs of white and black pels, comprising: means for storing the rows of said binary image as a plurality of run end representations, in which each row is represented as a sequence of values corresponding to the unnormalized white and black run ends; first means for partially enlarging said binary image by altering the value of each run end in the run end representations of the respective rows to achieve enlargement along said first axis by a predetermined factor F1; second means for further enlarging said binary image along said second axis by creating run end representations representing rows interpolated between the rows of the partially enlarged image produced by said first means, using the run ends of the rows of the partially enlarged image adjacent each interpolated row to determine the positions of the white and black run ends on the interpolated rows, so as to produce enlargement along said second axis by a predetermined factor F2; and means for storing said enlarged size image, generated by said foregoing means, in unnormalized run end form.
Claim 16
Independent Claim 217 words
A system for enlarging a binary digital image along first and second axes thereof by factors of F1 and F2, respectively, said binary image having rows of picture elements or pels, said rows arranged adjacently along said second axis and containing runs of white and black pels, comprising: means for storing the rows of said binary image as a plurality of run end representations, in which each row is represented as a sequence of values corresponding to the unnormalized white and black run ends; first means for partially enlarging said binary image by altering the value of each run end in the run end representations of the respective rows to achieve enlargement along said first axis by a predetermined factor F1; second means for further enlarging said binary image along said second axis by creating run end representations representing rows interpolated between the rows of the partially enlarged image produced by said first means, using the run ends of the rows of the partially enlarged image adjacent each interpolated row to determine the positions of the white and black run ends on the interpolated rows, so as to produce enlargement along said second axis by a predetermined factor F2; and means for storing said enlarged size image, generated by said foregoing means, in unnormalized run end form.
Claim 17
Dependent Claim 38 words
A system as in claim 12 wherein said first and second enlarging means comprise means for compensating for output device characteristics which produce white and black pels of different sizes by adjusting characteristics of white and black runs.
Claim 18
Dependent Claim 150 words
A system according to claim 13 wherein said first enlarging means comprises: means for obtaining the run end values describing a current row of said image to be enlarged; means for multiplying each run end value in said current row by F1 to enlarge each run and thereby said current row by a factor of F1; means for storing run end locations from previous enlarged rows to detect edges in said image along said second axis; means for detecting edge pel position changes in said image along said second axis by comparing run end locatiins from previous enlarged rows with those of said enlarged current row; means for smoothing edges ending on the row preceding the current row by accordingly adding or removing pels from said edges; and means for repeatedly actuating said obtaining, multiplying, detecting, and smoothing means until all the rows of said binary image have been enlarged.
Claim 19
Dependent Claim 13 words
A system according to claim 12 in which F1 is equal to 3.
Claim 20
Dependent Claim 13 words
A system according to claim 12 in which F2 is equal to 3.
Claim 21
Dependent Claim 22 words
A system according to claim 12 wherein said first axis is a horizontal axis and said second axis is a vertical axis.
Claim 22
Independent Claim 434 words
A system for enlarging a binary digital image, in the form of a plurality of rows of picture elements or pels containing runs of white and black pels, along first and second axes thereof by factors of F1 and F2, respectively, and then reducing said binary image to its original size, such that the image that results upon reduction after said binary image has been enlarged is identical to said original binary image, comprising: means for storing the rows of said original binary image as run end representations, in which each row is represented as a sequence of integer values corresponding to the unnormalized white and black run ends; means for enlarging said original binary image comprising: first means for enlarging each row of said original binary image along said first axis by altering the integer value of each run end in the run end representation corresponding to each respective row by a predetermined factor F1, in such manner that for each pel represented in said each respective row there exists a pel at a known position in the produced enlarged image row having the same binary value as said pel represented in said each respective row; second means for further enlarging said original binary image along said second axis by creating run end representations representing rows interpolated between the rows of the partially enlarged image produced by the preceding step, using the run ends of the rows of the partially enlarged image adjacent each interpolated row to determine the positions of the white and black run ends in the interpolated rows, so as to produce enlargement of said original binary image along said second axis by a predetermined factor F2; means for storing the enlarged image generated by said first and second enlarging means in run end form; and means for reducing said enlarged image to a reduced image identical to said original binary image and of said original size comprising: first means for dividing said enlarged image into a plurality of strips parallel to said first axis, each strip containing one row which was obtained by enlargement of an original image row and zero or more interpolated rows; second means for dividing each of said strips into blocks, each block corresponding to an original image pel and containing a pel of known position corresponding in binary value to said original image pel; and means for creating said reduced image by providing a pel for each said block and assigning a binary value to said pel equal to the value of the pel of known position in the block corresponding to said pel.
Claim 23
Independent Claim 434 words
A system for enlarging a binary digital image, in the form of a plurality of rows of picture elements or pels containing runs of white and black pels, along first and second axes thereof by factors of F1 and F2, respectively, and then reducing said binary image to its original size, such that the image that results upon reduction after said binary image has been enlarged is identical to said original binary image, comprising: means for storing the rows of said original binary image as run end representations, in which each row is represented as a sequence of integer values corresponding to the unnormalized white and black run ends; means for enlarging said original binary image comprising: first means for enlarging each row of said original binary image along said first axis by altering the integer value of each run end in the run end representation corresponding to each respective row by a predetermined factor F1, in such manner that for each pel represented in said each respective row there exists a pel at a known position in the produced enlarged image row having the same binary value as said pel represented in said each respective row; second means for further enlarging said original binary image along said second axis by creating run end representations representing rows interpolated between the rows of the partially enlarged image produced by the preceding step, using the run ends of the rows of the partially enlarged image adjacent each interpolated row to determine the positions of the white and black run ends in the interpolated rows, so as to produce enlargement of said original binary image along said second axis by a predetermined factor F2; means for storing the enlarged image generated by said first and second enlarging means in run end form; and means for reducing said enlarged image to a reduced image identical to said original binary image and of said original size comprising: first means for dividing said enlarged image into a plurality of strips parallel to said first axis, each strip containing one row which was obtained by enlargement of an original image row and zero or more interpolated rows; second means for dividing each of said strips into blocks, each block corresponding to an original image pel and containing a pel of known position corresponding in binary value to said original image pel; and means for creating said reduced image by providing a pel for each said block and assigning a binary value to said pel equal to the value of the pel of known position in the block corresponding to said pel.
Claim 24
Dependent Claim 16 words
A system according to claim 18 wherein each said block comprises 3 pels by 3 pels.
Claim 25
Dependent Claim 20 words
A system according to claim 19, wherein each said pel of known position is the center pel in said block.
Claim 26
Independent Claim 273 words
A system for enlarging a binary digital image along one axis thereof by a predetermined factor F, said binary image having lines of picture elements or pels, said lines arranged adjacently along said one axis and containing runs of white and black pels, comprising: means for initializing a buffer with unnormalized run end values corresponding to those of the runs of white and black pels in a number of adjacent lines selected from said image, said lines comprising two extreme lines disposed respectively at the two ends of said buffer along said one axis; means for discarding one of the extreme lines from one end of said buffer; means for reading the unnormalized run end values describing a line of said image adjacent said other extreme line, and adding said run end values of said adjacent line to the other end of said buffer following the other extreme line; means for interpolating zero or more lines between two selected lines of said buffer, in accordance with said predetermined enlargement factor F along said one axis, by creating respective run end values to describe each interpolated line; means for selecting the run end locations for said interpolated lines being generated by examining the image lines in said buffer, in order to detect edge pel position changes along said axis and smoothing edges by accordingly adding or removing pels from said edges; means for storing said zero or more interpolated lines and said selected line nearer said other end of said buffer in run end form; and means for repeatedlyactuating said discarding, reading, adding, interpolating, selecting, and storing means for all lines of said image.
Claim 27
Independent Claim 273 words
A system for enlarging a binary digital image along one axis thereof by a predetermined factor F, said binary image having lines of picture elements or pels, said lines arranged adjacently along said one axis and containing runs of white and black pels, comprising: means for initializing a buffer with unnormalized run end values corresponding to those of the runs of white and black pels in a number of adjacent lines selected from said image, said lines comprising two extreme lines disposed respectively at the two ends of said buffer along said one axis; means for discarding one of the extreme lines from one end of said buffer; means for reading the unnormalized run end values describing a line of said image adjacent said other extreme line, and adding said run end values of said adjacent line to the other end of said buffer following the other extreme line; means for interpolating zero or more lines between two selected lines of said buffer, in accordance with said predetermined enlargement factor F along said one axis, by creating respective run end values to describe each interpolated line; means for selecting the run end locations for said interpolated lines being generated by examining the image lines in said buffer, in order to detect edge pel position changes along said axis and smoothing edges by accordingly adding or removing pels from said edges; means for storing said zero or more interpolated lines and said selected line nearer said other end of said buffer in run end form; and means for repeatedlyactuating said discarding, reading, adding, interpolating, selecting, and storing means for all lines of said image.

References Cited (Backward Citations)

US4090188A Cited
US4129860A Cited
US4107648A Cited
US4290084A Cited
US4468755A Cited
US4516173A Cited
JPS593680A Cited
US4602383A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1992-12-04 1993-06-05 1993-12-05 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1996-12-04 1997-06-05 1997-12-05 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2000-12-04 2001-06-05 2001-12-05 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag