Image scaling with efficient pixel resolution conversion

US10650496B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10650496-B2
Application numberUS-201815895451-A
CountryUS
Kind codeB2
Filing dateFeb 13, 2018
Priority dateFeb 13, 2018
Publication dateMay 12, 2020
Grant dateMay 12, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • G06T3/4069Primary

    by subpixel displacements · CPC title

  • G06T3/40Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10650496B2 cover?
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 …
Who is the assignee on this patent?
Ernst Larry M, Stanich Mikel John, Varga John Thomas, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06T3/4069. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 12 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).