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: 7199806
    Abstract: A graphical computing system comprising a control unit and a set of edge processing units. The control unit (a) receives a surface primitive, (b) transfers edge specifying information for each edge of the surface primitive to a corresponding one of the edge processing units, and (c) transfers a horizontal address CX and a vertical address CY of a current pixel to the edge processing units. Each of the edge processing units computes trimming information for the current pixel with respect to the corresponding edge using the horizontal address CX and vertical address CY. The trimming information specifies a portion of the corresponding edge which intersects the current pixel. The control unit collects the trimming information from the edge processing units and transmits an output packet including the addresses CX and CY of the current pixel along with the collected trimming information.
    Type: Grant
    Filed: March 19, 2003
    Date of Patent: April 3, 2007
    Assignee: Sun Microsystems, Inc.
    Inventor: Michael F. Deering
  • Patent number: 7148890
    Abstract: A processing pipeline and method are disclosed that may enable real time video rate displacement mapping. The pipeline may include one or more: render units, texture units, memories, and displacement units. Render units may tessellate a geometric primitive into micropolygons and interpolate parameter values for each new vertex. The micropolygons may be defined by the intersection of the geometric primitive and boundaries projected from specified screen space regions. Texture units retrieve displacement values from a displacement map stored in memory. Displacement units displace each vertex of a micropolygon in the direction of the normal at each vertex by a distance based on the displacement value determined for the vertex location. Micropolygons that are displaced across a projected boundary may be returned to the render units and re-tessellated according to the projected boundaries. Parameter values for new vertices may be determined subject to an edge contract to prevent surface cracks.
    Type: Grant
    Filed: April 2, 2003
    Date of Patent: December 12, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Daniel S. Rice, Michael F. Deering
  • Patent number: 7129941
    Abstract: A system and method are disclosed for rendering polygons. Parameter values may be rendered for only one sample position of a plurality of neighboring sample positions within a polygon. The parameter values rendered for the one sample position may then be transmitted to one or more memories and conditionally stored in a plurality of memory locations that correspond to the plurality of neighboring sample positions. Transmitting parameter values to one or more memories may be achieved in a single transaction. Depth values may be rendered for each sample position in the plurality of neighboring sample positions. Depth value data may be compressed. In some embodiments, the one or more memories may be configured to determine depth values for each of the neighboring sample positions.
    Type: Grant
    Filed: March 19, 2003
    Date of Patent: October 31, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael F. Deering, Michael G. Lavelle
  • Patent number: 7106352
    Abstract: A filtering engine may read samples from a sample buffer and spatially filter (e.g., convolve) the samples to generate pixels. The pixels may have a high dynamic range of luminance. Thus, the filtering engine may apply automatic gain control and/or dynamic range compression on pixel luminance or pixel color. A rendering engine may generate the samples in response to received graphics data and store the samples in the sample buffer. A sample may include one or more data fields which represent color (or intensity) information. The data field may include exponent information (e.g., an amplification control bit) and a mantissa. The exponent information may determine an extent to which the mantissa is amplified (e.g., left shifted) in the filtering engine.
    Type: Grant
    Filed: March 3, 2003
    Date of Patent: September 12, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: Michael F. Deering
  • Patent number: 7106322
    Abstract: A graphics system comprises a graphics processor, a sample buffer, and a sample-to-pixel calculation unit. The graphics processor generates samples in response to received stream of graphics data. The sample buffer may be configured to store the samples. The sample-to-pixel calculation unit is programmable to generate a plurality of output pixels by filtering the rendered samples using a filter. A filter having negative lobes may be used. The graphics system computes a negativity value for a first frame. The negativity value measures an amount of pixel negativity in the first frame. In response to the negativity value being above a certain threshold, the graphics systems adjusts the filter function and/or filter support in order to reduce the negativity value for subsequent frames.
    Type: Grant
    Filed: December 29, 2000
    Date of Patent: September 12, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: Michael F. Deering
  • Patent number: 7106326
    Abstract: A graphical processing system comprising a computational unit and a shadow processing unit coupled to the computational unit through a communication bus. The computational unit is configured to transfer coordinates C1 of a point P with respect to a first space to the shadow processing unit. In response to receiving the coordinates C1, the shadow processing unit is configured to: (a) transform the coordinate C1 to determine map coordinates s and t and a depth value Dp for the point P, (b) access a neighborhood of depth values from a memory using the map coordinates s and t, (c) compare the depth value DP to the depth values of the neighborhood, (d) filter binary results of the comparisons to determine a shadow fraction, and (e) transfer the shadow fraction to the computational unit through the communication bus.
    Type: Grant
    Filed: March 3, 2003
    Date of Patent: September 12, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael F. Deering, Michael G. Lavelle, Douglas C. Twilleager, Daniel S. Rice
  • Patent number: 7079157
    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: Grant
    Filed: March 16, 2001
    Date of Patent: July 18, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: Michael F. Deering
  • Patent number: 7071935
    Abstract: A graphics system and method for increasing efficiency of decompressing blocks of compressed geometry data and reducing redundant transformation and lighting calculations is disclosed. Multiple decompression pipelines are used to increases the decompression speed. A control unit receives blocks of compressed geometry data information and selectively routes them to a plurality of decompression pipelines. Each decompression pipeline is configured to decompress the blocks into a set of vertices. 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.
    Type: Grant
    Filed: June 14, 1999
    Date of Patent: July 4, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael F. Deering, Marc Tremblay, Jeffrey Chan
  • Patent number: 7042466
    Abstract: A method and apparatus for performing fast clip-testing operations in a general purpose processor are provided. This is accomplished by executing a single instruction for comparing a first value x to a second value y and, as a result of the comparison, determining whether x is less than y and whether x is less than negative y. The values x and y are stored in respective source registers of the processor specified by the instruction. Finally, as a result of the determination, one or more binary values representing the results of the determination are inserted into a destination register of the processor also specified by the instruction. Accordingly, the invention advantageously provides a general purpose processor with the ability to execute a clip-testing function with a single instruction compared with prior art general purpose processors that require multiple instructions to perform the same function.
    Type: Grant
    Filed: June 6, 2000
    Date of Patent: May 9, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Jeffrey Meng Wah Chan, Michael F. Deering
  • Patent number: 7002586
    Abstract: An apparatus and method for splitting vertex streams relating to graphics data into substreams, and processing the substreams in parallel. A graphics subsystem of a computer system includes a vertex splitting module, which determines whether incoming vertex streams are of a unicast, unlocked type, and thus available for splitting, and further whether graphics primitives in the vertex stream are of a type that may be split. If appropriate, the vertex splitting module then locates vertices in the vertex stream, generates substreams from the vertex stream, and transmits the substreams in a load-balanced operation to multiple graphics processors for parallel processing and outputting to an output device. If the vertex stream is too large to store in FIFO queues of the graphics processors, it is not split into substreams.
    Type: Grant
    Filed: August 29, 2003
    Date of Patent: February 21, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Kenneth Chiu, Vernon Hu, Michael F. Deering
  • Patent number: 7002589
    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: Grant
    Filed: March 16, 2001
    Date of Patent: February 21, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: Michael F. Deering
  • Patent number: 6989835
    Abstract: A graphics system comprising a series of calculation units. The calculation units comprise a first subset and a second subset of calculation units. A first calculation unit of the series generates a first digital video stream and a second digital video stream. Each calculation unit of the first subset: (a) passes the second digital video stream to a next calculation unit of the series unmodified; and (b) computes first pixel values, injects or mixes the first pixel values into the first digital video stream, and passes the modified first digital video stream to the next calculation unit. Similarly, each calculation unit of the second subset injects or mixes second pixel values into the second digital video stream, and passes the first digital video stream unmodified. A last calculation unit of the series drives one or more display devices in response to the first and second digital video streams.
    Type: Grant
    Filed: June 27, 2001
    Date of Patent: January 24, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael F. Deering, N. David Naegle
  • Patent number: 6985150
    Abstract: A control unit for a graphics accelerator. The control unit includes a plurality of processing pipelines, a memory (configured to store an allocation table) and a context management unit. The context management unit is configured to: (a) receive a graphics command, (b) decode a process identifier from input data provided in or with the graphics command, wherein the process identifier corresponds to one of a plurality of host processes executing on one or more central processing units external to the graphics accelerator, and (c) identify an entry E in the allocation table that corresponds to the process identifier. In response to a first set of conditions, the context management unit is further configured to: (d) reassign ownership of a first of the processing pipelines from a first active entry of the allocation table to the entry E, and (e) send the graphics command to the first processing pipeline.
    Type: Grant
    Filed: March 31, 2003
    Date of Patent: January 10, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: Michael F. Deering
  • Patent number: 6982719
    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: Grant
    Filed: July 15, 2002
    Date of Patent: January 3, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael F. Deering, Nathaniel David Naegle, Michael G. Lavelle
  • Patent number: 6956576
    Abstract: A method and apparatus for creating motion blur, depth of field, and screen door effects when rendering three-dimensional graphics data are disclosed. A graphics system configured with a graphics processor, a super-sampled sample buffer, and a sample-to-pixel calculation unit is disclosed. The graphics processor may be configured to use a sample mask to select different subsets of sample coordinates to be rendered for a particular frame. Each subset may be rendered applying a different set of attributes, and the resulting samples may then be stored together in the sample buffer. The sample-to-pixel calculation unit may be configured to filter the samples into output pixels that are provided to a display device.
    Type: Grant
    Filed: May 16, 2000
    Date of Patent: October 18, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael F. Deering, Scott R. Neslon
  • Patent number: 6950109
    Abstract: A system and method for performing color correction based on physical measurements (or estimations) of color component spectra (e.g. red, green, blue color component spectra). A color correction system may comprise a spectrum sensing device, a color calibration processor, and a calculation unit. The spectrum sensing device may be configured to measure color component power spectra for pixels generated by one or more display devices on a display surface. The color calibration processor may receive power spectra for a given pixel from the spectrum sensing device and compute a set of transformation parameters in response to the power spectra. The transformation parameters characterize a color correction transformation for the given pixel. The color calibration processor may compute such a transformation parameter set for selected pixels in the pixel array.
    Type: Grant
    Filed: September 12, 2001
    Date of Patent: September 27, 2005
    Assignee: Sun Microsystems, Inc.
    Inventor: Michael F. Deering
  • Patent number: 6947057
    Abstract: A graphics system and method for displaying lines on a display device. The system may comprise a sample buffer, a rendering unit and a sample-to-pixel calculation unit. The rendering unit may (a) generate a plurality of sample positions in a two-dimensional space, (b) determine a sample normal distance for each of the sample positions with respect to a line defined by the line-draw command, (c) assign sample values to the sample positions based on the sample normal distance of each of the sample positions, and (d) store the sample values in the sample buffer. The sample-to-pixel calculation unit may read sample values from the sample buffer, filter them to determine a pixel value, and transmit the pixel value to the display device. The rendering unit may render the line sample values with a narrower width to pre-compensate for the line-expanding effect of the filtering performed by the sample-to-pixel calculation unit.
    Type: Grant
    Filed: December 29, 2000
    Date of Patent: September 20, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Scott R. Nelson, Michael F. Deering, Nandini Ramani, Mark Tian, Patrick Shehane, Kevin Tang
  • Patent number: 6943791
    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: Grant
    Filed: March 11, 2002
    Date of Patent: September 13, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Mark E. Pascual, Michael G. Lavelle, Michael F. Deering, Nandini Ramani
  • Patent number: 6940529
    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: Grant
    Filed: March 16, 2001
    Date of Patent: September 6, 2005
    Assignee: Sun Microsystems, Inc.
    Inventor: Michael F. Deering
  • Patent number: 6924816
    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: Grant
    Filed: March 16, 2001
    Date of Patent: August 2, 2005
    Assignee: Sun Microsystems, Inc.
    Inventor: Michael F. Deering