Patents by Inventor Michael F. Deering

Michael F. Deering 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: 6747663
    Abstract: A graphics system comprises a rendering unit, a sample buffer and a sample-to-pixel calculation unit. The rendering unit receives graphics data specifying three triangle vertices, generates sample positions, and determines which samples reside inside the triangle. The rendering unit computes an axial rate of change of an ordinate based on the positions and ordinates of the vertices, and, for each sample residing inside the triangle, (a) multiplies the axial rate by a edge-relative sample displacement resulting in a first product, (b) interpolates a projection value for a projection point on a first edge of the triangle, and (c) adds the first product to the projection value resulting in a sample ordinate value. The sample buffer stores the sample ordinate value the samples inside the triangle. The sample-to-pixel calculation unit reads sample ordinate values from the sample buffer and generates a pixel value by filtering the sample ordinate values.
    Type: Grant
    Filed: August 24, 2001
    Date of Patent: June 8, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Ranjit S. Oberoi, Michael F. Deering, Salvatore Arcuri
  • Patent number: 6747659
    Abstract: A graphics system and method for rendering image on a display device. The graphics system receives 3D graphics data including vertices for a triangle. The triangle is tested to determine if it is larger than a maximum triangle size, and if so, it is fragmented into sub-triangles smaller than the maximum size. After this size limiting, a bin bounding box is computed for each triangle. The absolute coordinate of a triangle's vertices are converted into relative coordinates with respect to an origin (e.g. a corner) of the bin box. Succeeding rendering computations (e.g. computations to determine whether sample positions fall interior to the triangle or to interpolate ordinate values for the interior samples) are performed using the relative coordinates. The positions of samples are also represented in relative coordinates (with respect to the bin box origin).
    Type: Grant
    Filed: October 23, 2001
    Date of Patent: June 8, 2004
    Assignee: Sun Microsystems, Inc.
    Inventor: Michael F. Deering
  • Patent number: 6747644
    Abstract: Three-dimensional compressed geometry is decompressed with a unit having an input FIFO receiving compressed data bits and outputting to an input block state machine and an input block, whose outputs are coupled to a barrel shifter unit. Input block output also is input to Huffman tables that output to the state machine. The state machine output also is coupled to a data path controller whose output is coupled to a tag decoder, and to a normal processor receiving output from the barrel shifter unit The decompressor unit also includes a position/color processor that receives output from the barrel shifter unit. Outputs from the normal processor and position/color processor are multiplexed to a format converter. For instructions in the data stream that generate output to the format converter, the decompression unit generates a tag sent to the tag decoder in parallel with bits for normals that are sent to the format converter.
    Type: Grant
    Filed: April 17, 2000
    Date of Patent: June 8, 2004
    Assignee: Sun Microsystems, Inc.
    Inventor: Michael F. Deering
  • Publication number: 20040100466
    Abstract: A method and computer graphics system capable of super-sampling and performing real-time convolution are disclosed. In one embodiment, the computer graphics system may comprise a graphics processor, a sample buffer, and a sample-to-pixel calculation unit. The graphics processor may be configured to generate a plurality of samples. The sample buffer, which is coupled to the graphics processor, may be configured to store the samples. The sample-to-pixel calculation unit is programmable to select a variable number of stored samples from the sample buffer to filter into an output pixel. The sample-to-pixel calculation unit performs the filter process in real-time, and may use a number of different filter types in a single frame. The sample buffer may be super-sampled, and the samples may be positioned according to a regular grid, a perturbed regular grid, or a stochastic grid.
    Type: Application
    Filed: November 18, 2003
    Publication date: May 27, 2004
    Inventor: Michael F. Deering
  • Patent number: 6734850
    Abstract: A method and computer graphics system capable of super-sampling and performing real-time convolution are disclosed. In one embodiment, the computer graphics system may comprise a graphics processor, a sample buffer, and a sample-to-pixel calculation unit. The graphics processor may be configured to generate a plurality of samples. The sample buffer, which is coupled to the graphics processor, may be configured to store the samples. The sample-to-pixel calculation unit is programmable to select a variable number of stored samples from the sample buffer to filter into an output pixel. The sample-to-pixel calculation unit performs the filter process in real-time, and may use a number of different filter types in a single frame. The sample buffer may be super-sampled, and the samples may be positioned according to a regular grid, a perturbed regular grid, or a stochastic grid.
    Type: Grant
    Filed: September 13, 2002
    Date of Patent: May 11, 2004
    Assignee: Sun Microsystems, Inc.
    Inventor: Michael F. Deering
  • Patent number: 6717578
    Abstract: A method and computer graphics system capable of super-sampling and performing real-time convolution are disclosed. In one embodiment, the computer graphics system may comprise a graphics processor, a sample buffer, and a sample-to-pixel calculation unit. The graphics processor may be configured to generate a plurality of samples. The sample buffer, which is coupled to the graphics processor, may be configured to store the samples. The sample-to-pixel calculation unit is programmable to select a variable number of stored samples from the sample buffer to filter into an output pixel. The sample-to-pixel calculation unit performs the filter process in real-time, and may use a number of different filter types in a single frame. The sample buffer may be super-sampled, and the samples may be positioned according to a regular grid, a perturbed regular grid, or a stochastic grid.
    Type: Grant
    Filed: February 17, 1999
    Date of Patent: April 6, 2004
    Assignee: Sun Microsystems, Inc.
    Inventor: Michael F. Deering
  • Publication number: 20040012609
    Abstract: A system and method is disclosed for management of sample data to enable video rate anti-aliasing convolution. Sample data may be moved simultaneously from a sample buffer to a bin scanline cache and from the bin scanline cache to an array of N2 processor-memory units (e.g. 25 for N=5). Pixel data may be convolved from an N×N sample bin array that may be approximately centered on the pixel location. Since each sample bin contains Ns/b samples, Ns/b×N2 samples may be filtered for each pixel (e.g. 400 for N=5 and Ns/b=16). Each processor-memory unit convolves the sample data for one sample bin in the N×N sample bin array and supports a variety of filter functions. Pixel data may be output to a real time video data stream.
    Type: Application
    Filed: July 19, 2002
    Publication date: January 22, 2004
    Inventors: Nimita J. Taneja, Nathaniel David Naegle, Michael F. Deering
  • Publication number: 20040012600
    Abstract: A high-speed ring topology. In one embodiment, two base chip types are required: a “drawing” chip, LoopDraw, and an “interface” chip, LoopInterface. Each of these chips have a set of pins that supports an identical high speed point to point unidirectional input and output ring interconnect interface: the LoopLink. The LoopDraw chip uses additional pins to connect to several standard memories that form a high bandwidth local memory sub-system. The LoopInterface chip uses additional pins to support a high speed host computer host interface, at least one video output interface, and possibly also additional non-local interconnects to other LoopInterface chip(s).
    Type: Application
    Filed: March 21, 2003
    Publication date: January 22, 2004
    Inventors: Michael F. Deering, Michael G. Lavelle
  • Publication number: 20040008204
    Abstract: A graphics system configured with a scheduling network, a sample buffer, a rendering engine and a filtering engine. The rendering engine is configured to generate samples in response to received graphics data, and to forward the samples to the scheduling network for storage in the sample buffer. The filtering engine is configured to send a request for samples to the scheduling network. The scheduling network is configured to compare a video set designation of the request to a previous request designation, to update one or more state registers in one or more memory devices of the sample buffer in response to a determination that the video set designation of the request is different from the previous request designation, and to assert signals inducing a transfer of a collection of samples corresponding to the request from the one or more memory devices to the filtering engine.
    Type: Application
    Filed: July 15, 2002
    Publication date: January 15, 2004
    Inventors: Michael F. Deering, Nathaniel David Naegle, Michael G. Lavelle
  • Patent number: 6671796
    Abstract: A method and apparatus are provided for performing efficient conversion operations between floating point and fixed point values on a general purpose processor. This is achieved by providing an instruction for converting a fixed point value fx into a floating point value fl in a general purpose processor. Accordingly, the invention advantageously provides a general purpose processor with the ability to execute conversion operation between fixed-point and floating-point values with a single instruction compared with prior art general purpose processors that require multiple instructions to perform the same function. Thus, the general purpose processor of the present invention allows for more efficient and faster conversion operations between fixed-point and floating-point values.
    Type: Grant
    Filed: February 25, 2000
    Date of Patent: December 30, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Subramania Sudharsanan, Jeffrey Meng Wah Chan, Michael F. Deering, Marc Tremblay, Scott R. Nelson
  • Patent number: 6664955
    Abstract: A method and computer graphics system capable of super-sampling and performing real-time convolution are disclosed. In one embodiment, the computer graphics system may comprise a graphics processor, a sample buffer, and a sample-to-pixel calculation unit. The graphics processor may be configured to generate a plurality of samples. The sample buffer, which is coupled to the graphics processor, may be configured to store the samples. The sample-to-pixel calculation unit is programmable to generate a first subset of pixels by filtering using the rendered samples and a second subset of the output pixels by interpolating using the first subset of pixels and/or the rendered samples. By interpolating a subset of the output pixels, the graphics system may be able to operate at higher resolutions and/or refresh rates since filtering of the samples is computationally intensive.
    Type: Grant
    Filed: March 15, 2000
    Date of Patent: December 16, 2003
    Assignee: Sun Microsystems, Inc.
    Inventor: Michael F. Deering
  • Patent number: 6650323
    Abstract: A computer graphics system that utilizes a super-sampled sample buffer and a sample-to-pixel calculation unit for refreshing the display. The graphics system may have a graphics processor, a super-sampled sample buffer, and a sample-to-pixel calculation unit. The graphics processor renders samples into the sample buffer and may utilize a window ID that specifies attributes of pixels on a per object basis. The window ID may specify one or more of a sample mode, filter type, color attributes, or source attributes. The sample mode may include single sample per pixel mode and multiple samples per pixel mode. The graphics system may be further operable to generate a single sample per pixel for certain windows of the screen in order to provide backwards compatibility with legacy systems.
    Type: Grant
    Filed: July 12, 2002
    Date of Patent: November 18, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Nathaniel David Naegle, Michael F. Deering, Michael G. Lavelle, Carol A. Lavelle, Scott R. Nelson
  • Publication number: 20030206179
    Abstract: A graphics system comprises pixel calculation units and a sample buffer which stores a two-dimensional field of samples. Each pixel calculation unit selects positions in the two-dimensional field at which pixel values (e.g. red, green, blue) are computed. The pixel computation positions are selected to compensate for image distortions introduced by a display device and/or display surface. Non-uniformities in a viewer's perceived intensity distribution from a display surface (e.g. hot spots, overlap brightness) are corrected by appropriately scaling pixel values prior to transmission to display devices. Two or more sets of pixel calculation units driving two or more display devices adjust their respective pixel computation centers to align the edges of two or more displayed images. Physical barriers prevent light spillage at the interface between any two of the display images. Separate pixel computation positions may be used for distinct colors to compensate for color distortions.
    Type: Application
    Filed: March 16, 2001
    Publication date: November 6, 2003
    Inventor: Michael F. Deering
  • Patent number: 6628277
    Abstract: A graphics system and method for reducing redundant transformation calculations and lighting calculations performed on vertices that are shared by more than one geometric primitive is disclosed. The reduction in redundant calculations is accomplished by delaying the formation of geometric primitives until after transformation and lighting has been performed on the vertices. Transformation and or lighting are performed independently on a vertex-by-vertex basis without reference to which geometric primitives the vertices belong to. After transformation and or lighting, geometric primitives may be formed utilizing previously generated connectivity information. The connectivity information may include mesh buffer references, vertex tags, or other types of information.
    Type: Grant
    Filed: June 14, 1999
    Date of Patent: September 30, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael F. Deering, Marc Tremblay, Jeffrey Chan
  • Publication number: 20030179199
    Abstract: A system and method are disclosed for reproducing a pre-selected larger 2-D sample location pattern from a smaller one by means of X,Y address permutation. This method, for example, allows hardware to effectively reproduce a pre-selected set of sample locations for an array of 128×128 sample bins from a smaller set of pre-selected sample locations for an array of 2×2 sample bins. A permutation logic unit may use a first portion of an address for a sample bin B to identify a corresponding 2-D transformation, apply the inverse of the transformation to a second portion of the sample bin address to identify the corresponding bin of the 2×2 array of sample bins, and apply the transformation to the sample locations stored in the corresponding bin to reproduce the sample locations pre-selected for sample bin B.
    Type: Application
    Filed: March 12, 2003
    Publication date: September 25, 2003
    Applicant: Sun Microsystems, Inc.
    Inventors: Michael F. Deering, Nathaniel David Naegle, Ranjit S. Oberoi
  • Patent number: 6624823
    Abstract: A graphics system comprises a rendering unit, a sample buffer, and a sample-to-pixel calculation unit. The rendering unit receives vertices defining a triangle, and generates first and second octant identifier words for first and second edges of the triangle respectively. In most cases, the two octant identifier words determine the triangle orientation. However, in a few special cases (i.e. when the octant identifier words specify the same or opposite octants), the triangle orientation is resolved based on a comparison of the slopes of the first and second edge. Further rendering operations on the triangle may be conditioned on the value of the triangle orientation. The triangle orientation may be used to determine the interior side of each triangle edge. Sample positions falling on the interior side of all three edges are labeled as interior samples. Color values are computed for interior samples.
    Type: Grant
    Filed: December 29, 2000
    Date of Patent: September 23, 2003
    Assignee: Sun Microsystems, Inc.
    Inventor: Michael F. Deering
  • Publication number: 20030169251
    Abstract: A system and method are disclosed for rendering polygons. In some embodiments, parameter values may be rendered for only one sample position of multiple neighboring sample positions. The parameter values rendered for the one sample position may then be stored in multiple memory locations that correspond to the multiple neighboring sample positions. In some embodiments, storing parameter values in multiple memory locations may be achieved in a single write transaction. In some embodiments, utilization of a method for storage of a rendered sample to multiple memory locations may be subject to a specified test. The method may calculate a value needed for the specified test from vertex data and compare the calculated value with a specified limit. In some embodiments, a multiple storage mode may only be utilized for polygons greater than a certain size.
    Type: Application
    Filed: March 11, 2002
    Publication date: September 11, 2003
    Inventor: Michael F. Deering
  • Publication number: 20030169252
    Abstract: A system and method are disclosed for utilizing a Z slope test to select polygons that may be candidates for multiple storage methods. The method may calculate the absolute Z slope from vertex data and compare the calculated value with a specified threshold value. In some embodiments, for polygons that have an absolute Z slope less than the threshold value, parameter values may be rendered for only one sample position of multiple neighboring sample positions. The parameter values rendered for the one sample position may then be stored in multiple memory locations that correspond to the multiple neighboring sample positions. In some embodiments, storing parameter values in multiple memory locations may be achieved in a single write transaction. In some embodiments, utilization of the Z slope test method may be subject to user input and in other embodiments may be a dynamic decision controlled by the graphics system.
    Type: Application
    Filed: March 11, 2002
    Publication date: September 11, 2003
    Inventors: Mark E. Pascual, Michael G. Lavelle, Michael F. Deering, Nandini Ramani
  • Patent number: 6618054
    Abstract: A graphics system comprising a rendering engine, a sample buffer and a filtering engine. The rendering engine receives graphics primitives, generates sample positions, computes a depth value and color values for each sample position interior to each primitive. The blur value is assigned to each sample based on its depth value relative to an estimate of the concentration depth of the viewer. The per-sample data are stored in the sample buffer. The filtering engine reads samples in a neighborhood of a current filter position, and filters the samples to generate a video output pixel which is transmitted to a display device. The filtering engine applies to each sample in the neighborhood a corresponding filter function. The filter function has a spatial cutoff frequency determined by the sample's blur value.
    Type: Grant
    Filed: October 4, 2001
    Date of Patent: September 9, 2003
    Assignee: Sun Microsystems, Inc.
    Inventor: Michael F. Deering
  • Patent number: 6603470
    Abstract: A system and method for compression of surface normals in three-dimensional graphics data. The method comprises compressing a normal by identifying the location of a first point located at the intersection of the surface of a predetermined sphere (centered on the origin of a set of x-y-z axes) and a vector extended from the origin in a direction specified by the coordinate values of the normal. Identification of the first point includes specifying an index value and one or mapping values. The index value is usable during decompression to identify a second point on the sphere from a plurality of points in a predetermined surface region (such as a predetermined sextant of a predetermined octant region). In one embodiment, the index includes a &thgr; component and a &phgr; component which are usable to locate the second point.
    Type: Grant
    Filed: November 4, 1997
    Date of Patent: August 5, 2003
    Assignee: Sun Microsystems, Inc.
    Inventor: Michael F. Deering