Imagination Technologies Limited

United Kingdom

Back to Profile

1-100 of 1,797 for Imagination Technologies Limited Sort by
Query
Aggregations
IP Type
        Patent 1,774
        Trademark 23
Jurisdiction
        United States 1,724
        World 61
        Europe 9
        Canada 3
Date
New (last 4 weeks) 9
2026 September (MTD) 6
2026 August 8
2026 July 7
2026 June 6
See more
IPC Class
G06T 15/00 - 3D [Three Dimensional] image rendering 446
G06T 1/20 - Processor architecturesProcessor configuration, e.g. pipelining 314
G06T 15/06 - Ray-tracing 275
G06T 1/60 - Memory management 227
G06T 17/20 - Wire-frame description, e.g. polygonalisation or tessellation 142
See more
NICE Class
09 - Scientific and electric apparatus and instruments 22
42 - Scientific, technological and industrial services, research and design 14
45 - Legal and security services; personal services for individuals. 12
38 - Telecommunications services 2
41 - Education, entertainment, sporting and cultural services 2
See more
Status
Pending 402
Registered / In Force 1,395
  1     2     3     ...     18        Next Page

1.

Tessellation Hardware Subdivision of Patches into Sub-Patches

      
Application Number 19676341
Status Pending
Filing Date 2026-05-13
First Publication Date 2026-09-17
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Lacey, Peter Malcolm
  • Fenney, Simon

Abstract

Hardware tessellation units include a sub-division logic block that comprises hardware logic arranged to perform a sub-division of a patch into two (or more) sub-patches. The hardware tessellation units also include a decision logic block that is configured to determine whether a patch is to be sub-divided or not and one or more hardware elements that control the order in which tessellation occurs. In various examples, this hardware element is a patch stack that operates a first-in-last-out scheme and in other examples, there are one or more selection logic blocks that are configured to receive patch data for more than one patch or sub-patch and output the patch data for a selected one of the received patches or sub-patches.

IPC Classes  ?

  • G06T 17/20 - Wire-frame description, e.g. polygonalisation or tessellation
  • G06T 1/20 - Processor architecturesProcessor configuration, e.g. pipelining
  • G06T 15/00 - 3D [Three Dimensional] image rendering
  • G06T 17/10 - Volume description, e.g. cylinders, cubes or using CSG [Constructive Solid Geometry]

2.

Methods and Allocators for Allocating Portions of a Storage Unit Using Virtual Partitioning

      
Application Number 19664843
Status Pending
Filing Date 2026-04-30
First Publication Date 2026-09-17
Owner Imagination Technologies Limited (United Kingdom)
Inventor King, Ian

Abstract

Methods and storage unit allocators for allocating one or more portions of a storage unit to a plurality of tasks for storing at least two types of data. The method includes receiving a request for one or more portions of the storage unit to store a particular type of data of the at least two types of data for a task of the plurality of tasks; associating the request with one of a plurality of virtual partitionings of the storage unit based on one or more characteristics of the request, each virtual partitioning allotting none, one, or more than one portion of the storage unit to each of the at least two types of data; and allocating the requested one or more portions of the storage unit to the task from the none, one, or more than one portion of the storage unit allotted to the particular type of data in the virtual partitioning associated with the request.

IPC Classes  ?

  • G06F 3/06 - Digital input from, or digital output to, record carriers

3.

Scheduling Tasks Using Work Fullness Counter

      
Application Number 19680179
Status Pending
Filing Date 2026-05-18
First Publication Date 2026-09-17
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Nield, Simon
  • Foo, Yoong-Chert
  • De Grasse, Adam
  • Iuliano, Luca

Abstract

A method of activating scheduling instructions within a parallel processing unit includes checking if an ALU targeted by a decoded instruction is full by checking a value of an ALU work fullness counter stored in the instruction controller and associated with the targeted ALU. If the targeted ALU is not full, the decoded instruction is sent to the targeted ALU for execution and the ALU work fullness counter associated with the targeted ALU is updated. If, however, the targeted ALU is full, a scheduler is triggered to de-activate the scheduled task by changing the scheduled task from the active state to a non-active state. When an ALU changes from being full to not being full, the scheduler is triggered to re-activate an oldest scheduled task waiting for the ALU by removing the oldest scheduled task from the non-active state.

IPC Classes  ?

  • G06F 9/48 - Program initiatingProgram switching, e.g. by interrupt
  • G06F 7/575 - Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline or look ahead

4.

Processing Instructions at a Processing Unit Configured to Perform Parallel Processing

      
Application Number 19660338
Status Pending
Filing Date 2026-04-28
First Publication Date 2026-09-10
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Wilkinson, Daniel
  • King, Ian

Abstract

A method of processing instructions at a processing unit having a parallel processing engine. During a mission cycle, a first set of mission operand values is processed in accordance with a mission instruction at a first processing instance to generate a first mission output. In parallel, a second set of mission operand values is processed in accordance with the mission instruction at a second processing instance to generate a second mission output. During a test cycle, a first set of test operand values is processed in accordance with a test instruction at the first processing instance to generate a first test output, and in parallel, a second set of test operand values is processed in accordance with the test instruction at the second processing instance to generate a second test output, where the first set of test operand values is the same as the second set of test operand values. The first test output and the second test output are compared and a fault signal is raised if the compared test outputs do not match.

IPC Classes  ?

  • G06F 11/22 - Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware

5.

Compression and Decompression of Sub-Primitive Presence Indications for Use in a Rendering System

      
Application Number 19664608
Status Pending
Filing Date 2026-04-30
First Publication Date 2026-09-10
Owner Imagination Technologies Limited (United Kingdom)
Inventor Fenney, Simon

Abstract

A block of sub-primitive presence indications for use in intersection testing in a rendering system is compressed into a block of compressed data. Spatial decorrelation is performed to determine spatially decorrelated presence indications by (i) determining a predicted value for the presence indication based on one or more other presence indications in the line, and (ii) replacing the presence indication with a value of a difference between the presence indication and the determined predicted value for the presence indication. For each line of presence indications in a second dimension within the block, for one or more of the presence indications in the line: (i) a predicted value for the presence indication is determined based on one or more other presence indications in the line, and (ii) the presence indication is replaced with a value of a difference between the presence indication and the determined predicted value for the presence indication.

IPC Classes  ?

6.

Topology Encoding

      
Application Number 19542863
Status Pending
Filing Date 2026-02-18
First Publication Date 2026-09-03
Owner Imagination Technologies Limited (United Kingdom)
Inventor Smith-Lacey, Peter

Abstract

A method of compressing meshlet topology data includes selecting a starting vertex in a meshlet and creating an encoding comprising data identifying a glue type of the starting vertex and data indicating a number of connected vertices. A next glue vertex in the meshlet is then selected and for the next glue vertex, the method comprises appending to the encoding, one or more of: data identifying the next glue vertex; data identifying a glue type of the next glue vertex and data indicating a number of new connected vertices, wherein each new connected vertex is connected to the new glue vertex by an edge. The method continues to select a next glue vertex and append one or more bits to the encoding until all the vertices and edges of the meshlet are included in the encoding. Methods and apparatus for decompression are also described.

IPC Classes  ?

7.

Coarse Depth Test in Graphics Processing Systems

      
Application Number 19648255
Status Pending
Filing Date 2026-04-15
First Publication Date 2026-08-27
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Belli, Lorenzo
  • Brigg, Robert

Abstract

Methods and coarse depth test logic perform coarse depth testing in a graphics processing system in which a rendering space is divided into a plurality of tiles. A depth range for a tile identifies a depth range based on primitives previously processed. A determination is made based on the depth range for the tile as to whether all or a portion of a primitive is hidden in the tile. If at least a portion of the primitive is not hidden in the tile, a determination is made as to whether the primitive or a primitive fragment thereof has better depth than the primitives previously processed for the tile. If so, the primitive or the primitive fragment is identified as not requiring a read of a depth buffer to perform full resolution depth testing, such that a determination that at least a portion of the primitive is hidden in the tile causes full resolution depth testing not to be performed on at least that portion of the primitive.

IPC Classes  ?

  • G06T 15/40 - Hidden part removal
  • G06F 7/24 - Sorting, i.e. extracting data from one or more carriers, re-arranging the data in numerical or other ordered sequence, and re-recording the sorted data on the original carrier or on a different carrier or set of carriers
  • G06F 9/48 - Program initiatingProgram switching, e.g. by interrupt
  • G06T 1/60 - Memory management
  • G06T 7/50 - Depth or shape recovery
  • G06T 15/20 - Perspective computation
  • G06T 17/10 - Volume description, e.g. cylinders, cubes or using CSG [Constructive Solid Geometry]

8.

Ray Tracing Using Compressed Ray Data Representation for a Ray Having Three Direction Components and Three Position Components

      
Application Number 19644791
Status Pending
Filing Date 2026-04-10
First Publication Date 2026-08-20
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Smith-Lacey, Peter
  • Fenney, Simon

Abstract

A computer implemented method converts ray data for a ray into a ray representative, wherein the ray representative is a compressed representation of the ray data, and wherein the ray data comprises three direction components and three position components for the ray. The method comprises identifying which of the three direction components of the ray data has the greatest magnitude, and defining the axis of the identified direction component as the major axis of the ray. The method further comprises determining a translated position on the ray at which the position component along the major axis is zero, and rescaling the three direction components of the ray so that the magnitude of the direction component along the major axis is one. The ray representative comprises: (i) the two position components of the translated position along the axes which are not the major axis, and (ii) the two rescaled direction components along the axes which are not the major axis.

IPC Classes  ?

9.

Intersection Testing for Ray Tracing

      
Application Number 19644478
Status Pending
Filing Date 2026-04-10
First Publication Date 2026-08-20
Owner Imagination Technologies Limited (United Kingdom)
Inventor Barnard, Daniel

Abstract

A system and method for performing intersection testing of rays in a ray tracing system. The ray tracing system uses a hierarchical acceleration structure comprising a plurality of nodes, each identifying one or more elements able to be intersected by a ray. The system makes use of a serial-mode ray intersection process, in which, when a ray intersects a bounding volume, a limited number of new ray requests are generated.

IPC Classes  ?

10.

Multiplication of a Sparse Matrix and a Dense Matrix to Determine an Output Matrix on a Processing Unit

      
Application Number 19403694
Status Pending
Filing Date 2025-11-28
First Publication Date 2026-08-13
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Demirci, Gunduz Vehbi
  • Atherton, Timothy James

Abstract

A sparse matrix and a dense matrix are multiplied to determine an output matrix. A cache stores portions of rows of the dense matrix. The sparse matrix comprises non-zero elements and elements which are zero. The rows and columns of the dense matrix and the output matrix are ordered in accordance the rows and columns of the sparse matrix. The threads of a workgroup access data representing non-zero elements of a corresponding row of the sparse matrix. For each of the non-zero elements of the corresponding row of the sparse matrix, a portion of a related row of the dense matrix is accessed from the cache, and the non-zero element is multiplied with the related row of the dense matrix. A row-position of the related row in the dense matrix matches a column-position of the non-zero element in the sparse matrix. A column-position of the portion of the related row of the dense matrix matches a column-position of the portion of the row of the output matrix of the section to which the thread is allocated.

IPC Classes  ?

11.

Methods and Systems for Tokenising Structured Language

      
Application Number 19430409
Status Pending
Filing Date 2025-12-23
First Publication Date 2026-08-13
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Chirkunov, Sergei
  • Imber, James Stuart
  • Keen, William Peter
  • Wilkinson, Daniel

Abstract

A structured language for use in a language model is tokenised. Each segment of the structured language includes a plurality of words formed using a predetermined syntax. A segment structure embedding of a received segment is determined by identifying, based on the predetermined syntax, a word-category for each word in the segment, thereby obtaining a sequence of word-categories; determining a category-token value for the sequence of word-categories; and encoding the category-token value as a vector defining the segment structure embedding. Word embeddings are determined by, for each word in the segment: determining a word-token value for the word; and encoding the word-token value as a vector. A unique vector embedding is determined by combining i) the vector defining the segment structure embedding and ii) each vector defining each word embedding of the word embeddings, wherein the unique vector embedding uniquely defines the received segment and is arranged to be input into language model.

IPC Classes  ?

  • G06F 16/31 - IndexingData structures thereforStorage structures

12.

Compressing a Set of Values

      
Application Number 19426204
Status Pending
Filing Date 2025-12-19
First Publication Date 2026-08-13
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Demirci, Gunduz Vehbi
  • Atherton, Timothy James
  • Imber, James Stuart
  • Fenney, Simon

Abstract

