US20050151759A1 - Systems and methods for directly generating a view using a layered approach - Google Patents

Systems and methods for directly generating a view using a layered approach Download PDF

Info

Publication number
US20050151759A1
US20050151759A1 US10/937,034 US93703404A US2005151759A1 US 20050151759 A1 US20050151759 A1 US 20050151759A1 US 93703404 A US93703404 A US 93703404A US 2005151759 A1 US2005151759 A1 US 2005151759A1
Authority
US
United States
Prior art keywords
input image
layer
pixel
layers
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US10/937,034
Other versions
US7161606B2 (en
Inventor
Hector Gonzalez-Banos
Hai Tao
Dan Kong
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honda Motor Co Ltd
University of California
Original Assignee
Honda Motor Co Ltd
University of California
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honda Motor Co Ltd, University of California filed Critical Honda Motor Co Ltd
Priority to US10/937,034 priority Critical patent/US7161606B2/en
Assigned to THE REGENTS OF THE UNIVERSITY OF CALIFORNIA reassignment THE REGENTS OF THE UNIVERSITY OF CALIFORNIA ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KONG, DAN, TAO, HAI
Assigned to HONDA MOTOR CO., LTD. reassignment HONDA MOTOR CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GONZALEZ-BANOS, HECTOR H.
Publication of US20050151759A1 publication Critical patent/US20050151759A1/en
Application granted granted Critical
Publication of US7161606B2 publication Critical patent/US7161606B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • G06T3/14

Definitions

  • the present invention relates to using computing devices to directly generate a virtual view of a scene. More particularly, the present invention relates to a direct synthesis approach using layers in order to directly generate a virtual view from a pair of images.
  • IBR image-based rendering
  • the field of image-based rendering (IBR) covers using a set of input images of a scene from particular viewpoints to generate a new (synthetic) image of the scene from a new viewpoint.
  • IBR techniques can be classified based on how a scene's geometry is used and represented. At one end of the spectrum, there are techniques that require little or no geometric information about the scene, such as the Light Field and Lumigraph methods. These techniques require special capturing equipment and use a very large input image database, even for very small objects. Thus, they are called dense IBR methods. Dense IBR methods have the disadvantage of requiring a fairly large number of input images, high equipment complexity, and a large amount of image storage.
  • One sparse IBR approach is to compute a depth representation using a stereo algorithm.
  • Stereo techniques must solve the Stereo Correspondence problem, where each pixel in a first input image must be matched (i.e., recognized as the same object) to a pixel in a second input image.
  • Traditional stereo algorithms cannot fully solve the Stereo Correspondence problem for objects of uniform color and texture because of matching ambiguity. As a result, stereo algorithms fail to recover the accurate depth of objects in this situation.
  • stereo techniques applied to IBR attempt to compute the depth at every pixel of an input image, regardless of whether the pixel is used in the final synthetic view. Also, computing high-quality synthetic images using stereo-based approaches can be computationally expensive.
  • An alternative to the traditional stereo-based approach is to perform calculations from the point of view of the synthetic view. This is called direct-view synthesis, and depth is computed at only the locations that are relevant to the rendering of the synthetic image.
  • An advantage of this approach is that accurate geometry is not needed for surfaces of uniform color and texture. That is, methods using the direct-view synthesis approach can afford to make mistakes in the depth calculation at those locations where geometry is unimportant. Thus, it is irrelevant that the stereo correspondence problem becomes difficult in those situations.
  • One direct-view synthesis method is the Range-Space Approach, which uses a voxel representation of the scene. This method casts a viewing ray from the virtual viewpoint for every pixel in the synthetic image, cutting through the voxel representation of the scene.
  • the problem consists in finding the voxel that corresponds to a physical surface. This is indicated when the neighborhood around a voxel is colored in a similar fashion by all input views.
  • the procedure requires a volumetric matching template to compute scores along the viewing ray.
  • the method has the advantage of producing directly-synthesized virtual views. But, like other voxel-based methods, it is computationally expensive and unlikely to compute high-quality synthetic views in real-time.
  • a virtual view is generated as follows: A range space is discretized into a plurality of layers. In one embodiment, the number of layers is proportional to the volume of the range space and inversely proportional to the quality of the virtual view to be generated.
  • the first input image and the second input image are warped to the layer.
  • backward (inverse) warping is used, along with bilinear interpolation.
  • a matching score is then determined for each pixel in the new view based on the warped input images.
  • a matching score is determined based on the statistical correlation between the pixel's neighborhoods in the warped images.
  • a best layer is determined. In one embodiment, the layer that yields the greatest matching score is chosen. After the best layer has been determined, the color of the pixel in that layer is used for that pixel in the generated view. In one embodiment, the color is determined by a weighted combination of corresponding pixels of the input images according to the pixel's depth from the virtual viewpoint.
  • the input images are rectified before they are warped.
  • the virtual viewpoint is assumed to be on the baseline.
  • a coarse-to-fine scheme is used to solve the repetitive pattern problem.
  • local depth voting is used to enforce scene consistency and detect occlusions.
  • FIG. 1 illustrates a three-dimensional range space representation, a new viewpoint, and input images, according to one embodiment of the invention.
  • FIG. 2 illustrates a flowchart of a method for using a direct synthesis approach using layers in order to directly generate a virtual view from a pair of images, according to one embodiment of the invention.
  • FIG. 3 illustrates a repetitive pattern, according to one embodiment of the invention.
  • FIG. 4A illustrates a virtual view generated using the method described in FIG. 2 , according to one embodiment of the invention.
  • FIG. 4B illustrates a virtual view generated using the coarse-to-fine scheme, according to one embodiment of the invention.
  • FIG. 5 illustrates a block diagram of an apparatus for using a direct synthesis approach using layers in order to directly generate a virtual view from a pair of images, according to one embodiment of the invention.
  • FIG. 6 illustrates a more detailed block diagram of the contents of the memory unit in FIG. 5 .
  • the present invention also relates to an apparatus for performing the operations herein.
  • This apparatus is specially constructed for the required purposes, or it comprises a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer.
  • a computer program is stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
  • FIG. 1 illustrates a three-dimensional range space representation, a new viewpoint, and input images, according to one embodiment of the invention.
  • the illustrated embodiment includes a range space 100 , a viewpoint 110 , and two input images 120 A and 120 B.
  • Range space 100 comprises a three-dimensional space that includes a scene for which a new (virtual) image is desired.
  • the new image is the view of the range space 100 that results from viewpoint 110 .
  • Viewpoint 110 is a virtual viewpoint. No image sensor need exist at viewpoint 110 in order to create an image from that viewpoint.
  • Input images 120 A and 120 B comprise images of the range space 100 from different viewpoints (not shown). A portion of input image 120 A and a portion of input image 120 B overlap, so that a sufficiently large portion of the range space 100 is visible in both input images 120 A and 120 B.
  • an input image 120 is a conventional image that was generated by an image sensor, such as a camera.
  • Input images 120 A and 120 B can generated from one image sensor, two image sensors, or a video sequence.
  • an image sensor can be placed in a first position to capture input image 120 A and then placed in a second position to capture input image 120 B.
  • a first image sensor can be placed in a first position to capture input image 120 A and a second image sensor can be placed in a second position to capture input image 120 B.
  • a video image sensor can move from a first position to a second position while being directed toward range space 100 . Frames from the resulting video sequence can be used as input images 120 A and 120 B.
  • FIG. 2 illustrates a flowchart of a method for using a direct synthesis approach using layers in order to directly generate a virtual view from a pair of images, according to one embodiment of the invention.
  • range space 100 is discretized 210 into layers 130 .
  • a layer 130 comprises a plane that is at a constant depth d from a plane containing viewpoint 110 .
  • the number of layers 130 is proportional to the volume of range space 100 and inversely proportional to the quality of the image to be generated.
  • a two-dimensional projective transformation (also called a “homography” or “collineation”) from an input image 120 to a particular depth layer 130 is determined 220 .
  • the transformation depends on the viewpoint used to generate an input image 120 and the particular depth layer 130 .
  • Techniques for determining a two-dimensional projective transformation are known to those of ordinary skill in the art and are further discussed in Introductory Techniques for 3-D Computer Vision by E. Trucco and A. Verri, 1998, pp. 139-175, Prentice-Hall Inc., New Jersey.
  • the transformation is then used to warp 230 the input image 120 to the particular layer 130 .
  • Input images 120 A and 120 B can be obtained at any time prior to step 230 , including before method 200 begins.
  • the resulting transformed coordinates can be non-integers. In other words, the transformed coordinates will not always correspond to pixel locations in the layer 130 .
  • backward (inverse) warping is used to address this problem, along with bilinear interpolation. For example, an inverse transformation is used to map a pixel location in a layer 130 to a position in an input image 120 . If the transformed coordinates are not integers, the pixel can be computed as the bilinear interpolation of the four surrounding pixels in the input image 120 .
  • steps 220 and 230 are performed for each input image 120 .
  • a matching score is determined 240 for each pixel in the new view given a particular depth layer 130 .
  • This matching score reflects the correspondence between the warped images at that pixel in that depth layer 130 .
  • the matching score is determined based on the statistical correlation between the pixel's neighborhoods in the warped images.
  • a neighborhood can be, for example, a square of seven pixels by seven pixels that surrounds the pixel in question.
  • the statistical correlation can be defined as, for example, the absolute squared intensity difference (SAD) or the sum of the squared difference (SSD).
  • SAD absolute squared intensity difference
  • SSD sum of the squared difference
  • Matching scores are known to those of ordinary skill in the art and are further discussed in Introductory Techniques for 3-D Computer Vision by E. Trucco and A. Verri, 1998, pp. 139-175, Prentice-Hall Inc., New Jersey.
  • steps 220 , 230 , and 240 are performed for each depth layer 130 .
  • the “best” layer is determined 250 for each pixel in the new image.
  • the winner-take-all principle is used to determine 250 the best layer 130 .
  • the layer 130 that yields the greatest matching score is chosen.
  • Other selection methods include, for example, identifying the best k layers 130 (where k is an integer greater than 1) and then performing a consistency check to choose one “best” layer 130 .
  • a color is determined 260 for that pixel.
  • the color of the pixel in the best layer 130 is used for that pixel in the generated view.
  • the color is determined 260 by a weighted combination of corresponding pixels of the input images 120 according to the pixel's depth from viewpoint 110 .
  • a weight is a function of the angle and distance between viewpoint 110 (the viewpoint of the new view) and the viewpoint of the input image 120 .
  • the desired view can contain an occluded region.
  • an occluded region For example, there can be a portion of the new view that is visible in a first input image 120 and not visible (or only partially visible) in a second input image 120 .
  • the z-buffer algorithm is known to those of ordinary skill in the art and is further discussed in Interactive Computer Graphics: A top-down approach with OpenGL by E. Angel, 1997, pp. 278-280, Addison Wesley Longman, Inc., USA.
  • FIG. 3 illustrates a repetitive pattern, according to one embodiment of the invention.
  • the illustrated embodiment includes a repetitive pattern of black and white rectangles A-B-C-D-E, one virtual viewpoint 110 , and two viewpoints 500 A and 5 .
  • 00 B of input images 120 (not shown). Rays from a viewpoint to the repetitive pattern are also shown.
  • Ray r 4 extends from viewpoint 500 A to rectangle C.
  • Ray r 1 extends from viewpoint 500 A to rectangle D.
  • Ray r 3 extends from viewpoint 500 B to rectangle B.
  • Ray r 5 extends from viewpoint 500 B to rectangle C.
  • FIG. 4A illustrates a virtual view generated using the method described in FIG. 2 , according to one embodiment of the invention.
  • the virtual view includes a repetitive pattern, namely, a white ladder on a dark surface. Note how the virtual view includes “phantom” rungs where no rungs are actually present.
  • Obtaining a rough estimate of the scene at a layer 130 for each virtual ray extending from virtual viewpoint 110 and then restricting the matching search to a range from this layer 130 can solve this problem.
  • a rough estimate can be obtained of the scene at layer d for virtual ray r 2 .
  • a coarse-to-fine scheme is used to solve the repetitive pattern problem.
  • One or more rough (coarse) estimates of the scene are obtained.
  • a rough estimate has a lower resolution than that of the final virtual view.
  • a rough estimate can have half as many columns of pixels and half as many rows of pixels as the final virtual view. Fewer columns and rows means fewer pixels in the image and therefore a lower resolution.
  • FIG. 4B illustrates a virtual view generated using the coarse-to-fine scheme, according to one embodiment of the invention. While the virtual view in FIG. 4B includes the same repetitive pattern as FIG. 4A , note that the virtual view in FIG. 4B does not include “phantom” rungs where no rungs are actually present.
  • a local depth map for a new view is refined based on a weak constraint called scene consistency.
  • scene consistency a weak constraint
  • a local depth voting strategy is used to enforce the scene consistency constraint.
  • the corresponding depth information for the other viewpoints is collected.
  • a function LocalVote(x, y) is applied to these depth values to check the scene consistency.
  • a non-empty return value means that the scene consistency is satisfied for that pixel. If this occurs, the depth of that pixel is refined according to the voting results. Otherwise, the pixel retains its original depth.
  • Local depth voting can also be used to detect occlusions in a new view.
  • Match(i,j) is known to those of skill in the art and is further discussed in “A cooperative algorithm for stereo matching and occlusion detection” by C. L. Zitnick and T. Kanade, IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000.
  • an iterative hole-filling method can be used to determine the depth of each pixel that has been marked as a hole.
  • the position of the image sensor used to generate input image 120 A is parallel to the position of the image sensor used to generate input image 120 B.
  • the position of the optical center of the image sensor that used to generate input image 120 A is displaced along the baseline in relation to the position of the optical center of the image sensor that used to generate input image 120 B.
  • input images 120 A and 120 B are translations of each other along the scanline. In other words, a pixel in a particular row in input image 120 A corresponds to a pixel in that same row in input image 120 B. However, the column in which that pixel is found varies between input image 120 A and input image 120 B and thus needs to be determined.
  • the number of layers 130 is proportional to the amount of disparity between input images 120 A and 120 B.
  • the number of layers 130 can be equal to the difference between the maximal and minimal disparities of input images 120 A and 120 B.
  • the position of the image sensor used to generate input image 120 A is not parallel to the position of the image sensor used to generate input image 120 B.
  • these positions can be arbitrary.
  • input images 120 A and 120 B are not initially translations of each other.
  • input images 120 A and 120 B are rectified so that they are translations of each other and thus simplify range space matching.
  • input images 120 are rectified before their transformations are determined in step 220 .
  • intrinsic and extrinsic parameters of the positions of an image sensor used to generate these images 120 should be known. These parameters can be obtained, for example, through calibration.
  • viewpoint 110 is on the baseline. In one embodiment, even if viewpoint 110 is not on the baseline, it is assumed to be on the baseline. When viewpoint 110 is (or is assumed to be) on the baseline, depth steps in range space 100 correspond to sub-pixel shifts along the horizontal epipolar line in the space of the desired image. Also, it is easier to warp an input image 120 to a layer 130 .
  • convolution operators can be used to determine 240 a matching score for each pixel in the new view for all depth layers 130 .
  • hardware acceleration is used for this computation by exploiting the convolution functions available in modern processors and/or using accumulation buffers of modern graphical processors.
  • the image sensor before an image sensor generates an input image 120 , the image sensor is calibrated.
  • the camera fundamental matrix is computed by using a planar checkerboard pattern as a calibration object according to the algorithms discussed in “A flexible new technique for camera calibration” by Z. Zhang, IEEE Transactions on Pattern Analysis and Machine Intelligence, pp. 1330-1334, 2000. Since these algorithms also determine the three-dimensional pose of an image sensor with respect to an object, the relative pose between the position of an image sensor used to generate input image 120 A and the position of an image sensor used to generate input image 120 B can also be determined.
  • FIG. 5 illustrates a block diagram of an apparatus for using a direct synthesis approach using layers in order to directly generate a virtual view from a pair of images, according to one embodiment of the invention.
  • Apparatus 700 preferably includes a processor 710 , a main memory 720 , a data storage device 730 , and an input/output controller 780 , all of which are communicatively coupled to a system bus 740 .
  • Apparatus 700 can be, for example, a general-purpose computer.
  • Processor 710 processes data signals and comprises various computing architectures including a complex instruction set computer (CISC) architecture, a reduced instruction set computer (RISC) architecture, or an architecture implementing a combination of instruction sets. Although only a single processor is shown in FIG. 5 , multiple processors may be included.
  • CISC complex instruction set computer
  • RISC reduced instruction set computer
  • Main memory 720 stores instructions and/or data that are executed by processor 710 .
  • the instructions and/or data comprise code for performing any and/or all of the techniques described herein.
  • Main memory 720 is preferably a dynamic random access memory (DRAM) device, a static random access memory (SRAM) device, or some other memory device known in the art.
  • DRAM dynamic random access memory
  • SRAM static random access memory
  • Data storage device 730 stores data and instructions for processor 710 and comprises one or more devices including a hard disk drive, a floppy disk drive, a CD-ROM device, a DVD-ROM device, a DVD-RAM device, a DVD-RW device, a flash memory device, or some other mass storage device known in the art.
  • Network controller 780 links apparatus 700 to other devices so that apparatus 700 can communicate with these devices.
  • System bus 740 represents a shared bus for communicating information and data throughout apparatus 700 .
  • System bus 740 represents one or more buses including an industry standard architecture (ISA) bus, a peripheral component interconnect (PCI) bus, a universal serial bus (USB), or some other bus known in the art to provide similar functionality.
  • ISA industry standard architecture
  • PCI peripheral component interconnect
  • USB universal serial bus
  • Display device 750 represents any device equipped to display electronic images and data to a local user or maintainer.
  • Display device 750 is a cathode ray tube (CRT), a liquid crystal display (LCD), or any other similarly equipped display device, screen, or monitor.
  • Keyboard 760 represents an alphanumeric input device coupled to apparatus 700 to communicate information and command selections to processor 710 .
  • Cursor control device 770 represents a user input device equipped to communicate positional data as well as command selections to processor 710 .
  • Cursor control device 770 includes a mouse, a trackball, a stylus, a pen, cursor direction keys, or other mechanisms to cause movement of a cursor.
  • apparatus 700 includes more or fewer components than those shown in FIG. 5 without departing from the spirit and scope of the present invention.
  • apparatus 700 may include additional memory, such as, for example, a first or second level cache or one or more application specific integrated circuits (ASICs).
  • ASICs application specific integrated circuits
  • apparatus 700 may be comprised solely of ASICs.
  • components may be coupled to apparatus 700 including, for example, image scanning devices, digital still or video cameras, or other devices that may or may not be equipped to capture and/or download electronic data to/from apparatus 700 .
  • FIG. 6 illustrates a more detailed block diagram of the contents of the memory unit in FIG. 5 .
  • memory unit 720 comprises several code modules for using a direct synthesis approach using layers in order to directly generate a virtual view from a pair of images.
  • the code modules in memory unit 720 include main program module 800 , discretization module 810 , transformation module 820 , warping module 830 , matching score module 840 , best layer module 850 , and color module 860 .
  • All code modules 810 , 820 , 830 , 840 , 850 , 860 are communicatively coupled to main program module 800 .
  • Main program module 800 centrally controls the operation and process flow of apparatus 800 , transmitting instructions and data to as well as receiving data from each code module 810 , 820 , 830 , 840 , 850 , 860 .
  • Discretization module 810 performs step 210 of method 200 .
  • Transformation module 820 performs step 220 of method 200 .
  • Warping module 830 performs step 230 of method 200 .
  • Matching score module 840 performs step 240 of method 200 .
  • Best layer module 850 performs step 250 of method 200 .
  • Color module 860 performs step 260 of method 200 .
  • Main program module 800 instructs discretization module 810 module to perform step 210 of method 200 .
  • Main program module 800 instructs transformation module 820 to perform step 220 of method 200 .
  • Main program module 800 instructs warping module 830 to perform step 230 of method 200 .
  • Main program module 800 instructs matching score module 840 to perform step 240 of method 200 .
  • Main program module 800 instructs best layer module 850 to perform step 250 of method 200 .
  • Main program module 800 instructs color module 860 to perform step 260 of method 200 .

Abstract

Apparatuses and methods are presented that use a direct synthesis approach using layers in order to directly generate a virtual view from a pair of images. In one embodiment, a range space is discretized into a plurality of layers. For each layer, the first input image and the second input image are warped to the layer. A matching score is then determined for each pixel in the new view based on the warped input images. For each pixel in the virtual view, a best layer is determined. After the best layer has been determined, the color of the pixel in that layer is used for that pixel in the generated view.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • This application claims priority from the following U.S. provisional patent application, which is hereby incorporated by reference: Ser. No. 60/501,288, filed on Sep. 8, 2003, entitled “Sparse Image-Based Rendering Using Range Space Rendering.”
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention relates to using computing devices to directly generate a virtual view of a scene. More particularly, the present invention relates to a direct synthesis approach using layers in order to directly generate a virtual view from a pair of images.
  • 2. Description of Background Art
  • The field of image-based rendering (IBR) covers using a set of input images of a scene from particular viewpoints to generate a new (synthetic) image of the scene from a new viewpoint. IBR techniques can be classified based on how a scene's geometry is used and represented. At one end of the spectrum, there are techniques that require little or no geometric information about the scene, such as the Light Field and Lumigraph methods. These techniques require special capturing equipment and use a very large input image database, even for very small objects. Thus, they are called dense IBR methods. Dense IBR methods have the disadvantage of requiring a fairly large number of input images, high equipment complexity, and a large amount of image storage.
  • At the other end of the spectrum, there are techniques that use relatively few input images, but require more geometric information about the scene. These “sparse IBR” methods use a set of input images and their associated depth maps to render a synthetic image. When depth information is available for every point in an input image, the image can be rendered from any nearby point of view by projecting the pixels of the input image into the scene and then re-projecting these pixels onto the synthetic image. Fewer input views means simpler equipment setups and smaller storage requirements. However, the quality of the synthetic view depends heavily on the accuracy of the geometric information.
  • One sparse IBR approach is to compute a depth representation using a stereo algorithm. Stereo techniques must solve the Stereo Correspondence problem, where each pixel in a first input image must be matched (i.e., recognized as the same object) to a pixel in a second input image. Traditional stereo algorithms cannot fully solve the Stereo Correspondence problem for objects of uniform color and texture because of matching ambiguity. As a result, stereo algorithms fail to recover the accurate depth of objects in this situation. Moreover, stereo techniques applied to IBR attempt to compute the depth at every pixel of an input image, regardless of whether the pixel is used in the final synthetic view. Also, computing high-quality synthetic images using stereo-based approaches can be computationally expensive.
  • An alternative to the traditional stereo-based approach is to perform calculations from the point of view of the synthetic view. This is called direct-view synthesis, and depth is computed at only the locations that are relevant to the rendering of the synthetic image. An advantage of this approach is that accurate geometry is not needed for surfaces of uniform color and texture. That is, methods using the direct-view synthesis approach can afford to make mistakes in the depth calculation at those locations where geometry is unimportant. Thus, it is irrelevant that the stereo correspondence problem becomes difficult in those situations.
  • One direct-view synthesis method is the Range-Space Approach, which uses a voxel representation of the scene. This method casts a viewing ray from the virtual viewpoint for every pixel in the synthetic image, cutting through the voxel representation of the scene. The problem consists in finding the voxel that corresponds to a physical surface. This is indicated when the neighborhood around a voxel is colored in a similar fashion by all input views. The procedure requires a volumetric matching template to compute scores along the viewing ray. The method has the advantage of producing directly-synthesized virtual views. But, like other voxel-based methods, it is computationally expensive and unlikely to compute high-quality synthetic views in real-time.
  • What is needed is a direct-view synthesis method that avoids the problems of the Range-Space Approach.
  • SUMMARY OF THE INVENTION
  • Apparatuses and methods are presented that use a direct synthesis approach using layers in order to directly generate a virtual view from a pair of images. In one embodiment, a virtual view is generated as follows: A range space is discretized into a plurality of layers. In one embodiment, the number of layers is proportional to the volume of the range space and inversely proportional to the quality of the virtual view to be generated.
  • For each layer, the first input image and the second input image are warped to the layer. In one embodiment, backward (inverse) warping is used, along with bilinear interpolation. A matching score is then determined for each pixel in the new view based on the warped input images. In one embodiment, a matching score is determined based on the statistical correlation between the pixel's neighborhoods in the warped images.
  • For each pixel in the virtual view, a best layer is determined. In one embodiment, the layer that yields the greatest matching score is chosen. After the best layer has been determined, the color of the pixel in that layer is used for that pixel in the generated view. In one embodiment, the color is determined by a weighted combination of corresponding pixels of the input images according to the pixel's depth from the virtual viewpoint.
  • In one embodiment, the input images are rectified before they are warped. In another embodiment, the virtual viewpoint is assumed to be on the baseline. In yet another embodiment, a coarse-to-fine scheme is used to solve the repetitive pattern problem. In yet another embodiment, local depth voting is used to enforce scene consistency and detect occlusions.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements.
  • FIG. 1 illustrates a three-dimensional range space representation, a new viewpoint, and input images, according to one embodiment of the invention.
  • FIG. 2 illustrates a flowchart of a method for using a direct synthesis approach using layers in order to directly generate a virtual view from a pair of images, according to one embodiment of the invention.
  • FIG. 3 illustrates a repetitive pattern, according to one embodiment of the invention.
  • FIG. 4A illustrates a virtual view generated using the method described in FIG. 2, according to one embodiment of the invention.
  • FIG. 4B illustrates a virtual view generated using the coarse-to-fine scheme, according to one embodiment of the invention.
  • FIG. 5 illustrates a block diagram of an apparatus for using a direct synthesis approach using layers in order to directly generate a virtual view from a pair of images, according to one embodiment of the invention.
  • FIG. 6 illustrates a more detailed block diagram of the contents of the memory unit in FIG. 5.
  • DETAILED DESCRIPTION OF THE EMBODIMENTS
  • In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the invention. It will be apparent, however, to one skilled in the art that the invention can be practiced without these specific details. In other instances, structures and devices are shown in block diagram form in order to avoid obscuring the invention.
  • Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
  • Some portions of the detailed descriptions that follow are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
  • It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise, as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission, or display devices.
  • The present invention also relates to an apparatus for performing the operations herein. This apparatus is specially constructed for the required purposes, or it comprises a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program is stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
  • The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems are used with programs in accordance with the teachings herein, or more specialized apparatus are constructed to perform the required method steps. The required structure for a variety of these systems will appear from the description below. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein.
  • 1. Overview of Technique for Generating a Virtual View From a Pair of Images
  • As described above, a direct-view synthesis technique uses one or more input images of a scene from particular viewpoints to generate a new (virtual) image of the scene from a new viewpoint. FIG. 1 illustrates a three-dimensional range space representation, a new viewpoint, and input images, according to one embodiment of the invention. The illustrated embodiment includes a range space 100, a viewpoint 110, and two input images 120A and 120B.
  • Range space 100 comprises a three-dimensional space that includes a scene for which a new (virtual) image is desired. The new image is the view of the range space 100 that results from viewpoint 110. Viewpoint 110 is a virtual viewpoint. No image sensor need exist at viewpoint 110 in order to create an image from that viewpoint.
  • Input images 120A and 120B comprise images of the range space 100 from different viewpoints (not shown). A portion of input image 120A and a portion of input image 120B overlap, so that a sufficiently large portion of the range space 100 is visible in both input images 120A and 120B.
  • In one embodiment, an input image 120 is a conventional image that was generated by an image sensor, such as a camera. Input images 120A and 120B can generated from one image sensor, two image sensors, or a video sequence. For example, an image sensor can be placed in a first position to capture input image 120A and then placed in a second position to capture input image 120B. As another example, a first image sensor can be placed in a first position to capture input image 120A and a second image sensor can be placed in a second position to capture input image 120B. As yet another example, a video image sensor can move from a first position to a second position while being directed toward range space 100. Frames from the resulting video sequence can be used as input images 120A and 120B.
  • As described above, the Range-Space Approach of direct-view synthesis is computationally expensive and unlikely to compute high-quality synthetic views in real-time. This is because the Range-Space Approach uses voxels—three-dimensional geometry requires a great deal of computation. Working with two-dimensional geometry, such as planes, would be much easier. FIG. 2 illustrates a flowchart of a method for using a direct synthesis approach using layers in order to directly generate a virtual view from a pair of images, according to one embodiment of the invention.
  • In the first step of method 200, range space 100 is discretized 210 into layers 130. A layer 130 comprises a plane that is at a constant depth d from a plane containing viewpoint 110. In one embodiment, the number of layers 130 is proportional to the volume of range space 100 and inversely proportional to the quality of the image to be generated.
  • A two-dimensional projective transformation (also called a “homography” or “collineation”) from an input image 120 to a particular depth layer 130 is determined 220. The transformation depends on the viewpoint used to generate an input image 120 and the particular depth layer 130. Techniques for determining a two-dimensional projective transformation are known to those of ordinary skill in the art and are further discussed in Introductory Techniques for 3-D Computer Vision by E. Trucco and A. Verri, 1998, pp. 139-175, Prentice-Hall Inc., New Jersey.
  • The transformation is then used to warp 230 the input image 120 to the particular layer 130. (Input images 120A and 120B can be obtained at any time prior to step 230, including before method 200 begins.) The resulting transformed coordinates can be non-integers. In other words, the transformed coordinates will not always correspond to pixel locations in the layer 130. In one embodiment, backward (inverse) warping is used to address this problem, along with bilinear interpolation. For example, an inverse transformation is used to map a pixel location in a layer 130 to a position in an input image 120. If the transformed coordinates are not integers, the pixel can be computed as the bilinear interpolation of the four surrounding pixels in the input image 120. Backward warping and bilinear resampling are known to those of ordinary skill in the art and are further discussed in Introductory Techniques for 3-D Computer Vision by E. Trucco and A. Verri, 1998, pp. 139-175, Prentice-Hall Inc., New Jersey. In one embodiment, steps 220 and 230 are performed for each input image 120.
  • After input images 120A and 120B have been warped 230, a matching score is determined 240 for each pixel in the new view given a particular depth layer 130. This matching score reflects the correspondence between the warped images at that pixel in that depth layer 130. In one embodiment, the matching score is determined based on the statistical correlation between the pixel's neighborhoods in the warped images. A neighborhood can be, for example, a square of seven pixels by seven pixels that surrounds the pixel in question. The statistical correlation can be defined as, for example, the absolute squared intensity difference (SAD) or the sum of the squared difference (SSD). Matching scores are known to those of ordinary skill in the art and are further discussed in Introductory Techniques for 3-D Computer Vision by E. Trucco and A. Verri, 1998, pp. 139-175, Prentice-Hall Inc., New Jersey. In one embodiment, steps 220, 230, and 240 are performed for each depth layer 130.
  • After the matching scores have been determined 240, the “best” layer is determined 250 for each pixel in the new image. In one embodiment, the winner-take-all principle is used to determine 250 the best layer 130. In this embodiment, for each pixel in the new image, the layer 130 that yields the greatest matching score is chosen. Other selection methods that can be used include, for example, identifying the best k layers 130 (where k is an integer greater than 1) and then performing a consistency check to choose one “best” layer 130.
  • After the best layer 130 for a pixel has been determined 250, a color is determined 260 for that pixel. In one embodiment, the color of the pixel in the best layer 130 is used for that pixel in the generated view. In one embodiment, the color is determined 260 by a weighted combination of corresponding pixels of the input images 120 according to the pixel's depth from viewpoint 110. In one embodiment, a weight is a function of the angle and distance between viewpoint 110 (the viewpoint of the new view) and the viewpoint of the input image 120.
  • The desired view can contain an occluded region. For example, there can be a portion of the new view that is visible in a first input image 120 and not visible (or only partially visible) in a second input image 120. In one embodiment, it is determined in which input image 120 an occluded region is visible. In one embodiment, this is accomplished by using the z-buffer algorithm to record visibility information, in an input image 120, for each pixel in the desired view. This visibility map enables pixels to be chosen from the appropriate input image 120 for the occluded region. The z-buffer algorithm is known to those of ordinary skill in the art and is further discussed in Interactive Computer Graphics: A top-down approach with OpenGL by E. Angel, 1997, pp. 278-280, Addison Wesley Longman, Inc., USA.
  • A. Coarse-to-Fine Scheme
  • When a scene contains a repetitive pattern, method 200 may not generate an accurate new view. FIG. 3 illustrates a repetitive pattern, according to one embodiment of the invention. The illustrated embodiment includes a repetitive pattern of black and white rectangles A-B-C-D-E, one virtual viewpoint 110, and two viewpoints 500A and 5.00B of input images 120 (not shown). Rays from a viewpoint to the repetitive pattern are also shown. Ray r4 extends from viewpoint 500A to rectangle C. Ray r1 extends from viewpoint 500A to rectangle D. Ray r3 extends from viewpoint 500B to rectangle B. Ray r5 extends from viewpoint 500B to rectangle C.
  • Rays r4 (from viewpoint 500A) and r5 (from viewpoint 500B), which intersect at point P′, yield a high matching score because they both see the same rectangle (black rectangle C). However, rays r1 (from viewpoint 500A) and r3 (from viewpoint 500B), which intersect at point P, also yield a high matching score because they both see the same pattern—a white rectangle (rectangles D and B, respectively).
  • Virtual ray r2, which extends from virtual viewpoint 110, should indicate a black pixel (from black rectangle C) in the generated image. However, if the matching score at P′ is higher than the matching score at P, a white pixel will be incorrectly chosen instead. This situation is shown in FIG. 4A. FIG. 4A illustrates a virtual view generated using the method described in FIG. 2, according to one embodiment of the invention. The virtual view includes a repetitive pattern, namely, a white ladder on a dark surface. Note how the virtual view includes “phantom” rungs where no rungs are actually present.
  • Obtaining a rough estimate of the scene at a layer 130 for each virtual ray extending from virtual viewpoint 110 and then restricting the matching search to a range from this layer 130 can solve this problem. In the illustrated embodiment, for example, a rough estimate can be obtained of the scene at layer d for virtual ray r2.
  • In one embodiment, a coarse-to-fine scheme is used to solve the repetitive pattern problem. One or more rough (coarse) estimates of the scene are obtained. A rough estimate has a lower resolution than that of the final virtual view. For example, a rough estimate can have half as many columns of pixels and half as many rows of pixels as the final virtual view. Fewer columns and rows means fewer pixels in the image and therefore a lower resolution.
  • Depth is obtained for each pixel in the rough estimate that has the lowest resolution. This depth is then propagated to the rough estimate with the next highest resolution. (If only one rough estimate was obtained, then the “rough estimate with the next highest resolution” is actually the final virtual view.) Depth is propagated by restricting the matching search in the higher-resolution rough estimate to a range from the depth that was obtained for the lower-resolution rough estimate. In this way, a refined depth can be obtained. FIG. 4B illustrates a virtual view generated using the coarse-to-fine scheme, according to one embodiment of the invention. While the virtual view in FIG. 4B includes the same repetitive pattern as FIG. 4A, note that the virtual view in FIG. 4B does not include “phantom” rungs where no rungs are actually present.
  • B. Local Depth Voting
  • In one embodiment, a local depth map for a new view is refined based on a weak constraint called scene consistency. As discussed above, direct-view synthesis techniques do not always compute correct depth for smooth areas and occluded regions. However, for points in the scene that are visible in both input views 120, we can assume that they are in the same three-dimensional position when seen from each viewpoint. This assumption is known as scene consistency.
  • In one embodiment, a local depth voting strategy is used to enforce the scene consistency constraint. In one embodiment, for each pixel (x,y) in a new view, the corresponding depth information for the other viewpoints is collected. A function LocalVote(x, y) is applied to these depth values to check the scene consistency. A non-empty return value means that the scene consistency is satisfied for that pixel. If this occurs, the depth of that pixel is refined according to the voting results. Otherwise, the pixel retains its original depth.
  • Local depth voting can also be used to detect occlusions in a new view. The following mask function is used to detect an occluded region in a new view: H ( i , j ) = 1 ( Match ( i , j ) < threshold ) && ( LocalVote ( i , j ) = Empty ) 0 else
    where Match(i,j) is known to those of skill in the art and is further discussed in “A cooperative algorithm for stereo matching and occlusion detection” by C. L. Zitnick and T. Kanade, IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000.
  • After an occluded region has been detected, an iterative hole-filling method can be used to determine the depth of each pixel that has been marked as a hole.
  • C. Rectification
  • In one embodiment, the position of the image sensor used to generate input image 120A is parallel to the position of the image sensor used to generate input image 120B. For example, the position of the optical center of the image sensor that used to generate input image 120A is displaced along the baseline in relation to the position of the optical center of the image sensor that used to generate input image 120B. In this embodiment, input images 120A and 120B are translations of each other along the scanline. In other words, a pixel in a particular row in input image 120A corresponds to a pixel in that same row in input image 120B. However, the column in which that pixel is found varies between input image 120A and input image 120B and thus needs to be determined. When input images 120A and 120B are translations of each other, it is easier to determine the correspondence between them. In one embodiment, the number of layers 130 is proportional to the amount of disparity between input images 120A and 120B. For example, the number of layers 130 can be equal to the difference between the maximal and minimal disparities of input images 120A and 120B.
  • In one embodiment, the position of the image sensor used to generate input image 120A is not parallel to the position of the image sensor used to generate input image 120B. For example, these positions can be arbitrary. In this embodiment, input images 120A and 120B are not initially translations of each other. In one embodiment, input images 120A and 120B are rectified so that they are translations of each other and thus simplify range space matching. For example, input images 120 are rectified before their transformations are determined in step 220. To rectify input images 120A and 120B, intrinsic and extrinsic parameters of the positions of an image sensor used to generate these images 120 should be known. These parameters can be obtained, for example, through calibration. Techniques for rectifying images are known to those of ordinary skill in the art and are further discussed in Introductory Techniques for 3-D Computer Vision by E. Trucco and A. Verri, 1998, pp. 139-175, Prentice-Hall Inc., New Jersey.
  • In one embodiment, viewpoint 110 is on the baseline. In one embodiment, even if viewpoint 110 is not on the baseline, it is assumed to be on the baseline. When viewpoint 110 is (or is assumed to be) on the baseline, depth steps in range space 100 correspond to sub-pixel shifts along the horizontal epipolar line in the space of the desired image. Also, it is easier to warp an input image 120 to a layer 130.
  • Additionally, in this embodiment, convolution operators can be used to determine 240 a matching score for each pixel in the new view for all depth layers 130. In one embodiment, hardware acceleration is used for this computation by exploiting the convolution functions available in modern processors and/or using accumulation buffers of modern graphical processors.
  • D. Calibration
  • In one embodiment, before an image sensor generates an input image 120, the image sensor is calibrated. In one embodiment, the camera fundamental matrix is computed by using a planar checkerboard pattern as a calibration object according to the algorithms discussed in “A flexible new technique for camera calibration” by Z. Zhang, IEEE Transactions on Pattern Analysis and Machine Intelligence, pp. 1330-1334, 2000. Since these algorithms also determine the three-dimensional pose of an image sensor with respect to an object, the relative pose between the position of an image sensor used to generate input image 120A and the position of an image sensor used to generate input image 120B can also be determined.
  • 2. Apparatus for Generating a Virtual View From a Pair of Images
  • FIG. 5 illustrates a block diagram of an apparatus for using a direct synthesis approach using layers in order to directly generate a virtual view from a pair of images, according to one embodiment of the invention. Apparatus 700 preferably includes a processor 710, a main memory 720, a data storage device 730, and an input/output controller 780, all of which are communicatively coupled to a system bus 740. Apparatus 700 can be, for example, a general-purpose computer.
  • Processor 710 processes data signals and comprises various computing architectures including a complex instruction set computer (CISC) architecture, a reduced instruction set computer (RISC) architecture, or an architecture implementing a combination of instruction sets. Although only a single processor is shown in FIG. 5, multiple processors may be included.
  • Main memory 720 stores instructions and/or data that are executed by processor 710. The instructions and/or data comprise code for performing any and/or all of the techniques described herein. Main memory 720 is preferably a dynamic random access memory (DRAM) device, a static random access memory (SRAM) device, or some other memory device known in the art.
  • Data storage device 730 stores data and instructions for processor 710 and comprises one or more devices including a hard disk drive, a floppy disk drive, a CD-ROM device, a DVD-ROM device, a DVD-RAM device, a DVD-RW device, a flash memory device, or some other mass storage device known in the art.
  • Network controller 780 links apparatus 700 to other devices so that apparatus 700 can communicate with these devices.
  • System bus 740 represents a shared bus for communicating information and data throughout apparatus 700. System bus 740 represents one or more buses including an industry standard architecture (ISA) bus, a peripheral component interconnect (PCI) bus, a universal serial bus (USB), or some other bus known in the art to provide similar functionality.
  • Additional components that may be coupled to apparatus 700 through system bus 740 include a display device 750, a keyboard 760, and a cursor control device 770. Display device 750 represents any device equipped to display electronic images and data to a local user or maintainer. Display device 750 is a cathode ray tube (CRT), a liquid crystal display (LCD), or any other similarly equipped display device, screen, or monitor. Keyboard 760 represents an alphanumeric input device coupled to apparatus 700 to communicate information and command selections to processor 710. Cursor control device 770 represents a user input device equipped to communicate positional data as well as command selections to processor 710. Cursor control device 770 includes a mouse, a trackball, a stylus, a pen, cursor direction keys, or other mechanisms to cause movement of a cursor.
  • It should be apparent to one skilled in the art that apparatus 700 includes more or fewer components than those shown in FIG. 5 without departing from the spirit and scope of the present invention. For example, apparatus 700 may include additional memory, such as, for example, a first or second level cache or one or more application specific integrated circuits (ASICs). As noted above, apparatus 700 may be comprised solely of ASICs. In addition, components may be coupled to apparatus 700 including, for example, image scanning devices, digital still or video cameras, or other devices that may or may not be equipped to capture and/or download electronic data to/from apparatus 700.
  • FIG. 6 illustrates a more detailed block diagram of the contents of the memory unit in FIG. 5. Generally, memory unit 720 comprises several code modules for using a direct synthesis approach using layers in order to directly generate a virtual view from a pair of images. Specifically, the code modules in memory unit 720 include main program module 800, discretization module 810, transformation module 820, warping module 830, matching score module 840, best layer module 850, and color module 860.
  • All code modules 810, 820, 830, 840, 850, 860 are communicatively coupled to main program module 800. Main program module 800 centrally controls the operation and process flow of apparatus 800, transmitting instructions and data to as well as receiving data from each code module 810, 820, 830, 840, 850, 860.
  • Discretization module 810 performs step 210 of method 200. Transformation module 820 performs step 220 of method 200. Warping module 830 performs step 230 of method 200. Matching score module 840 performs step 240 of method 200. Best layer module 850 performs step 250 of method 200. Color module 860 performs step 260 of method 200.
  • Main program module 800 instructs discretization module 810 module to perform step 210 of method 200. Main program module 800 instructs transformation module 820 to perform step 220 of method 200. Main program module 800 instructs warping module 830 to perform step 230 of method 200. Main program module 800 instructs matching score module 840 to perform step 240 of method 200. Main program module 800 instructs best layer module 850 to perform step 250 of method 200. Main program module 800 instructs color module 860 to perform step 260 of method 200.
  • Although the invention has been described in considerable detail with reference to certain embodiments thereof, other embodiments are possible as will be understood to those skilled in the art.

Claims (19)

1. A method for generating a virtual image of a range space from a first input image of the range space and a second input image of the range space, the method comprising:
discretizing the range space into a plurality of layers;
for each layer of the plurality of layers:
warping the first input image to the layer;
warping the second input image to the layer; and
for each pixel in the virtual image, determining a matching score based on the warped first input image and the warped second input image; and
for each pixel in the virtual image:
determining a layer with a best matching score; and
determining a color of the pixel in the layer with the best matching score.
2. The method of claim 1, further comprising rectifying the first input image and the second input image.
3. The method of claim 1, further comprising locating a viewpoint of the virtual image to be on a baseline.
4. The method of claim 1, further comprising enforcing scene consistency by performing local depth voting.
5. The method of claim 1, further comprising detecting an occlusion in the virtual image by performing local depth voting.
6. The method of claim 1, wherein the plurality of layers comprises a number of layers that is proportional to a volume of the range space.
7. The method of claim 1, wherein the plurality of layers comprises a number of layers that is inversely proportional to a quality of the virtual image.
8. The method of claim 1, wherein warping the first input image to the layer comprises performing inverse warping and bilinear interpolation.
9. The method of claim 1, wherein determining the matching score based on the warped first input image and the warped second input image comprises determining the matching score based on a statistical correlation between the pixel's neighborhoods in the warped images.
10. The method of claim 1, wherein determining the matching score based on the warped first input image and the warped second input image comprises:
determining an initial depth; and
restricting a matching search to a range from the initial depth.
11. The method of claim 1, wherein convolution operators are used to determine the matching scores for each pixel in the new view for one depth layer or for a plurality of depth layers.
12. The method of claim 1, wherein hardware acceleration is used to determine the matching scores for each pixel in the new view for one depth layer or for a plurality of depth layers.
13. The method of claim 1, wherein determining the layer with the best matching score comprises determining a layer that yields a greatest matching score.
14. The method of claim 1, wherein determining the color of the pixel in the layer with the best matching score comprises determining a color by a weighted combination of corresponding pixels of the input images according to one of a group containing the pixel's depth from a viewpoint of the virtual image and a function of an angle and a distance between the viewpoint of the virtual image and a viewpoint of the input image.
15. A system for generating a virtual image of a range space from a first input image of the range space and a second input image of the range space, the system comprising:
means for discretizing the range space into a plurality of layers;
means for warping the first input image to the layer, for each layer of the plurality of layers;
means for warping the second input image to the layer, for each layer of the plurality of layers;
means for determining a matching score based on the warped first input image and the warped second input image, for each pixel in the virtual image, for each layer of the plurality of layers;
means for determining a layer with a best matching score, for each pixel in the virtual image; and
means for determining a color of the pixel in the layer with the best matching score, for each pixel in the virtual image.
16. The system of claim 15, further comprising means for rectifying the first input image and the second input image.
17. The system of claim 15, further comprising means for locating a viewpoint of the virtual image to be on a baseline.
18. The system of claim 15, further comprising means for enforcing scene consistency by performing local depth voting.
19. The system of claim 15, further comprising means for detecting an occlusion in the virtual image by performing local depth voting.
US10/937,034 2003-09-08 2004-09-08 Systems and methods for directly generating a view using a layered approach Active 2024-09-09 US7161606B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/937,034 US7161606B2 (en) 2003-09-08 2004-09-08 Systems and methods for directly generating a view using a layered approach

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US50128803P 2003-09-08 2003-09-08
US10/937,034 US7161606B2 (en) 2003-09-08 2004-09-08 Systems and methods for directly generating a view using a layered approach

Publications (2)

Publication Number Publication Date
US20050151759A1 true US20050151759A1 (en) 2005-07-14
US7161606B2 US7161606B2 (en) 2007-01-09

Family

ID=34312266

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/937,034 Active 2024-09-09 US7161606B2 (en) 2003-09-08 2004-09-08 Systems and methods for directly generating a view using a layered approach

Country Status (2)

Country Link
US (1) US7161606B2 (en)
WO (1) WO2005027038A2 (en)

Cited By (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070159524A1 (en) * 2006-01-09 2007-07-12 Samsung Electronics Co., Ltd. Method and apparatus for providing panoramic view with high speed image matching and mild mixed color blending
US20090185719A1 (en) * 2008-01-21 2009-07-23 The Boeing Company Modeling motion capture volumes with distance fields
US20120039526A1 (en) * 2010-08-13 2012-02-16 Garaas Tyler W Volume-Based Coverage Analysis for Sensor Placement in 3D Environments
WO2013043761A1 (en) * 2011-09-19 2013-03-28 Pelican Imaging Corporation Determining depth from multiple views of a scene that include aliasing using hypothesized fusion
US8596542B2 (en) 2002-06-04 2013-12-03 Hand Held Products, Inc. Apparatus operative for capture of image data
US8608071B2 (en) 2011-10-17 2013-12-17 Honeywell Scanning And Mobility Optical indicia reading terminal with two image sensors
US8619082B1 (en) 2012-08-21 2013-12-31 Pelican Imaging Corporation Systems and methods for parallax detection and correction in images captured using array cameras that contain occlusions using subsets of images to perform depth estimation
US20140071131A1 (en) * 2012-09-13 2014-03-13 Cannon Kabushiki Kaisha Image processing apparatus, image processing method and program
US8804255B2 (en) 2011-06-28 2014-08-12 Pelican Imaging Corporation Optical arrangements for use with an array camera
US8831367B2 (en) 2011-09-28 2014-09-09 Pelican Imaging Corporation Systems and methods for decoding light field image files
US8861089B2 (en) 2009-11-20 2014-10-14 Pelican Imaging Corporation Capturing and processing of images using monolithic camera array with heterogeneous imagers
US8866912B2 (en) 2013-03-10 2014-10-21 Pelican Imaging Corporation System and methods for calibration of an array camera using a single captured image
US8866920B2 (en) 2008-05-20 2014-10-21 Pelican Imaging Corporation Capturing and processing of images using monolithic camera array with heterogeneous imagers
US8878950B2 (en) 2010-12-14 2014-11-04 Pelican Imaging Corporation Systems and methods for synthesizing high resolution images using super-resolution processes
US8885059B1 (en) 2008-05-20 2014-11-11 Pelican Imaging Corporation Systems and methods for measuring depth using images captured by camera arrays
US8928793B2 (en) 2010-05-12 2015-01-06 Pelican Imaging Corporation Imager array interfaces
US9100635B2 (en) 2012-06-28 2015-08-04 Pelican Imaging Corporation Systems and methods for detecting defective camera arrays and optic arrays
US9100586B2 (en) 2013-03-14 2015-08-04 Pelican Imaging Corporation Systems and methods for photometric normalization in array cameras
US9106784B2 (en) 2013-03-13 2015-08-11 Pelican Imaging Corporation Systems and methods for controlling aliasing in images captured by an array camera for use in super-resolution processing
US9124831B2 (en) 2013-03-13 2015-09-01 Pelican Imaging Corporation System and methods for calibration of an array camera
US9143711B2 (en) 2012-11-13 2015-09-22 Pelican Imaging Corporation Systems and methods for array camera focal plane control
US9185276B2 (en) 2013-11-07 2015-11-10 Pelican Imaging Corporation Methods of manufacturing array camera modules incorporating independently aligned lens stacks
US9197821B2 (en) 2011-05-11 2015-11-24 Pelican Imaging Corporation Systems and methods for transmitting and receiving array camera image data
US9210392B2 (en) 2012-05-01 2015-12-08 Pelican Imaging Coporation Camera modules patterned with pi filter groups
US9214013B2 (en) 2012-09-14 2015-12-15 Pelican Imaging Corporation Systems and methods for correcting user identified artifacts in light field images
US9247117B2 (en) 2014-04-07 2016-01-26 Pelican Imaging Corporation Systems and methods for correcting for warpage of a sensor array in an array camera module by introducing warpage into a focal plane of a lens stack array
US9253380B2 (en) 2013-02-24 2016-02-02 Pelican Imaging Corporation Thin form factor computational array cameras and modular array cameras
US9412206B2 (en) 2012-02-21 2016-08-09 Pelican Imaging Corporation Systems and methods for the manipulation of captured light field image data
US9426361B2 (en) 2013-11-26 2016-08-23 Pelican Imaging Corporation Array camera configurations incorporating multiple constituent array cameras
US9438888B2 (en) 2013-03-15 2016-09-06 Pelican Imaging Corporation Systems and methods for stereo imaging with camera arrays
US9445003B1 (en) 2013-03-15 2016-09-13 Pelican Imaging Corporation Systems and methods for synthesizing high resolution images using image deconvolution based on motion and depth information
US9462164B2 (en) 2013-02-21 2016-10-04 Pelican Imaging Corporation Systems and methods for generating compressed light field representation data using captured light fields, array geometry, and parallax information
US9497429B2 (en) 2013-03-15 2016-11-15 Pelican Imaging Corporation Extended color processing on pelican array cameras
US9497370B2 (en) 2013-03-15 2016-11-15 Pelican Imaging Corporation Array camera architecture implementing quantum dot color filters
US9516222B2 (en) 2011-06-28 2016-12-06 Kip Peli P1 Lp Array cameras incorporating monolithic array camera modules with high MTF lens stacks for capture of images used in super-resolution processing
US9521319B2 (en) 2014-06-18 2016-12-13 Pelican Imaging Corporation Array cameras and array camera modules including spectral filters disposed outside of a constituent image sensor
US9519972B2 (en) 2013-03-13 2016-12-13 Kip Peli P1 Lp Systems and methods for synthesizing images from image data captured by an array camera using restricted depth of field depth maps in which depth estimation precision varies
US9521416B1 (en) 2013-03-11 2016-12-13 Kip Peli P1 Lp Systems and methods for image data compression
US9578259B2 (en) 2013-03-14 2017-02-21 Fotonation Cayman Limited Systems and methods for reducing motion blur in images or video in ultra low light with array cameras
US20170084001A1 (en) * 2015-09-22 2017-03-23 Fyusion, Inc. Artificially rendering images using viewpoint interpolation and extrapolation
US9633442B2 (en) 2013-03-15 2017-04-25 Fotonation Cayman Limited Array cameras including an array camera module augmented with a separate camera
US9638883B1 (en) 2013-03-04 2017-05-02 Fotonation Cayman Limited Passive alignment of array camera modules constructed from lens stack arrays and sensors based upon alignment information obtained during manufacture of array camera modules using an active alignment process
US9766380B2 (en) 2012-06-30 2017-09-19 Fotonation Cayman Limited Systems and methods for manufacturing camera modules using active alignment of lens stack arrays and sensors
US9774789B2 (en) 2013-03-08 2017-09-26 Fotonation Cayman Limited Systems and methods for high dynamic range imaging using array cameras
US9813616B2 (en) 2012-08-23 2017-11-07 Fotonation Cayman Limited Feature based high resolution motion estimation from low resolution images captured using an array source
US9888194B2 (en) 2013-03-13 2018-02-06 Fotonation Cayman Limited Array camera architecture implementing quantum film image sensors
US9898856B2 (en) 2013-09-27 2018-02-20 Fotonation Cayman Limited Systems and methods for depth-assisted perspective distortion correction
US9942474B2 (en) 2015-04-17 2018-04-10 Fotonation Cayman Limited Systems and methods for performing high speed video capture and depth estimation using array cameras
US10089740B2 (en) 2014-03-07 2018-10-02 Fotonation Limited System and methods for depth regularization and semiautomatic interactive matting using RGB-D images
US10119808B2 (en) 2013-11-18 2018-11-06 Fotonation Limited Systems and methods for estimating depth from projected texture using camera arrays
US10122993B2 (en) 2013-03-15 2018-11-06 Fotonation Limited Autofocus system for a conventional camera that uses depth information from an array camera
US10250871B2 (en) 2014-09-29 2019-04-02 Fotonation Limited Systems and methods for dynamic calibration of array cameras
US10390005B2 (en) 2012-09-28 2019-08-20 Fotonation Limited Generating images from light fields utilizing virtual viewpoints
US10430995B2 (en) 2014-10-31 2019-10-01 Fyusion, Inc. System and method for infinite synthetic image generation from multi-directional structured image array
US10482618B2 (en) 2017-08-21 2019-11-19 Fotonation Limited Systems and methods for hybrid depth regularization
US10540773B2 (en) 2014-10-31 2020-01-21 Fyusion, Inc. System and method for infinite smoothing of image sequences
US10719939B2 (en) 2014-10-31 2020-07-21 Fyusion, Inc. Real-time mobile device capture and generation of AR/VR content
US10719733B2 (en) 2015-07-15 2020-07-21 Fyusion, Inc. Artificially rendering images using interpolation of tracked control points
US10726560B2 (en) 2014-10-31 2020-07-28 Fyusion, Inc. Real-time mobile device capture and generation of art-styled AR/VR content
US10750161B2 (en) 2015-07-15 2020-08-18 Fyusion, Inc. Multi-view interactive digital media representation lock screen
US10818029B2 (en) 2014-10-31 2020-10-27 Fyusion, Inc. Multi-directional structured image array capture on a 2D graph
US10852902B2 (en) 2015-07-15 2020-12-01 Fyusion, Inc. Automatic tagging of objects on a multi-view interactive digital media representation of a dynamic entity
US11095869B2 (en) 2015-09-22 2021-08-17 Fyusion, Inc. System and method for generating combined embedded multi-view interactive digital media representations
US11195314B2 (en) 2015-07-15 2021-12-07 Fyusion, Inc. Artificially rendering images using viewpoint interpolation and extrapolation
US11202017B2 (en) 2016-10-06 2021-12-14 Fyusion, Inc. Live style transfer on a mobile device
US11270110B2 (en) 2019-09-17 2022-03-08 Boston Polarimetrics, Inc. Systems and methods for surface modeling using polarization cues
US11290658B1 (en) 2021-04-15 2022-03-29 Boston Polarimetrics, Inc. Systems and methods for camera exposure control
US11302012B2 (en) 2019-11-30 2022-04-12 Boston Polarimetrics, Inc. Systems and methods for transparent object segmentation using polarization cues
US11435869B2 (en) 2015-07-15 2022-09-06 Fyusion, Inc. Virtual reality environment based manipulation of multi-layered multi-view interactive digital media representations
US11488380B2 (en) 2018-04-26 2022-11-01 Fyusion, Inc. Method and apparatus for 3-D auto tagging
US11525906B2 (en) 2019-10-07 2022-12-13 Intrinsic Innovation Llc Systems and methods for augmentation of sensor systems and imaging systems with polarization
US11580667B2 (en) 2020-01-29 2023-02-14 Intrinsic Innovation Llc Systems and methods for characterizing object pose detection and measurement systems
US11636637B2 (en) 2015-07-15 2023-04-25 Fyusion, Inc. Artificially rendering images using viewpoint interpolation and extrapolation
US11689813B2 (en) 2021-07-01 2023-06-27 Intrinsic Innovation Llc Systems and methods for high dynamic range imaging using crossed polarizers
US11776229B2 (en) 2017-06-26 2023-10-03 Fyusion, Inc. Modification of multi-view interactive digital media representation
US11783864B2 (en) 2015-09-22 2023-10-10 Fyusion, Inc. Integration of audio into a multi-view interactive digital media representation
US11792538B2 (en) 2008-05-20 2023-10-17 Adeia Imaging Llc Capturing and processing of images including occlusions focused on an image sensor by a lens stack array
US11797863B2 (en) 2020-01-30 2023-10-24 Intrinsic Innovation Llc Systems and methods for synthesizing data for training statistical models on different imaging modalities including polarized images
US11876948B2 (en) 2017-05-22 2024-01-16 Fyusion, Inc. Snapshots at predefined intervals or angles
US11954886B2 (en) 2021-04-15 2024-04-09 Intrinsic Innovation Llc Systems and methods for six-degree of freedom pose estimation of deformable objects

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI348120B (en) * 2008-01-21 2011-09-01 Ind Tech Res Inst Method of synthesizing an image with multi-view images
US8233664B2 (en) 2008-11-12 2012-07-31 Eastman Kodak Company Determining relative depth of points in multiple videos
US8547374B1 (en) 2009-07-24 2013-10-01 Lockheed Martin Corporation Detection and reconstruction of 3D objects with passive imaging sensors
US9489765B2 (en) * 2013-11-18 2016-11-08 Nant Holdings Ip, Llc Silhouette-based object and texture alignment, systems and methods
US9336604B2 (en) 2014-02-08 2016-05-10 Honda Motor Co., Ltd. System and method for generating a depth map through iterative interpolation and warping

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606406B1 (en) * 2000-05-04 2003-08-12 Microsoft Corporation System and method for progressive stereo matching of digital images
US20040095357A1 (en) * 2002-05-21 2004-05-20 Oh Byong Mok Image-based modeling and photo editing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606406B1 (en) * 2000-05-04 2003-08-12 Microsoft Corporation System and method for progressive stereo matching of digital images
US20040095357A1 (en) * 2002-05-21 2004-05-20 Oh Byong Mok Image-based modeling and photo editing

Cited By (216)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9224023B2 (en) 2002-06-04 2015-12-29 Hand Held Products, Inc. Apparatus operative for capture of image data
US8596542B2 (en) 2002-06-04 2013-12-03 Hand Held Products, Inc. Apparatus operative for capture of image data
US8189031B2 (en) * 2006-01-09 2012-05-29 Samsung Electronics Co., Ltd. Method and apparatus for providing panoramic view with high speed image matching and mild mixed color blending
US20070159524A1 (en) * 2006-01-09 2007-07-12 Samsung Electronics Co., Ltd. Method and apparatus for providing panoramic view with high speed image matching and mild mixed color blending
US8452052B2 (en) * 2008-01-21 2013-05-28 The Boeing Company Modeling motion capture volumes with distance fields
US20090185719A1 (en) * 2008-01-21 2009-07-23 The Boeing Company Modeling motion capture volumes with distance fields
US9188765B2 (en) 2008-05-20 2015-11-17 Pelican Imaging Corporation Capturing and processing of images including occlusions focused on an image sensor by a lens stack array
US9712759B2 (en) 2008-05-20 2017-07-18 Fotonation Cayman Limited Systems and methods for generating depth maps using a camera arrays incorporating monochrome and color cameras
US9485496B2 (en) 2008-05-20 2016-11-01 Pelican Imaging Corporation Systems and methods for measuring depth using images captured by a camera array including cameras surrounding a central camera
US9060142B2 (en) 2008-05-20 2015-06-16 Pelican Imaging Corporation Capturing and processing of images captured by camera arrays including heterogeneous optics
US9077893B2 (en) 2008-05-20 2015-07-07 Pelican Imaging Corporation Capturing and processing of images captured by non-grid camera arrays
US9060124B2 (en) 2008-05-20 2015-06-16 Pelican Imaging Corporation Capturing and processing of images using non-monolithic camera arrays
US9576369B2 (en) 2008-05-20 2017-02-21 Fotonation Cayman Limited Systems and methods for generating depth maps using images captured by camera arrays incorporating cameras having different fields of view
US9060121B2 (en) 2008-05-20 2015-06-16 Pelican Imaging Corporation Capturing and processing of images captured by camera arrays including cameras dedicated to sampling luma and cameras dedicated to sampling chroma
US9094661B2 (en) 2008-05-20 2015-07-28 Pelican Imaging Corporation Systems and methods for generating depth maps using a set of images containing a baseline image
US8866920B2 (en) 2008-05-20 2014-10-21 Pelican Imaging Corporation Capturing and processing of images using monolithic camera array with heterogeneous imagers
US10142560B2 (en) 2008-05-20 2018-11-27 Fotonation Limited Capturing and processing of images including occlusions focused on an image sensor by a lens stack array
US8885059B1 (en) 2008-05-20 2014-11-11 Pelican Imaging Corporation Systems and methods for measuring depth using images captured by camera arrays
US8896719B1 (en) 2008-05-20 2014-11-25 Pelican Imaging Corporation Systems and methods for parallax measurement using camera arrays incorporating 3 x 3 camera configurations
US8902321B2 (en) 2008-05-20 2014-12-02 Pelican Imaging Corporation Capturing and processing of images using monolithic camera array with heterogeneous imagers
US9060120B2 (en) 2008-05-20 2015-06-16 Pelican Imaging Corporation Systems and methods for generating depth maps using images captured by camera arrays
US9235898B2 (en) 2008-05-20 2016-01-12 Pelican Imaging Corporation Systems and methods for generating depth maps using light focused on an image sensor by a lens element array
US9055233B2 (en) 2008-05-20 2015-06-09 Pelican Imaging Corporation Systems and methods for synthesizing higher resolution images using a set of images containing a baseline image
US10027901B2 (en) 2008-05-20 2018-07-17 Fotonation Cayman Limited Systems and methods for generating depth maps using a camera arrays incorporating monochrome and color cameras
US9191580B2 (en) 2008-05-20 2015-11-17 Pelican Imaging Corporation Capturing and processing of images including occlusions captured by camera arrays
US9055213B2 (en) 2008-05-20 2015-06-09 Pelican Imaging Corporation Systems and methods for measuring depth using images captured by monolithic camera arrays including at least one bayer camera
US9049391B2 (en) 2008-05-20 2015-06-02 Pelican Imaging Corporation Capturing and processing of near-IR images including occlusions using camera arrays incorporating near-IR light sources
US11412158B2 (en) 2008-05-20 2022-08-09 Fotonation Limited Capturing and processing of images including occlusions focused on an image sensor by a lens stack array
US9041829B2 (en) 2008-05-20 2015-05-26 Pelican Imaging Corporation Capturing and processing of high dynamic range images using camera arrays
US9041823B2 (en) 2008-05-20 2015-05-26 Pelican Imaging Corporation Systems and methods for performing post capture refocus using images captured by camera arrays
US9749547B2 (en) 2008-05-20 2017-08-29 Fotonation Cayman Limited Capturing and processing of images using camera array incorperating Bayer cameras having different fields of view
US9124815B2 (en) 2008-05-20 2015-09-01 Pelican Imaging Corporation Capturing and processing of images including occlusions captured by arrays of luma and chroma cameras
US9049411B2 (en) 2008-05-20 2015-06-02 Pelican Imaging Corporation Camera arrays incorporating 3×3 imager configurations
US9049390B2 (en) 2008-05-20 2015-06-02 Pelican Imaging Corporation Capturing and processing of images captured by arrays including polychromatic cameras
US11792538B2 (en) 2008-05-20 2023-10-17 Adeia Imaging Llc Capturing and processing of images including occlusions focused on an image sensor by a lens stack array
US9049367B2 (en) 2008-05-20 2015-06-02 Pelican Imaging Corporation Systems and methods for synthesizing higher resolution images using images captured by camera arrays
US9049381B2 (en) 2008-05-20 2015-06-02 Pelican Imaging Corporation Systems and methods for normalizing image data captured by camera arrays
US9264610B2 (en) 2009-11-20 2016-02-16 Pelican Imaging Corporation Capturing and processing of images including occlusions captured by heterogeneous camera arrays
US8861089B2 (en) 2009-11-20 2014-10-14 Pelican Imaging Corporation Capturing and processing of images using monolithic camera array with heterogeneous imagers
US10306120B2 (en) 2009-11-20 2019-05-28 Fotonation Limited Capturing and processing of images captured by camera arrays incorporating cameras with telephoto and conventional lenses to generate depth maps
US9936148B2 (en) 2010-05-12 2018-04-03 Fotonation Cayman Limited Imager array interfaces
US8928793B2 (en) 2010-05-12 2015-01-06 Pelican Imaging Corporation Imager array interfaces
US10455168B2 (en) 2010-05-12 2019-10-22 Fotonation Limited Imager array interfaces
US20120039526A1 (en) * 2010-08-13 2012-02-16 Garaas Tyler W Volume-Based Coverage Analysis for Sensor Placement in 3D Environments
US8442306B2 (en) * 2010-08-13 2013-05-14 Mitsubishi Electric Research Laboratories, Inc. Volume-based coverage analysis for sensor placement in 3D environments
US9041824B2 (en) 2010-12-14 2015-05-26 Pelican Imaging Corporation Systems and methods for dynamic refocusing of high resolution images generated using images captured by a plurality of imagers
US8878950B2 (en) 2010-12-14 2014-11-04 Pelican Imaging Corporation Systems and methods for synthesizing high resolution images using super-resolution processes
US9047684B2 (en) 2010-12-14 2015-06-02 Pelican Imaging Corporation Systems and methods for synthesizing high resolution images using a set of geometrically registered images
US10366472B2 (en) 2010-12-14 2019-07-30 Fotonation Limited Systems and methods for synthesizing high resolution images using images captured by an array of independently controllable imagers
US9361662B2 (en) 2010-12-14 2016-06-07 Pelican Imaging Corporation Systems and methods for synthesizing high resolution images using images captured by an array of independently controllable imagers
US11875475B2 (en) 2010-12-14 2024-01-16 Adeia Imaging Llc Systems and methods for synthesizing high resolution images using images captured by an array of independently controllable imagers
US11423513B2 (en) 2010-12-14 2022-08-23 Fotonation Limited Systems and methods for synthesizing high resolution images using images captured by an array of independently controllable imagers
US9866739B2 (en) 2011-05-11 2018-01-09 Fotonation Cayman Limited Systems and methods for transmitting and receiving array camera image data
US10218889B2 (en) 2011-05-11 2019-02-26 Fotonation Limited Systems and methods for transmitting and receiving array camera image data
US10742861B2 (en) 2011-05-11 2020-08-11 Fotonation Limited Systems and methods for transmitting and receiving array camera image data
US9197821B2 (en) 2011-05-11 2015-11-24 Pelican Imaging Corporation Systems and methods for transmitting and receiving array camera image data
US9578237B2 (en) 2011-06-28 2017-02-21 Fotonation Cayman Limited Array cameras incorporating optics with modulation transfer functions greater than sensor Nyquist frequency for capture of images used in super-resolution processing
US9128228B2 (en) 2011-06-28 2015-09-08 Pelican Imaging Corporation Optical arrangements for use with an array camera
US8804255B2 (en) 2011-06-28 2014-08-12 Pelican Imaging Corporation Optical arrangements for use with an array camera
US9516222B2 (en) 2011-06-28 2016-12-06 Kip Peli P1 Lp Array cameras incorporating monolithic array camera modules with high MTF lens stacks for capture of images used in super-resolution processing
US9794476B2 (en) 2011-09-19 2017-10-17 Fotonation Cayman Limited Systems and methods for controlling aliasing in images captured by an array camera for use in super resolution processing using pixel apertures
US10375302B2 (en) 2011-09-19 2019-08-06 Fotonation Limited Systems and methods for controlling aliasing in images captured by an array camera for use in super resolution processing using pixel apertures
WO2013043761A1 (en) * 2011-09-19 2013-03-28 Pelican Imaging Corporation Determining depth from multiple views of a scene that include aliasing using hypothesized fusion
US9031335B2 (en) 2011-09-28 2015-05-12 Pelican Imaging Corporation Systems and methods for encoding light field image files having depth and confidence maps
US8831367B2 (en) 2011-09-28 2014-09-09 Pelican Imaging Corporation Systems and methods for decoding light field image files
US9025894B2 (en) 2011-09-28 2015-05-05 Pelican Imaging Corporation Systems and methods for decoding light field image files having depth and confidence maps
US9025895B2 (en) 2011-09-28 2015-05-05 Pelican Imaging Corporation Systems and methods for decoding refocusable light field image files
US9042667B2 (en) 2011-09-28 2015-05-26 Pelican Imaging Corporation Systems and methods for decoding light field image files using a depth map
US20180197035A1 (en) 2011-09-28 2018-07-12 Fotonation Cayman Limited Systems and Methods for Encoding Image Files Containing Depth Maps Stored as Metadata
US10984276B2 (en) 2011-09-28 2021-04-20 Fotonation Limited Systems and methods for encoding image files containing depth maps stored as metadata
US9036931B2 (en) 2011-09-28 2015-05-19 Pelican Imaging Corporation Systems and methods for decoding structured light field image files
US10019816B2 (en) 2011-09-28 2018-07-10 Fotonation Cayman Limited Systems and methods for decoding image files containing depth maps stored as metadata
US9031343B2 (en) 2011-09-28 2015-05-12 Pelican Imaging Corporation Systems and methods for encoding light field image files having a depth map
US9864921B2 (en) 2011-09-28 2018-01-09 Fotonation Cayman Limited Systems and methods for encoding image files containing depth maps stored as metadata
US9031342B2 (en) 2011-09-28 2015-05-12 Pelican Imaging Corporation Systems and methods for encoding refocusable light field image files
US9036928B2 (en) 2011-09-28 2015-05-19 Pelican Imaging Corporation Systems and methods for encoding structured light field image files
US10430682B2 (en) 2011-09-28 2019-10-01 Fotonation Limited Systems and methods for decoding image files containing depth maps stored as metadata
US9536166B2 (en) 2011-09-28 2017-01-03 Kip Peli P1 Lp Systems and methods for decoding image files containing depth maps stored as metadata
US10275676B2 (en) 2011-09-28 2019-04-30 Fotonation Limited Systems and methods for encoding image files containing depth maps stored as metadata
US9129183B2 (en) 2011-09-28 2015-09-08 Pelican Imaging Corporation Systems and methods for encoding light field image files
US11729365B2 (en) 2011-09-28 2023-08-15 Adela Imaging LLC Systems and methods for encoding image files containing depth maps stored as metadata
US9811753B2 (en) 2011-09-28 2017-11-07 Fotonation Cayman Limited Systems and methods for encoding light field image files
US8608071B2 (en) 2011-10-17 2013-12-17 Honeywell Scanning And Mobility Optical indicia reading terminal with two image sensors
US10311649B2 (en) 2012-02-21 2019-06-04 Fotonation Limited Systems and method for performing depth based image editing
US9754422B2 (en) 2012-02-21 2017-09-05 Fotonation Cayman Limited Systems and method for performing depth based image editing
US9412206B2 (en) 2012-02-21 2016-08-09 Pelican Imaging Corporation Systems and methods for the manipulation of captured light field image data
US9210392B2 (en) 2012-05-01 2015-12-08 Pelican Imaging Coporation Camera modules patterned with pi filter groups
US9706132B2 (en) 2012-05-01 2017-07-11 Fotonation Cayman Limited Camera modules patterned with pi filter groups
US10334241B2 (en) 2012-06-28 2019-06-25 Fotonation Limited Systems and methods for detecting defective camera arrays and optic arrays
US9100635B2 (en) 2012-06-28 2015-08-04 Pelican Imaging Corporation Systems and methods for detecting defective camera arrays and optic arrays
US9807382B2 (en) 2012-06-28 2017-10-31 Fotonation Cayman Limited Systems and methods for detecting defective camera arrays and optic arrays
US9766380B2 (en) 2012-06-30 2017-09-19 Fotonation Cayman Limited Systems and methods for manufacturing camera modules using active alignment of lens stack arrays and sensors
US10261219B2 (en) 2012-06-30 2019-04-16 Fotonation Limited Systems and methods for manufacturing camera modules using active alignment of lens stack arrays and sensors
US11022725B2 (en) 2012-06-30 2021-06-01 Fotonation Limited Systems and methods for manufacturing camera modules using active alignment of lens stack arrays and sensors
US9147254B2 (en) 2012-08-21 2015-09-29 Pelican Imaging Corporation Systems and methods for measuring depth in the presence of occlusions using a subset of images
US10380752B2 (en) 2012-08-21 2019-08-13 Fotonation Limited Systems and methods for estimating depth and visibility from a reference viewpoint for pixels in a set of images captured from different viewpoints
US9235900B2 (en) 2012-08-21 2016-01-12 Pelican Imaging Corporation Systems and methods for estimating depth and visibility from a reference viewpoint for pixels in a set of images captured from different viewpoints
US9240049B2 (en) 2012-08-21 2016-01-19 Pelican Imaging Corporation Systems and methods for measuring depth using an array of independently controllable cameras
US9858673B2 (en) 2012-08-21 2018-01-02 Fotonation Cayman Limited Systems and methods for estimating depth and visibility from a reference viewpoint for pixels in a set of images captured from different viewpoints
US8619082B1 (en) 2012-08-21 2013-12-31 Pelican Imaging Corporation Systems and methods for parallax detection and correction in images captured using array cameras that contain occlusions using subsets of images to perform depth estimation
US9123118B2 (en) 2012-08-21 2015-09-01 Pelican Imaging Corporation System and methods for measuring depth using an array camera employing a bayer filter
US9129377B2 (en) 2012-08-21 2015-09-08 Pelican Imaging Corporation Systems and methods for measuring depth based upon occlusion patterns in images
US9123117B2 (en) 2012-08-21 2015-09-01 Pelican Imaging Corporation Systems and methods for generating depth maps and corresponding confidence maps indicating depth estimation reliability
US10462362B2 (en) 2012-08-23 2019-10-29 Fotonation Limited Feature based high resolution motion estimation from low resolution images captured using an array source
US9813616B2 (en) 2012-08-23 2017-11-07 Fotonation Cayman Limited Feature based high resolution motion estimation from low resolution images captured using an array source
US20140071131A1 (en) * 2012-09-13 2014-03-13 Cannon Kabushiki Kaisha Image processing apparatus, image processing method and program
US9214013B2 (en) 2012-09-14 2015-12-15 Pelican Imaging Corporation Systems and methods for correcting user identified artifacts in light field images
US10390005B2 (en) 2012-09-28 2019-08-20 Fotonation Limited Generating images from light fields utilizing virtual viewpoints
US9749568B2 (en) 2012-11-13 2017-08-29 Fotonation Cayman Limited Systems and methods for array camera focal plane control
US9143711B2 (en) 2012-11-13 2015-09-22 Pelican Imaging Corporation Systems and methods for array camera focal plane control
US10009538B2 (en) 2013-02-21 2018-06-26 Fotonation Cayman Limited Systems and methods for generating compressed light field representation data using captured light fields, array geometry, and parallax information
US9462164B2 (en) 2013-02-21 2016-10-04 Pelican Imaging Corporation Systems and methods for generating compressed light field representation data using captured light fields, array geometry, and parallax information
US9774831B2 (en) 2013-02-24 2017-09-26 Fotonation Cayman Limited Thin form factor computational array cameras and modular array cameras
US9743051B2 (en) 2013-02-24 2017-08-22 Fotonation Cayman Limited Thin form factor computational array cameras and modular array cameras
US9374512B2 (en) 2013-02-24 2016-06-21 Pelican Imaging Corporation Thin form factor computational array cameras and modular array cameras
US9253380B2 (en) 2013-02-24 2016-02-02 Pelican Imaging Corporation Thin form factor computational array cameras and modular array cameras
US9638883B1 (en) 2013-03-04 2017-05-02 Fotonation Cayman Limited Passive alignment of array camera modules constructed from lens stack arrays and sensors based upon alignment information obtained during manufacture of array camera modules using an active alignment process
US9917998B2 (en) 2013-03-08 2018-03-13 Fotonation Cayman Limited Systems and methods for measuring scene information while capturing images using array cameras
US9774789B2 (en) 2013-03-08 2017-09-26 Fotonation Cayman Limited Systems and methods for high dynamic range imaging using array cameras
US10958892B2 (en) 2013-03-10 2021-03-23 Fotonation Limited System and methods for calibration of an array camera
US8866912B2 (en) 2013-03-10 2014-10-21 Pelican Imaging Corporation System and methods for calibration of an array camera using a single captured image
US10225543B2 (en) 2013-03-10 2019-03-05 Fotonation Limited System and methods for calibration of an array camera
US9124864B2 (en) 2013-03-10 2015-09-01 Pelican Imaging Corporation System and methods for calibration of an array camera
US11272161B2 (en) 2013-03-10 2022-03-08 Fotonation Limited System and methods for calibration of an array camera
US11570423B2 (en) 2013-03-10 2023-01-31 Adeia Imaging Llc System and methods for calibration of an array camera
US9986224B2 (en) 2013-03-10 2018-05-29 Fotonation Cayman Limited System and methods for calibration of an array camera
US9521416B1 (en) 2013-03-11 2016-12-13 Kip Peli P1 Lp Systems and methods for image data compression
US9741118B2 (en) 2013-03-13 2017-08-22 Fotonation Cayman Limited System and methods for calibration of an array camera
US10127682B2 (en) 2013-03-13 2018-11-13 Fotonation Limited System and methods for calibration of an array camera
US9106784B2 (en) 2013-03-13 2015-08-11 Pelican Imaging Corporation Systems and methods for controlling aliasing in images captured by an array camera for use in super-resolution processing
US9733486B2 (en) 2013-03-13 2017-08-15 Fotonation Cayman Limited Systems and methods for controlling aliasing in images captured by an array camera for use in super-resolution processing
US9519972B2 (en) 2013-03-13 2016-12-13 Kip Peli P1 Lp Systems and methods for synthesizing images from image data captured by an array camera using restricted depth of field depth maps in which depth estimation precision varies
US9124831B2 (en) 2013-03-13 2015-09-01 Pelican Imaging Corporation System and methods for calibration of an array camera
US9888194B2 (en) 2013-03-13 2018-02-06 Fotonation Cayman Limited Array camera architecture implementing quantum film image sensors
US9800856B2 (en) 2013-03-13 2017-10-24 Fotonation Cayman Limited Systems and methods for synthesizing images from image data captured by an array camera using restricted depth of field depth maps in which depth estimation precision varies
US9578259B2 (en) 2013-03-14 2017-02-21 Fotonation Cayman Limited Systems and methods for reducing motion blur in images or video in ultra low light with array cameras
US10091405B2 (en) 2013-03-14 2018-10-02 Fotonation Cayman Limited Systems and methods for reducing motion blur in images or video in ultra low light with array cameras
US9787911B2 (en) 2013-03-14 2017-10-10 Fotonation Cayman Limited Systems and methods for photometric normalization in array cameras
US10547772B2 (en) 2013-03-14 2020-01-28 Fotonation Limited Systems and methods for reducing motion blur in images or video in ultra low light with array cameras
US9100586B2 (en) 2013-03-14 2015-08-04 Pelican Imaging Corporation Systems and methods for photometric normalization in array cameras
US10412314B2 (en) 2013-03-14 2019-09-10 Fotonation Limited Systems and methods for photometric normalization in array cameras
US10542208B2 (en) 2013-03-15 2020-01-21 Fotonation Limited Systems and methods for synthesizing high resolution images using image deconvolution based on motion and depth information
US10455218B2 (en) 2013-03-15 2019-10-22 Fotonation Limited Systems and methods for estimating depth using stereo array cameras
US9633442B2 (en) 2013-03-15 2017-04-25 Fotonation Cayman Limited Array cameras including an array camera module augmented with a separate camera
US9497370B2 (en) 2013-03-15 2016-11-15 Pelican Imaging Corporation Array camera architecture implementing quantum dot color filters
US9497429B2 (en) 2013-03-15 2016-11-15 Pelican Imaging Corporation Extended color processing on pelican array cameras
US10182216B2 (en) 2013-03-15 2019-01-15 Fotonation Limited Extended color processing on pelican array cameras
US9445003B1 (en) 2013-03-15 2016-09-13 Pelican Imaging Corporation Systems and methods for synthesizing high resolution images using image deconvolution based on motion and depth information
US9438888B2 (en) 2013-03-15 2016-09-06 Pelican Imaging Corporation Systems and methods for stereo imaging with camera arrays
US9800859B2 (en) 2013-03-15 2017-10-24 Fotonation Cayman Limited Systems and methods for estimating depth using stereo array cameras
US10122993B2 (en) 2013-03-15 2018-11-06 Fotonation Limited Autofocus system for a conventional camera that uses depth information from an array camera
US9602805B2 (en) 2013-03-15 2017-03-21 Fotonation Cayman Limited Systems and methods for estimating depth using ad hoc stereo array cameras
US9955070B2 (en) 2013-03-15 2018-04-24 Fotonation Cayman Limited Systems and methods for synthesizing high resolution images using image deconvolution based on motion and depth information
US10674138B2 (en) 2013-03-15 2020-06-02 Fotonation Limited Autofocus system for a conventional camera that uses depth information from an array camera
US10638099B2 (en) 2013-03-15 2020-04-28 Fotonation Limited Extended color processing on pelican array cameras
US9898856B2 (en) 2013-09-27 2018-02-20 Fotonation Cayman Limited Systems and methods for depth-assisted perspective distortion correction
US10540806B2 (en) 2013-09-27 2020-01-21 Fotonation Limited Systems and methods for depth-assisted perspective distortion correction
US9264592B2 (en) 2013-11-07 2016-02-16 Pelican Imaging Corporation Array camera modules incorporating independently aligned lens stacks
US9426343B2 (en) 2013-11-07 2016-08-23 Pelican Imaging Corporation Array cameras incorporating independently aligned lens stacks
US9924092B2 (en) 2013-11-07 2018-03-20 Fotonation Cayman Limited Array cameras incorporating independently aligned lens stacks
US9185276B2 (en) 2013-11-07 2015-11-10 Pelican Imaging Corporation Methods of manufacturing array camera modules incorporating independently aligned lens stacks
US10119808B2 (en) 2013-11-18 2018-11-06 Fotonation Limited Systems and methods for estimating depth from projected texture using camera arrays
US10767981B2 (en) 2013-11-18 2020-09-08 Fotonation Limited Systems and methods for estimating depth from projected texture using camera arrays
US11486698B2 (en) 2013-11-18 2022-11-01 Fotonation Limited Systems and methods for estimating depth from projected texture using camera arrays
US9813617B2 (en) 2013-11-26 2017-11-07 Fotonation Cayman Limited Array camera configurations incorporating constituent array cameras and constituent cameras
US10708492B2 (en) 2013-11-26 2020-07-07 Fotonation Limited Array camera configurations incorporating constituent array cameras and constituent cameras
US9426361B2 (en) 2013-11-26 2016-08-23 Pelican Imaging Corporation Array camera configurations incorporating multiple constituent array cameras
US9456134B2 (en) 2013-11-26 2016-09-27 Pelican Imaging Corporation Array camera configurations incorporating constituent array cameras and constituent cameras
US10574905B2 (en) 2014-03-07 2020-02-25 Fotonation Limited System and methods for depth regularization and semiautomatic interactive matting using RGB-D images
US10089740B2 (en) 2014-03-07 2018-10-02 Fotonation Limited System and methods for depth regularization and semiautomatic interactive matting using RGB-D images
US9247117B2 (en) 2014-04-07 2016-01-26 Pelican Imaging Corporation Systems and methods for correcting for warpage of a sensor array in an array camera module by introducing warpage into a focal plane of a lens stack array
US9521319B2 (en) 2014-06-18 2016-12-13 Pelican Imaging Corporation Array cameras and array camera modules including spectral filters disposed outside of a constituent image sensor
US11546576B2 (en) 2014-09-29 2023-01-03 Adeia Imaging Llc Systems and methods for dynamic calibration of array cameras
US10250871B2 (en) 2014-09-29 2019-04-02 Fotonation Limited Systems and methods for dynamic calibration of array cameras
US10726560B2 (en) 2014-10-31 2020-07-28 Fyusion, Inc. Real-time mobile device capture and generation of art-styled AR/VR content
US10818029B2 (en) 2014-10-31 2020-10-27 Fyusion, Inc. Multi-directional structured image array capture on a 2D graph
US10719939B2 (en) 2014-10-31 2020-07-21 Fyusion, Inc. Real-time mobile device capture and generation of AR/VR content
US10846913B2 (en) 2014-10-31 2020-11-24 Fyusion, Inc. System and method for infinite synthetic image generation from multi-directional structured image array
US10540773B2 (en) 2014-10-31 2020-01-21 Fyusion, Inc. System and method for infinite smoothing of image sequences
US10430995B2 (en) 2014-10-31 2019-10-01 Fyusion, Inc. System and method for infinite synthetic image generation from multi-directional structured image array
US9942474B2 (en) 2015-04-17 2018-04-10 Fotonation Cayman Limited Systems and methods for performing high speed video capture and depth estimation using array cameras
US10852902B2 (en) 2015-07-15 2020-12-01 Fyusion, Inc. Automatic tagging of objects on a multi-view interactive digital media representation of a dynamic entity
US11632533B2 (en) 2015-07-15 2023-04-18 Fyusion, Inc. System and method for generating combined embedded multi-view interactive digital media representations
US11776199B2 (en) 2015-07-15 2023-10-03 Fyusion, Inc. Virtual reality environment based manipulation of multi-layered multi-view interactive digital media representations
US10719733B2 (en) 2015-07-15 2020-07-21 Fyusion, Inc. Artificially rendering images using interpolation of tracked control points
US11636637B2 (en) 2015-07-15 2023-04-25 Fyusion, Inc. Artificially rendering images using viewpoint interpolation and extrapolation
US11195314B2 (en) 2015-07-15 2021-12-07 Fyusion, Inc. Artificially rendering images using viewpoint interpolation and extrapolation
US10733475B2 (en) 2015-07-15 2020-08-04 Fyusion, Inc. Artificially rendering images using interpolation of tracked control points
US10748313B2 (en) 2015-07-15 2020-08-18 Fyusion, Inc. Dynamic multi-view interactive digital media representation lock screen
US10750161B2 (en) 2015-07-15 2020-08-18 Fyusion, Inc. Multi-view interactive digital media representation lock screen
US11435869B2 (en) 2015-07-15 2022-09-06 Fyusion, Inc. Virtual reality environment based manipulation of multi-layered multi-view interactive digital media representations
US10726593B2 (en) * 2015-09-22 2020-07-28 Fyusion, Inc. Artificially rendering images using viewpoint interpolation and extrapolation
US11783864B2 (en) 2015-09-22 2023-10-10 Fyusion, Inc. Integration of audio into a multi-view interactive digital media representation
US20170084001A1 (en) * 2015-09-22 2017-03-23 Fyusion, Inc. Artificially rendering images using viewpoint interpolation and extrapolation
US11095869B2 (en) 2015-09-22 2021-08-17 Fyusion, Inc. System and method for generating combined embedded multi-view interactive digital media representations
US11202017B2 (en) 2016-10-06 2021-12-14 Fyusion, Inc. Live style transfer on a mobile device
US11876948B2 (en) 2017-05-22 2024-01-16 Fyusion, Inc. Snapshots at predefined intervals or angles
US11776229B2 (en) 2017-06-26 2023-10-03 Fyusion, Inc. Modification of multi-view interactive digital media representation
US11562498B2 (en) 2017-08-21 2023-01-24 Adela Imaging LLC Systems and methods for hybrid depth regularization
US10482618B2 (en) 2017-08-21 2019-11-19 Fotonation Limited Systems and methods for hybrid depth regularization
US10818026B2 (en) 2017-08-21 2020-10-27 Fotonation Limited Systems and methods for hybrid depth regularization
US11488380B2 (en) 2018-04-26 2022-11-01 Fyusion, Inc. Method and apparatus for 3-D auto tagging
US11699273B2 (en) 2019-09-17 2023-07-11 Intrinsic Innovation Llc Systems and methods for surface modeling using polarization cues
US11270110B2 (en) 2019-09-17 2022-03-08 Boston Polarimetrics, Inc. Systems and methods for surface modeling using polarization cues
US11525906B2 (en) 2019-10-07 2022-12-13 Intrinsic Innovation Llc Systems and methods for augmentation of sensor systems and imaging systems with polarization
US11842495B2 (en) 2019-11-30 2023-12-12 Intrinsic Innovation Llc Systems and methods for transparent object segmentation using polarization cues
US11302012B2 (en) 2019-11-30 2022-04-12 Boston Polarimetrics, Inc. Systems and methods for transparent object segmentation using polarization cues
US11580667B2 (en) 2020-01-29 2023-02-14 Intrinsic Innovation Llc Systems and methods for characterizing object pose detection and measurement systems
US11797863B2 (en) 2020-01-30 2023-10-24 Intrinsic Innovation Llc Systems and methods for synthesizing data for training statistical models on different imaging modalities including polarized images
US11956412B2 (en) 2020-03-09 2024-04-09 Fyusion, Inc. Drone based capture of multi-view interactive digital media
US11683594B2 (en) 2021-04-15 2023-06-20 Intrinsic Innovation Llc Systems and methods for camera exposure control
US11290658B1 (en) 2021-04-15 2022-03-29 Boston Polarimetrics, Inc. Systems and methods for camera exposure control
US11954886B2 (en) 2021-04-15 2024-04-09 Intrinsic Innovation Llc Systems and methods for six-degree of freedom pose estimation of deformable objects
US11953700B2 (en) 2021-05-27 2024-04-09 Intrinsic Innovation Llc Multi-aperture polarization optical systems using beam splitters
US11689813B2 (en) 2021-07-01 2023-06-27 Intrinsic Innovation Llc Systems and methods for high dynamic range imaging using crossed polarizers
US11960533B2 (en) 2022-07-25 2024-04-16 Fyusion, Inc. Visual search using multi-view interactive digital media representations

Also Published As

Publication number Publication date
WO2005027038A3 (en) 2006-02-23
WO2005027038A2 (en) 2005-03-24
US7161606B2 (en) 2007-01-09

Similar Documents

Publication Publication Date Title
US7161606B2 (en) Systems and methods for directly generating a view using a layered approach
US5917937A (en) Method for performing stereo matching to recover depths, colors and opacities of surface elements
US9519968B2 (en) Calibrating visual sensors using homography operators
US6834250B2 (en) Position and orientation determining method and apparatus and storage medium
JP5248806B2 (en) Information processing apparatus and information processing method
US9704246B2 (en) Image processing apparatus, image processing method, and storage medium
US9141873B2 (en) Apparatus for measuring three-dimensional position, method thereof, and program
CN108805979A (en) A kind of dynamic model three-dimensional rebuilding method, device, equipment and storage medium
US11704825B2 (en) Method for acquiring distance from moving body to at least one object located in any direction of moving body by utilizing camera-view depth map and image processing device using the same
CN111295667A (en) Image stereo matching method and driving assisting device
US20230394834A1 (en) Method, system and computer readable media for object detection coverage estimation
US20220148200A1 (en) Estimating the movement of an image position
Hu et al. IMGTR: Image-triangle based multi-view 3D reconstruction for urban scenes
US20240112301A1 (en) Vehicle undercarriage imaging
US20160086311A1 (en) High-resolution image generation apparatus, high-resolution image generation method, and high-resolution image generation program
US11645773B2 (en) Method for acquiring distance from moving body to at least one object located in any direction of moving body by performing near region sensing and image processing device using the same
US10339702B2 (en) Method for improving occluded edge quality in augmented reality based on depth camera
US20220301176A1 (en) Object detection method, object detection device, terminal device, and medium
JP7061092B2 (en) Image processing equipment and programs
Cheng et al. Texture mapping 3d planar models of indoor environments with noisy camera poses
JP2001236503A (en) Correspondent point searching method
Laycock et al. Image Registration in a Coarse Three‐Dimensional Virtual Environment
Kirchhof Linear constraints in two-view multiple homography estimation of uncalibrated scenes
Agrawal et al. Ego-motion estimation and 3d model refinement in scenes with varying illumination
CN117876617A (en) Parking lot map building method, electronic equipment and storage medium

Legal Events

Date Code Title Description
AS Assignment

Owner name: HONDA MOTOR CO., LTD., JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GONZALEZ-BANOS, HECTOR H.;REEL/FRAME:015546/0503

Effective date: 20041122

Owner name: THE REGENTS OF THE UNIVERSITY OF CALIFORNIA, CALIF

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TAO, HAI;KONG, DAN;REEL/FRAME:015546/0393;SIGNING DATES FROM 20041227 TO 20041230

STCF Information on status: patent grant

Free format text: PATENTED CASE

CC Certificate of correction
FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553)

Year of fee payment: 12