Patents by Inventor Jon Hasselgren

Jon Hasselgren 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).

  • Publication number: 20140320487
    Abstract: A computer graphics processor and a method for rendering a three-dimensional image on a display screen. The computer graphics processor comprises a rasterizer configured to perform pixel traversal of a primitive after projection of the primitive. Furthermore, the rasterizer is configured to perform the pixel traversal of a first primitive for a plurality of views prior to performing pixel traversal of a next primitive for one or several views.
    Type: Application
    Filed: July 9, 2014
    Publication date: October 30, 2014
    Inventors: Tomas Akenine-Moller, Carl Jacob Munkberg, Jon Hasselgren
  • Patent number: 8803872
    Abstract: A computer graphics processor (20,50) and a method for rendering a three-dimensional image on a display screen. The computer graphics processor (20,50) comprises a rasterizer (23,53) configured to perform pixel traversal of a primitive after projection of the primitive. Furthermore, the rasterizer (23,53) is configured to perform the pixel traversal of a first primitive for a plurality of views prior to performing pixel traversal of a next primitive for one or several views.
    Type: Grant
    Filed: November 29, 2006
    Date of Patent: August 12, 2014
    Assignee: Intel Corporation
    Inventors: Tomas Akenine-Möller, Jacob Munkberg, Jon Hasselgren
  • Patent number: 8654122
    Abstract: This relates to a generation of digitally represented graphics. A first representation of a group of vertices is received. A second representation of said group of vertices is determined based on said first representation. A first set of instructions is executed on said second representation of said group of vertices for providing a third representation of said group of vertices, said first set of instructions being associated with vertex position determination. The third representation of said group of vertices is subjected to a culling process.
    Type: Grant
    Filed: August 3, 2009
    Date of Patent: February 18, 2014
    Assignee: Intel Corporation
    Inventors: Jon Hasselgren, Jacob Munkberg, Petrik Clarberg, Tomas Akenine-Möller
  • Patent number: 8644627
    Abstract: First and second codewords are determined, based on first feature vector components of the image elements in an image block, as representations of a first and second component value. Third and fourth codewords are determined, based on second vector components, as representations of a third and fourth component value. First N1 and second N2 resolution numbers are selected based on the relation of a distribution of the first vector components and a distribution of the second vector components. N1 additional component values are generated based on the first and second component values and N2 additional component values are generated based on the third and fourth component values. Component indices indicative of the generated component values are then provided for the different image elements.
    Type: Grant
    Filed: January 23, 2013
    Date of Patent: February 4, 2014
    Assignee: Telefonaktiebolaget L M Ericsson (publ)
    Inventors: Tomas Akenine-Möller, Jacob Munkberg, Petrik Clarberg, Jon Hasselgren, Jacob Ström
  • Publication number: 20130251276
    Abstract: First and second codewords are determined, based on first feature vector components of the image elements in an image block, as representations of a first and second component value. Third and fourth codewords are determined, based on second vector components, as representations of a third and fourth component value. First N1 and second N2 resolution numbers are selected based on the relation of a distribution of the first vector components and a distribution of the second vector components. N1 additional component values are generated based on the first and second component values and N2 additional component values are generated based on the third and fourth component values. Component indices indicative of the generated component values are then provided for the different image elements.
    Type: Application
    Filed: January 23, 2013
    Publication date: September 26, 2013
    Applicant: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
    Inventors: Tomas AKENINE-MÖLLER, Jacob MUNKBERG, Petrik CLARBERG, Jon HASSELGREN, Jacob STROM
  • Patent number: 8369629
    Abstract: First and second codewords are determined, based on first feature vector components of the image elements in an image block, as representations of a first and second component value. Third and fourth codewords are determined, based on second vector components, as representations of a third and fourth component value. First N1 and second N2 resolution numbers are selected based on the relation of a distribution of the first vector components and a distribution of the second vector components. N1 additional component values are generated based on the first and second component values and N2 additional component values are generated based on the third and fourth component values. Component indices indicative of the generated component values are then provided for the different image elements.
    Type: Grant
    Filed: January 22, 2007
    Date of Patent: February 5, 2013
    Assignee: Telefonaktiebolaget L M Ericsson (publ)
    Inventors: Tomas Akenine-Möller, Jacob Munkberg, Petrik Clarberg, Jon Hasselgren, Jacob Ström
  • Publication number: 20120154399
    Abstract: Hierarchical bounding of displaced parametric surfaces may be a very common use case for tessellation in interactive and real-time rendering. An efficient normal bounding technique may be used, together with min-max mipmap hierarchies and oriented bounding boxes. This provides substantially faster convergence for the bounding volumes of the displaced surface, without tessellating and displacing the surface in some embodiments. This bounding technique can be used for different types of culling, ray tracing, and to sort higher order primitives in tiling architectures.
    Type: Application
    Filed: February 21, 2012
    Publication date: June 21, 2012
    Inventors: Jacob Munkberg, Jon Hasselgren, Robert Toth, Tomas Akenine-Möller
  • Patent number: 8144147
    Abstract: Hierarchical bounding of displaced parametric surfaces may be a very common use case for tessellation in interactive and real-time rendering. An efficient normal bounding technique may be used, together with min-max mipmap hierarchies and oriented bounding boxes. This provides substantially faster convergence for the bounding volumes of the displaced surface, without tessellating and displacing the surface in some embodiments. This bounding technique can be used for different types of culling, ray tracing, and to sort higher order primitives in tiling architectures.
    Type: Grant
    Filed: April 7, 2010
    Date of Patent: March 27, 2012
    Assignee: Intel Corporation
    Inventors: Jacob Munkberg, Jon Hasselgren, Robert Toth, Tomas Akenine-Möller
  • Publication number: 20110248997
    Abstract: Hierarchical bounding of displaced parametric surfaces may be a very common use case for tessellation in interactive and real-time rendering. An efficient normal bounding technique may be used, together with min-max mipmap hierarchies and oriented bounding boxes. This provides substantially faster convergence for the bounding volumes of the displaced surface, without tessellating and displacing the surface in some embodiments. This bounding technique can be used for different types of culling, ray tracing, and to sort higher order primitives in tiling architectures.
    Type: Application
    Filed: April 7, 2010
    Publication date: October 13, 2011
    Inventors: Jacob Munkberg, Jon Hasselgren, Robert Toth, Tomas Akenine-Möller
  • Patent number: 8031937
    Abstract: Methods and apparatus are disclosed for the processing of frame buffer data, such as color buffer data, in graphics processing applications. Although more generally applicable, these methods and apparatus are particularly useful in real-time, polygon-based, 3D rendering applications. An exemplary method for processing graphics data according to one or more embodiments of the invention begins with the retrieval, from a buffer, of pixel values corresponding to a tile of two or more pixels, and with the updating of one or more of those updated pixel values. The updated pixel values are selectively compressed using a lossy compression operation or a lossless compression operation, based on an accumulated error metric value for the tile. If lossy compression is used, then the accumulated error metric value for the tile is updated; in either event, the compressed pixel values are stored in the frame buffer for further processing.
    Type: Grant
    Filed: December 10, 2007
    Date of Patent: October 4, 2011
    Assignee: Telefonaktiebolaget LM Ericsson (publ)
    Inventors: Jim Rasmusson, Tomas Akenine-Möller, Jon Hasselgren, Jacob Munkberg
  • Publication number: 20110018874
    Abstract: A method for improving performance of generation of digitally represented graphics. The method comprises: receiving a first representation of a base primitive; providing a set of instructions associated with vertex position determination; executing said retrieved set of instructions on said first representation of said base primitive using bounded arithmetic for providing a second representation of said base primitive, and subjecting said second representation of said base primitive to a culling process. A corresponding apparatus and computer program product are also presented.
    Type: Application
    Filed: January 23, 2009
    Publication date: January 27, 2011
    Inventors: Jon Hasselgren, Jacob Munkberg, Petrik Clarberg, Tomas G. Akenine-Möller
  • Publication number: 20100328303
    Abstract: A computer graphics processor (20,50) and a method for rendering a three-dimensional image on a display screen. The computer graphics processor (20,50) comprises a rasterizer (23,53) configured to perform pixel traversal of a primitive after projection of the primitive. Furthermore, the rasterizer (23,53) is configured to perform the pixel traversal of a first primitive for a plurality of views prior to performing pixel traversal of a next primitive for one or several views.
    Type: Application
    Filed: November 29, 2006
    Publication date: December 30, 2010
    Applicant: Swiftfoot Graphics AB
    Inventors: Tomas Akenine-Möller, Jacob Munkberg, Jon Hasselgren
  • Patent number: 7853092
    Abstract: A compressor for compressing a block of feature vectors representing a feature associated with image elements, includes electronic circuitry for determining the distribution of the feature vectors, electronic circuitry for transforming each point pattern in a predetermined set of point patterns to fit the determined distribution, and a selector for selecting a transformed point pattern that best fits the determined distribution. Furthermore, an encoder represents the block of feature vectors by an identifier identifying the selected point pattern in the set of point patterns, parameters representing the transformation associated with the selected point pattern, and an index for each feature vector representing the nearest point in the transformed selected point pattern.
    Type: Grant
    Filed: January 11, 2007
    Date of Patent: December 14, 2010
    Assignee: Telefonaktiebolaget LM Ericsson (publ)
    Inventors: Tomas Akenine-Möller, Petrik Clarberg, Jon Hasselgren, Jacob Munkberg
  • Publication number: 20100182314
    Abstract: It is presented a method for improving performance of generation of digitally represented graphics. Said method comprises the steps of: selecting (440) a tile comprising fragments to process; executing (452) a culling program for the tile, the culling program being replaceable; and executing a set of instructions, selected from a plurality of sets of instructions based on an output value of the culling program, for each of a plurality of subsets of the fragments. A corresponding display adapter and computer program product are also presented.
    Type: Application
    Filed: January 23, 2008
    Publication date: July 22, 2010
    Inventors: Tomas Akenine-Moller, Jon Hasselgren
  • Publication number: 20100097377
    Abstract: A first representation of a group of vertices may be received and a second representation of said group of vertices may be determined based on said first representation. A first set of instructions may be executed on said second representation of the group of vertices for providing a third representation of said group of vertices. The first set of instructions is associated with vertex position determination. The third representation of the group of vertices is subjected to a culling process.
    Type: Application
    Filed: October 19, 2009
    Publication date: April 22, 2010
    Inventors: Jon Hasselgren, Jacob Munkberg, Petrik Clarberg, Tomas Akenine-Moller, Ville Miettinen
  • Publication number: 20100060629
    Abstract: A graphics processing circuit for rendering three-dimensional graphics data is disclosed. The circuit includes pipelined graphics processing stages, wherein each of two or more of the stages is configured to process at least one of graphics primitives, vertices, tiles, and pixels, according to a stage-specific error budget. Depending on its error budget, each of these stages may select a high- or low-precision calculation, select between lossless and lossy compression, adjust the compression ratio of a variable lossy compression algorithm, or some combination of these approaches. The circuit further comprises a global error-control unit configured to determine error budgets for each of the two or more stages, based on at least one of error data received from the two or more stages, predetermined scene complexity data, and user-defined error settings, and to assign the error budgets to the graphics processing stages. Corresponding methods for processing graphics data are also disclosed.
    Type: Application
    Filed: September 9, 2008
    Publication date: March 11, 2010
    Inventors: Jim Rasmusson, Tomas Akenine-Moller, Petrik Clarberg, Jon Hasselgren, Jacob Munkberg
  • Publication number: 20100026684
    Abstract: This relates to a generation of digitally represented graphics. A first representation of a group of vertices is received. A second representation of said group of vertices is determined based on said first representation. A first set of instructions is executed on said second representation of said group of vertices for providing a third representation of said group of vertices, said first set of instructions being associated with vertex position determination. The third representation of said group of vertices is subjected to a culling process.
    Type: Application
    Filed: August 3, 2009
    Publication date: February 4, 2010
    Inventors: Jon Hasselgren, Jacob Munkberg, Petrik Clarberg, Tomas Akenine-Moller
  • Publication number: 20090160857
    Abstract: A unified compression/decompression architecture is disclosed for reducing memory bandwidth requirements in 3D graphics processing applications. The techniques described erase several distinctions between a texture (compressed once, and decompressed many times), and buffers (compressed and decompressed repeatedly during rendering of an image). An exemplary method for processing graphics data according to one or more embodiments of the invention thus begins with the updating of one or more tiles of a first image array, which are then compressed, using a real-time buffer compression algorithm, to obtain compressed image array tiles. The compressed image array tiles are stored for subsequent use as a texture. During real-time rendering of a second image array, the compressed image array tiles are retrieved and decompressed using a decompression algorithm corresponding to the buffer compression algorithm.
    Type: Application
    Filed: May 27, 2008
    Publication date: June 25, 2009
    Inventors: Jim Rasmusson, Tomas Akenine-Moller, Petrik Clarberg, Jon Hasselgren, Jacob Munkberg
  • Publication number: 20090046935
    Abstract: First and second codewords are determined, based on first feature vector components of the image elements in an image block, as representations of a first and second component value. Third and fourth codewords are determined, based on second vector components, as representations of a third and fourth component value. First N1 and second N2 resolution numbers are selected based on the relation of a distribution of the first vector components and a distribution of the second vector components. N1 additional component values are generated based on the first and second component values and N2 additional component values are generated based on the third and fourth component values. Component indices indicative of the generated component values are then provided for the different image elements.
    Type: Application
    Filed: January 22, 2007
    Publication date: February 19, 2009
    Inventors: Tomas Akenine-Moller, Jacob Munkberg, Petrik Clarberg, Jon Hasselgren, Jacob Strom
  • Publication number: 20080247641
    Abstract: Methods and apparatus are disclosed for the processing of frame buffer data, such as color buffer data, in graphics processing applications. Although more generally applicable, these methods and apparatus are particularly useful in real-time, polygon-based, 3D rendering applications. An exemplary method for processing graphics data according to one or more embodiments of the invention begins with the retrieval, from a buffer, of pixel values corresponding to a tile of two or more pixels, and with the updating of one or more of those updated pixel values. The updated pixel values are selectively compressed using a lossy compression operation or a lossless compression operation, based on an accumulated error metric value for the tile. If lossy compression is used, then the accumulated error metric value for the tile is updated; in either event, the compressed pixel values are stored in the frame buffer for further processing.
    Type: Application
    Filed: December 10, 2007
    Publication date: October 9, 2008
    Inventors: Jim Rasmusson, Tomas Akenine-Moller, Jon Hasselgren, Jacob Munkberg