A computer-implemented method of compressing a set of values, the method comprising: determining a matrix comprising the set of values; assessing a similarity between pairs of rows and/or pairs of columns of the matrix; reordering the rows and/or columns of the matrix in dependence on the similarity between the pairs of rows and/or pairs of columns so as to form a plurality of groups of values of the set of values; and compressing at least one group of values of the plurality of groups of values so as to compress the set of values.

IPC Classes  ?

  • H03M 7/30 - CompressionExpansionSuppression of unnecessary data, e.g. redundancy reduction
  • G06F 17/16 - Matrix or vector computation

13.

Burst Scheduling

      
Application Number 19428603
Status Pending
Filing Date 2025-12-22
First Publication Date 2026-08-13
Owner Imagination Technologies Limited (United Kingdom)
Inventor Thomas, William

Abstract

A method of compiling a shader which uses burst scheduling includes analysing a control flow graph for a shader to create a plurality of bursts, each burst comprising an instruction from the shader. The bursts are then analysed to group them together to form one or more new, larger, bursts using pre-defined grouping rules. The resultant bursts are then ordered using pre-defined ordering rules before a modified version of the shader is output. This modified version of the shader comprises instructions in an order according to the ordered bursts where this order is different from that of the original shader.

IPC Classes  ?

  • G06F 9/48 - Program initiatingProgram switching, e.g. by interrupt
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline or look ahead

14.

Implementation of Argmax or Argmin in Hardware

      
Application Number 19645014
Status Pending
Filing Date 2026-04-10
First Publication Date 2026-08-13
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Ahmadi, Aria
  • Dikici, Cagatay
  • Asad, Muhammad
  • Condorelli, Elia

Abstract

A mechanism for processing, on a hardware accelerator comprising fixed-function circuitry, data according to a neural network process that comprises a neural network with an associated argmax or argmin function. The argmax or argmin function is mapped to a set of elementary neural network operations available to the fixed-function circuitry. The neural network process is then executed using the fixed-function circuitry. The data processed using the neural network process comprises image and/or audio data.

IPC Classes  ?

  • G06N 3/063 - Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
  • G06N 3/048 - Activation functions

15.

Maintaining Synchronisation Between Memory Writing and Reading Blocks Using an Internal Buffer and a Control Channel

      
Application Number 19570508
Status Pending
Filing Date 2026-03-18
First Publication Date 2026-07-23
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Vines, Alan
  • Spain, Stephen
  • Escobar, Fernando

Abstract

A hardware unit for manipulating data stored in a memory comprises an internal buffer, a memory reading block, configured to read the data from the memory and write the data to the internal buffer. a memory writing block, configured to read the data from the internal buffer and write the data to the memory. The hardware unit optionally also comprises a control channel between the memory reading block and the memory writing block, wherein the memory reading block and the memory writing block are configured to communicate via the control channel to maintain synchronisation between them when writing the data to the internal buffer and reading the data from the internal buffer, respectively. The hardware unit may be configured to apply one or more transformations to multidimensional data in the memory. The hardware unit may be configured to traverse the multidimensional array using a plurality of nested loops.

IPC Classes  ?

  • G06F 3/06 - Digital input from, or digital output to, record carriers

16.

Controlling Scheduling of a GPU

      
Application Number 19561077
Status Pending
Filing Date 2026-03-09
First Publication Date 2026-07-16
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Roberts, Dave
  • Dsouza, Jackson

Abstract

The operation of a GPU is controlled based on one or more deadlines by which one or more GPU tasks must be completed and estimates of the time required to complete the execution of a first GPU task (which is currently being executed) and the time required to execute one or more other GPU tasks (which are not currently being executed). Based on a comparison between the deadline(s) and the estimates, context switching may or may not be triggered.

IPC Classes  ?

  • G06F 9/48 - Program initiatingProgram switching, e.g. by interrupt
  • G06T 1/20 - Processor architecturesProcessor configuration, e.g. pipelining

17.

Verifying Processing Logic of a Graphics Processing Unit

      
Application Number 19561218
Status Pending
Filing Date 2026-03-09
First Publication Date 2026-07-16
Owner Imagination Technologies Limited (United Kingdom)
Inventor Scorgie, Donald

Abstract

A method of verifying processing logic of a graphics processing unit receives a test task including a predefined set of instructions for execution on the graphics processing unit, the predefined set of instructions being configured to perform a predetermined set of operations on the graphics processing unit when executed for predefined input data. In a test phase, the test task is processed by executing the predefined set of instructions for the predefined input data first and second times at the graphics processing unit so as to, respectively, generate first and second outputs. A fault signal is raised if the first and second outputs do not match.

IPC Classes  ?

  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline or look ahead

18.

Tile Region Protection In A Graphics Processing System

      
Application Number 19564462
Status Pending
Filing Date 2026-03-12
First Publication Date 2026-07-16
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • King, Ian
  • Broome, Jamie

Abstract

A graphics processing system for performing tile-based rendering of a scene that includes safety-critical elements. A geometry engine identifies protected tiles that include safety-critical elements in a geometry processing phase. A fragment processing engine processes each of the protected tiles first and second times so as to respectively generate first and second fragment-processed outputs in a fragment processing phase. A check unit compares the first and second fragment-processed outputs for each of the protected tiles and raises a fault signal if the first and second fragment-processed outputs do not match.

IPC Classes  ?

19.

Guaranteed Data Compression

      
Application Number 19553669
Status Pending
Filing Date 2026-03-02
First Publication Date 2026-07-09
Owner Imagination Technologies Limited (United Kingdom)
Inventor Fenney, Simon

Abstract

A method of compressing data is described in which the compressed data is generated by either or both of a primary compression unit or a reserve compression unit in order that a target compression threshold is satisfied. If a compressed data block generated by the primary compression unit satisfies the compression threshold, that block is output. However, if the compressed data block generated by the primary compression unit is too large, such that the compression threshold is not satisfied, a compressed data block generated by the reserve compression unit using a lossy compression technique, is output.

IPC Classes  ?

  • H03M 7/30 - CompressionExpansionSuppression of unnecessary data, e.g. redundancy reduction
  • G06F 30/392 - Floor-planning or layout, e.g. partitioning or placement
  • G06F 119/18 - Manufacturability analysis or optimisation for manufacturability
  • G06T 1/60 - Memory management

20.

Detecting Error in Safety-Critical GPU by Monitoring for Response to an Instruction

      
Application Number 19555555
Status Pending
Filing Date 2026-03-03
First Publication Date 2026-07-09
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Novales, Mario Sopena
  • Morris, Philip

Abstract

A method of configuring a graphics processing unit (GPU) provides an instruction to the GPU, comprising configuration data for the GPU and a request for a response from the GPU. A timer configured to expire after a time period is initialised, and the response from the GPU is monitored during the time period. The GPU is configured in accordance with the configuration data, and it is determined whether the GPU is correctly configured in accordance with the configuration data, by determining whether an error has occurred in response to determining that: (i) the GPU is not correctly configured in accordance with the configuration data; or (ii) the response is not received from the GPU before the timer expires.

IPC Classes  ?

  • G06T 1/20 - Processor architecturesProcessor configuration, e.g. pipelining
  • G06F 9/445 - Program loading or initiating
  • G06F 11/10 - Adding special bits or symbols to the coded information, e.g. parity check, casting out nines or elevens
  • G06T 1/60 - Memory management

21.

Memory Allocation for Recursive Processing in a Ray Tracing System

      
Application Number 19548638
Status Pending
Filing Date 2026-02-24
First Publication Date 2026-07-02
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Barnard, Daniel
  • Goudie, Alistair

Abstract

Ray tracing systems and methods are described for processing rays. A parent shader is executed for a ray. The parent shader includes a shader recursion instruction which invokes a child shader. The execution of the parent shader for the ray is suspended. Intermediate data for the parent shader is stored in a heap of memory, wherein the intermediate data comprises state data and payload data. Storing intermediate data comprises allocating a first set of registers in the heap of memory for storing payload data, and allocating a second set of registers in the heap of memory for storing state data. When the parent shader is ready to resume, intermediate data for the parent shader is read from the heap of memory, and the execution of the parent shader for the ray is resumed.

IPC Classes  ?

22.

Ray Management

      
Application Number 19395954
Status Pending
Filing Date 2025-11-20
First Publication Date 2026-06-18
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Velentzas, Panagiotis
  • Demeure, Arun

Abstract

A processor has a processing module a ray engine. The ray engine comprises a ray store and ray-tracing circuitry. The ray-engine comprises control logic which: receives a plurality of batches of ray descriptors supplied from the processing module, each batch comprising respective ray descriptors of a plurality of modelled rays; and allocates ray descriptors to address space of the ray store in blocks of ray descriptors, each block being a subset of the ray descriptors in the batch, and stores each block in the allocated address space. For each batch of ray descriptors, the ray-tracing circuitry processes each of the rays of the batch based on the respective ray descriptors stored in the ray store. For each block, the control logic deallocates the memory allocated to the block in response to the processing of all the rays in the block being finished by the ray-tracing engine.

IPC Classes  ?

  • G06T 1/20 - Processor architecturesProcessor configuration, e.g. pipelining
  • G06T 1/60 - Memory management

23.

Assigning Primitives to Tiles in a Graphics Processing System

      
Application Number 19531918
Status Pending
Filing Date 2026-02-06
First Publication Date 2026-06-18
Owner Imagination Technologies Limited (United Kingdom)
Inventor Yang, Xile

Abstract

A tiling unit assigning primitives to tiles in a graphics processing system which has rendering space subdivided into a plurality of tiles. Each tile can comprise one or more polygonal region. Mesh logic of the tiling unit can determine that a plurality of primitives form a mesh and can determine whether the mesh entirely covers a region. If the mesh entirely covers the region then a depth threshold for the region can be updated so that subsequent primitives which lie behind the depth threshold are culled (i.e. not included in the display list for a tile). This helps to reduce the number of primitive IDs included in a display list for a tile which reduces the amount of memory used by the display list and reduces the number of primitives which a hidden surface removal (HSR) module needs to fetch to perform HSR on the tile.

IPC Classes  ?

  • G06T 15/20 - Perspective computation
  • G06T 7/13 - Edge detection
  • G06T 7/507 - Depth or shape recovery from shading
  • G06T 7/529 - Depth or shape recovery from texture
  • G06T 15/00 - 3D [Three Dimensional] image rendering
  • G06T 15/04 - Texture mapping
  • G06T 15/40 - Hidden part removal
  • G06T 17/10 - Volume description, e.g. cylinders, cubes or using CSG [Constructive Solid Geometry]
  • G06T 17/20 - Wire-frame description, e.g. polygonalisation or tessellation
  • G06T 19/20 - Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts

24.

Rendering Views of a Scene in a Graphics Processing Unit

      
Application Number 19537935
Status Pending
Filing Date 2026-02-12
First Publication Date 2026-06-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor Fishwick, Steven J.

Abstract

Frames are rendered in a graphics processing unit representing views of a scene in a rendering space subdivided into a plurality of tiles. Tiles of a group of frames are rendered in an interspersed order such that the frame from which a tile is rendered switches back and forth between the frames of the group of frames, wherein the view represented by each frame in the group of frames is a view of the scene at a different time instance, wherein at least one transformation indicates tiles which are likely to be similar in different frames of the group of frames, wherein the interspersed order is based on the at least one transformation such that said rendering comprises rendering similar tiles from the frames of the group of frames sequentially.

IPC Classes  ?

  • G06T 17/20 - Wire-frame description, e.g. polygonalisation or tessellation
  • G06T 1/60 - Memory management
  • G06T 11/40 - Filling a planar surface by adding surface attributes, e.g. colour or texture
  • G06T 15/00 - 3D [Three Dimensional] image rendering
  • G06T 15/04 - Texture mapping
  • G06T 15/80 - Shading

25.

Multiple-Input Floating-Point Processing With Mantissa Bit Extension

      
Application Number 19179388
Status Pending
Filing Date 2025-04-15
First Publication Date 2026-06-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor Ferrere, Thomas

Abstract

A method and system for processing a set of k floating point numbers to perform addition and/or subtraction is disclosed. Each floating-point number comprises a mantissa (mi) and an exponent (ei). The method comprises receiving the set of k floating point numbers in a first format, each floating-point number in the first format comprising a mantissa (mi) with a bit-length of b bits. The method further comprises creating a set of k numbers (yi) based on the mantissas of the k floating-point numbers, the numbers having a bit-length of n bits obtained by adding both extra most-significant bits and extra least-significant bits to the bit length b of the mantissa (mi). The method includes identifying a maximum exponent (emax) among the exponents ei, aligning the magnitude bits of the numbers (yi) based on the maximum exponent (emax) and processing the set of k numbers concurrently.

