Patents by Inventor Simon Fenney
Simon Fenney 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: 12380606Abstract: A method and a compression unit are provided for compressing, into a block of compressed data, a block of sub-primitive presence indications for use in a rendering system. The block of sub-primitive presence indications is subdivided into a plurality of parent regions, each of the parent regions being subdivided into a plurality of child regions. A presence state is identified for each of the child regions based on the sub-primitive presence indications in the block of sub-primitive presence indications. A hierarchical representation of the block of sub-primitive presence indications is stored in the block of compressed data. For each of one or more parent regions whose child regions all have the same identified presence state, parent-level data is included in the hierarchical representation to represent the presence state of the parent region without child-level data for the child regions within the parent region being included in the hierarchical representation.Type: GrantFiled: May 29, 2023Date of Patent: August 5, 2025Assignee: Imagination Technologies LimitedInventors: Alper Ozkan, Simon Fenney
-
Patent number: 12354185Abstract: A graphics processing system includes a tiling unit configured to tile a scene into a plurality of tiles. A processing unit identifies tiles of the plurality of tiles that are each associated with at least a predetermined number of primitives. A memory management unit allocates a portion of memory to each of the identified tiles and does not allocate a portion of memory for each of the plurality of tiles that are not identified by the processing unit. A rendering unit renders each of the identified tiles and does not render tiles that are not identified by the processing unit.Type: GrantFiled: January 29, 2024Date of Patent: July 8, 2025Assignee: Imagination Technologies LimitedInventors: Michael Worcester, Stuart Smith, Simon Fenney
-
Publication number: 20250218105Abstract: Methods and intersection testing modules are provided for determining, in a ray tracing system, whether a ray intersects a 3D axis-aligned box representing a volume defined by a front-facing plane and a back-facing plane for each dimension. The front-facing plane of the box which intersects the ray furthest along the ray is identified. It is determined whether the ray intersects the identified front-facing plane at a position that is no further along the ray than positions at which the ray intersects the back-facing planes in a subset of the dimensions, and this determination is used to determine whether the ray intersects the axis-aligned box. The subset of dimensions comprises the two dimensions for which the front-facing plane was not identified, but does not comprise the dimension for which the front-facing plane was identified.Type: ApplicationFiled: February 24, 2025Publication date: July 3, 2025Inventors: Gregory Clark, Simon Fenney
-
Publication number: 20250191278Abstract: A hierarchical acceleration structure for use in a ray tracing system. When generating a node for the hierarchical acceleration structure, the primitives in a particular portion of the 3D scene may be alternatively bounded by different shaped volumes. These bounding volumes or ‘bounding regions’ can be Axis Aligned Bounding Boxes (AABBs), although other bounding volumes can be used. The ray tracing system may use sets of two or more bounding volumes in a 3D scene to bound all the primitives within that portion. The choice of how to create sets of multiple bounding volumes within a portion of the 3D scene may be done by using a binary space partition (BSP). Different sets of bounding regions may present different amounts of surface area for a hypothetical ray entering the portion of the 3D scene dependent upon the expected ray direction or angle.Type: ApplicationFiled: February 24, 2025Publication date: June 12, 2025Inventors: Simon Fenney, Gregory Clark, Joseph John Davison
-
Publication number: 20250173948Abstract: A ray tracing system determines whether a ray intersects a three-dimensional axis-aligned box by determining whether a minimum distance condition and a maximum distance condition are satisfied, wherein the determining comprises determining whether a single distance condition is satisfied. The determination is used to determine whether the ray intersects the axis-aligned box. A point on the ray is at a position O+Dt where O is a vector which represents an origin of the ray, and t represents a distance along the ray from the origin of the ray, and wherein D is a 3D vector defining a direction vector of the ray.Type: ApplicationFiled: January 27, 2025Publication date: May 29, 2025Inventors: Simon Fenney, Rostam King, Peter Smith-Lacey, Gregory Clark
-
Publication number: 20250166283Abstract: A method of processing a primitive as part of intersection testing in a ray tracing system, the primitive being defined by an ordered set of vertices. Data defining a direction and an origin of a ray to be tested against the primitive, and coordinate data for a set of vertices are received. The coordinate data for the set of vertices is projected into ray space using the ray data, wherein the ray space has two non-parallel axes that are transverse to the direction of the ray, wherein a ray-space frame of reference associated with the axes is centered at a point on the ray such that the ray is represented as that point on the axes in the ray space, and wherein the point is an origin of the ray space. Then, the signs of the coordinate data for the set of vertices are analysed to determine whether a non-intersection condition is fulfilled, wherein fulfilment of the non-intersection condition indicates that the ray does not intersect the primitive.Type: ApplicationFiled: September 27, 2024Publication date: May 22, 2025Inventors: Peter Smith-Lacey, Simon Fenney
-
Patent number: 12266047Abstract: Methods and intersection testing modules are provided for determining, in a ray tracing system, whether a ray intersects a 3D axis-aligned box representing a volume defined by a front-facing plane and a back-facing plane for each dimension. The front-facing plane of the box which intersects the ray furthest along the ray is identified. It is determined whether the ray intersects the identified front-facing plane at a position that is no further along the ray than positions at which the ray intersects the back-facing planes in a subset of the dimensions, and this determination is used to determine whether the ray intersects the axis-aligned box. The subset of dimensions comprises the two dimensions for which the front-facing plane was not identified, but does not comprise the dimension for which the front-facing plane was identified.Type: GrantFiled: August 29, 2023Date of Patent: April 1, 2025Assignee: Imagination Technologies LimitedInventors: Gregory Clark, Simon Fenney
-
Publication number: 20250095298Abstract: A tessellation method uses vertex tessellation factors. For a quad patch, the method involves comparing the vertex tessellation factors for each vertex of the quad patch to a threshold value and if none exceed the threshold, the quad is sub-divided into two or four triangles. If at least one of the four vertex tessellation factors exceeds the threshold, a recursive or iterative method is used which considers each vertex of the quad patch and determines how to further tessellate the patch dependent upon the value of the vertex tessellation factor of the selected vertex or dependent upon values of the vertex tessellation factors of the selected vertex and a neighbor vertex. A similar method is described for a triangle patch.Type: ApplicationFiled: November 30, 2024Publication date: March 20, 2025Inventors: Simon Fenney, Vasiliki Simaiaki
-
Publication number: 20250097442Abstract: Compressed image data is received in substantially in raster scan order, and for each group of pixels in a row of the compressed image data, a block-based decoding scheme for the group of pixels is identified and the compressed data corresponding to the group of pixels is decoded at decoding hardware using the identified scheme.Type: ApplicationFiled: November 30, 2024Publication date: March 20, 2025Inventors: Jeffery Thomas Bond, Gregory Alan Clark, Selina Hopton, Simon Fenney
-
Publication number: 20250086252Abstract: Interpolation logic described herein provides a good approximation to a bicubic interpolation, which is generally smoother than bilinear interpolation, without performing all the calculations normally needed for a bicubic interpolation. This allows an approximation of smooth bicubic interpolation to be performed on devices (e.g. mobile devices) which have limited processing resources. At each of a set of predetermined interpolation positions within an array of data points, a set of predetermined weights represent a bicubic interpolation which can be applied to the data points. For a plurality of the predetermined interpolation positions which surround the sampling position, the corresponding sets of predetermined weights and the data points are used to determine a plurality of surrounding interpolated values which represent results of performing the bicubic interpolation at the surrounding predetermined interpolation positions.Type: ApplicationFiled: November 21, 2024Publication date: March 13, 2025Inventor: Simon Fenney
-
Patent number: 12236518Abstract: A hierarchical acceleration structure for use in a ray tracing system. When generating a node for the hierarchical acceleration structure, the primitives in a particular portion of the 3D scene may be alternatively bounded by different shaped volumes. These bounding volumes or ‘bounding regions’ can be Axis Aligned Bounding Boxes (AABBs), although other bounding volumes can be used. The ray tracing system may use sets of two or more bounding volumes in a 3D scene to bound all the primitives within that portion. The choice of how to create sets of multiple bounding volumes within a portion of the 3D scene may be done by using a binary space partition (BSP). Different sets of bounding regions may present different amounts of surface area for a hypothetical ray entering the portion of the 3D scene dependent upon the expected ray direction or angle.Type: GrantFiled: November 30, 2022Date of Patent: February 25, 2025Assignee: Imagination Technologies LimitedInventors: Simon Fenney, Gregory Clark, Joseph John Davison
-
Publication number: 20250062776Abstract: A method of data compression in which the total size of the compressed data is determined and based on that determination, the bit depth of the input data may be reduced before the data is compressed. The bit depth that is used may be determined by comparing the calculated total size to one or more pre-defined threshold values to generate a mapping parameter. The mapping parameter is then input to a remapping element that is arranged to perform the conversion of the input data and then output the converted data to a data compression element. The value of the mapping parameter may be encoded into the compressed data so that it can be extracted and used when subsequently decompressing the data.Type: ApplicationFiled: November 5, 2024Publication date: February 20, 2025Inventors: Peter Malcolm Lacey, Simon Fenney
-
Publication number: 20250037349Abstract: A method and an intersection testing module in a ray tracing system for performing intersection testing for a ray with respect to a plurality of convex polygons, each of which is defined by an ordered set of vertices. The vertices of the convex polygons are projected onto a pair of axes orthogonal to the ray direction. For each edge of a convex polygon defined by two of the projected vertices, a signed parameter is determined, wherein the sign of the signed parameter is indicative of which side of the edge the ray passes on. If the ray is determined to intersect a point on the edge then the sign of the signed parameter is determined using a module which is configured to: take as inputs, indications which classify each of pi, qi, pj and qj coordinates as negative, zero or positive, and output, for valid combinations of classifications of the pi, qi, pj and qj coordinates, an indication of the sign of the signed parameter.Type: ApplicationFiled: October 7, 2024Publication date: January 30, 2025Inventors: Peter Smith-Lacey, Rostam King, Gregory Clark, Simon Fenney
-
Patent number: 12211135Abstract: A method and an intersection testing module in a ray tracing system for determining whether a ray intersects a three-dimensional axis-aligned box. It is determined whether a first condition is satisfied, wherein the first condition is, or is equivalent to, ? "\[LeftBracketingBar]" C x - C z ? D x D z ? "\[RightBracketingBar]" ? H z ? D x D z + H x . It is determined whether a second condition is satisfied, wherein the second condition is, or is equivalent to, ? "\[LeftBracketingBar]" C y - C z ? D y D z ? "\[RightBracketingBar]" ? H z ? D y D z + H y .Type: GrantFiled: August 29, 2023Date of Patent: January 28, 2025Assignee: Imagination Technologies LimitedInventors: Simon Fenney, Rostam King, Peter Smith-Lacey, Gregory Clark
-
Publication number: 20250022228Abstract: A method and apparatus for rendering a computer-generated image using a stencil buffer is described. The method divides an arbitrary closed polygonal contour into first and higher level primitives, where first level primitives correspond to contiguous vertices in the arbitrary closed polygonal contour and higher level primitives correspond to the end vertices of consecutive primitives of the immediately preceding primitive level. The method reduces the level of overdraw when rendering the arbitrary polygonal contour using a stencil buffer compared to other image space methods. A method of producing the primitives in an interleaved order, with second and higher level primitives being produced before the final first level primitives of the contour, is described which improves cache hit rate by reusing more vertices between primitives as they are produced.Type: ApplicationFiled: July 30, 2024Publication date: January 16, 2025Inventor: Simon Fenney
-
Patent number: 12189711Abstract: Interpolation logic described herein provides a good approximation to a bicubic interpolation, which is generally smoother than bilinear interpolation, without performing all the calculations normally needed for a bicubic interpolation. This allows an approximation of smooth bicubic interpolation to be performed on devices (e.g. mobile devices) which have limited processing resources. At each of a set of predetermined interpolation positions within an array of data points, a set of predetermined weights represent a bicubic interpolation which can be applied to the data points. For a plurality of the predetermined interpolation positions which surround the sampling position, the corresponding sets of predetermined weights and the data points are used to determine a plurality of surrounding interpolated values which represent results of performing the bicubic interpolation at the surrounding predetermined interpolation positions.Type: GrantFiled: March 17, 2022Date of Patent: January 7, 2025Assignee: Imagination Technologies LimitedInventor: Simon Fenney
-
Publication number: 20240428503Abstract: A method for grouping primitives into pairs of adjoining triangles for use in a ray tracing process. An input list of edges of triangular primitives is obtained, an edge bounding volume surface area (BVSA) and an additional edge qualifier is determined for each of the edges. The entries in the input list are sorted by edge BVSA then by edge qualifier, giving a sorted list in which the entries have a sorted order. The list is traversed in the sorted order to seek groups of matched edges within a predetermined window of list entries, each edge in a matched group having a matching edge BVSA and edge qualifier with another edge in the matched group from a different triangular primitive. When a group of matched edges is found, associated triangular primitives are designated as a cluster of adjoining primitives. The cluster of adjoining primitives are processed together as a group.Type: ApplicationFiled: May 20, 2024Publication date: December 26, 2024Inventors: Aytek Aman, Simon Fenney
-
Patent number: 12170534Abstract: A method of data compression in which the total size of the compressed data is determined and based on that determination, the bit depth of the input data may be reduced before the data is compressed. The bit depth that is used may be determined by comparing the calculated total size to one or more pre-defined threshold values to generate a mapping parameter. The mapping parameter is then input to a remapping element that is arranged to perform the conversion of the input data and then output the converted data to a data compression element. The value of the mapping parameter may be encoded into the compressed data so that it can be extracted and used when subsequently decompressing the data.Type: GrantFiled: June 12, 2023Date of Patent: December 17, 2024Assignee: Imagination Technologies LimitedInventors: Peter Malcolm Lacey, Simon Fenney
-
Publication number: 20240406462Abstract: A method of compressing a set of image value data items each representing a position in image-value space so as to define an occupied region thereof. A series of compression transforms is applied to subsets of the image data items to generate a transformed set of image data items occupying a compacted region of value space. A set of one or more reference data items is identified that quantizes the compacted region in value space. For each image data item in the set of image data items, a sequence of decompression transforms is identified that generates an approximation of that image data item when applied to a selected one of the reference data items. Each image data item is encoded as a representation of the identified sequence of decompression transforms for that image data item. The data items and the decompression transforms are stored as compressed image data.Type: ApplicationFiled: August 9, 2024Publication date: December 5, 2024Inventor: Simon Fenney
-
Patent number: 12159350Abstract: A tessellation method uses vertex tessellation factors. For a quad patch, the method involves comparing the vertex tessellation factors for each vertex of the quad patch to a threshold value and if none exceed the threshold, the quad is sub-divided into two or four triangles. If at least one of the four vertex tessellation factors exceeds the threshold, a recursive or iterative method is used which considers each vertex of the quad patch and determines how to further tessellate the patch dependent upon the value of the vertex tessellation factor of the selected vertex or dependent upon values of the vertex tessellation factors of the selected vertex and a neighbor vertex. A similar method is described for a triangle patch.Type: GrantFiled: June 13, 2023Date of Patent: December 3, 2024Assignee: Imagination Technologies LimitedInventors: Simon Fenney, Vasiliki Simaiaki