Binary periodic to multibit aperiodic halftone and resolution conversion
US-2015163375-A1 · Jun 11, 2015 · US
US10650496B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10650496-B2 |
| Application number | US-201815895451-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 13, 2018 |
| Priority date | Feb 13, 2018 |
| Publication date | May 12, 2020 |
| Grant date | May 12, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems and methods are provided for image scaling with efficient pixel resolution conversion. One embodiment is an image scaling system that includes a processor that receives an instruction to scale an input image having a first resolution by a scaling ratio to create an output image having a second resolution, and determines a rational fraction approximation of the scaling ratio to obtain a numerator integer representing a first block of consecutive pixels in the output image and a denominator integer representing a second block of consecutive pixels in the input image. The processor also calculates pixel values of the first block of pixels by: bit shifting pixel values of the second block of pixels, obtaining a sum of bit shifting operations of neighboring pixel values of the second block of pixels, and correcting the sum with a correction value to compensate for rounding errors in the bit shifting.
Opening claim text (preview).
What is claimed is: 1. An image scaling system comprising: a processor configured to receive an instruction to scale an input image having a first resolution by a scaling ratio to create an output image having a second resolution; and the processor configured to determine a rational fraction approximation of the scaling ratio to obtain a numerator integer representing a first block of consecutive pixels in the output image and a denominator integer representing a second block of consecutive pixels in the input image, and to calculate pixel values of the first block of pixels by: bit shifting pixel values of the second block of pixels, obtaining a sum of bit shifting operations of neighboring pixel values of the second block of pixels, and correcting the sum with a correction value to compensate for rounding errors in the bit shifting, the processor configured to transmit the output image. 2. The image scaling system of claim 1 wherein: the correction value for a scaling ratio less than one is based on a count of a number of bits set to one in the second block of pixels. 3. The image scaling system of claim 1 wherein: if the scaling ratio is greater than one, the processor is configured to convert multiple pixels representing color values in the input image into an increased number of output pixels in the output image by: obtaining a first result by bit shifting a first value of a first pixel of the multiple pixels in the input image; obtaining a second result by bit shifting a second value of a second pixel of the multiple pixels in the input image; adding the first result and the second result to obtain a value of a output pixel; and correcting the value of the output pixel by adding a lower bit of one of the first pixel and the second pixel to the value of the output pixel. 4. The image scaling system of claim 1 wherein: if the scaling ratio is less than one, the processor is configured to convert multiple pixels representing color values in the input image into fewer output pixels by: performing a combination of bit shifting operations and summation operations on the multiple pixels in the input image to obtain values for the fewer output pixels; identifying one or more output pixels among the fewer output pixels for which bit shifting of two positions was performed; correcting a value for each of the one or more output pixels by adding a count of a number of bits set to one among two least significant bits in a color value among the multiple pixels used in converting to the one or more output pixels; identifying at least one output pixel among the fewer output pixels for which bit shifting of one position was performed; and correcting a value for each of the at least one output pixel by adding a lower bit of one of a pair of pixels used to create the at least one output pixel. 5. The image scaling system of claim 1 wherein: the processor is configured to create the output image by iteratively calculating pixel values in first blocks of the output image by bit shifting and adding pixel values in second blocks of the input image. 6. The image scaling system of claim 1 wherein: the first resolution of the input image is 600 dots per inch; and the second resolution of the output image is 900 dots per inch. 7. The image scaling system of claim 1 wherein: the first resolution of the input image is 600 dots per inch; and the second resolution of the output image is 450 dots per inch. 8. The image scaling system of claim 1 further comprising: a printer configured to receive the output image for printing on a print medium wherein the processor is configured transmit the output image to the printer. 9. A method of scaling an input image, the method comprising: receiving an instruction to scale an input image having a first resolution by a scaling ratio to create an output image having a second resolution; determining a rational fraction approximation of the scaling ratio to obtain a numerator integer representing a first block of consecutive pixels in the output image and a denominator integer representing a second block of consecutive pixels in the input image; calculating pixel values of the first block of pixels by: bit shifting pixel values of the second block of pixels; obtaining a sum of bit shifting operations of neighboring pixel values of the second block of pixels; and correcting the sum with a correction value to compensate for rounding errors in the bit shifting; and transmitting the output image. 10. The method of claim 9 wherein: the correction value for a scaling ratio less than one is based on a count of a number of bits set to one in the second block of pixels. 11. The method of claim 9 further comprising: if the scaling ratio is greater than one, converting multiple pixels representing color values in the input image into an increased number of output pixels in the output image by: obtaining a first result by bit shifting a first value of a first pixel of the multiple pixels of the input image; obtaining a second result by bit shifting a second value of a second pixel of the multiple pixels of the input image; adding the first result and the second result to obtain a value of a output pixel; and correcting the value of the output pixel by adding a lower bit of one of the first pixel and the second pixel to the value of the output pixel. 12. The method of claim 9 further comprising: if the scaling ratio is less than one, converting multiple pixels representing color values in the input image into fewer output pixels by: performing a combination of bit shifting operations and summation operations on the multiple pixels in the input image to obtain values for the fewer output pixels; identifying one or more output pixels among the fewer output pixels for which bit shifting of two positions was performed; correcting a value for each of the one or more output pixels by adding a count of a number of bits set to one among two least significant bits in a color value among the multiple pixels used in converting to the one or more output pixels; identifying at least one output pixel among the fewer output pixels for which bit shifting of one position was performed; and correcting a value for each of the at least one output pixel by adding a lower bit of one of a pair of pixels used to create the at least one output pixel. 13. The method of claim 9 further comprising: creating the output image by iteratively calculating pixel values in first blocks of the output image by bit shifting and adding pixel values in second blocks of the input image. 14. A non-transitory computer readable medium embodying programmed instructions which, when executed by a processor, are operable for performing a method of scaling an input image, the method comprising: receiving an instruction to scale an input image having a first resolution by a scaling ratio to create an output image having a second resolution; determining a rational fraction approximation of the scaling ratio to obtain a numerator integer representing a first block of consecutive pixels in the output image and a denominator integer representing a second block of consecutive pixels in the input image; calculating pixel values of the first block of pixels by: bit shifting pixel values of the second block of pixels; obtaining a sum of the bit shifting operations of neighboring pixel values of the second block of pixels; and correcting the sum with a correction value to compensate for rounding errors in the bit shifting; and transmitting the output image. 15. The medium of claim 14
by subpixel displacements · CPC title
Scaling of whole images or parts thereof, e.g. expanding or contracting · CPC title
based on interpolation, e.g. bilinear interpolation (image demosaicing G06T3/4015; edge-driven or edge-based scaling G06T3/403) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.