IPC Classes  ?

  • G06F 7/485 - AddingSubtracting
  • G06F 5/01 - Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
  • G06F 7/499 - Denomination or exception handling, e.g. rounding or overflow

26.

Multicore Master/Slave Communications

      
Application Number 19181443
Status Pending
Filing Date 2025-04-17
First Publication Date 2026-06-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Livesley, Michael John
  • King, Ian

Abstract

A master unit in a core of a plurality of cores in a graphics processing unit receives a set of image rendering tasks, assigns a first subset of the image rendering tasks to a first core and assigns a second subset of the image rendering tasks to a second core. The master unit transmits the first subset of image rendering tasks to a slave unit of the first core and transmits the second subset of image rendering tasks to a slave unit of the second core. The master unit stores a credit number for each of the first and second cores and adjusts the credit number of the first and second cores by a first amount for each task in the first and second subset of the image rendering tasks. The slave units transmit credit notifications when tasks have been processed and the master unit adjusts the credit numbers when it receives the notifications.

IPC Classes  ?

  • G06T 1/20 - Processor architecturesProcessor configuration, e.g. pipelining
  • G06F 9/48 - Program initiatingProgram switching, e.g. by interrupt
  • G06F 15/80 - Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors

27.

Pattern-Based Image Data Compression

      
Application Number 19460862
Status Pending
Filing Date 2026-01-27
First Publication Date 2026-06-04
Owner Imagination Technologies Limited (United Kingdom)
Inventor Yang, Xile

Abstract

Methods and compression units for compressing a two-dimensional block of image element values. A block of image element values is compressed using a fixed-length compression scheme to form a block of compressed image element values, which are divided into a plurality of sub-blocks of compressed image element values. A pattern of a plurality of patterns formed by the compressed image element values of a first sub-block of the plurality of sub-blocks is identified, and a compressed block of compressed image element values is formed by encoding the first sub-block in the compressed block of compressed image element values with: (i) information identifying the identified pattern, and (ii) the compressed image element values of the first sub-block forming the identified pattern.

IPC Classes  ?

  • G06T 9/00 - Image coding
  • G06T 3/40 - Scaling of whole images or parts thereof, e.g. expanding or contracting
  • G06T 7/10 - SegmentationEdge detection
  • H04N 19/119 - Adaptive subdivision aspects e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
  • H04N 19/136 - Incoming video signal characteristics or properties
  • H04N 19/176 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
  • H04N 19/186 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component

28.

Ray Tracing Using Indications Of Re-Entry Points In A Hierarchical Acceleration Structure

      
Application Number 19448514
Status Pending
Filing Date 2026-01-14
First Publication Date 2026-05-21
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Smith-Lacey, Peter
  • Fenney, Simon

Abstract

A computer-implemented method of performing intersection testing in a ray tracing system performs intersection testing for each of a plurality of rays against nodes of a hierarchical acceleration structure. The intersection testing for each of the rays comprises, in response to identifying, in a memory, an indication of a re-entry point associated with a ray identifier that is associated with the ray, fetching from the memory the indication of the re-entry point that is associated with the ray identifier, the re-entry point being a node of the hierarchical acceleration structure for which an intersection has been identified for a previously tested ray associated with the ray identifier. The intersection testing for each of the rays further comprises performing intersection testing of the ray against a set of nodes of the hierarchical acceleration structure starting from the re-entry point.

IPC Classes  ?

29.

Coarse depth test in graphics processing systems

      
Application Number 18594863
Grant Number 12633043
Status In Force
Filing Date 2024-03-04
First Publication Date 2026-05-19
Grant Date 2026-05-19
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Belli, Lorenzo
  • Brigg, Robert

Abstract

Coarse depth testing is performed in a graphics processing system having a rendering space divided into a plurality of tiles. A depth range for a tile identifies a depth range based on primitives previously processed. A determination is made based on the depth range as to whether all or a portion of a primitive is hidden in the tile. If at least a portion is not hidden in the tile, a determination is made as to whether the primitive or a primitive fragment thereof has better depth than the primitives previously processed. If so, the primitive or primitive fragment is identified as not requiring a read of a depth buffer to perform full resolution depth testing, such that a determination that at least a portion of the primitive is hidden in the tile causes full resolution depth testing not to be performed on at least that portion of the primitive.

IPC Classes  ?

  • G06T 15/40 - Hidden part removal
  • G06F 7/24 - Sorting, i.e. extracting data from one or more carriers, re-arranging the data in numerical or other ordered sequence, and re-recording the sorted data on the original carrier or on a different carrier or set of carriers
  • G06F 9/48 - Program initiatingProgram switching, e.g. by interrupt
  • G06T 1/60 - Memory management
  • G06T 7/50 - Depth or shape recovery
  • G06T 15/20 - Perspective computation
  • G06T 17/10 - Volume description, e.g. cylinders, cubes or using CSG [Constructive Solid Geometry]

30.

Primitive Processing in a Graphics Processing System

      
Application Number 19439793
Status Pending
Filing Date 2026-01-05
First Publication Date 2026-05-07
Owner Imagination Technologies Limited (United Kingdom)
Inventor Redshaw, Jonathan

Abstract

A graphics processing system has a rendering space which is divided into tiles. Primitives within the tiles are processed to perform hidden surface removal and to apply texturing to the primitives. The graphics processing system includes a plurality of depth buffers, thereby allowing a processing module to process primitives of one tile by accessing one of the depth buffers while primitive identifiers of another, partially processed tile are stored in another one of the depth buffers. This allows the graphics processing system to have “multiple tiles in flight”, which can increase the efficiency of the graphics processing system.

IPC Classes  ?

31.

Methods and Systems for Converting Weights of a Deep Neural Network from a First Number Format to a Second Number Format

      
Application Number 19431507
Status Pending
Filing Date 2025-12-23
First Publication Date 2026-04-30
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Dikici, Cagatay
  • Brasnett, Paul
  • Asad, Muhammad
  • Morphet, Stephen

Abstract

Weights of a neural network in a first number format are converted to a second number format. For at least a portion of the weights, a total quantisation error associated with quantising the weights to the second number format is computed in accordance with a first quantisation method. A subset of the weights to be quantised to the second number format is identified in accordance with a second quantisation method based on the total quantisation error. A set of quantised weights is generated by converting the weights to the second number format, wherein each weight in the subset is converted in accordance with the second quantisation method and each of the remaining weights is converted in accordance with the first quantisation method.

IPC Classes  ?

  • G06N 3/063 - Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
  • G06N 3/04 - Architecture, e.g. interconnection topology
  • H03M 7/24 - Conversion to or from floating-point codes
  • H03M 7/30 - CompressionExpansionSuppression of unnecessary data, e.g. redundancy reduction

32.

Processing Vector Instructions

      
Application Number 19324360
Status Pending
Filing Date 2025-09-10
First Publication Date 2026-04-23
Owner Imagination Technologies Limited (United Kingdom)
Inventor Vrabel, Peter

Abstract

When an instruction is received, the instruction checks against older “in-flight” instructions for hazards, and stores a hazard flag in a control storage entry. An instruction will not start executing while the hazard flag is set. When the older instruction executes and produces a result to a register, it clears the hazard for the current instruction. The current instruction can start executing when no hazards remain.

IPC Classes  ?

  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline or look ahead
  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode

33.

Processing Instructions

      
Application Number 19323190
Status Pending
Filing Date 2025-09-09
First Publication Date 2026-04-23
Owner Imagination Technologies Limited (United Kingdom)
Inventor Vrabel, Peter

Abstract

A vector processing unit contains an operation cache and a separate micro-op cache. The operation cache tracks state and logic of instructions, and is responsible for splitting instructions into micro-ops. The micro-op cache tracks state and logic of micro-ops. Having a separate micro-op cache provides power and area benefits, as well as allowing instructions to be split out of order.

IPC Classes  ?

  • G06F 9/22 - Microcontrol or microprogram arrangements
  • G06F 9/26 - Address formation of the next microinstruction

34.

Processing Vector Instructions

      
Application Number 19324598
Status Pending
Filing Date 2025-09-10
First Publication Date 2026-04-23
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Vrabel, Peter
  • Srivathsa, Sudheendra
  • Hopton, Selina
  • Yeoh, Ju Min

Abstract

A handshaking protocol is implemented between a control unit, a vector processing unit (VPU) and a load-store unit (LSU). Micro-ops of an instruction will only be executed by the LSU if it is guaranteed not to generate an exception and no earlier micro-ops will generate an exception. The handshaking protocol guarantees this using signals passed between the control unit, VPU and LSU.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode

35.

Rasterising Aliased Lines

      
Application Number 19408092
Status Pending
Filing Date 2025-12-03
First Publication Date 2026-03-26
Owner Imagination Technologies Limited (United Kingdom)
Inventor Van Benthem, Casper

Abstract

A method of rasterizing a line in computer graphics determines whether the line's start and/or end is inside a diamond test area within the pixel. If the end is not inside and the start is inside, the pixel is drawn as part of the line. If neither the start nor the end of the line are inside, it is determined whether the line crosses more than one extended diamond edge and if so, it is further determined (i) whether an extended line passing through the start and end is substantially vertical and touches the right point of the diamond area, (ii) if the extended line touches the bottom point of the diamond area, and (iii) whether the extended line is on a same side of each point of the diamond area. If any of (i), (ii) and (iii) is positive, the pixel is drawn as part of the line.

IPC Classes  ?

  • G06T 11/20 - Drawing from basic elements, e.g. lines or circles
  • G06T 1/20 - Processor architecturesProcessor configuration, e.g. pipelining

36.

Split Lock Architecture of Multi-Core Processor

      
Application Number 19223376
Status Pending
Filing Date 2025-05-30
First Publication Date 2026-03-12
Owner Imagination Technologies Limited (United Kingdom)
Inventor Munnan, Ravindranath

Abstract

Each core of a multi-core processor is capable of running both safety-critical and non-safety-critical applications. The first core is configured to send a request to the second core to enter into a lock mode to execute the safety-critical application in parallel with the first core. A comparator receives inputs from the first core and the second core and compares the inputs. The second core drives the comparator into a transition state; stops execution of a first application running on the second core; saves data from the second core to memory associated with the second core; and sends an acknowledgment back to the first core in response to the request. The first core, in response to receiving the acknowledgement signal, is further configured to enable the execution of the safety-critical application by both cores in lock mode by configuring the memory and the comparator.

IPC Classes  ?

  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline or look ahead

37.

Configurable Partitioning of Write Combine Buffers

      
Application Number 19288477
Status Pending
Filing Date 2025-08-01
First Publication Date 2026-03-12
Owner Imagination Technologies Limited (United Kingdom)
Inventor Anantharamu, Abhiram

Abstract

A processor includes a data buffer, the data buffer being configured as a write-combine buffer. The processor further includes logic circuitry which is configured to perform: receiving, from a further entity, an input data stream for a write operation, wherein the input data stream is received in blocks of data, and partitioning the data buffer into partitions, wherein the partitioning is based on a size of the blocks of data that are received. The logic circuitry is further configured to perform: writing each of the blocks of data to one of the partitions, each block of data being written to a partition of the data buffer based on an address associated with the respective block of data, and for each of the partitions, determining whether to initiate a draining of the respective partition to further memory based on the data that is stored in the respective partition.

IPC Classes  ?

  • G06F 12/0846 - Cache with multiple tag or data arrays being simultaneously accessible

38.

Encoding Exceptional Values in a Floating Point Number Format

      
Application Number 19294881
Status Pending
Filing Date 2025-08-08
First Publication Date 2026-03-12
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Rovers, Kenneth C.
  • Ferrere, Thomas
  • Freiburghaus, Max
  • Cooper, Harry
  • Kennedy, Michael

Abstract

A processor is able to re-encode a normal value of a first floating point format to a normalized floating point format, and re-encode a subnormal value of the first floating point format to the normalized floating point format. A subset of the exponent bits of the exponent field of a normalized floating point format is used to encode a predetermined indication of being an exceptional value, wherein a combination of bit values used to encode this predetermined indication does not occur within a range of the exponent field of the normalized floating point format used to represent any possible non-exceptional, normal and subnormal values.

IPC Classes  ?

  • G06F 5/01 - Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising

39.

Sign Injection in a Floating Point Number Format

      
Application Number 19294998
Status Pending
Filing Date 2025-08-08
First Publication Date 2026-03-12
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Rovers, Kenneth C.
  • Kennedy, Michael
  • Cooper, Harry
  • Davies, Blake
  • Ferrere, Thomas

Abstract

