Method and apparatus providing perspective correction and/or image dewarping
First Claim
Patent Images
1. An image processor that creates an output image from an input image, the image processor comprising:
- a storage circuit that stores a plurality of lines of pixel values from the input image, each pixel value having an associated input pixel address, and outputs pixel values as an output image;
an output address generator that specifies an output address for a pixel value in the output image; and
an address mapping unit that receives the output address and determines at least one input pixel value from the input image stored in the storage circuit which the storage circuit should associate with the output address, wherein the address mapping unit provides dewarping of the input image by applying vertical scaling to a vertical output index of the output address and horizontal scaling to a horizontal output index of the output address to determine dewarped horizontal and vertical indexes corresponding to an input pixel address, wherein the address mapping unit further comprises;
a first polynomial function generator that determines a radial gain for the horizontal and vertical scaling of dewarping by using a squared horizontal offset value and a squared vertical offset value.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatuses for providing dewarping and/or perspective correction of an input image are disclosed. Described embodiments include processing that provides dewarping and/or perspective correction by associating pixel values identified by input pixel addresses corresponding to an input image with output pixel addresses corresponding to an output image. An image processor having a storage circuit and an address mapping unit for determining a corresponding input pixel address from an output pixel address is also disclosed.
-
Citations
27 Claims
-
1. An image processor that creates an output image from an input image, the image processor comprising:
-
a storage circuit that stores a plurality of lines of pixel values from the input image, each pixel value having an associated input pixel address, and outputs pixel values as an output image; an output address generator that specifies an output address for a pixel value in the output image; and an address mapping unit that receives the output address and determines at least one input pixel value from the input image stored in the storage circuit which the storage circuit should associate with the output address, wherein the address mapping unit provides dewarping of the input image by applying vertical scaling to a vertical output index of the output address and horizontal scaling to a horizontal output index of the output address to determine dewarped horizontal and vertical indexes corresponding to an input pixel address, wherein the address mapping unit further comprises; a first polynomial function generator that determines a radial gain for the horizontal and vertical scaling of dewarping by using a squared horizontal offset value and a squared vertical offset value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An image processor that creates an output image from an input image, the image processor comprising:
-
a storage circuit that stores a plurality of lines of pixel values from the input image, each pixel value having an associated input pixel address, and outputs pixel values as an output image; an output address generator that specifies an output address for a pixel value in the output image; and an address mapping unit that receives the output address and determines at least one input pixel value from the input image stored in the storage circuit which the storage circuit should associate with the output address, wherein the address mapping unit provides dewarping of the input image, wherein the address mapping unit is configured to provide; perspective correction of the input image by applying vertical shifting to a vertical output index of the output address and horizontal scaling to a horizontal output index of the output address to determine perspective-corrected horizontal and vertical indexes; and dewarping of the input image by applying vertical scaling to the perspective corrected vertical output index and horizontal scaling to the perspective-corrected horizontal index to determine horizontal and vertical input indexes corresponding to an input pixel address, the address mapping unit further comprising; a first polynomial function generator that provides a value for the vertical shifting for the perspective correction; a second polynomial function generator that provides a horizontal gain for the horizontal scaling for the perspective correction; and a third polynomial function generator that determines a radial gain for the horizontal scaling and the vertical scaling of the dewarping by using a squared horizontal offset value and a squared vertical offset value. - View Dependent Claims (10, 11, 12, 13)
-
-
14. An image processor that creates an output image from an input image, the image processor comprising:
-
a storage circuit that stores a plurality of lines of pixel values from the input image, each pixel value having an associated input pixel address, and outputs pixel values as an output image; an output address generator that specifies an output address for a pixel value in the output image; and an address mapping unit that receives the output address and determines at least one input pixel value from the input image stored in the storage circuit which the storage circuit should associate with the output address, wherein the address mapping unit provides dewarping of the input image, wherein the address mapping unit is configured to provide; perspective correction of the input image by applying vertical shifting to a vertical output index of the output address and horizontal scaling to a horizontal output index of the output address to determine perspective-corrected horizontal and vertical indexes; and dewarping of the input image by applying vertical scaling to the perspective corrected vertical output index and horizontal scaling to the perspective-corrected horizontal index to determine horizontal and vertical input indexes corresponding to an input pixel address, wherein the address mapping unit further comprises; a first multiplexer that receives and outputs one of squared horizontal and vertical optical offset values computed from pre-programmed perspective-correction coefficients and horizontal and vertical output indexes from an output address generator; a second multiplexer that receives and outputs one of a squared value of the vertical output index from the output address generator and a sum of the squared horizontal and vertical optical offset values output by the first multiplexer; a third multiplexer that receives and outputs one of; a first set of even and a first set of odd coefficients used for determining a value for the vertical shifting for the perspective correction; a second set of even and a second set of odd coefficients used for determining a horizontal gain for the horizontal scaling for the perspective correction; and a fifth set of coefficients used for determining the radial gain for the horizontal scaling and the vertical scaling of the dewarping by using a squared horizontal offset value and a squared vertical offset value; a polynomial function generator receiving input from the second and third multiplexers; and a control unit that controls the first, second, and third multiplexers. - View Dependent Claims (15)
-
-
16. A method of processing an input image comprising:
-
storing a plurality of pixel values of the input image in a buffer, each pixel of the input image having a corresponding input pixel address; designating an output pixel address having a horizontal output index and a vertical output index; determining an input pixel address corresponding to the designated output pixel address by calculating a horizontal input index and a vertical input index, wherein calculating the horizontal and vertical input indexes provides dewarping of the input image; determining an output pixel value associated with the output pixel address based on the pixel value at the corresponding at least one input pixel address; and outputting the output pixel value, wherein calculating the horizontal and vertical input indexes provides for; perspective correction of the input image by applying vertical shifting to the vertical output index and horizontal scaling to the horizontal output index to determine perspective-corrected horizontal and vertical indexes; and dewarping of the input image by applying vertical scaling to the perspective-corrected vertical index and horizontal scaling to the perspective-corrected horizontal index to determine horizontal and vertical input indexes corresponding to an input pixel address which the storage circuit should associate with the output address, wherein calculating the horizontal and vertical input indexes comprises; generating a perspective-corrected vertical index from the vertical output index and a first set of coefficients for determining the amount of vertical shifting; generating perspective-corrected gain from the vertical output index and a second set of coefficients for determining the amount of horizontal scaling for dewarping; subtracting an output horizontal perspective center index from the horizontal output index to produce a horizontal offset, wherein the output horizontal perspective center index represents the horizontal center of the output image; multiplying the perspective-corrected gain and the horizontal offset, and adding a desired new horizontal perspective center to the product to generate a perspective-corrected horizontal index; subtracting a vertical optical center index from the vertical output index to produce a vertical optical offset value, and subtracting a horizontal optical center index from the horizontal output index to produce a horizontal optical offset value, wherein the vertical and horizontal optical center indexes represent the center pixel address of the input image; calculating the radial gain by; squaring the horizontal optical offset value; squaring the vertical optical offset value; generating a radial gain from a sum of the squared horizontal and vertical optical offset values and a third set of coefficients for determining the horizontal scaling and the vertical scaling for the dewarping; and outputting the radial gain; multiplying the vertical optical offset and the radial gain, and adding the vertical optical center index to the product to generate the dewarped vertical index; and multiplying the horizontal optical offset and the radial gain, and adding the horizontal optical center index to the product to generate the dewarped horizontal index. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23)
-
-
24. A method of processing an input image, the method comprising:
-
storing a plurality of rows of pixel values of the input image, each pixel of the input image having an input pixel address, each input pixel address having a horizontal index and a vertical index; and generating a row of output pixel values, each output pixel value having an output pixel address having a horizontal output index and a vertical output index, wherein each of the output pixel values is determined by; designating the output pixel address corresponding to the output pixel value; determining an input pixel address corresponding to the designated output pixel address, wherein the determination includes calculating a horizontal input index and a vertical input index, wherein the determination provides for at least one of perspective correction and dewarping; determining the output pixel value associated with the output pixel address based on the stored pixel value corresponding to the determined input pixel address; and outputting the output pixel value, wherein generating a row of output pixel values further comprises; generating a vertical offset perspective-corrected index and storing it in a first register; and generating a perspective-corrected horizontal-gain and storing it in a second register, and wherein determining an input pixel address corresponding to the designated output pixel address for each output pixel address in the row of output pixel values further comprises; inputting the horizontal output index and an output horizontal perspective center in a first subtraction means; inputting the result of the first subtraction means and the perspective-corrected horizontal gain stored in the second register into a second product means to generate a perspective-corrected horizontal index; entering the perspective-corrected horizontal index and a difference of an optical horizontal perspective center and an optical center horizontal index into a second summing means to generate a horizontal offset perspective-corrected index; generating a radial gain based on a square of the horizontal offset perspective-corrected index and a square of the vertical offset perspective-corrected index;
inputting the vertical offset perspective-corrected index and the radial gain into a third product means;inputting the horizontal offset perspective-corrected index and the radial gain into a fourth product means; inputting a result of the third product means and the optical center vertical index to a summing means to generate the input vertical index; and inputting a result of the fourth product means and the optical center horizontal index to a summing means to generate the input horizontal index. - View Dependent Claims (25, 26, 27)
-
Specification