Patents by Inventor Tomas Akenine-Moller

Tomas Akenine-Moller 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: 7940283
    Abstract: A method and a device for generating a pixel value from a plurality of sample values being generated from a plurality of sample points. The method comprises generating a plurality of sample values; and weighting said plurality of sample values for determining said pixel value. Each sample value is generated from one of a plurality of candidate sample points within a sample region. The sample region is positioned at a corner of two intersecting borders of the pixel. The size of the sample region is smaller than the size of the pixel. The device is arranged to carry out the method according to the invention.
    Type: Grant
    Filed: November 18, 2005
    Date of Patent: May 10, 2011
    Assignee: Telefonaktiebolaget LM Ericsson (publ)
    Inventors: Jacob Ström, Tomas Akenine-Möller
  • Publication number: 20110033127
    Abstract: A pixel block (300) is compressed by sub-sampling at least a portion of the pixels (310) into subblocks (320, 330). Predictions are determined for the property values of these subblocks (320, 330) by calculating a variance measure based on property values of neighboring pixels (310)/subblocks (320, 330) in two prediction directions in the block (300) relative to a current subblock (320, 330). If the variance is below a threshold, the prediction is calculated based on neighboring property values in both directions. If the measure exceeds the threshold, the neighboring property values in only one of the two predictions directions are used for calculating the prediction. A guiding bit (450) descriptive of the selected direction is also provided. A prediction error is calculated based on the property value and the calculated prediction. The compressed block (400) comprises an encoded representation (460) of the prediction error and any guiding bit (470).
    Type: Application
    Filed: January 19, 2009
    Publication date: February 10, 2011
    Inventors: Jim Rasmusson, Tomas Akenine-Moller, Jacob Strom
  • Publication number: 20110026820
    Abstract: A pixel block (300) is compressed by providing a respective color component prediction for each pixel (310-318) in the block (300). A difference between color components of two neighboring pixels (312, 316) is calculated and compared to a threshold. If the difference is smaller than the threshold, the prediction is calculated based on a first linear combination of the color components of these two neighboring pixels (312, 316). However, if the difference exceeds the threshold, a second or third linear combination of the color components of the neighboring pixels (312, 316) is employed a prediction. A guiding bit (470) associated with the selected linear combination. A prediction error is calculated based on the color component of the pixel (318) and the provided prediction. The compressed block (400) comprises an encoded representation (480) of the prediction error and any guiding bit (470).
    Type: Application
    Filed: May 21, 2008
    Publication date: February 3, 2011
    Applicant: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
    Inventors: Jacob Strom, Per Wennersten, Tomas Akenine-Moller, Jim Rasmusson
  • 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: 20100296745
    Abstract: A pixel block (300) is losslessly compressed into a candidate compressed block. If the bit length of the candidate block exceeds a threshold value, the property values of the pixels (310-317) in the block (300) are quantized and the quantized values are losslessly compressed into a new candidate compressed block. The procedure is repeated until a candidate compressed block having good image quality and a bit length below the threshold value is found. A compressed representation (400) of the block (300) is determined based on the found candidate compressed block (420) and an identifier (410) of the used quantization parameter.
    Type: Application
    Filed: September 17, 2008
    Publication date: November 25, 2010
    Applicant: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
    Inventors: Jacob Strom, Tomas Akenine-Moller, Per Wennersten
  • 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
  • Patent number: 7751630
    Abstract: The invention is applied to image processing schemes by providing at least one auxiliary block processing mode in addition to the standard default block processing mode of the scheme. An image to be decoded is divided into a number of image blocks (800) having multiple image elements (810). These blocks (800) are individually compressed by means of a default compressing mode or an auxiliary compressing mode, depending on which mode that results in a smallest error metric. A portion (980) of the resulting compressed block (900) is used to discriminate between the two modes. In the auxiliary mode, the remaining payload portion (990) of the compressed block (900) can be used for encoding purposes, whereas the default mode can in addition utilize the discriminating portion (980).
    Type: Grant
    Filed: July 1, 2005
    Date of Patent: July 6, 2010
    Assignee: Telefonaktiebolaget LM Ericsson (Publ)
    Inventors: Jacob Ström, Tomas Akenine-Möller
  • Patent number: 7734105
    Abstract: An image encoding and decoding scheme operable according two different modes depending on properties of the processed image is disclosed. In the encoding, an image is decomposed into image blocks (600) comprising image elements (610). The blocks (600) are compressed into block representations (700A, 700B) according to one of two compression modes. A block representation (700A; 700B) comprises two codewords (720A, 730A; 720B, 730B) representing properties of the image elements (610) in the block (600) and a sequence (740A; 740B) of image element associated indices indicative of one of the codewords (720B, 730B) or a property representation generated based on a codeword (730A). The block representation (700A; 700B) also includes a mode index representing the mode, according to which the block representation (700A; 700B) was compressed. This mode index can be provided before, during or after generation of the codewords (720A, 730A; 720B, 730B) and index sequence (740A; 740B).
    Type: Grant
    Filed: December 17, 2004
    Date of Patent: June 8, 2010
    Assignee: Telefonaktiebolaget LM Ericsson (publ)
    Inventors: Jacob Ström, Tomas Akenine-Möller
  • 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
  • Patent number: 7693337
    Abstract: An alpha image encoding and decoding scheme operable according two different modes is disclosed. In the encoding, an alpha image is decomposed into alpha image blocks (600) comprising image elements (610). The blocks (600) are compressed into block representations (700) according to one of the two compression modes. A block representation (700) comprises a color codeword (720), an intensity codeword (730), an alpha codeword (740) and a sequence (750) of image element associated indices indicative of one of the codewords (730, 740). The compression and decompression mode to use for a block (600) is determined based on the alpha codeword (740). In a high alpha-resolution mode, the index sequence (750) comprises alpha indices selecting one of the quantized alpha values (740A, 740B) of the alpha codeword (740) and intensity indices selecting an intensity modifier from a modifier set represented by the intensity codeword (730).
    Type: Grant
    Filed: December 17, 2004
    Date of Patent: April 6, 2010
    Assignee: Telefonaktiebolaget LM Ericsson (publ)
    Inventors: Jacob Ström, Tomas Akenine-Möller
  • 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: 20100046847
    Abstract: A block (300) of image elements (310) is compressed by determining multiple base vectors (510, 520, 530, 540) based on the feature vectors (312) associated with the image elements. Additional vectors (560, 570) are calculated based on defined pairs of neighboring base vectors (510, 520, 530, 540). A vector among the base vectors (510, 520, 530, 540) and the additional vectors (560, 570) is selected as representation of the feature vector (312) of an image element (310). An identifier (550) associated with selected vector is assigned to the image element (310) and included in the compressed block (500) which also comprises representations of the determined base vectors (510, 520, 530, 540).
    Type: Application
    Filed: March 19, 2008
    Publication date: February 25, 2010
    Inventors: Tomas Akenine-Möller, Jacob Munkberg, Jacob Ström
  • 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: 20100014766
    Abstract: A block (300) of image elements (310) is compressed by identifying a base vector (460) based on normalized feature vectors (312) of the block (300). If a position-determining coordinate (420) of the base vector (460) is present inside a defined selection section (530) of feature vector space (500), the block (300) is compressed according to a default mode and an auxiliary mode to get a default and auxiliary compressed block (600), respectively. The compressed block (600) resulting in smallest compression error is selected. If the auxiliary mode is selected, the position-determining coordinate (420) is mapped to get a mapped coordinate (425) present outside the representable normalization portion (510) of vector space (500). The auxiliary compressed block (600) comprises a representation of this mapped coordinate (425).
    Type: Application
    Filed: March 31, 2008
    Publication date: January 21, 2010
    Applicant: Telefonaktiebolaget LM Ericsson (publ)
    Inventors: Tomas Akenine-Möller, Munkberg Jacob, Jacob Ström
  • Patent number: 7636471
    Abstract: In an image-encoding scheme, an input image is decomposed into several image blocks (600) comprising multiple image elements (610), e.g. pixels or texels. The image blocks (600) are then encoded into encoded block representations (700). Such a block representation (700) comprises a color codeword (710), an intensity codeword (720) and a sequence (730) of intensity representations. The color codeword (710) is a representation of the colors of the image elements (610) of the block (600). The intensity codeword (720) is a representation of a set of multiple intensity modifiers for modifying the intensity of the image elements (610) in the block (600). The representation sequence (730) includes an intensity representation for each image element (610) in the block (600), where a representation identifies one of intensity modifiers in the intensity modifier set.
    Type: Grant
    Filed: July 8, 2004
    Date of Patent: December 22, 2009
    Assignee: Telefonaktiebolaget LM Ericsson (publ)
    Inventors: Jacob Ström, Tomas Akenine-Möller
  • Patent number: 7633507
    Abstract: A pixel is textured by storing a first texel reference value, a second texel reference value, and texel mapping values where each texel mapping value represents a k-tuple of (ternary) references to the first texel reference value, the second texel reference value and a third texel reference value to thereby represent a block of texels. A pixel value for the pixel is generated from the stored texel values and the pixel is displayed responsive to the generated pixel value. In some embodiments, respective pluralities of texel reference values and texel mapping values that map thereto are stored for respective ones of a plurality of overlapping blocks of texels. In further embodiments, a first mipmap value for a pixel is bilinearly interpolated from the retrieved texel values for the set of nearest neighbor texels. A second mipmap value for the pixel is generated by averaging the retrieved texel values for the set of nearest neighbor texels.
    Type: Grant
    Filed: July 12, 2005
    Date of Patent: December 15, 2009
    Assignee: Telefonaktiebolaget L M Ericsson (Publ)
    Inventors: Tomas Akenine-Möller, Jacob Ström
  • Publication number: 20090279601
    Abstract: A mobile device is configured to encode and decode a video sequence for rendering on a display. A user may choose a resolution level for the encoding/decoding process such that a device controller selectively encodes or decodes a subset of frames in the video sequence. Battery power may be saved by controlling the resolution level for the encoding/decoding process.
    Type: Application
    Filed: May 8, 2008
    Publication date: November 12, 2009
    Applicant: Telefonaktiebolaget LM Ericsson (publ)
    Inventors: Jacob Strom, Tomas Akenine-Moller
  • Publication number: 20090213137
    Abstract: A method and a device for generating a pixel value from a plurality of sample values being generated from a plurality of sample points. The method comprises generating a plurality of sample values; and weighting said plurality of sample values for determining said pixel value. Each sample value is generated from one of a plurality of candidate sample points within a sample region. The sample region is positioned at a corner of two intersecting borders of the pixel. The size of the sample region is smaller than the size of the pixel. The device is arranged to carry out the method according to the invention.
    Type: Application
    Filed: November 18, 2005
    Publication date: August 27, 2009
    Applicant: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
    Inventors: Jacob Strom, 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