A processor can re-encode from an unnormalized wider floating point format to a normalized wider floating point format, and re-encode from an unnormalized narrower floating point format to a normalized narrower floating point format. According to the disclosure, when performing a wider-format sign injection operation on a NaN-boxed value of the normalized narrower floating point format held in a source register of a set of normalized-format registers, a bit manipulation is performed on a bit in the respective source register at a most-significant bit-position of the normalized wider floating point format. When de-normalizing the NaN-boxed value of the normalized narrower floating point format from the respective source register, the bit at the most-significant bit-position of the normalized wider floating point format is ignored in detecting NaN-boxing.

IPC Classes  ?

  • G06F 7/483 - Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers

40.

Systems and Methods For 3-D Scene Acceleration Structure Creation and Updating

      
Application Number 19259987
Status Pending
Filing Date 2025-07-03
First Publication Date 2026-03-12
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Mccombe, James A.
  • Dwyer, Aaron
  • Peterson, Luke T.
  • Nesse, Neils

Abstract

Systems and methods for producing an acceleration structure provide for subdividing a 3-D scene into a plurality of volumetric portions, which have different sizes, each being addressable using a multipart address indicating a location and a relative size of each volumetric portion. A stream of primitives is processed by characterizing each according to one or more criteria, selecting a relative size of volumetric portions for use in bounding the primitive, and finding a set of volumetric portions of that relative size which bound the primitive. A primitive ID is stored in each location of a cache associated with each volumetric portion of the set of volumetric portions. A cache location is selected for eviction, responsive to each cache eviction decision made during the processing. An element of an acceleration structure according to the contents of the evicted cache location is generated, responsive to the evicted cache location.

IPC Classes  ?

41.

Neural Network Comprising Matrix Multiplication

      
Application Number 19381373
Status Pending
Filing Date 2025-11-06
First Publication Date 2026-03-05
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Choudhury, Biswarup
  • Ahmadi, Aria
  • Imber, James
  • Dikici, Cagatay
  • Atherton, Timothy

Abstract

A method and data processing system using a processor implement a neural network containing at least one matrix multiplication operation. A set of operations to which the matrix multiplication operations are mapped is evaluated, the set of operations including at least one convolution operation, to thereby evaluate the matrix multiplication operation, whereby the processor is adapted to multiply the same set of weights simultaneously by multiple sets of input data elements in parallel at multiple processing elements.

IPC Classes  ?

  • G06N 3/10 - Interfaces, programming languages or software development kits, e.g. for simulating neural networks
  • G06F 17/16 - Matrix or vector computation
  • G06N 3/04 - Architecture, e.g. interconnection topology
  • G06N 3/044 - Recurrent networks, e.g. Hopfield networks
  • G06N 3/045 - Combinations of networks
  • G06N 3/063 - Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
  • G06V 10/82 - Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

42.

Intersection Testing in a Ray Tracing System Using Offset Intersection Distances

      
Application Number 19384063
Status Pending
Filing Date 2025-11-10
First Publication Date 2026-03-05
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Smith-Lacey, Peter
  • Fenney, Simon
  • Clark, Gregory
  • King, Rostam

Abstract

A method and an intersection testing module for performing intersection testing in a ray tracing system determines a first offset intersection distance which is equal to a sum of an intersection distance at which a ray intersects a first primitive and a first offset which is dependent upon the orientation of the first primitive. A second offset intersection distance is determined which is equal to a sum of an intersection distance at which the ray intersects a second primitive and a second offset which is dependent upon the orientation of the second primitive. The determined first and second offset intersection distances are compared to select the intersection of the ray with one of the first and second primitives.

IPC Classes  ?

  • G06T 15/06 - Ray-tracing
  • G06T 15/00 - 3D [Three Dimensional] image rendering
  • G06T 17/20 - Wire-frame description, e.g. polygonalisation or tessellation

43.

Processor with Hardware Pipeline

      
Application Number 19371752
Status Pending
Filing Date 2025-10-28
First Publication Date 2026-02-26
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Livesley, Michael John
  • King, Ian
  • Goudie, Alistair

Abstract

A processor includes a hardware pipeline comprising fixed-function hardware, a register bank to which software can write task descriptors, and a blocking circuit disposed between an upstream section and a downstream section of the hardware pipeline, wherein the blocking circuit has an open state in which data passes from the upstream section to the downstream section, and a closed state that blocks data passing from the upstream section to the downstream section. Control circuitry triggers the upstream section to start processing a second task while the downstream section is still processing the first task, and switches the blocking circuit to the closed state, in response to detecting that the upstream section has finished processing a first task.

IPC Classes  ?

  • G06F 9/52 - Program synchronisationMutual exclusion, e.g. by means of semaphores
  • G06F 9/50 - Allocation of resources, e.g. of the central processing unit [CPU]

44.

Handling Memory Requests

      
Application Number 19375530
Status Pending
Filing Date 2025-10-31
First Publication Date 2026-02-26
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Landers, Mark
  • Robinson, Martin John

Abstract

A converter module handles memory requests issued by a cache (e.g. an on-chip cache), where these memory requests include memory addresses defined within a virtual memory space. The converter module receives these requests, issues each request with a transaction identifier and uses that identifier to track the status of the memory request. The converter module sends requests for address translation to a memory management unit and where there the translation is not available in the memory management unit receives further memory requests from the memory management unit. The memory requests are issued to a memory via a bus and the transaction identifier for a request is freed once the response has been received from the memory. When issuing memory requests onto the bus, memory requests received from the memory management unit may be prioritized over those received from the cache.

IPC Classes  ?

  • G06F 9/46 - Multiprogramming arrangements
  • G01N 33/00 - Investigating or analysing materials by specific methods not covered by groups
  • G06F 9/455 - EmulationInterpretationSoftware simulation, e.g. virtualisation or emulation of application or operating system execution engines
  • G06F 12/0811 - Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
  • G06F 12/0831 - Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
  • G06F 12/0891 - Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
  • G06F 12/0897 - Caches characterised by their organisation or structure with two or more cache hierarchy levels
  • G06F 12/1027 - Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
  • G06F 12/1045 - Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
  • G06F 13/16 - Handling requests for interconnection or transfer for access to memory bus

45.

SATURATION LOGIC

      
Application Number 19231654
Status Pending
Filing Date 2025-06-09
First Publication Date 2026-02-19
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Spreij, Tijmen
  • Ferrere, Thomas Pierre Jean

Abstract

A first input and a second input are added in hardware logic to determine an output value. receiving The first input comprises a first number of bits and the second input comprises a second number of bits, the second input being wider than the first input. The first input is added to the first number of least significant bits of the second input to determine a carry value. Using a third number of most significant bits of the second input, it is determined whether there is a risk of integer overflow, the third number being equal to the first number subtracted from the second number. The determined carry value and the determined risk of overflow are used to determine whether the addition of the first input and the second input will cause integer overflow. In response to determining that the addition will cause integer overflow, the output value is determined.

IPC Classes  ?

  • G06F 7/499 - Denomination or exception handling, e.g. rounding or overflow

46.

Methods and Systems for Parsing Multidimensional Data

      
Application Number 19238455
Status Pending
Filing Date 2025-06-15
First Publication Date 2026-02-19
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Hoffmann, Alexander
  • Barrabes Castillo, Arturo
  • Muley, Meghana
  • Ramage, Georgina

Abstract

Multidimensional data mapped into one-dimensional data using a Z-ordering function is parsed to identify work packets to be processed. Dimensions of the multidimensional data and information identifying a valid region of the multidimensional data are obtained, where the valid region identifies work packets. At least part of a sequence within the one-dimensional data is determined, corresponding to positions within the multidimensional data lying in the valid region, by determining whether a position defined by a first value lies within the valid region. If the position does not lie within the valid region, an overflow value is calculated which causes a least significant bit that is a 1 in a binary representation of the first value to flip to a 0. The first value and the overflow value are summed to obtain a trial value which if lying within the valid region forms part of the sequence, wherein the sequence identifies work packets to be processed.

IPC Classes  ?

  • G06T 1/20 - Processor architecturesProcessor configuration, e.g. pipelining
  • G06F 7/499 - Denomination or exception handling, e.g. rounding or overflow
  • G06F 16/22 - IndexingData structures thereforStorage structures

47.

Upsampling Input Pixels of a Frame Using a Jitter Pattern over a Sequence of Frames

      
Application Number 19256456
Status Pending
Filing Date 2025-07-01
First Publication Date 2026-02-19
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Chirkunov, Sergei
  • Imber, James Stuart
  • Heyward, Joseph
  • Huang, Zhuoyue

Abstract

A method and processing system for applying upsampling to input pixel values of frames of a sequence of frames to determine upsampled pixel values at upsampled pixel locations. A jitter pattern is used over the sequence such that different frames of the sequence have input pixel values at locations corresponding to different upsampled pixel locations. An initial block of upsampled pixel values is determined for a current frame. An aligned block of upsampled pixel values for the current frame is determined based on the initial block in accordance with the jitter pattern. A block of refinement values for the initial block of upsampled pixel values is determined for the current frame, and is applied to the initial block to determine a refined block of upsampled pixel values.

IPC Classes  ?

  • G06T 3/4053 - Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
  • G06T 3/4023 - Scaling of whole images or parts thereof, e.g. expanding or contracting based on decimating pixels or lines of pixelsScaling of whole images or parts thereof, e.g. expanding or contracting based on inserting pixels or lines of pixels
  • G06T 3/4046 - Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
  • G06T 7/20 - Analysis of motion
  • G06T 7/50 - Depth or shape recovery

48.

Graphics Processing Unit for Processing Primitives Using a Rendering Space Which is Sub-Divided into a Plurality of Tiles

      
Application Number 19197995
Status Pending
Filing Date 2025-05-03
First Publication Date 2026-02-19
Owner Imagination Technologies Limited (United Kingdom)
Inventor Livesley, Michael John

Abstract

A graphics processing unit (GPU) using a rendering space which is sub-divided into a plurality of tiles comprises a plurality of tile pipelines and a tile arbiter. The tile arbiter receives tile-primitive indications, each of which indicates an association between a tile and a set of primitives. The tile arbiter determines which of the tile pipelines to send each of the tile-primitive indications to in accordance with a dynamic allocation scheme. The tile arbiter sends each of the tile-primitive indications to the tile pipeline determined for that tile-primitive indication. Each of the tile pipelines is configured to: receive the tile-primitive indications that are sent to that tile pipeline by the tile arbiter; and use the received tile-primitive indications to, for each of the tiles for which a tile-primitive indication is received at the tile pipeline, include in a control stream for that tile, indications of primitives that are present within that tile.

IPC Classes  ?

  • G06T 1/20 - Processor architecturesProcessor configuration, e.g. pipelining
  • G06T 1/60 - Memory management

49.

Fast Matrix Multiplication Methods and Systems

      
Application Number 19248911
Status Pending
Filing Date 2025-06-25
First Publication Date 2026-02-19
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Cséfalvay, Szabolcs
  • Goudie, Alistair

Abstract

Fast matrix multiplication in a multithreaded processing system having one or more processing units, each processing unit operates a plurality of threads grouped into a plurality of workgroups. At least a portion of a first matrix input is stored in a cache dedicated to a first processing unit as a first matrix subunit. At least a portion of a second matrix input is stored in a local memory dedicated to the first processing unit as a second matrix subunit. A plurality of output matrix subunits is generated by launching a plurality of workgroups. A subset of one or more second matrix subunits is assigned to a workgroup. Each of the first matrix subunits is multiplied with a corresponding second matrix subunit to obtain an output matrix subunit. During the generation of the plurality of output matrix subunits, the first matrix subunits are concurrently accessed by each launched workgroup from a cache dedicated to the first processing unit.

IPC Classes  ?

50.

Method and System for Optimizing Buffer Reservation and Utilization

      
Application Number 19256696
Status Pending
Filing Date 2025-07-01
First Publication Date 2026-02-19
Owner Imagination Technologies Limited (United Kingdom)
Inventor Torkington, Ross

Abstract

A system for controlling memory buffer reservation comprising a transmitter, a receiver and buffer control logic is provided. The transmitter is configured to transmit a plurality of memory requests on two or more request channels, the plurality of memory requests comprising at least one priority request transmitted on a first request channel. The receiver comprises a plurality of buffers, each buffer having an associated credit, wherein each request channel is provided with a credit value based on the number of buffers allocated to receive memory requests from the corresponding request channel, where at least one credit is provided to the first request channel. The buffer control logic enables the first request channel to use a buffer allocated to a second request channel by utilizing a credit provided to the second request channel for transmitting the priority request to the receiver when a credit provided to first request channel is unavailable.

IPC Classes  ?

  • G06F 13/16 - Handling requests for interconnection or transfer for access to memory bus
  • G06F 13/18 - Handling requests for interconnection or transfer for access to memory bus with priority control

51.

