Patents by Inventor Joel J. McCormack
Joel J. McCormack 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: 8456481Abstract: A method of organizing memory for storage of texture data, in accordance with one embodiment of the invention, includes accessing a size of a mipmap level of a texture map. A block dimension may be determined based on the size of the mipmap level. A memory space (e.g., computer-readable medium) may be logically divided into a plurality of whole number of blocks of variable dimension. The dimension of the blocks is measured in units of gobs and each gob is of a fixed dimension of bytes. A mipmap level of a texture map may be stored in the memory space. A texel coordinate of said mipmap level may be converted into a byte address of the memory space by determining a gob address of a gob in which the texel coordinate resides and determining a byte address within the particular gob.Type: GrantFiled: March 16, 2012Date of Patent: June 4, 2013Assignee: Nvidia CorporationInventors: Walter E. Donovan, Emmett M. Kilgariff, Karim M. Abdalla, Joel J. McCormack
-
Patent number: 8436868Abstract: A method of organizing memory for storage of texture data, in accordance with one embodiment of the invention, includes accessing a size of a mipmap level of a texture map. A block dimension may be determined based on the size the mipmap level. A memory space (e.g., computer-readable medium) may be logically divided into a plurality of whole number of blocks of variable dimension. The dimension of the blocks is measured in units of gobs and each gob is of a fixed dimension of bytes. A mipmap level of a texture map may be stored in the memory space. A texel coordinate of said mipmap level may be converted into a byte address of the memory space by determining a gob address of a gob in which the texel coordinate resides and determining a byte address within the particular gob.Type: GrantFiled: March 28, 2011Date of Patent: May 7, 2013Assignee: NVIDIA CorporationInventors: Walter E. Donovan, Emmett M. Kilgariff, Karim M. Abdalla, Joel J. McCormack
-
Publication number: 20120176377Abstract: A method of organizing memory for storage of texture data, in accordance with one embodiment of the invention, includes accessing a size of a mipmap level of a texture map. A block dimension may be determined based on the size of the mipmap level. A memory space (e.g., computer-readable medium) may be logically divided into a plurality of whole number of blocks of variable dimension. The dimension of the blocks is measured in units of gobs and each gob is of a fixed dimension of bytes. A mipmap level of a texture map may be stored in the memory space. A texel coordinate of said mipmap level may be converted into a byte address of the memory space by determining a gob address of a gob in which the texel coordinate resides and determining a byte address within the particular gob.Type: ApplicationFiled: March 16, 2012Publication date: July 12, 2012Applicant: NVIDIA CORPORATIONInventors: Walter E. Donovan, Emmett M. Kilgariff, Karim M. Abdalla, Joel J. McCormack
-
Publication number: 20110169850Abstract: A method of organizing memory for storage of texture data, in accordance with one embodiment of the invention, includes accessing a size of a mipmap level of a texture map. A block dimension may be determined based on the size the mipmap level. A memory space (e.g., computer-readable medium) may be logically divided into a plurality of whole number of blocks of variable dimension. The dimension of the blocks is measured in units of gobs and each gob is of a fixed dimension of bytes. A mipmap level of a texture map may be stored in the memory space. A texel coordinate of said mipmap level may be converted into a byte address of the memory space by determining a gob address of a gob in which the texel coordinate resides and determining a byte address within the particular gob.Type: ApplicationFiled: March 28, 2011Publication date: July 14, 2011Applicant: NVIDIA CORPORATIONInventors: Walter E. Donovan, Emmett M. Kilgariff, Karim M. Abdalla, Joel J. McCormack
-
Patent number: 7916149Abstract: A method of organizing memory for storage of texture data, in accordance with one embodiment of the invention, includes accessing a size of a mipmap level of a texture map. A block dimension may be determined based on the size of the mipmap level. A memory space (e.g., computer-readable medium) may be logically divided into a plurality of whole number of blocks of variable dimension. The dimension of the blocks is measured in units of gobs and each gob is of a fixed dimension of bytes. A mipmap level of a texture map may be stored in the memory space. A texel coordinate of said mipmap level may be converted into a byte address of the memory space by determining a gob address of a gob in which the texel coordinate resides and determining a byte address within the particular gob.Type: GrantFiled: January 4, 2005Date of Patent: March 29, 2011Assignee: NVIDIA CorporationInventors: Walter E. Donovan, Emmett M. Kilgariff, Karim M. Abdalla, Joel J. McCormack
-
Patent number: 7884831Abstract: Circuits, methods, and apparatus that provide texture caches and related circuits that store and retrieve texels in a fast and efficient manner. One such texture circuit provides an increased number of bilerps for each pixel in a group of pixels, particularly when trilinear or aniso filtering is needed. For trilinear filtering, texels in a first and second level of detail are retrieved for a number of pixels during a clock cycle. When aniso filtering is performed, multiple bilerps can be retrieved for each of a number of pixels during one clock cycle.Type: GrantFiled: January 19, 2010Date of Patent: February 8, 2011Assignee: NVIDIA CorporationInventors: Alexander L. Minkin, Joel J. McCormack, Paul S. Heckbert, Michael J. M. Toksvig, Luke Y. Chang, Karim Abdalla, Bo Hong, John W. Berendsen, Walter Donavan, Emmett M. Kilgariff
-
Publication number: 20100118043Abstract: Circuits, methods, and apparatus that provide texture caches and related circuits that store and retrieve texels in a fast and efficient manner. One such texture circuit provides an increased number of bilerps for each pixel in a group of pixels, particularly when trilinear or aniso filtering is needed. For trilinear filtering, texels in a first and second level of detail are retrieved for a number of pixels during a clock cycle. When aniso filtering is performed, multiple bilerps can be retrieved for each of a number of pixels during one clock cycle.Type: ApplicationFiled: January 19, 2010Publication date: May 13, 2010Applicant: NVIDIA CorporationInventors: Alexander L. Minkin, Joel J. McCormack, Paul S. Heckbert, Michael J.M. Toksvig, Luke Y. Chang, Karim Abdalla, Bo Hong, John W. Berendsen, Walter Donavan, Emmett M. Kilgariff
-
Patent number: 7649538Abstract: Circuits, methods, and apparatus that provide texture caches and related circuits that store and retrieve texels in a fast and efficient manner. One such texture circuit provides an increased number of bilerps for each pixel in a group of pixels, particularly when trilinear or aniso filtering is needed. For trilinear filtering, texels in a first and second level of detail are retrieved for a number of pixels during a clock cycle. When aniso filtering is performed, multiple bilerps can be retrieved for each of a number of pixels during one clock cycle.Type: GrantFiled: November 3, 2006Date of Patent: January 19, 2010Assignee: NVIDIA CorporationInventors: Alexander L. Minkin, Joel J. McCormack, Paul S. Heckbert, Michael J. M. Toksvig, Luke Y. Chang, Karim Abdalla, Bo Hong, John W. Berendsen, Walter Donovan, Emmett M. Kilgariff
-
Patent number: 6329977Abstract: A computer graphics system renders an image on a display device using improved pre-filtering techniques that minimize aliasing artifacts in the image, particularly at the endpoints of lines. To anti-alias the image, a plurality of edges are placed near a line in the image. An edge function represents the edge. This edge function is multiplied by a scale factor to produce a distance function. This scale factor is the reciprocal of the Euclidean length of the line. The distance function is evaluated to determine the distance of selected pixels from each edge in units of pixels. These distances determine the intensity value for each selected pixel. Pixels on or beyond an edge, with respect to the line, are given a minimum intensity value; pixels inside all edges are given intensity values corresponding to their distances from the edge. An intensity function describing a relationship between pixel distances from the edges and their corresponding intensity values is developed.Type: GrantFiled: March 10, 1998Date of Patent: December 11, 2001Assignee: Compaq Computer CorporationInventors: Robert S. McNamara, Joel J. McCormack, Norman P. Jouppi, James T. Claffey, James M. Knittel, Larry D. Seiler
-
Patent number: 6292193Abstract: A computer graphics system maps textures to displayed anti-aliased images with surfaces defined at oblique angles to the viewer. A circular pixel filter is projected onto a texture map to define an elliptical footprint in that texture map. The elliptical footprint has a major axis. Sample points are determined on a line in the footprint that closely approximates the major axis. These sample points are mapped to levels of detail and locations within a mip-map. Using a space-invariant filter, a texture value is computed for each sample point using data from one or more texture maps within the mip-map. These texture values for the sample points are post-filtered using a Gaussian filter function and summed to produce a final texture value. Blending the final texture with other characteristics of the pixel a produces the pixel data that are displayed on a display screen.Type: GrantFiled: July 30, 1998Date of Patent: September 18, 2001Assignee: Compaq Computer CorporationInventors: Ronald Perry, Norman P. Jouppi, Joel J. McCormack, Keith Istvan Farkas
-
Method and apparatus for compositing colors of images with memory constraints for storing pixel data
Patent number: 6204859Abstract: A method and an apparatus determine a color for pixels in a graphics system in which images are defined by pixels. Multiple fragments of an image may be visible in any given pixel. Each visible fragment has a fragment value that includes the color of that fragment. For such given pixel, up to a predetermined number of the fragment values are stored. When a new fragment is visible in the given pixel, one of the fragment values is discarded to determine which fragment values are stored and subsequently used to generate the color of the pixel. The discarded fragment value may be the new fragment value or one of the stored fragment values. Various strategies can be used to determine which fragment value is discarded. One such scheme selects the stored fragment value with the greatest Z-depth. Another scheme selects the stored fragment value that produces the smallest color difference from the new fragment value.Type: GrantFiled: October 15, 1997Date of Patent: March 20, 2001Assignee: Digital Equipment CorporationInventors: Norman P. Jouppi, Joel J. McCormack, Chun-Fa Chang -
Patent number: 6128000Abstract: A method and an apparatus reduces aliasing artifacts in images defined by pixels. A pixel is partitioned into subpixel locations from which sample points are selected. A fragment of the image is determined to be visible at at least one of the sample points. A fragment value associated with that fragment is stored. Each sample point at which the fragment is visible is linked to the stored fragment value. A color of the pixel is computed from the stored fragment values to reduce the aliasing artifacts in the image.Type: GrantFiled: October 15, 1997Date of Patent: October 3, 2000Assignee: Compaq Computer CorporationInventors: Norman P. Jouppi, Joel J. McCormack
-
Patent number: 6112318Abstract: An apparatus and method for counting event signals generated by a computer system is described. The event signals are indicative of the performance of the computer system. Programmable logic enhances the functionality of performance counters by enabling the system user to specify, during the execution of an application program, which event signals to count. The system user can dynamically configure the programmable logic to select a subset of the event signals generated by the computer system, and to combine the selected subset of event signals to generate a new event signal that can be counted. Other new event signals can be generated by the programmable logic from the selected subset of event signals. A user of the computer system can dynamically make the selection of any one of the new event signals for counting.Type: GrantFiled: August 11, 1997Date of Patent: August 29, 2000Assignee: Digital Equipment CorporationInventors: Norman P. Jouppi, Joel J. McCormack, Larry D. Seiler, Mark O. Yeager
-
Patent number: 6109777Abstract: A computing system performs non-restoring division. Quotient selection logic selects quotient digits that are used to produce a final quotient. The quotient digits are selected according to a predetermined relationship among certain bits of the divisor and the partial remainder. Only non-zero quotient digits are selected. A quotient accumulator combines each selected quotient digit with a current partial quotient concurrently while each quotient digit is selected. The quotient digits are selected and combined until the final quotient is produced.Type: GrantFiled: April 16, 1997Date of Patent: August 29, 2000Assignee: Compaq Computer CorporationInventors: Norman P. Jouppi, Joel J. McCormack, John H. Zurawski
-
Patent number: 6085292Abstract: A cache includes an address cache for storing memory addresses. An address queue is connected to the address cache for storing missed addresses in the order that the address cache is probed. A memory controller receives the missed addresses from the address queue. A data queue receives data stored at the missed addresses from the memory controller. A probe result queue is connected to the address cache for storing data cache line addresses and hit/miss information. A multiplexer connected to the data cache, the data queue, and the probe result queue selects output data from the data cache or the data queue depending on the hit/miss information.Type: GrantFiled: June 5, 1997Date of Patent: July 4, 2000Assignee: Digital Equipment CorporationInventors: Joel J. McCormack, Kenneth W. Correll, Barton W. Berkowitz, Christopher C. Gianos
-
Patent number: 5870109Abstract: A graphics system for storing and editing graphic images represented by digital data, includes a frame memory for storing pixel data representing graphic images including first and second graphic objects. The pixel data is stored at addresses, each being associated with one or more graphic fragment forming the first and second graphic objects. First and second addresses are respectively associated with those of the graphic fragments forming the first and second graphic objects. A memory controller controls writing and reading the pixel data to and from the frame memory. A fragment editor is provided to receive the pixel data read from the first address and modify the associated fragment with the received pixel data so as to form modified pixel data. An address detector detects the first address responsive to a request to read the pixel data from the first address and the second address responsive to a subsequent request to read pixel data from the second address.Type: GrantFiled: June 6, 1997Date of Patent: February 9, 1999Assignee: Digital Equipment CorporationInventors: Joel J. McCormack, Christopher C. Gianos, Andrew V. Hoar, Larry D. Seiler, Norman P. Jouppi, James T. Claffey
-
Patent number: 5781201Abstract: A method for improving the performance of a graphics system includes the steps of allocating appropriate pixels to slices of memory such that corresponding subsets of bits of neighboring pixels are allocated to different slices of memory, where `neighboring pixels` includes both consecutive pixels in a scan line, or pixels in consecutive scan lines. In addition, hardware is provided that allows for the individual memory slices to be independently accessed, thus allowed each slice to access data from a different 64 bit word in video memory during one video access period. Controllers which independently access the memory slices are advantageously totally time independent, to allow the most flexibility in the starting and finishing of the access of the memory slice. Performance is further gained by buffering of both the read and write requests to the video memory.Type: GrantFiled: May 1, 1996Date of Patent: July 14, 1998Assignee: Digital Equipment CorporationInventors: Joel J. McCormack, Robert S. McNamara, Larry D. Seiler, Christopher C. Gianos
-
Patent number: 5696945Abstract: A video subsystem of a computer processor is shown to include a graphics controller coupled to a video memory. A method for improving graphics performance for applications which use fewer bits per pixel than provided in the graphics subsystem includes the steps of rearranging the pixel and byte data in video memory such that corresponding bytes of different pixels are stored in different, simultaneously accessible locations of the video memory. With such an arrangement, accesses to video memory may be provided which utilize all of the available bytes of the video memory bus, thereby increasing the performance of the graphics operation. In addition, a graphics system having a plurality of independently operating memory controllers is shown to further improve graphics performance by ensuring that the video memory bus operates at full capacity.Type: GrantFiled: January 6, 1997Date of Patent: December 9, 1997Assignee: Digital Equipment CorporationInventors: Larry D. Seiler, Robert S. McNamara, Christopher C. Gianos, Joel J. McCormack
-
Patent number: 5559953Abstract: An apparatus and method for storing pixel data in a video memory having a plurality of slices increases the performance of line drawing by ensuring that for a given pixel, neighboring pixels in neighboring scan lines are stored in separate slices of video memory. One embodiment of the invention includes the step of appending a number of offset bits to the end of each scan line, where the number of offset bits is less than the total number of bits contained in the plurality of slices. Another embodiment of the invention rearranges the pixels of every other scan line. Another embodiment adds an offset number of pixels which is equal to the number of pixels per slice times the number of slices, then alternates ordered pixels with rearranged pixels throughout successive scan lines. Performance is further increased by providing a plurality of memory controllers corresponding to the plurality of slices of memory which may operate asynchronously to interleave memory access commands.Type: GrantFiled: July 1, 1994Date of Patent: September 24, 1996Assignee: Digital Equipment CorporationInventors: Larry D. Seiler, Robert S. McNamara, Christopher C. Gianos, Joel J. McCormack