A method and apparatus for transforming wide angle video into perspective corrected viewing zones which either a single user or multiple users may select, orient and magnify. The present invention first captures a wide angle digital video input by any suitable means. The captured image is then stored in a suitable memory means so portions of the image may be selected at a later time. When a portion of the stored video is selected for viewing, a plurality of discrete viewing vectors in three dimensional space are chosen on the video input and transformed to a plurality of control points in a two dimensional plane or any other suitable surface. The area between these points which is still warped from the original wide angle image capture is then transformed to a perspective corrected field of view. The perspective corrected field of view is then displayed on a suitable displaying apparatus, such as a monitor or head mounted display.
|
0. 29. A system comprising:
a computer-readable memory configured to store video input data; and
a processor operably coupled to the computer-readable memory to receive the stored video input data, the processor configured to perform operations comprising
transforming a plurality of viewing vectors defining a portion of the stored video input data to a plurality of control points;
transforming pixel data in an area between the plurality of control points to define perspective corrected pixel data; and
sending the perspective corrected pixel data to a display.
0. 37. A method of performing perspective correction, the method comprising:
transforming, by a computing device, a set of control vectors into a set of control points using a function that models a wide angle lens;
generating, by the computing device, a polynomial transform function that maps the control points into rectangular points;
transforming, by the computing device, an area of image data proximate the set of control points using the polynomial transform function; and
sending the transformed area of image data to a display for display of the transformed area of image data.
0. 23. A method of providing perspective corrected views of live, prerecorded or simulated environments from wide angle video signals, the method comprising:
receiving video input data at a computing device;
transforming, by the computing device, a plurality of viewing vectors defining a portion of the video input data to a plurality of control points;
transforming, by the computing device, pixel data in an area between the plurality of control points to define perspective corrected pixel data; and
sending the perspective corrected pixel data to a display for display of the perspective corrected pixel data.
0. 42. A system comprising:
a computer-readable memory configured to store captured image data; and
a processor operably coupled to the computer-readable memory to receive the stored captured image data, the processor configured to perform operations comprising
transforming a set of control vectors into a set of control points using a function that models a wide angle lens;
generating a polynomial transform function that maps the control points into rectangular points;
transforming an area of the captured image data proximate the set of control points using the polynomial transform function; and
sending the transformed area of image data to a display.
1. A method for providing perspective corrected images from at least one distorted image, the method comprising steps of:
receiving said distorted image;
storing a portion of said distorted image;
transforming a set of control vectors to a set of control points that defines an area that associates said portion of said distorted image with a portion of a perspective corrected image;
transforming said portion of said distorted image associated with said area to said portion of said perspective corrected image using a global bivariate polynomial transformation;
displaying said portion of said perspective corrected image;
sensing inputted information; and
controlling the transformation and display of said perspective corrected image through said inputted information.
12. An apparatus for providing perspective corrected images from at least one distorted image, the apparatus comprising:
an input configured to receive said distorted image;
a memory, coupled to the input, configured to store a portion of said distorted image;
a processor, coupled to the memory, configured to transform a set of control vectors to a set of control points that defines an area that associates said portion of said distorted image with a portion of a perspective corrected image, the processor further configured to transform said portion of said distorted image associated with said area to said portion of said perspective corrected image using a global bivariate polynomial transformation;
a presentation mechanism, coupled to the memory, configured to present said portion of said perspective corrected image; and
a selection mechanism, coupled to the processor, configured to specify said set of control vectors.
2. The method of
as said global bivariate polynomial transformation.
3. The method of
4. The method of
7. The method of
8. The method of
9. The method of
10. The method of
11. The method of
13. The apparatus of
as said global bivariate polynomial transformation.
14. The method of
15. The apparatus of
16. The apparatus of
18. The apparatus of
19. The apparatus of
20. The apparatus of
21. The apparatus of
22. The apparatus of
0. 24. The method of claim 23 further comprising determining the plurality of viewing vectors at the computing device based on position and orientation information of a device and a horizontal field of view and a vertical field of view.
0. 25. The method of claim 23 further comprising receiving a selection of the plurality of viewing vectors at the computing device.
0. 26. The method of claim 23 wherein the plurality of viewing vectors define an area of interest.
0. 27. The method of claim 23 wherein a global bivariate polynomial transformation is used to define the perspective corrected pixel data.
0. 28. The method of claim 27 wherein the global bivariate polynomial transformation is a biquadratic polynomial transformation.
0. 30. The system of claim 29, wherein the processor is an ASIC.
0. 31. The system of claim 29, wherein the computer-readable memory has computer-executable instructions stored thereon execution of which by the processor causes the processor to perform the operations.
0. 32. The system of claim 29, wherein the operations further comprise determining the plurality of viewing vectors based on position and orientation information of a device, a horizontal field of view, and a vertical field of view.
0. 33. The system of claim 29, wherein the operations further comprise receiving a selection of the plurality of viewing vectors.
0. 34. The system of claim 29, wherein the plurality of viewing vectors define an area of interest.
0. 35. The system of claim 29, wherein a global bivariate polynomial transformation is used to define the perspective corrected pixel data.
0. 36. The system of claim 35, wherein the global bivariate polynomial transformation is a biquadratic polynomial transformation.
0. 38. The method of claim 37, wherein the polynomial transformation function comprises a global bivariate polynomial.
0. 39. The method of claim 37, wherein the polynomial transformation comprises a biquadratic polynomial.
0. 40. The method of claim 37, wherein the set of control vectors comprise a principal viewing vector and eight surrounding vectors that form a rectangular view.
0. 41. The method of claim 37, wherein the wide-angle lens comprises a fish eye lens.
|
This is a
V=WB (5)
To discover aij and bij according to the method of the present invention, a pseudo-inverse technique is used. However, one skilled in the art will appreciate that there are methods to solve equations (5) other than by a pseudo inverse technique, i.e. a least squares technique. The pseudo-inverse solutions for A and B in the above equation (5) are:
A=(WTW)−1WTU
B=(WTW)−1WTV (6)
Therefore, for a target display Cot a given pixel resolution N×M, W and its pseudo-inverse (WTW)−1WT can be calculated a priori. The values for aij and bij are then found by mapping the points in the U-V plane for the 3×3 grid of control points using the above equations (6). The biquadratic polynomial transformations of the equations (3) are then used to transform the area between the control points. In this embodiment, the determination of the coordinates of each pixel in the U-V plane takes a total of thirteen multiplication and ten addition operations. Additionally, three of the required multiplication operations per pixel may be obviated by storing a table of xy, x2 and y2 values for each xy coordinate pair in the dewarped destination image. In another embodiment, the “x” values which do not vary as “y” changes (i.e. a1*x+a4*x2 and b1*x+b4*x2) may also be precomputed and stored. Likewise, the “y” values which do not vary as “x” changes may be precomputed and stored. These further optimizations reduce the operations needed to determine the coordinates of each pixel in the U-V plane to two multiplication and four addition operations.
It will be appreciated by one skilled in the art that the accuracy of the dewarping transformation will increase as the number of transformed viewing vectors increases, i.e. a 4×4 grid of control points will produce a more accurate transformation than a 3×3 grid of control points. However, the amount of increase in accuracy quickly draws near an asymptote as the number of control points is increased. One skilled in the art will recognize, therefore, that there is little reason in increasing the number of viewing vectors to more than half of the total number of pixels in the displayed region.
It will be further appreciated by one skilled in the art that the selection of a rectangular shape of the video input could be changed to another shape and still be within the scope of the invention. Further, the number of control points could be increased or decreased to correspondingly increase or decrease the accuracy of the transformation. Further still, an image filtering stage could be applied during the inverse texture mapping without deviating from the present invention.
The foregoing description describes an inverse texture mapping technique whereby the biquadratic output (X-Y) is mapped to the input (U-V). In the case where a forward texture mapping ASIC is used, the coordinates for the destination control points in X-Y must be supplied so that the rectilinear source texture region can be mapped from the U-V plane, as provided by the inverse texture mapping software solution above, to the X-Y plane. An example of a forward texture mapping ASIC is the NV-1 chip sold by N-Vidia Corporation.
Thus, the same control points for the U-V plane map to the corners of the display screen in the X-Y plane. The warped regions outside the bounding box may be clipped by hardware or software so that they are not visible on the display screen.
The source pixel coordinates, which are fed from the host CPU, are converted to aij and bij coordinates for forward mapping in the forward mapping solution stage 240, again using techniques mathematically equivalent to those of the equations (7). A series of instructions is further sent from the host CPU to the chip 230 and received by a control unit 260. The control unit 260 sequences and controls the operation of the other functional stages within the chip 230. The host CPU also directs a linear sequence of source pixels, which are to be warped, to an interpolation sampler stage 250 within chip 230. Optionally, these can be subject to a low-pass spatial prefiltering stage 270 prior to transmission to the chip, to reduce sampling error during the warping process. Thus, within the chip 230, the source pixels and the aij and bij coordinates are both fed to the interpolation sampler 250. For each input pixel, one or more destination pixels together with their corresponding X-Y destination coordinates are produced. These warped pixels are then fed into the video frame buffer 280, located outside of the ASIC chip 230. Optionally, anti-aliasing circuitry 290 within the chip performs interpolation on output pixel values, such as bilinear interpolation between adjacent pixel samples, to minimize the effects of output spatial quantization error. One skilled in the art will recognize that the preceding hardware solution is merely exemplary and that there are many such solutions which could be employed and still fall within the scope of the present invention.
The techniques described herein may also be applied to synthetic images. Such images may be created entirely within a computer environment and may be composed of three dimensional geometrical descriptions of objects which can be produced by computer graphics rendering techniques generally known to those skilled in the art. Typically, synthetic images are produced by linear perspective projection, emulating the physical process of imaging onto planar film with a lens having a narrow field of view and producing a view of the synthetic environment as seen through a cone or truncated three dimensional pyramid. The color, intensity shading and other simulated physical properties of each pixel on the planar image grid can also be readily determined. For a synthetic environment, the viewing vectors in X-Y-Z space are rewritten in terms of the warped control points coordinates in the U-V plane
A direction vector in X-Y-Z space can thus be generated for each pixel in the U-V plane in the synthetic wide angle image which is created. For a perfect hemispherical fisheye, the generated vectors point in all directions within the created hemisphere, spaced to the limits of the resolution of the U-V image. This simulates a non-planar image grid, such as the projection of the synthetic environment onto a surface of a spherical image substrate. In this way, a fisheye or other wide angle image of a synthetic three dimensional environment can be produced. This technique can be used for the production of three dimensional modeled cartoons or interactive home gaming applications, among others.
One skilled in the art will appreciate that the present invention may be applied to a sequence of wide angle images changing in time, either live or recorded to an analog or digital storage media. The image substrate for recordation may be an electronic two dimensional image sensor, such as a CCD chip, or photographic film capable of chemically recording the image for subsequent transfer into digital form.
One skilled in the art will also appreciate that the present invention is not limited to transforming wide angle video onto a planar (U-V) surface, but that it is within the scope of the invention to transform wide angle video onto any suitable surface for displaying the video for the user.
Further, two real world, wide angle lenses can be positioned opposite each other to permit near 360 degrees of total coverage of the environment. If seamless omnidirectional coverage of an environment is required, this could be achieved with six wide angle lenses positioned along each direction of a three dimensional axis, as shown in
Further still, the same video signal may be simultaneously transmitted to an arbitrarily large number of viewers all having the ability to simultaneously dewarp the same or different portions of the video input, as in the case of interactive cable TV viewing or multiple player online interactive video game playing.
Having fully described the preferred embodiment of the present invention, it will be apparent to those of ordinary skill in the art that numerous alternatives and equivalents exist which do not depart from the invention set forth above. It is therefore to be understood that the present invention is not to be limited by the foregoing description, but only by the appended claims.
Gullichsen, Eric, Wyshynski, Susan P.
Patent | Priority | Assignee | Title |
10021301, | Dec 29 2015 | RPX Corporation | Omnidirectional camera with multiple processors and/or multiple sensors connected to each processor |
10218904, | Oct 30 2015 | ESSENTIAL PRODUCTS, INC. | Wide field of view camera for integration with a mobile device |
10400929, | Sep 27 2017 | Quick Fitting Holding Company, LLC | Fitting device, arrangement and method |
10771774, | Mar 22 2019 | Varjo Technologies Oy | Display apparatus and method of producing images having spatially-variable angular resolutions |
10901309, | Dec 09 2013 | Geo Semiconductor Inc. | System and method for automated test-pattern-free projection calibration |
10969047, | Jan 29 2020 | Quick Fitting Holding Company, LLC | Electrical conduit fitting and assembly |
11035510, | Jan 31 2020 | Quick Fitting Holding Company, LLC | Electrical conduit fitting and assembly |
8525871, | Aug 08 2008 | Adobe Inc | Content-aware wide-angle images |
9269124, | Dec 19 2011 | DAI NIPPON PRINTING CO , LTD | Image processing device, image processing method, program for image processing device, recording medium, and image display device |
9742994, | Aug 08 2008 | Adobe Inc | Content-aware wide-angle images |
9813623, | Oct 30 2015 | ESSENTIAL PRODUCTS, INC | Wide field of view camera for integration with a mobile device |
9819865, | Oct 30 2015 | ESSENTIAL PRODUCTS, INC | Imaging device and method for generating an undistorted wide view image |
9843725, | Dec 29 2015 | RPX Corporation | Omnidirectional camera with multiple processors and/or multiple sensors connected to each processor |
9906721, | Oct 30 2015 | ESSENTIAL PRODUCTS, INC | Apparatus and method to record a 360 degree image |
9915857, | Dec 09 2013 | ROADMAP GEO LP III, AS ADMINISTRATIVE AGENT | System and method for automated test-pattern-free projection calibration |
Patent | Priority | Assignee | Title |
3953111, | Nov 04 1974 | McDonnell Douglas Corporation | Non-linear lens |
4728839, | Feb 24 1987 | REMOTEC, INC | Motorized pan/tilt head for remote control |
4751660, | Jul 09 1985 | Sony Corporation | Determining orientation of transformed image |
4754269, | Mar 05 1984 | Fanuc Ltd | Graphic display method for displaying a perspective view of an object on a CRT |
4772942, | Jan 11 1986 | Pilkington P.E. Limited | Display system having wide field of view |
5023725, | Oct 23 1989 | IMMERSIVE LICENSING, INC | Method and apparatus for dodecahedral imaging system |
5048102, | Sep 16 1987 | Commissariat a l'Energie Atomique | Multiple interpolation process for image correction |
5067019, | Mar 31 1989 | UNITED STATES OF AMERICA, THE, AS REPRESENTED BY THE ADMINISTRATOR OF THE NATIONAL AERONAUTICS AND SPACE ADMINISTRATION | Programmable remapper for image processing |
5173948, | Mar 29 1991 | GRASS VALLEY US INC | Video image mapping system |
5175808, | Sep 12 1989 | Pixar | Method and apparatus for non-affine image warping |
5185667, | May 13 1991 | Sony Corporation | Omniview motionless camera orientation system |
5384588, | May 13 1991 | Sony Corporation | System for omindirectional image viewing at a remote location without the transmission of control signals to select viewing parameters |
5422987, | Aug 20 1991 | Fujitsu Limited | Method and apparatus for changing the perspective view of a three-dimensional object image displayed on a display screen |
5796426, | May 27 1994 | CHARTOLEAUX KG LIMITED LIABILITY COMPANY | Wide-angle image dewarping method and apparatus |
5877801, | May 13 1991 | Sony Corporation | System for omnidirectional image viewing at a remote location without the transmission of control signals to select viewing parameters |
6005611, | May 27 1994 | B H IMAGE CO LLC | Wide-angle image dewarping method and apparatus |
6346967, | May 27 1994 | B H IMAGE CO LLC | Method apparatus and computer program products for performing perspective corrections to a distorted image |
7873233, | Oct 17 2006 | Seiko Epson Corporation | Method and apparatus for rendering an image impinging upon a non-planar surface |
EP610863, | |||
GB2221118, | |||
WO9221208, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Nov 17 2007 | Be Here Corporation | B H IMAGE CO LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 023535 | /0040 | |
May 09 2008 | B.H. Image Co. LLC | (assignment on the face of the patent) | / | |||
Aug 12 2015 | B H IMAGE CO LLC | CHARTOLEAUX KG LIMITED LIABILITY COMPANY | MERGER SEE DOCUMENT FOR DETAILS | 037096 | /0897 |
Date | Maintenance Fee Events |
Oct 11 2013 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Dec 18 2017 | REM: Maintenance Fee Reminder Mailed. |
Jun 04 2018 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Jun 26 2015 | 4 years fee payment window open |
Dec 26 2015 | 6 months grace period start (w surcharge) |
Jun 26 2016 | patent expiry (for year 4) |
Jun 26 2018 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jun 26 2019 | 8 years fee payment window open |
Dec 26 2019 | 6 months grace period start (w surcharge) |
Jun 26 2020 | patent expiry (for year 8) |
Jun 26 2022 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jun 26 2023 | 12 years fee payment window open |
Dec 26 2023 | 6 months grace period start (w surcharge) |
Jun 26 2024 | patent expiry (for year 12) |
Jun 26 2026 | 2 years to revive unintentionally abandoned end. (for year 12) |