End-To-End Data Format Selection for Hardware Implementation of Deep Neural Network

      
Application Number 19359462
Status Pending
Filing Date 2025-10-15
First Publication Date 2026-02-12
Owner Imagination Technologies Limited (United Kingdom)
Inventor Imber, James

Abstract

Methods for selecting fixed point number formats for representing values input to and/or output from layers of a Deep Neural Network (DNN) which take into account the impact of the fixed point number formats for a particular layer in the DNN. The fixed point number format(s) used to represent sets of values input to and/or output from a layer are selected one layer at a time in a predetermined sequence wherein any layer is preceded in the sequence by the layer(s) from which it depends. The fixed point number format(s) for each layer is/are selected based on the error in the output of the DNN associated with the fixed point number formats. Once the fixed point number format(s) for a layer has/have been selected any calculation of the error in the output of the DNN for a subsequent layer in the sequence is based on that layer being configured to use the selected fixed point number formats.

IPC Classes  ?

  • G06N 3/08 - Learning methods
  • G06F 7/483 - Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
  • G06N 3/04 - Architecture, e.g. interconnection topology
  • G06N 3/045 - Combinations of networks
  • G06N 3/063 - Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
  • G06N 3/082 - Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

52.

Rendering a 3-D Scene Using Offset Secondary Ray Tracing

      
Application Number 19358759
Status Pending
Filing Date 2025-10-15
First Publication Date 2026-02-12
Owner Imagination Technologies Limited (United Kingdom)
Inventor Dwyer, Aaron

Abstract

During tracing of a primary ray in a 3-D space (e.g., a 3-D scene in graphics rendering), a ray is found to intersect a primitive (e.g., a triangle) located in the 3-D space. Secondary ray(s) may be generated for a variety of purposes. For example, occlusion rays may be generated to test occlusion of a point of intersection between the primary ray and primitive is illuminated by any of the light(s). An origin for each secondary ray can be modified from the intersection point based on characteristics of the primitive intersected. For example, an offset from the intersection point can be calculated using barycentric coordinates of the intersection point and interpolation of one or more parameters associated with vertices defining the primitive. These parameters may include a size of the primitive and differences between a geometric normal for the primitive and a respective additional vector supplied with each vertex.

IPC Classes  ?

53.

Hierarchical Mantissa Bit Length Selection For Hardware Implementation Of Deep Neural Network

      
Application Number 19361172
Status Pending
Filing Date 2025-10-17
First Publication Date 2026-02-12
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Imber, James
  • Zhang, Linling
  • Dikici, Cagatay

Abstract

Hierarchical methods for selecting fixed point number formats with reduced mantissa bit lengths for representing values input to, and/or output, from, the layers of a DNN. The methods begin with one or more initial fixed point number formats for each layer. The layers are divided into subsets of layers and the mantissa bit lengths of the fixed point number formats are iteratively reduced from the initial fixed point number formats on a per subset basis. If a reduction causes the output error of the DNN to exceed an error threshold, then the reduction is discarded, and no more reductions are made to the layers of the subset. Otherwise a further reduction is made to the fixed point number formats for the layers in that subset. Once no further reductions can be made to any of the subsets the method is repeated for continually increasing numbers of subsets until a predetermined number of layers per subset is achieved.

IPC Classes  ?

  • G06N 3/04 - Architecture, e.g. interconnection topology
  • G06F 7/483 - Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
  • G06F 7/499 - Denomination or exception handling, e.g. rounding or overflow
  • G06F 17/11 - Complex mathematical operations for solving equations
  • G06N 3/047 - Probabilistic or stochastic networks
  • G06N 3/048 - Activation functions
  • G06N 3/063 - Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

54.

Hierarchical Mantissa Bit Length Selection For Hardware Implementation Of Deep Neural Network

      
Application Number 19361285
Status Pending
Filing Date 2025-10-17
First Publication Date 2026-02-12
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Imber, James
  • Zhang, Linling
  • Dikici, Cagatay

Abstract

Hierarchical methods for selecting fixed point number formats with reduced mantissa bit lengths for representing values input to, and/or output, from, the layers of a DNN. The methods begin with one or more initial fixed point number formats for each layer. The layers are divided into subsets of layers and the mantissa bit lengths of the fixed point number formats are iteratively reduced from the initial fixed point number formats on a per subset basis. If a reduction causes the output error of the DNN to exceed an error threshold, then the reduction is discarded, and no more reductions are made to the layers of the subset. Otherwise a further reduction is made to the fixed point number formats for the layers in that subset. Once no further reductions can be made to any of the subsets the method is repeated for continually increasing numbers of subsets until a predetermined number of layers per subset is achieved.

IPC Classes  ?

  • G06N 3/04 - Architecture, e.g. interconnection topology
  • G06F 7/483 - Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
  • G06F 7/499 - Denomination or exception handling, e.g. rounding or overflow
  • G06F 17/11 - Complex mathematical operations for solving equations
  • G06N 3/047 - Probabilistic or stochastic networks
  • G06N 3/048 - Activation functions
  • G06N 3/063 - Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

55.

Methods and Graphics Processing Units for Determining Differential Data for Rays of a Ray Bundle

      
Application Number 19356085
Status Pending
Filing Date 2025-10-11
First Publication Date 2026-02-05
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Peterson, Luke T.
  • Jones, James
  • Dwyer, Aaron

Abstract

A graphics processing system is configured to perform ray tracing. Rays are bundled together and processed together into a ray bundle using a programmable chip. Intersection testing is performed on the rays of the ray bundle in the scene using fixed function hardware. Results of the intersection testing are used to determine whether the rays are to be maintained in the ray bundle. A plurality of instances of a shader program, each corresponding to a ray of the ray bundle, are executed, wherein the shader program utilizes data determined by the execution of an instance of the shader program corresponding to a first ray of the ray bundle in the execution of an instance of the shader program for a further ray of the ray bundle.

IPC Classes  ?

56.

Multicore State Caching in Graphics Processing

      
Application Number 19351734
Status Pending
Filing Date 2025-10-07
First Publication Date 2026-02-05
Owner Imagination Technologies Limited (United Kingdom)
Inventor King, Ian

Abstract

A set of image rendering tasks and state information are distributed in a graphics processing unit (GPU) having a plurality of cores. A first master unit in one of the cores receives the set of image rendering tasks and the state information, and stores the state information in a memory. The first master unit splits the set of image rendering tasks into a first subset of tasks and a second subset of tasks, wherein the first subset of tasks is assigned to the first core, and the second subset of tasks is assigned to the second core. At least a first portion of the state information is transmitted to the first core, and at least a second portion of the state information is transmitted to the second core. The first subset of tasks is transmitted to the first core, and the second subset of tasks is transmitted to the second core.

IPC Classes  ?

  • G06T 1/20 - Processor architecturesProcessor configuration, e.g. pipelining
  • G06F 9/48 - Program initiatingProgram switching, e.g. by interrupt
  • G06F 15/80 - Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors

57.

Allocation of Primitives to Primitive Blocks

      
Application Number 19355478
Status Pending
Filing Date 2025-10-10
First Publication Date 2026-02-05
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Yang, Xile
  • Howson, John W.
  • Redshaw, Jonathan

Abstract

An application sends primitives to a graphics processing system so that an image of a 3D scene can be rendered. The primitives are placed into primitive blocks for storage and retrieval from a parameter memory. Rather than simply placing the first primitives into a primitive block until the primitive block is full and then placing further primitives into the next primitive block, multiple primitive blocks can be “open” such that a primitive block allocation module can allocate primitives to one of the open primitive blocks to thereby sort the primitives into primitive blocks according to their spatial positions. By grouping primitives together into primitive blocks in accordance with their spatial positions, the performance of a rasterization module can be improved. For example, in a tile-based rendering system this may mean that fewer primitive blocks need to be fetched by a hidden surface removal module in order to process a tile.

IPC Classes  ?

58.

Methods and Graphics Processing Units for Determining Differential Data for Rays of a Ray Bundle

      
Application Number 19356083
Status Pending
Filing Date 2025-10-11
First Publication Date 2026-02-05
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Peterson, Luke T.
  • Jones, James
  • Dwyer, Aaron

Abstract

A graphics processing system is configured to perform ray tracing. Rays are bundled together and processed together into a ray bundle using a programmable chip. Intersection testing is performed on the rays of the ray bundle in the scene using fixed function hardware. Results of the intersection testing are used to determine whether the rays are to be maintained in the ray bundle. Shader programs are executed on the rays in the ray bundle by determining differential data for a particular ray of the ray bundle using data for another ray of the ray bundle.

IPC Classes  ?

59.

Iterative Estimation Hardware

      
Application Number 19340161
Status Pending
Filing Date 2025-09-25
First Publication Date 2026-01-29
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Rose, Thomas
  • Freiburghaus, Max
  • Mckemey, Robert

Abstract

A function estimation hardware logic unit may be implemented as part of an execution pipeline in a processor. The function estimation hardware logic unit is arranged to calculate, in hardware logic, an improved estimate of a function of an input value, d, where the function is given by A function estimation hardware logic unit may be implemented as part of an execution pipeline in a processor. The function estimation hardware logic unit is arranged to calculate, in hardware logic, an improved estimate of a function of an input value, d, where the function is given by 1 / d i . A function estimation hardware logic unit may be implemented as part of an execution pipeline in a processor. The function estimation hardware logic unit is arranged to calculate, in hardware logic, an improved estimate of a function of an input value, d, where the function is given by 1 / d i . The hardware logic comprises a plurality of multipliers and adders arranged to implement a mth-order polynomial with coefficients that are rational numbers, where m is not equal to two and in various examples m is not equal to a power of two. In various examples i=1, i=2 or i=3. In various examples m=3.

IPC Classes  ?

  • G06F 7/552 - Powers or roots
  • G06F 7/57 - Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups or for performing logical operations

60.

Formation of Bounding Volume Hierarchies

      
Application Number 19348082
Status Pending
Filing Date 2025-10-02
First Publication Date 2026-01-29
Owner Imagination Technologies Limited (United Kingdom)
Inventor Davison, Joseph John

Abstract

A method performed by a graphics processor searches for a candidate reinsertion for each of a plurality of input nodes of a current bounding volume hierarchy (BVH) which would move the input node from an old parent to a new parent, and which would reduce an expected computational cost of searching the BVH for a ray intersection; and performs a first update to update the current BVH with one or more selected reinsertions from among the candidates. The selection comprises a conflict check to determine whether any group of the candidates would affect a same part of the current BVH, and if so selecting only one of the group to include in the first update. At least one of the iterations further comprises, after the first update, performing a second update within the same iteration to update the current BVH with another of said group.

IPC Classes  ?

  • G06T 15/50 - Lighting effects
  • G06T 1/20 - Processor architecturesProcessor configuration, e.g. pipelining
  • G06T 15/06 - Ray-tracing
  • G06T 17/00 - 3D modelling for computer graphics
  • G06T 17/10 - Volume description, e.g. cylinders, cubes or using CSG [Constructive Solid Geometry]

61.

Intersection Testing in a Ray Tracing System Using Scaled Ray Components

      
Application Number 19350991
Status Pending
Filing Date 2025-10-06
First Publication Date 2026-01-29
Owner Imagination Technologies Limited (United Kingdom)
Inventor King, Rostam

Abstract

A method and intersection testing module are provided in a ray tracing system for determining whether a ray intersects a 3D axis-aligned volume. The volume is defined by a front-facing plane and a back-facing plane for each of the dimensions of the three-dimensional axis-aligned volume. Scaled ray components are determined, wherein a third scaled ray component equals 1. A scaled minimum culling distance and a scaled maximum culling distance are determined. Determined cross-multiplication values are used to identify which of the front-facing planes intersects the ray furthest along the ray and identify which of the back-facing planes intersects the ray least far along the ray. It is determined whether the ray intersects the identified front-facing plane of the volume at a position that is no further along the ray than the position at which the ray intersects the identified back-facing plane.

IPC Classes  ?

62.

Efficient Encoding Methods

      
Application Number 19350258
Status Pending
Filing Date 2025-10-06
First Publication Date 2026-01-29
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Lacey, Peter Malcolm
  • Fenney, Simon

Abstract

Power consumption of read/write operations of a processor is reduced by encoding data values. An input value of a plurality of input values with a uniformly distributed random probability is mapped to one of a predefined set of codes, wherein the input value is mapped to a code that comprises more bits than the input value. The codes corresponding to the input value are outputted, wherein compared to an input value having a relatively low value, an input value having a relatively high value is mapped to a code of the pre-defined set of codes which either: (i) is closer to a target Hamming Weight, or (ii) has closer to a target number of bit flips within the code.

