IP Library Granted Patent US 12,586,250
Granted Patent B2
US 12,586,250 · App. 18/203,122 · Granted Mar 24, 2026

Compression and decompression of sub-primitive presence indications for use in a rendering system

Inventors: Simon Fenney (St. Albans, GB); Alper Ozkan (Hertfordshire, GB)
Assignee: Imagination Technologies Limited
G06T9/00G06T15/06G06T2210/21
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,586,250
App. No.
18/203,122
Granted
Mar 24, 2026
Kind
B2
Abstract

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 intersection testing in a rendering system. An ordered set of patches is obtained which represents the presence indications in the block of sub-primitive presence indications. At least two of the patches in the set of patches partially overlap with each other. Data defining the patches of the set of patches is stored in the block of compressed data. The data defining each of the patches defines a presence state of the patch and a position of the patch within the block of sub-primitive presence indications.

Claims (36)

1 . A method of compressing, into a block of compressed data, a block of sub-primitive presence indications for use in a rendering system, the method comprising:

obtaining an ordered set of patches which represents the presence indications in the block of sub-primitive presence indications, wherein at least two of the patches in the set of patches partially overlap with each other; and

storing, in the block of compressed data, data defining the patches of the set of patches,

wherein the data defining each of the patches defines a presence state of the patch and a position of the patch within the block of sub-primitive presence indications.

2 . The method of claim 1 , wherein the data defining each of the patches further defines a shape of the patch within the block of sub-primitive presence indications.

3 . The method of claim 2 , wherein there are 2B predetermined shapes, and B bits are used to indicate one of the predetermined shapes to define the shape of each of the patches.

4 . The method of claim 3 , wherein B=1.

5 . The method of claim 3 , wherein the predetermined shapes comprise: (i) a rectangle aligned to axes of the block of sub-primitive presence indications, and (ii) a rectangle rotated by 45 degrees relative to the axes of the block of sub-primitive presence indications.

6 . The method of claim 3 , wherein the predetermined shapes comprise one or more of: a circle, an ellipse, and a rectangle rotated by an angle other than 45 degrees relative to the axes of the block of sub-primitive presence indications.

7 . The method of claim 1 , wherein the data defining the patches is stored in the block of compressed data in an order that is in accordance with the ordering of the ordered set of patches.

8 . The method of claim 1 , wherein the data defining each of the patches further defines a size of the patch within the block of sub-primitive presence indications.

9 . The method of claim 8 , wherein the data defining each of the patches defines the size of the patch by defining one or more widths of the patch in one or more directions.

10 . The method of claim 1 , wherein the data defining each of the patches defines the position of the patch by defining a position of the centre of the patch within the block of sub-primitive presence indications.

11 . The method of claim 1 , wherein the data defining each of the patches defines the position and size of the patch by defining minimum and maximum x and y coordinates of the patch within the block of sub-primitive presence indications.

12 . The method of claim 1 , further comprising storing, in the block of compressed data, data defining a background presence state of the block of sub-primitive presence indications.

13 . The method of claim 1 , wherein each of the presence states is one of: (i) fully present, (ii) fully absent, or (iii) partially present.

14 . The method of claim 1 , wherein 2 bits are used to define the presence state of each of the patches.

15 . The method of claim 1 , wherein:

the block of presence indications is a 2 N ×2 N block of sub-primitive presence indications,

there are P patches in the set of patches,

a position of the centre of each of the patches is defined with two coordinates which are each represented with (N+1) bits,

widths of each of the patches in two directions are each defined with N bits,

a shape of each of the patches is indicated with B bits as being one of 2B predetermined shapes,

M bits are used to indicate a presence state of each of the patches and of a background, and

the number of bits stored in the block of compressed data to represent the block of sub-primitive presence indications is (M+B+4N+2)P+M.

16 . The method of claim 15 , wherein M=2, B=1, N=4 and P=8, such that 170 bits are stored in the block of compressed data to represent the 16×16 block of sub-primitive presence indications.

17 . The method of claim 15 , wherein M=2, B=1, N=4 and P=6 such that 128 bits are stored in the block of compressed data to represent the 16×16 block of sub-primitive presence indications.

18 . The method of claim 1 , wherein the rendering system is a ray tracing system or a rasterization system.

19 . A compression unit configured to compress, into a block of compressed data, a block of sub-primitive presence indications for use in a rendering system, the compression unit being configured to:

obtain an ordered set of patches which represents the presence indications in the block of sub-primitive presence indications, wherein at least two of the patches in the set of patches partially overlap with each other; and

store, in the block of compressed data, data defining the patches of the set of patches,

wherein the data defining each of the patches defines a presence state of the patch and a position of the patch within the block of sub-primitive presence indications.

20 . A non-transitory computer readable storage medium having stored thereon a computer readable dataset description of an integrated circuit that, when processed in an integrated circuit manufacturing system, configures the integrated circuit manufacturing system to manufacture a compression unit configured to compress, into a block of compressed data, a block of sub-primitive presence indications for use in a rendering system, the compression unit being configured to:

obtain an ordered set of patches which represents the presence indications in the block of sub-primitive presence indications, wherein at least two of the patches in the set of patches partially overlap with each other; and

store, in the block of compressed data, data defining the patches of the set of patches,

wherein the data defining each of the patches defines a presence state of the patch and a position of the patch within the block of sub-primitive presence indications.

Assignments (2)
SECURITY INTEREST Recorded Jul 31, 2024
From: IMAGINATION TECHNOLOGIES LIMITED
To: FORTRESS INVESTMENT GROUP (UK) LTD
Reel/Frame 068221/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2024
From: FENNEY, SIMON; OZKAN, ALPER
To: IMAGINATION TECHNOLOGIES LIMITED
Reel/Frame 067596/0477 →
Priority Claims (2)
GB 2207940 · May 30, 2022 · national
GB 2207945 · May 30, 2022 · national
Continuity (1)
Related Publication 20240119634A1 · Apr 11, 2024
References Cited (14)
US 6271848B1 · Yasui et al. · 2001 [cited by applicant]
US 7440132B2 · Foehr et al. · 2008 [cited by applicant]
US 20020005854A1 · Deering et al. · 2002 [cited by applicant]
US 20070268298A1 · Alben et al. · 2007 [cited by applicant]
US 20130249897A1 · Dunaisky et al. · 2013 [cited by applicant]
US 20150221127A1 · Howson · 2015 [cited by examiner]
US 20160063737A1 · Mammou · 2016 [cited by applicant]
US 20160098856A1 · Broadhurst et al. · 2016 [cited by applicant]
US 20160247249A1 · Harris · 2016 [cited by examiner]
US 20210201559A1 · Gruen · 2021 [cited by applicant]
US 20220217400A1 · Schwarz et al. · 2022 [cited by applicant]
US 20220277411A1 · Wang et al. · 2022 [cited by applicant]
GB 2538856A · 2016 [cited by applicant]
GB 2580166A · 2020 [cited by applicant]