Patents by Inventor Charles T. Loop
Charles T. Loop has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 9984498Abstract: Processes and systems described herein enable a computing device to perform voxel-based three-dimensional (3D) reconstruction modeling using parallel graphics hardware. The computing device may generate an initial low resolution voxel list. The voxels of the voxel list may be represented as index triples corresponding to the 3D spatial location of a cell within a voxel grid (e.g., {ix, iy, iz}). Based on information of input images associated with an object, the computing device may remove certain voxels that do not intersect with a surface of the object. The remaining voxels may be subdivided one or more times into a certain number of sub-voxels in parallel to generate a new voxel list. The newly generated voxel list may be tested again to determine voxels that do not intersect with the object surface. This process may repeat in part. The output voxels may be rendered as projected images.Type: GrantFiled: April 18, 2014Date of Patent: May 29, 2018Assignee: Microsoft Technology Licensing, LLCInventor: Charles T. Loop
-
Publication number: 20150022521Abstract: Processes and systems described herein enable a computing device to perform voxel-based three-dimensional (3D) reconstruction modeling using parallel graphics hardware. The computing device may generate an initial low resolution voxel list. The voxels of the voxel list may be represented as index triples corresponding to the 3D spatial location of a cell within a voxel grid (e.g., {ix, iy, iz}). Based on information of input images associated with an object, the computing device may remove certain voxels that do not intersect with a surface of the object. The remaining voxels may be subdivided one or more times into a certain number of sub-voxels in parallel to generate a new voxel list. The newly generated voxel list may be tested again to determine voxels that do not intersect with the object surface. This process may repeat in part. The output voxels may be rendered as projected images.Type: ApplicationFiled: April 18, 2014Publication date: January 22, 2015Applicant: Microsoft CorporationInventor: Charles T. Loop
-
Patent number: 8154546Abstract: A “Rational Z-Buffer” provides various techniques for reducing artifacts when rendering graphics using z-buffers. In particular, the Rational Z-Buffer reduces the likelihood of z-buffer collisions when using hardware or software z-buffer algorithms to render graphics by delaying homogenous division of pixels until after occlusion testing. Further, occlusion testing between any two pixels, p0 and p1, is accomplished by comparing rational depth values, r0={z0, w0} and r1={z1, w1}, for pixel p0 and p1 to determine which pixels are visible. Depth values are compared by determining whether the expression z0w1<z1w0 is true. If true, then pixel p0 occludes pixel p1 in clipping cube space relative to an image-plane defined by a particular viewpoint and the field of view.Type: GrantFiled: June 27, 2008Date of Patent: April 10, 2012Assignee: Microsoft CorporationInventor: Charles T. Loop
-
Patent number: 7924278Abstract: Surfaces defined by Bézier tetrahedron are generated on programmable graphics hardware. Custom programmed vertex processing, performed by either the CPU or the GPU includes the computation of a symmetric tensor and the assignment of the unique elements of the computed symmetric tensor as vertex attribute data. The vertex attribute data is interpolated by the graphics hardware and output to custom programmed pixel processing. The pixel processing uses the interpolated vertex attribute data to reconstruct, at each pixel, the symmetric tensor which enables the determination of the roots of the polynomial defining the surface to be generated. If no real roots exist, the pixel processing can exit early. If the roots of the polynomial exist, the smallest root can be used as the basis for computing a normal to a point on the surface being rendered, enabling the determination of the color and depth of that pixel.Type: GrantFiled: July 28, 2006Date of Patent: April 12, 2011Assignee: Microsoft CorporationInventors: Charles T. Loop, James F. Blinn
-
Publication number: 20090322746Abstract: A “Rational Z-Buffer” provides various techniques for reducing artifacts when rendering graphics using z-buffers. In particular, the Rational Z-Buffer reduces the likelihood of z-buffer collisions when using hardware or software z-buffer algorithms to render graphics by delaying homogenous division of pixels until after occlusion testing. Further, occlusion testing between any two pixels, p0 and p1, is accomplished by comparing rational depth values, r0={z0, w0} and r1={z1, w1}, for pixel p0 and p1 to determine which pixels are visible. Depth values are compared by determining whether the expression z0w1<z1w0 is true. If true, then pixel p0 occludes pixel p1 in clipping cube space relative to an image-plane defined by a particular viewpoint and the field of view.Type: ApplicationFiled: June 27, 2008Publication date: December 31, 2009Applicant: Microsoft CorporationInventor: Charles T. Loop
-
Patent number: 7564459Abstract: A shape defined partially be a Bézier curve is rendered through a GPU-implemented technique which determines for various screen points which side of the curve the points lie on. This is done in the particular case of cubic Bézier curves for shapes defined by the Bézier control points of the curves. The type of the curve is identified through an analysis of an inflection point polynomial based on the curve. The curve is then projected to a canonical implicit form in a canonical texture space, allowing computation to be efficiently performed on a simple canonical form of the curve.Type: GrantFiled: October 31, 2005Date of Patent: July 21, 2009Assignee: Microsoft CorporationInventors: Charles T. Loop, James Frederick Blinn
-
Patent number: 7466314Abstract: Surfaces defined by a Bézier tetrahedron, and in particular quadric surfaces, are rendered on programmable graphics hardware. Pixels are rendered through triangular sides of the tetrahedra and locations on the shapes, as well as surface normals for lighting evaluations, are computed using pixel shader computations. Additionally, vertex shaders are used to aid interpolation over a small number of values as input to the pixel shaders. Through this, rendering of the surfaces is performed independently of viewing resolution, allowing for advanced level-of-detail management. By individually rendering tetrahedrally-defined surfaces which together form complex shapes, the complex shapes can be rendered in their entirety.Type: GrantFiled: October 27, 2005Date of Patent: December 16, 2008Assignee: Microsoft CorporationInventors: Charles T. Loop, James Frederick Blinn
-
Publication number: 20080043023Abstract: Surface modeling systems and techniques are described which approximate Catmull-Clark subdivision surfaces. A quadrilateral mesh is analyzed by applying shape and tangent masks to faces on the quad-mesh. Through application of the shape masks, a shape patch is created which approximates the subdivision limit surface. This shape patch can be used for rendering surface shape. Through application of tangent masks, tangent patches are created which comprise tangent vectors which give rise to continuous normal vector fields, which can be used for shading of the surface.Type: ApplicationFiled: August 15, 2006Publication date: February 21, 2008Applicant: Microsoft CorporationInventors: Charles T. Loop, Scott David Schaefer
-
Publication number: 20080024490Abstract: Surfaces defined by Bézier tetrahedron are generated on programmable graphics hardware. Custom programmed vertex processing, performed by either the CPU or the GPU includes the computation of a symmetric tensor and the assignment of the unique elements of the computed symmetric tensor as vertex attribute data. The vertex attribute data is interpolated by the graphics hardware and output to custom programmed pixel processing. The pixel processing uses the interpolated vertex attribute data to reconstruct, at each pixel, the symmetric tensor which enables the determination of the roots of the polynomial defining the surface to be generated. If no real roots exist, the pixel processing can exit early. If the roots of the polynomial exist, the smallest root can be used as the basis for computing a normal to a point on the surface being rendered, enabling the determination of the color and depth of that pixel.Type: ApplicationFiled: July 28, 2006Publication date: January 31, 2008Applicant: Microsoft CorporationInventors: Charles T. Loop, James F. Blinn
-
Patent number: 7283133Abstract: Improved triangle management in triangular meshes uses a data structure having two fields to store data for each triangle in the triangular mesh. The first field is a set of three vertices for the triangle and the second field is a set of three edges, each edge corresponding to one of the three vertices. Each of the three edges is an identification of a next or subsequent edge that is encountered when performing a traversal (e.g., in a counterclockwise direction) about the corresponding vertex. According to one aspect, three operators are defined to assist in management of the triangular mesh. These operators are a make edge operator, a splice operator, and a swap operator, and are selectively invoked to both add triangles to the triangular mesh and remove triangles from the triangular mesh.Type: GrantFiled: March 31, 2006Date of Patent: October 16, 2007Assignee: Microsoft CorporationInventor: Charles T. Loop
-
Patent number: 7136063Abstract: Improved triangle management in triangular meshes uses a data structure having two fields to store data for each triangle in the triangular mesh. The first field is a set of three vertices for the triangle and the second field is a set of three edges, each edge corresponding to one of the three vertices. Each of the three edges is an identification of a next or subsequent edge that is encountered when performing a traversal (e.g., in a counterclockwise direction) about the corresponding vertex. According to one aspect, three operators are defined to assist in management of the triangular mesh. These operators are a make edge operator, a splice operator, and a swap operator, and are selectively invoked to both add triangles to the triangular mesh and remove triangles from the triangular mesh.Type: GrantFiled: March 19, 2001Date of Patent: November 14, 2006Assignee: Microsoft CorporationInventor: Charles T. Loop
-
Patent number: 6771810Abstract: The present invention is embodied in a system and method for estimating epipolar geometry, in terms of a fundamental matrix, between multiple images of an object for stereo vision processing. The fundamental matrix embodies the epipolar geometry between the images. In general, the present invention includes a method for estimating epipolar geometry between multiple images of an original space given an initial estimate of the fundamental matrix found using a standard linear estimation technique. Namely, the system and method of the present invention estimates the fundamental matrix by transforming image points of multiple images into projective space. After this transformation is performed, nonlinear optimization is used with one parameterization of the fundamental matrix. The images are then inverse transformed back to the original space with a final estimate of the fundamental matrix. In addition, the original noise information is preserved during the optimization in the projective space.Type: GrantFiled: June 16, 2000Date of Patent: August 3, 2004Assignee: Microsoft CorporationInventors: Zhengyou Zhang, Charles T. Loop
-
Patent number: 6608923Abstract: The present invention is embodied in a system and method for rectifying two dimensional images of three dimensional (3D) objects for stereo vision processing. In general, the system and method of the present invention computes 2D projective transforms or homographies derived from specialized projective and affine transforms or components. The affine transform is comprised of a first transform and an optional second transform for image rectification. During image rectification of the present invention, optimization techniques are used for reducing the distortion.Type: GrantFiled: June 19, 1999Date of Patent: August 19, 2003Assignee: Microsoft CorporationInventors: Zhengyou Zhang, Charles T. Loop
-
Patent number: 6606404Abstract: The present invention is embodied in a system and method for computing rectifying homographies for stereo vision processing of three dimensional (3D) objects. In general, the system and method of the present invention computes 2D projective transforms or homographies derived from specialized projective and affine transforms or components. The affine transform is comprised of a similarity transform and an optional shearing transform for image rectification. During image rectification of the present invention, optimization techniques are used for reducing the distortion.Type: GrantFiled: June 19, 1999Date of Patent: August 12, 2003Assignee: Microsoft CorporationInventors: Zhengyou Zhang, Charles T. Loop
-
Publication number: 20020167516Abstract: Improved triangle management in triangular meshes uses a data structure having two fields to store data for each triangle in the triangular mesh. The first field is a set of three vertices for the triangle and the second field is a set of three edges, each edge corresponding to one of the three vertices. Each of the three edges is an identification of a next or subsequent edge that is encountered when performing a traversal (e.g., in a counterclockwise direction) about the corresponding vertex. According to one aspect, three operators are defined to assist in management of the triangular mesh. These operators are a make edge operator, a splice operator, and a swap operator, and are selectively invoked to both add triangles to the triangular mesh and remove triangles from the triangular mesh.Type: ApplicationFiled: March 19, 2001Publication date: November 14, 2002Inventor: Charles T. Loop
-
Patent number: 6230318Abstract: An application program is constructed entirely from a collection of individual reusable tools arranged in a tree structure. Each tool provides resources for other tools in the tree, located by a hierarchical search. A configuration file read into the root tool of the structure as a resource provides a persistent specification of the placement of other tools in the tree, user interface elements, and other state information. The interfaces used by the tools can also be stored as resources in the tools themselves. Each tool is a class in an object-oriented language having inheritance. A base class, subclassed by all tools, provides a number of widely useful functions.Type: GrantFiled: February 24, 1998Date of Patent: May 8, 2001Assignee: Microsoft CorporationInventors: Mark A. B. Halstead, Charles T. Loop
-
Patent number: 6157383Abstract: A user interface for a three-dimensional (3D) environment is comprised of a pointer and a control polyhedra. Movement of the pointer is controlled by a pointing device, such as a mouse or trackball. The control polyhedra has at least one visible face and each visible face is parallel to a plane of the three-dimensional environment. Selection of the visible face using the pointing device moves the control polyhedra in the plane parallel to the visible face.Type: GrantFiled: June 29, 1998Date of Patent: December 5, 2000Assignee: Microsoft CorporationInventor: Charles T. Loop