IPC Classes  ?

  • H03M 7/02 - Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
  • G06F 13/16 - Handling requests for interconnection or transfer for access to memory bus

63.

Compression and Decompression of Sub-Primitive Presence Indications for Use in a Rendering System

      
Application Number 19337599
Status Pending
Filing Date 2025-09-23
First Publication Date 2026-01-15
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Ozkan, Alper
  • Fenney, Simon

Abstract

Compressed data is decompressed to determine one or more sub-primitive presence indications for use in a rendering system. It is determined whether child-level data is included in a hierarchical representation for a parent region in a block of compressed data for a block of sub-primitive presence indications subdivided into a plurality of parent regions, each subdivided into a plurality of child regions, where the block comprises the hierarchical representation of the block of sub-primitive presence indications, wherein for each of parent regions whose child regions all have the same 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. Where child-level data is not included in the hierarchical representation for the parent region, parent-level data for the parent region is used without child-level data, to determine one or more sub-primitive presence indications in the parent region.

IPC Classes  ?

64.

Memory Management for Multicore 3-D Graphics Rendering

      
Application Number 19336326
Status Pending
Filing Date 2025-09-22
First Publication Date 2026-01-15
Owner Imagination Technologies Limited (United Kingdom)
Inventor Livesley, Michael John

Abstract

A multicore graphics rendering system includes a plurality of cores configured to implement tile-based rendering of a stream of primitives. First cores are configured to process groups of primitives, to produce transformed geometry data. The graphics rendering system uses at least one virtualised memory space. At least one virtualised memory space is segmented such that the first cores are allocated respective non-overlapping virtual address ranges in the space, the virtual address ranges being associated with different entries in a top level of the index. The top level of the hierarchical index is pre-allocated, and each core is primed by providing it with said top level of the hierarchical index.

IPC Classes  ?

  • G06T 1/60 - Memory management
  • G06F 12/08 - Addressing or allocationRelocation in hierarchically structured memory systems, e.g. virtual memory systems
  • G06T 11/40 - Filling a planar surface by adding surface attributes, e.g. colour or texture
  • G06T 15/00 - 3D [Three Dimensional] image rendering

65.

Coherency Gathering for Ray Tracing

      
Application Number 19328441
Status Pending
Filing Date 2025-09-15
First Publication Date 2026-01-08
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Livesley, Michael John
  • Clark, Gregory

Abstract

A system and method for coherency gathering for rays in a ray tracing system. The ray tracing system uses a hierarchical acceleration structure comprising a plurality of nodes including upper level nodes and lower level nodes. For each instance where one of the lower level nodes is a child of one of the upper level nodes, an instance transform is defined, specifying the relationship between a first coordinate system of the upper level node and the second coordinate system for that instance of the lower level node. The system provides an instance transform cache for storing a plurality of these instance transforms while conducting intersection testing.

IPC Classes  ?

66.

Memory Allocation for 3-D Graphics Rendering

      
Application Number 19328751
Status Pending
Filing Date 2025-09-15
First Publication Date 2026-01-08
Owner Imagination Technologies Limited (United Kingdom)
Inventor Livesley, Michael John

Abstract

A method and apparatus are provided for allocating memory for geometry processing in a 3-D graphics rendering system comprising multiple cores. Geometry processing work is divided up into discrete work-packages, which form an ordered sequence. Cores are assigned different work-packages to process, and make memory allocation requests to enable them to store the results of the processing. Memory allocation requests relating to the current earliest uncompleted work-package in the sequence are treated differently to other requests, and may be prioritised.

IPC Classes  ?

  • G06F 9/50 - Allocation of resources, e.g. of the central processing unit [CPU]
  • G06T 1/60 - Memory management
  • G06T 15/00 - 3D [Three Dimensional] image rendering

67.

Generating an Augmented Reality Image Using a Blending Factor

      
Application Number 19321655
Status Pending
Filing Date 2025-09-08
First Publication Date 2026-01-01
Owner Imagination Technologies Limited (United Kingdom)
Inventor Walton, David

Abstract

A method for generating an augmented reality image from first and second images, wherein at least a portion of at least one of the first and the second image is captured from a real scene, identifies a confidence region in which a confident determination as to which of the first and second image to render in that region of the augmented reality image can be made, and identifies an uncertainty region in which it is uncertain as to which of the first and second image to render in that region of the augmented reality image. At least one blending factor value in the uncertainty region is determined based upon a similarity between a first colour value in the uncertainty region and a second colour value in the confidence region, and an augmented reality image is generated by combining, in the uncertainty region, the first and second images using the at least one blending factor value.

IPC Classes  ?

  • G06T 19/00 - Manipulating 3D models or images for computer graphics
  • G06T 3/4038 - Image mosaicing, e.g. composing plane images from plane sub-images
  • G06T 7/30 - Determination of transform parameters for the alignment of images, i.e. image registration
  • G06T 15/50 - Lighting effects
  • G06V 20/64 - Three-dimensional objects

68.

Memory Management for Multicore 3-D Graphics Rendering

      
Application Number 19318125
Status Pending
Filing Date 2025-09-03
First Publication Date 2026-01-01
Owner Imagination Technologies Limited (United Kingdom)
Inventor Livesley, Michael John

Abstract

A multicore graphics rendering system includes a plurality of cores configured to implement tile-based rendering of a stream of primitives. The graphics rendering system uses at least one virtualised memory space. A hierarchical index is provided, to index the physical memory portions associated with virtual memory portions in the at least one virtualised memory space. The portions of memory allocated for the hierarchical index are recorded in an MMU (memory management unit) list (MLIST). The MLIST comprises a plurality of entries, each entry being associated with a respective portion of the hierarchical index, wherein each entry includes an indication of the portion of virtual memory that is indexed by that portion of the hierarchical index. The MLIST is used to identify, and free, portions of memory associated with indexing virtual memory that has been fully consumed in a partial render.

IPC Classes  ?

69.

Floating Point to Fixed Point Conversion

      
Application Number 19319410
Status Pending
Filing Date 2025-09-04
First Publication Date 2026-01-01
Owner Imagination Technologies Limited (United Kingdom)
Inventor Rovers, Kenneth

Abstract

A binary logic circuit for converting a number in floating point format into a fixed point format. An inverting hardware circuit inverts bit values of an exponent. A shifter coupled to the inverting hardware circuit receives a significand input comprising a contiguous set of the most significant bits of the significand and right-shifts the significand input by a number of bits equal to the value represented by p least significant bits of the inverted exponent to generate a shifter output, wherein p is dependent on an integer width iw or a fractional width fw. A multiplexer coupled to the shifter receives an input comprising a contiguous set of bits of the shifter output, and outputs the input if the most significant bit of the exponent is equal to zero.

IPC Classes  ?

  • G06F 5/01 - Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
  • G06F 7/48 - Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state deviceMethods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using unspecified devices
  • H03M 7/24 - Conversion to or from floating-point codes

70.

Conservative Rasterization Hardware

      
Application Number 19257130
Status Pending
Filing Date 2025-07-01
First Publication Date 2026-01-01
Owner Imagination Technologies Limited (United Kingdom)
Inventor De Lucas Casamayor, Enrique

Abstract

A method of rendering primitives is described. Vertex coordinates are converted from floating-point to fixed-point format and triangle primitives having non-zero area prior to the conversion and zero area after the conversion and primitives that have changed from line primitives to point primitives as a consequence of the conversion are identified. A flag is set for each identified primitive and triangle or line primitives that have changed to point primitives as a consequence of the conversion are marked as small objects. Tile lists for each tile in the rendering space are then generated by: for any primitive that is not flagged as a degenerate primitive, using one or more edge calculations to determine whether the primitive overlaps a tile; and for any primitive that is both marked as a small object and flagged as a degenerate primitive, using a conservative bounding box to determine whether the primitive overlaps a tile.

IPC Classes  ?

  • G06T 1/20 - Processor architecturesProcessor configuration, e.g. pipelining
  • G06T 7/13 - Edge detection
  • G06V 10/25 - Determination of region of interest [ROI] or a volume of interest [VOI]
  • G06V 10/764 - Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects

71.

Atomic Memory Update Unit and Methods

      
Application Number 19313485
Status Pending
Filing Date 2025-08-28
First Publication Date 2025-12-25
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Clohset, Stephen J.
  • Redgrave, Jason R.
  • Peterson, Luke T.

Abstract

In an aspect, an update unit can evaluate condition(s) in an update request and update one or more memory locations based on the condition evaluation. The update unit can operate atomically to determine whether to effect the update and to make the update. Updates can include one or more of incrementing and swapping values. An update request may specify one of a pre-determined set of update types. Some update types may be conditional and others unconditional. The update unit can be coupled to receive update requests from a plurality of computation units. The computation units may not have privileges to directly generate write requests to be effected on at least some of the locations in memory. The computation units can be fixed function circuitry operating on inputs received from programmable computation elements. The update unit may include a buffer to hold received update requests.

IPC Classes  ?

  • G06T 15/00 - 3D [Three Dimensional] image rendering
  • G06F 12/0804 - Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
  • G06F 12/0862 - Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
  • G06F 12/126 - Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
  • G06T 1/60 - Memory management
  • G06T 5/77 - RetouchingInpaintingScratch removal
  • G06T 15/06 - Ray-tracing
  • G06T 17/10 - Volume description, e.g. cylinders, cubes or using CSG [Constructive Solid Geometry]

72.

Hardware Unit for Performing Matrix Multiplication with Clock Gating

      
Application Number 19316121
Status Pending
Filing Date 2025-09-02
First Publication Date 2025-12-25
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Martin, Christopher
  • Pulimeno, Azzurra

Abstract

Hardware units and methods for performing matrix multiplication via a multi-stage pipeline wherein the storage elements associated with one or more stages of the pipeline are clock gated based on the data elements and/or portions thereof that known to have a zero value (or can be treated as having a zero value). In some cases, the storage elements may be clock gated on a per data element basis based on whether the data element has a zero value (or can be treated as having a zero value). In other cases, the storage elements may be clock gated on a partial element basis based on the bit width of the data elements. For example, if bit width of the data elements is less than a maximum bit width for the data elements then a portion of the bits related to that data element can be treated as having a zero value and a portion of the storage elements associated with that data element may not be clocked. In yet other cases the storage elements may be clock gated on both a per element and a partial element basis.

IPC Classes  ?

  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline or look ahead
  • G06F 7/50 - AddingSubtracting
  • G06F 7/523 - Multiplying only
  • G06F 7/544 - Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state deviceMethods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using unspecified devices for evaluating functions by calculation
  • G06F 17/16 - Matrix or vector computation
  • G06N 3/045 - Combinations of networks
  • G06N 3/063 - Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
  • G06N 20/00 - Machine learning

73.

Tile Based Computer Graphics

      
Application Number 19315932
Status Pending
Filing Date 2025-09-02
First Publication Date 2025-12-25
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Fishwick, Steven J.
  • Howson, John W.

Abstract

A method and system for generating and shading a computer graphics image in a tile based computer graphics system is provided. Geometry data is supplied and a plurality of primitives are derived from the geometry data. One or more modified primitives are then derived from at least one of the plurality of primitives. For each of a plurality of tiles, an object list is derived including data identifying the primitive from which each modified primitive located at least partially within that tile is derived. Alternatively, the object list may include data identifying each modified primitive located at least partially within that tile. Each tile is then shaded for display using its respective object list.

IPC Classes  ?

  • G06T 1/20 - Processor architecturesProcessor configuration, e.g. pipelining
  • G06T 1/00 - General purpose image data processing
  • G06T 15/00 - 3D [Three Dimensional] image rendering

74.

Methods and Systems for Inter-Pipeline Data Hazard Avoidance

      
Application Number 19316038
Status Pending
Filing Date 2025-09-02
First Publication Date 2025-12-25
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Iuliano, Luca
  • Nield, Simon
  • Foo, Yoong-Chert
  • Mower, Ollie

Abstract

Data hazards are avoided by stalling from execution a received secondary instruction determined to be dependent on a primary instruction by an associated instruction pipeline if a counter of a plurality of counters associated with the primary instruction indicates that there is a hazard related to the primary instruction. In response to detecting that a hazard related to a primary instruction has been resolved by an instruction pipeline of a plurality of instruction pipelines, an adjustment signal is transmitted to a counter block that causes the value of the counter of the plurality of counters of the counter block associated with the primary instruction to be adjusted to indicate that the hazard related to the primary instruction has been resolved.

IPC Classes  ?

  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline or look ahead
  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode

75.

Excluding Video Frame Blocks from Compensation Based on Difference Determination

      
Application Number 19315591
Status Pending
Filing Date 2025-08-31
First Publication Date 2025-12-18
Owner Imagination Technologies Limited (United Kingdom)
Inventor Diggins, Jonathan

Abstract

Blocks of a video frame to be excluded from a motion-compensated operation are identified, by processing pixel values of a first frame to characterize blocks of the pixels as representing a portion of an object. Difference values between blocks of the first frame and blocks of a second frame are determined, processed difference values characterizing blocks of the first frame as representing an image component that is static between the first and second frames. A score is generated for each block of the first frame indicating a confidence level that the block represents a static image component. Blocks of the first frame are identified as protected blocks which (i) represent a portion of an object; and (ii) represent an image component that is static between the first and second frames. A dilating kernel is applied to blocks with a score indicating a low confidence level and characterizing each block within the kernel as not representing a static image component.

IPC Classes  ?

  • H04N 7/01 - Conversion of standards
  • G06T 5/30 - Erosion or dilatation, e.g. thinning
  • G06T 7/20 - Analysis of motion
  • G06V 10/98 - Detection or correction of errors, e.g. by rescanning the pattern or by human interventionEvaluation of the quality of the acquired patterns
  • G06V 20/40 - ScenesScene-specific elements in video content

76.

Processing Fragments Which Have A Shader-Dependent Property In A Graphics Processing System

      
Application Number 19316218
Status Pending
Filing Date 2025-09-02
First Publication Date 2025-12-18
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Velentzas, Panagiotis
  • Howson, John W.
  • Broadhurst, Richard

Abstract

A graphics processing system includes hidden surface removal logic and processing logic for processing fragments. An early depth test is performed on a first fragment with the hidden surface removal logic using a depth buffer, the first fragment having a shader-dependent property. In response to the first fragment passing the early depth test, the processing logic determines the property of the first fragment. After the determination of the property of the first fragment, a late depth test is performed on the first fragment with the hidden surface removal logic using the depth buffer. After performing the early depth test on the first fragment but before the late depth test is performed on the first fragment, an early depth test is performed on a second fragment with the hidden surface removal logic, wherein the second fragment does not have a shader-dependent property.

IPC Classes  ?

  • G06T 15/40 - Hidden part removal
  • G06T 1/20 - Processor architecturesProcessor configuration, e.g. pipelining
  • G06T 11/40 - Filling a planar surface by adding surface attributes, e.g. colour or texture
  • G06T 15/00 - 3D [Three Dimensional] image rendering
  • G06T 15/80 - Shading

77.

DECODING A TEXEL FROM A BLOCK OF ENCODED TEXTURE DATA

      
Application Number 19087170
Status Pending
Filing Date 2025-03-21
First Publication Date 2025-12-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor Spreij, Tijmen

Abstract

A decoder for decoding a texel according to the Adaptive Scalable Texture Compression (ASTC) format, is configured to select a colour endpoint mode (CEM) of a plurality of different CEMs and generate a plurality of input values for inputting to multiple inputs of a logic circuit. The input values are generated such that the logic circuit will generate an intermediate output value for calculating colour endpoints in accordance with the selected CEM. For different CEMs, the decoder generates a different plurality of input values for inputting to the same inputs of the multiple inputs of the logic circuit. The logic circuit is configured to operate on the plurality of input values so as to generate the at least one intermediate output value; determine a colour endpoint pair in accordance with the selected CEM in dependence on the at least one intermediate output value; and decode the texel in dependence on the colour endpoint pair.

IPC Classes  ?

  • H04N 19/597 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
  • H04N 19/186 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component

78.

Uninitialized Access Protection of a Register

      
Application Number 19174276
Status Pending
Filing Date 2025-04-09
First Publication Date 2025-12-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor Sheppard, Mark

Abstract

A method of preventing unauthorized access to uninitialized memory. Registers are grouped into blocks, each of which has a corresponding validity bit. When data is written to a block of memory the validity bit is set to valid. A read function reads both the register data and the validity bit but if the validity bit is set to invalid dummy values are output. Once a program is complete, or before a fresh program the validity bits are reset to invalid.

IPC Classes  ?

  • G06T 1/20 - Processor architecturesProcessor configuration, e.g. pipelining
  • G06T 1/60 - Memory management

79.

Graphics Processing Unit for Processing Primitives Using a Rendering Space Which is Sub-Divided into a Plurality of Tiles

      
Application Number 19197990
Status Pending
Filing Date 2025-05-03
First Publication Date 2025-12-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor Livesley, Michael John

Abstract

A graphics processing unit (GPU) comprises a plurality of geometry pipelines and a tiling back-end module. The geometry pipelines receive batches of primitives of a sequence of primitives. Each pipeline has geometry processing modules configured to perform geometry processing functions on the primitives of a batch. A tiling front-end module determines, for each tile of a set of tiles, tile-primitive indications indicating which of the primitives of the batch of primitives received at the geometry pipeline are present within that tile. The tiling back-end module is configured to: receive the tile-primitive indications determined by the plurality of geometry pipelines; and for each of the tiles for which a tile-primitive indication is received, include indications of the primitives that are present within that tile in a control stream for that tile in an order in accordance with an order of the primitives within the sequence of primitives.

IPC Classes  ?

  • G06T 1/20 - Processor architecturesProcessor configuration, e.g. pipelining
  • G06T 15/00 - 3D [Three Dimensional] image rendering

80.

Compression of Work Item Coordinate Data for Work Items in a Work Group

      
Application Number 19204049
Status Pending
Filing Date 2025-05-09
First Publication Date 2025-12-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor De Lucas Casamayor, Enrique

Abstract

A method for compressing work item coordinate data for work items in a work group and sending the data across an interface between a computation requesting unit and a computation sequencing unit. A work item valid mask is created in dependence on the number and positions of work items in the work group, the work item valid mask indicating valid work items in the work group. A first swizzle mask indicates which bits of a swizzle index for each work item in the work group correspond to the value of a first coordinate for that work item. A second swizzle mask indicates which bits of the swizzle index for each work item in the work group correspond to the value of a second coordinate for that work item.

IPC Classes  ?

  • G06F 9/50 - Allocation of resources, e.g. of the central processing unit [CPU]

81.

Decompression of Work Item Coordinate Data for Work Items in a Work Group

      
Application Number 19204225
Status Pending
Filing Date 2025-05-09
First Publication Date 2025-12-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor De Lucas Casamayor, Enrique

Abstract

Compressed work item coordinate data for work items in a work group across an interface between a computation requesting unit and a computation sequencing unit is decompressed. A work item valid mask indicates valid work items in the work group. A swizzle index is computed for each valid work item in the work group. A first swizzle mask indicates which bits of the swizzle index for each work item correspond to the value of a first coordinate for that work item. A second swizzle mask indicates which bits of the swizzle index for each work item correspond to the value of a second coordinate for that work item. First coordinates for each valid work item in dependence on the first swizzle mask and the swizzle index for that item, and second coordinates for each valid work item in dependence on the second swizzle mask and the swizzle index computed for that item are computed.

IPC Classes  ?

  • G06F 9/50 - Allocation of resources, e.g. of the central processing unit [CPU]

82.

Filtering Unit

      
Application Number 19215733
Status Pending
Filing Date 2025-05-22
First Publication Date 2025-12-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor Spreij, Tijmen

Abstract

A filtering unit of a processing unit applies filtering to sequences of input values to determine output values. A control block allocates each of the sequences to a sequencer defining a sequence of operations of a filtering process to be performed on the sequence of input values allocated to that sequencer. A datapath block processes values for the operations to generate results of the operations as part of the filtering process. An arbiter controls access to the datapath block according to prioritization rules, where each operation has a priority in accordance with those rules. Operations of a first set of operations have a high priority, operations of a second set of intermediate operations which do not involve input values and which determine intermediate result values rather than determining output values have a medium priority, and operations of a third set of operations have a low priority, wherein the third set of operations comprises output operations which determine output values.

IPC Classes  ?

83.

Volumetric Point Filtering Unit and Method

      
Application Number 19215871
Status Pending
Filing Date 2025-05-22
First Publication Date 2025-12-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Spreij, Tijmen
  • Younes, Hamoud
  • Naylor, Stuart

Abstract

A filtering unit applies filtering methods to input values to determine output values. A plurality of inputs receive input values, signal values, and filter coefficients. The signal values define a filtering mode and the filter coefficients correspond to a filtering method. A computation pipeline receives two input values and a corresponding filter coefficient, and performs an interpolation using the input values and the filter coefficient. Registers store intermediate output values generated by the computation pipeline. Signal values, a volumetric filter coefficient, and an input value are received, and it is determined i) that a filtering mode defined by the received signal values comprises volumetric filtering and at least one other filtering method and ii) that the volumetric filter coefficient is equal to zero. In response to determining i) and ii) the filtering unit stores the received input value in a register of the plurality of registers.

IPC Classes  ?

  • G06T 15/08 - Volume rendering
  • G06T 1/20 - Processor architecturesProcessor configuration, e.g. pipelining

84.

Shared Partial Products for a Dot Product Operation in Hardware

      
Application Number 19216864
Status Pending
Filing Date 2025-05-23
First Publication Date 2025-12-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Spreij, Tijmen
  • Ferrere, Thomas
  • Zolnai-Lucas, Jeremy

Abstract

A hardware module for performing dot product operations includes receiver circuitry receiving a first vector and a second vector, each comprising at least two elements of a binary encoded integer. Logic generates an array of partial products of N rows of bits for a dot product operation between the first vector and the second vector. Grouping circuitry groups bits of the elements of the second vector into a binary number, wherein each binary number is associated with a respective row of the N rows of bits, and selector circuitry selects a partial product value for each of the N rows of bits based on the binary number that is associated with the respective row, such that one partial product is generated per binary number. The hardware module also comprises adder circuitry configured to perform adding the N rows of bits together to compute an output associated with the dot product operation between the first and second vectors.

IPC Classes  ?

85.

Facilitating Object Intersection Testing in a Ray Tracing System

      
Application Number 19218097
Status Pending
Filing Date 2025-05-23
First Publication Date 2025-12-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Fenney, Simon James
  • Allen, Henry

Abstract

A contained region facilitating determining whether a ray intersects an object of a scene in a ray tracing system is generated, wherein the object is contained within finite bounding regions forming an object partitioning hierarchy. The volume inside the finite bounding regions is partitioned into voxels categorised by identifying a subset of boundary voxels that lie within extents of a geometry defined by the object and which intersect with the object's contiguous surface. An occlusion utility metric comprises a component quantifying a maximum number of boundary voxels lying in a contiguous chain that intersect the contiguous surface of the object. A boundary voxel is selected to be a candidate voxel for transformation into a contained region. An expanded volume of the candidate voxel is generated through at least one dimension to obtain an expanded voxel contained within, and smaller than, the extents of the geometry defined by the object. The expanded voxel is allocated as a contained region.

IPC Classes  ?

86.

Facilitating Object Intersection Testing in a Ray Tracing System

      
Application Number 19218532
Status Pending
Filing Date 2025-05-26
First Publication Date 2025-12-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Fenney, Simon James
  • Allen, Henry

Abstract

A contained region for use in a ray tracing system is generated, the contained region facilitating determining whether a ray intersects an object of a scene, the object being contained within finite bounding regions which form part of an object partitioning hierarchy. The volume inside the finite bounding regions is partitioned into voxels, which are categorised by identifying a subset of internal voxels that are contained within extents of a geometry defined by the object, and determining an occlusion utility metric for each of the internal voxels which quantifies an estimate of a potential surface area of an expanded version of each internal voxel. In dependence on the occlusion utility metric, an internal voxel is selected from the subset of internal voxels to be a candidate voxel for transformation into a contained region, and a volume of the candidate voxel is expanded through at least one dimension to obtain an expanded voxel and is allocated as a contained region.

IPC Classes  ?

87.

Burst Processing

      
Application Number 19172278
Status Pending
Filing Date 2025-04-07
First Publication Date 2025-12-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Demeure, Aroun
  • Thomas, William
  • Lewsey, David
  • Sheppard, Mark

Abstract

A computer-implemented method of compiling a program includes analysing the program to identify at least one group of instructions within the program that can be executed atomically. In response to identifying a group of instructions that can be executed atomically, the group of instructions is extracted from the program to form a burst; a modified program is created by inserting an instruction into the program in place of the extracted group of instructions. The instruction is configured to trigger execution of the burst, and the burst and the modified program are saved separately.

IPC Classes  ?

  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline or look ahead
  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode

88.

Rendering an Image of a 3-D Scene

      
Application Number 19190086
Status Pending
Filing Date 2025-04-25
First Publication Date 2025-12-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Salmi, Arturo Tommaso
  • Cséfalvay, Szabolcs
  • Imber, James Stuart

Abstract

An image of a 3-D scene is rendered by rendering a noisy image at a first resolution; obtaining initial guide channels at the first resolution, and obtaining corresponding initial guide channels at a second resolution. When the two resolutions are the same, the initial guide channels at the first resolution and the corresponding initial guide channels at the second resolution may be provided by a single set of initial guide channels. Enhanced guide channels are derived from the initial guide channels using machine learning models. For each of a plurality of local neighbourhoods, the parameters of a denoising model that approximates the noisy image (in the local neighbourhood) are calculated as a function of the enhanced guide channels (at the first resolution), and the calculated parameters are applied to the one or more enhanced guide channels (at the second resolution), to produce a denoised image at the second resolution.

IPC Classes  ?

  • G06T 5/70 - DenoisingSmoothing
  • G06T 3/4053 - Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
  • G06T 5/20 - Image enhancement or restoration using local operators
  • G06T 5/60 - Image enhancement or restoration using machine learning, e.g. neural networks
  • G06T 15/50 - Lighting effects

89.

SHUFFLE ACCELERATOR FOR GRAPHICS PROCESSING UNIT

      
Application Number 19192628
Status Pending
Filing Date 2025-04-29
First Publication Date 2025-12-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor Sheppard, Mark

Abstract

Shuffle accelerators for shuffling data on a shader core of a graphics processing unit include routing logic, slave logic and master logic. The routing logic selectively connects data input ports to a plurality of data output ports. The slave logic selectively provides data from a first set of instances to the plurality of data input ports and receives data from the plurality of data output ports for a second set of instances. The master logic is configured to, in response to receiving a shuffle instruction that identifies a shuffle of data between the plurality of instances, cause the routing logic and the slave logic to perform the identified shuffle of data in a plurality of phases, wherein in each phase of the plurality of phases a subset of the instances of the plurality of instances receive data from a subset of the instances of the plurality of instances.

IPC Classes  ?

  • G06T 15/00 - 3D [Three Dimensional] image rendering
  • G06T 1/20 - Processor architecturesProcessor configuration, e.g. pipelining

90.

Facilitating Object Intersection Testing in a Ray Tracing System

      
Application Number 19218544
Status Pending
Filing Date 2025-05-26
First Publication Date 2025-12-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Fenney, Simon James
  • Allen, Henry

Abstract

Contained regions are selected for a ray tracing system, the contained regions facilitating determining whether a ray intersects an object of a scene contained within finite bounding regions of an object partitioning hierarchy. A target contained region is selected from candidate contained regions within extents of a geometry defined by the object. Occluded contained regions of the contained regions are identified, which the target contained region at least partially occludes. It is determined whether a surface area metric of the target contained region meets surface area utility criteria defined based on i) a surface area defined by the occluded contained regions; and ii) a surface area defined by the object. When the surface area metric does not meet the surface area utility criteria, the geometry data defining the target contained region is discarded to obtain a refined set of contained regions facilitating determining whether a ray intersects the object in dependence on determining that the ray intersects at least one contained region of the refined set of contained regions.

IPC Classes  ?

91.

Processing System Configured to Process Protected Tasks

      
Application Number 19223950
Status Pending
Filing Date 2025-05-30
First Publication Date 2025-12-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Munnan, Ravindranath Ramalingaiah
  • Savulimedu Veeravalli, Varadan
  • Duvvuri, Sree Ram Kishore
  • Kallakuri, Chaitanya

Abstract

Processing logic of a processing system processes protected tasks first and second times to generate first and second processed outputs. A first fault detection unit compares the first and second processed outputs for a respective protected task and generates a first signal indicative of whether they match. A second fault detection unit compares the first and second processed outputs for the respective protected task and generates a second signal indicative of whether they match. The processing system is operable in a first protected mode in which the first fault detection unit and the second fault detection unit operate, concurrently, in respective mission modes, and the first signal and the second signal for the respective protected task are provided to a fault assessment unit for comparison in order to assess whether a fault existed at the first fault detection unit and/or the second fault detection unit when generating the first and second signals.

IPC Classes  ?

  • G06F 11/18 - Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits, e.g. by quadding or by majority decision circuits
  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware

92.

Hierarchy Merging in Computer Graphics

      
Application Number 19296404
Status Pending
Filing Date 2025-08-11
First Publication Date 2025-12-04
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Harrison, Matthew
  • Howson, John W.
  • Peterson, Luke T.
  • Clohset, Steven J.

Abstract

A hierarchy is a multi-level linked structure of nodes, wherein the hierarchy represents data relating to a set of one or more items to be processed. Where there are multiple input hierarchies, it may improve the efficiency of the processing of the items to merge the input hierarchies to form a merged hierarchy. The hierarchies are merged by identifying two or more sub-hierarchies within the input hierarchies which are to be merged, and determining one or more nodes of the merged hierarchy which reference nodes of the identified sub-hierarchies. The determined nodes of the merged hierarchy are stored and indications of the references between the determined nodes of the merged hierarchy and the referenced nodes of the identified sub-hierarchies are also stored. In this way, the merged hierarchy is formed for use in processing the items.

IPC Classes  ?

  • G06F 16/22 - IndexingData structures thereforStorage structures
  • G06F 7/14 - Merging, i.e. combining at least two sets of record carriers each arranged in the same ordered sequence to produce a single set having the same ordered sequence
  • G06T 15/06 - Ray-tracing
  • G06T 17/00 - 3D modelling for computer graphics

93.

Periodic Reset of Graphics Processor Unit in Safety-Critical Graphics Processing System

      
Application Number 19296603
Status Pending
Filing Date 2025-08-11
First Publication Date 2025-12-04
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Morris, Philip
  • Novales, Mario Sopena
  • Broome, Jamie

Abstract

A method of performing safety-critical rendering at a graphics processing unit within a graphics processing system, the method comprising: receiving, at the graphics processing system, graphical data for safety-critical rendering at the graphics processing unit; scheduling at a safety controller, in accordance with a reset frequency, a plurality of resets of the graphics processing unit; rendering the graphical data at the graphics processing unit; and the safety controller causing the plurality of resets of the graphics processing unit to be performed commensurate with the reset frequency.

IPC Classes  ?

  • G06F 11/14 - Error detection or correction of the data by redundancy in operation, e.g. by using different operation sequences leading to the same result
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06T 1/20 - Processor architecturesProcessor configuration, e.g. pipelining
  • G06T 15/00 - 3D [Three Dimensional] image rendering

94.

Texture Address Generation Using Fragment Pair Differences

      
Application Number 19302248
Status Pending
Filing Date 2025-08-18
First Publication Date 2025-12-04
Owner Imagination Technologies Limited (United Kingdom)
Inventor King, Rostam

Abstract

Methods and hardware for texture address generation receive fragment coordinates for an input block of fragments and texture instructions for the fragments and calculating gradients for at least one pair of fragments. Based on the gradients, the method determines whether a first mode or a second mode of texture address generation is to be used and then uses the determined mode and the gradients to perform texture address generation. The first mode of texture address generation performs calculations at a first precision for a subset of the fragments and calculations for remaining fragments at a second, lower, precision. The second mode of texture address generation performs calculations for all fragments at the first precision and if the second mode is used and more than half of the fragments in the input block are valid, the texture address generation is performed over two clock cycles.

IPC Classes  ?

95.

Object Intersection Testing in a Ray Tracing System

      
Application Number 19218019
Status Pending
Filing Date 2025-05-23
First Publication Date 2025-11-27
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Fenney, Simon James
  • Aman, Aytek
  • Allen, Henry

Abstract

Object intersection testing in a ray tracing system determines whether a ray intersects an object of a scene, wherein the object is contained within a bounding region that is finite and forms part of an object partitioning hierarchy. Upon determining that the ray intersects the bounding region, at least one contained region is obtained, wherein the contained region is contained within, and smaller than, extents of a geometry defined by the object. Upon determining that the ray intersects a contained region of the at least one contained region, it is determined whether the ray intersects the object in dependence on at least determining that the ray intersects the contained region.

IPC Classes  ?

96.

Data Compression and Decompression

      
Application Number 19239806
Status Pending
Filing Date 2025-06-16
First Publication Date 2025-11-27
Owner Imagination Technologies Limited (United Kingdom)
Inventor Smith-Lacey, Peter

Abstract

A computer-implemented method for compressing, an input group of m data values compresses the two least significant bits of each of the data values by mapping the two least significant bits of each of the data values in the input group of m data values collectively onto an m-bit encoding and storing the m-bit encoding, the m-bit encoding being selected from 2m m-bit encodings, the 2m m-bit encodings comprising a first group of encodings comprising (2m−4) m-bit encodings and a second group of encodings comprising four m-bit encodings, wherein if the selected encoding is an encoding from the first group of encodings then the selected encoding represents the two least significant bits for a representative group of m data values in which the second least significant bit of each of the data values is the same as a respective bit of the m-bit encoding, and wherein if the selected encoding is an encoding from the second group of encodings then the selected encoding represents the two least significant bits for a representative group of m data values in which the two least significant bits for each of the data values in the representative group are equal to the two least significant bits of the other data values in the representative group.

IPC Classes  ?

  • G06T 9/00 - Image coding
  • G06F 16/215 - Improving data qualityData cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
  • H03M 7/20 - Conversion to or from n-out-of-m codes
  • H03M 7/30 - CompressionExpansionSuppression of unnecessary data, e.g. redundancy reduction

97.

Accessing Primitive Data Using Tessellated Primitive Id

      
Application Number 19289341
Status Pending
Filing Date 2025-08-04
First Publication Date 2025-11-27
Owner Imagination Technologies Limited (United Kingdom)
Inventor Lacey, Peter Malcolm

Abstract

A method of generating identifiers (IDs) for primitives and optionally vertices during tessellation. The IDs include a binary sequence of bits that represents the sub-division steps taken during the tessellation process and so encodes the way in which tessellation has been performed. Such an ID may subsequently be used to generate a random primitive or vertex and hence recalculate vertex data for that primitive or vertex.

IPC Classes  ?

  • G06T 17/20 - Wire-frame description, e.g. polygonalisation or tessellation
  • G06T 15/00 - 3D [Three Dimensional] image rendering
  • G06T 17/00 - 3D modelling for computer graphics
  • G06T 17/10 - Volume description, e.g. cylinders, cubes or using CSG [Constructive Solid Geometry]

98.

Anisotropic Texture Filtering Using Weights of an Anisotropic Filter that Minimize a Cost Function

      
Application Number 19296723
Status Pending
Filing Date 2025-08-11
First Publication Date 2025-11-27
Owner Imagination Technologies Limited (United Kingdom)
Inventor King, Rostam

Abstract

A method of performing anisotropic texture filtering involves performing isotropic filtering at each sampling point of a set of sampling points in an ellipse to produce isotropic filter results. Weights of an anisotropic filter are selected that minimize a cost function that penalises high frequencies in the filter response of the anisotropic filter under a constraint that the variance of the anisotropic filter is related to an anisotropic ratio squared, the anisotropic ratio being the ratio of a major radius of the ellipse to be sampled and a minor radius of the ellipse to be sampled. The plurality of isotropic filter results are combined using the selected weights of the anisotropic filter to generate at least a portion of a filter result.

IPC Classes  ?

99.

Compression and Decompression of Sub-Primitive Presence Indications for Use in a Rendering System

      
Application Number 19289830
Status Pending
Filing Date 2025-08-04
First Publication Date 2025-11-27
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Ozkan, Alper
  • Fenney, Simon

Abstract

A block of sub-primitive presence indications for use in a rendering system are compressed into a block of compressed data. 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 hierarchical representation of the block of sub-primitive presence indications is determined, wherein for each of one or more parent regions whose child regions all have the same presence state according to the sub-primitive presence indications in the block of sub-primitive presence indications, 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. The determined hierarchical representation of the block of sub-primitive presence indications is then stored in the block of compressed data.

IPC Classes  ?

100.

Tessellation Method Using Displacement Factors

      
Application Number 19281996
Status Pending
Filing Date 2025-07-28
First Publication Date 2025-11-20
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Lacey, Peter Malcolm
  • Fenney, Simon

Abstract

A tessellation method uses both vertex tessellation factors and displacement factors defined for each vertex of a patch, which may be a quad, a triangle or an isoline. The method is implemented in a computer graphics system and involves calculating a vertex tessellation factor for each corner vertex in one or more input patches. Tessellation is then performed on the plurality of input patches using the vertex tessellation factors. The tessellation operation involves adding one or more new vertices and calculating a displacement factor for each newly added vertex. A world space parameter for each vertex is subsequently determined by calculating a target world space parameter for each vertex and then modifying the target world space parameter for a vertex using the displacement factor for that vertex.

IPC Classes  ?

  1     2     3     ...     18        Next Page