Imagination Technologies Limited

United Kingdom

Back to Profile

1-100 of 1,318 for Imagination Technologies Limited Sort by
Query
Patent
United States - USPTO
Aggregations Reset Report
Date
New (last 4 weeks) 17
2024 April (MTD) 9
2024 March 13
2024 February 10
2024 January 10
See more
IPC Class
G06T 15/00 - 3D [Three Dimensional] image rendering 332
G06T 1/20 - Processor architectures; Processor configuration, e.g. pipelining 218
G06T 15/06 - Ray-tracing 195
G06T 1/60 - Memory management 162
G06T 17/20 - Wire-frame description, e.g. polygonalisation or tessellation 101
See more
Status
Pending 302
Registered / In Force 1,016
Found results for  patents
  1     2     3     ...     14        Next Page

1.

COMPRESSION AND DECOMPRESSION OF SUB-PRIMITIVE PRESENCE INDICATIONS FOR USE IN A RENDERING SYSTEM

      
Application Number 18203183
Status Pending
Filing Date 2023-05-30
First Publication Date 2024-04-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Fenney, Simon
  • Ozkan, Alper

Abstract

A method and a decompression unit are provided for decompressing compressed data to determine a sub-primitive presence indication for use in intersection testing in a rendering system. A block of compressed data for a block of sub-primitive presence indications is received. An indication of a sample position within the block of sub-primitive presence indications for which a presence indication is to be determined is received. Data defining an ordered set of patches which represents the presence indications in the block of sub-primitive presence indications is read from the block of compressed data. The data defining each of the patches defines a presence state of the patch and a position of the patch within the block of sub-primitive presence indications. At least two of the patches in the set of patches partially overlap with each other. For one or more of the patches, it is determined whether the sample position is within that patch. The presence indication at the sample position is determined based on results of said determining, for one or more of the patches, whether the sample position is within that patch.

IPC Classes  ?

2.

COMPRESSION AND DECOMPRESSION OF SUB-PRIMITIVE PRESENCE INDICATIONS FOR USE IN A RENDERING SYSTEM

      
Application Number 18203122
Status Pending
Filing Date 2023-05-30
First Publication Date 2024-04-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Fenney, Simon
  • Ozkan, Alper

Abstract

A method and a compression unit are provided for compressing, into a block of compressed data, a block of sub-primitive presence indications for use in intersection testing in a rendering system. An ordered set of patches is obtained which represents the presence indications in the block of sub-primitive presence indications. At least two of the patches in the set of patches partially overlap with each other. Data defining the patches of the set of patches is stored in the block of compressed data. The data defining each of the patches defines a presence state of the patch and a position of the patch within the block of sub-primitive presence indications.

IPC Classes  ?

3.

COMPRESSION AND DECOMPRESSION OF SUB-PRIMITIVE PRESENCE INDICATIONS FOR USE IN A RENDERING SYSTEM

      
Application Number 18202990
Status Pending
Filing Date 2023-05-29
First Publication Date 2024-04-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Ozkan, Alper
  • Fenney, Simon

Abstract

Compressed data is decompressed to determine sub-primitive presence indications in a rendering system. A received compressed block of sub-primitive presence indications is subdivided into a plurality of parent regions, each subdivided into a plurality of child regions. A hierarchical representation of the block of sub-primitive presence indications is provided, wherein: (i) for each parent region whose child regions all have the same presence state, parent-level data is included 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, and (ii) for each parent region whose child regions do not all have the same presence state, child-level data for the child regions within the parent region is included in the hierarchical representation to represent the presence states for the child regions within the parent region. If child-level data is included in the hierarchical representation, child-level data for said one of the parent regions is used to determine one or more sub-primitive presence indications in the parent region. If child-level data is not included in the hierarchical representation, parent-level data is used, without child-level data, to determine one or more sub-primitive presence indications in the parent region.

IPC Classes  ?

4.

CONTROLLING SCHEDULING OF A GPU

      
Application Number 18544249
Status Pending
Filing Date 2023-12-18
First Publication Date 2024-04-11
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 initiating; Program switching, e.g. by interrupt
  • G06T 1/20 - Processor architectures; Processor configuration, e.g. pipelining

5.

PROCESSING FRAGMENTS WHICH HAVE A SHADER-DEPENDENT PROPERTY IN A GRAPHICS PROCESSING SYSTEM

      
Application Number 18212748
Status Pending
Filing Date 2023-06-22
First Publication Date 2024-04-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Velentzas, Panagiotis
  • Howson, John W.
  • Broadhurst, Richard

Abstract

Methods and graphics processing units for processing a plurality of fragments in a graphics processing system. A received first fragment is processed by performing an early depth test with hidden surface removal logic using a depth buffer; in response to the first fragment passing the early depth test, executing one or more instructions of a shader program for the first fragment on the processing logic to determine the property of the first fragment; and after the determination of the property of the first fragment, performing a late depth test on the first fragment with the hidden surface removal logic using the depth buffer. After said receiving a first fragment, a second fragment to be processed is received, wherein the second fragment does not have a shader-dependent property. The second fragment is processed by, before said late depth test is performed on the first fragment, performing an early depth test on the second fragment with the hidden surface removal logic.

IPC Classes  ?

6.

MAPPING NEURAL NETWORKS TO HARDWARE

      
Application Number 18212347
Status Pending
Filing Date 2023-06-21
First Publication Date 2024-04-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Asad, Muhammad
  • Dikici, Cagatay

Abstract

A method of mapping a neural network to hardware uses a binary tree to assess how to split a layer of the neural network into a plurality of hardware passes by determining a starting value of a current depth within the binary tree and arranging the set of coefficients into groups, each corresponding to a node at the current depth. A compressed size of at least one group of coefficients at the current depth is calculated and it is determined whether termination criteria are satisfied. In response to determining that the termination criteria are not satisfied, the current depth is updated and the calculating and determining steps are repeated. In response to determining that termination criteria are satisfied, data is output which defines each of the plurality of hardware passes, wherein the data is dependent upon the current depth.

IPC Classes  ?

  • G06N 3/04 - Architecture, e.g. interconnection topology
  • G06N 3/063 - Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

7.

METHODS AND SYSTEMS FOR PERFORMING CHANNEL EQUALISATION ON A CONVOLUTION LAYER IN A NEURAL NETWORK

      
Application Number 18375398
Status Pending
Filing Date 2023-09-29
First Publication Date 2024-04-04
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Gale, Timothy
  • Hough, David

Abstract

Methods and systems for processing data in accordance with a neural network that includes a sequence of layers comprising a first convolution layer, a second convolution layer, and none, one or more than one middle layer between the first and second convolution layers. The method includes: scaling, using hardware logic, a tensor in the neural network, after the first convolution layer and before the second convolution layer, on a per channel basis by a set of per channel activation scaling factors; and implementing, using the hardware logic, the second convolution layer with weights that have been scaled on a per input channel basis by the inverses of the set of per channel activation scaling factors.

IPC Classes  ?

  • G06N 3/04 - Architecture, e.g. interconnection topology

8.

GRAPHICS PROCESSING SYSTEMS AND METHODS

      
Application Number 18535307
Status Pending
Filing Date 2023-12-11
First Publication Date 2024-04-04
Owner Imagination Technologies Limited (United Kingdom)
Inventor Beaumont, Ian

Abstract

A graphics processing system is configured to render primitives using a rendering space that is sub-divided into sections, wherein the graphics processing system includes assessment logic configured to make an assessment regarding the presence of primitive edges in a section, and determination logic configured to determine an anti-aliasing setting for the section based on the assessment.

IPC Classes  ?

  • G06T 5/00 - Image enhancement or restoration
  • G06T 15/00 - 3D [Three Dimensional] image rendering

9.

PRIORITY BASED ARBITRATION

      
Application Number 18519234
Status Pending
Filing Date 2023-11-27
First Publication Date 2024-04-04
Owner Imagination Technologies Limited (United Kingdom)
Inventor Van Benthem, Casper

Abstract

Methods of arbitrating between requestors and a shared resource wherein for each processing cycle a plurality of select signals are generated and then used by decision nodes in a binary decision tree to select a requestor. The select signals are generated using valid bits and priority bits. Each valid bit corresponds to one of the requestors and indicates whether, in the processing cycle, the requestor is requesting access to the shared resource. Each priority bit corresponds one of the requestors and indicates whether, in the processing cycle, the requestor has priority. Corresponding valid bit and priority bits are combined in an AND logic element to generate a valid_and_priority bit for each requestor. Pair-wise OR-reduction is then performed on both the valid bits and the valid_and_priority bits to generate additional valid bits and valid_and_priority bits for sets of requestors and these are then used to generate the select signal.

IPC Classes  ?

  • G06F 13/16 - Handling requests for interconnection or transfer for access to memory bus
  • G06F 9/50 - Allocation of resources, e.g. of the central processing unit [CPU]
  • G06F 13/18 - Handling requests for interconnection or transfer for access to memory bus with priority control

10.

GUARANTEED DATA COMPRESSION

      
Application Number 18520101
Status Pending
Filing Date 2023-11-27
First Publication Date 2024-03-28
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Fenney, Simon
  • Zhang, Linling

Abstract

A method of converting 10-bit pixel data (e.g. 10:10:10:2 data) into 8-bit pixel data involves converting the 10-bit values to 8-bits using a technique that is selected dependent upon the values of the MSBs of the 10-bit values and setting the value of an HDR flag dependent upon the values of the MSBs. The HDR flag is appended to the 3-bit channel.

IPC Classes  ?

  • H03M 7/30 - Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
  • H04N 19/103 - Selection of coding mode or of prediction mode
  • H04N 19/119 - Adaptive subdivision aspects e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
  • H04N 19/132 - Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
  • 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
  • H04N 19/42 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals - characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
  • H04N 19/46 - Embedding additional information in the video signal during the compression process
  • H04N 19/64 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission

11.

PRIMITIVE BLOCK GENERATOR FOR GRAPHICS PROCESSING SYSTEMS

      
Application Number 18525756
Status Pending
Filing Date 2023-11-30
First Publication Date 2024-03-28
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Yang, Xile
  • Brigg, Robert
  • Howson, John W.

Abstract

Methods and primitive block generators for generating primitive blocks in a graphics processing system. The methods include receiving transformed position data for a current primitive, the transformed position data indicating a position of the current primitive in rendering space; determining a distance between the position of the current primitive and a position of a current primitive block based on the transformed position data for the current primitive; determining whether to add the current primitive to the current primitive block based on the distance and a fullness of the current primitive block; in response to determining that the current primitive is to be added to the current primitive block, adding the current primitive to the current primitive block; and in response to determining that the current primitive is not to be added to the current primitive block, flushing the current primitive block and adding the current primitive to a new current primitive block.

IPC Classes  ?

12.

FLOATING POINT ADDER

      
Application Number 18518972
Status Pending
Filing Date 2023-11-25
First Publication Date 2024-03-28
Owner Imagination Technologies Limited (United Kingdom)
Inventor Freiburghaus, Max

Abstract

An adder and a method for calculating 2n+x are provided, where x is a variable input expressed in a floating point format and n is an integer. The adder comprises: a first path configured to calculate 2n+x for x<0 and 2n−1≤|x|<2n+1; a second path configured to calculate 2n+x for |x|<2n; a third path configured to calculate 2n+x for |x|≥2n; and selection logic configured to cause the adder to output a result from one of the first, second, and third paths in dependence on the values of x and n.

IPC Classes  ?

13.

MULTI-OUTPUT DECODER FOR TEXTURE DECOMPRESSION

      
Application Number 18525715
Status Pending
Filing Date 2023-11-30
First Publication Date 2024-03-21
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Rovers, Kenneth
  • Foo, Yoong Chert

Abstract

A decoder decodes a plurality of texels from a received block of texture data encoded according to the Adaptive Scalable Texture Compression (ASTC) format. A parameter decode unit decodes configuration data for the received block of texture data, a colour decode unit decodes colour endpoint data for the plurality of texels in dependence on the configuration data, a weight decode unit decodes interpolation weight data for each of the plurality of texels in dependence on the configuration data, and at least one interpolator unit calculates a colour value for each of the plurality of texels using the interpolation weight data for that texel and a pair of colour endpoints from the colour endpoint data. At least one of the parameter decode unit, colour decode unit and weight decode unit decodes intermediate data from the received block that is common to the decoding of a subset of texels of that block and uses that decoded data as part of the decoding of at least two of the plurality of texels.

IPC Classes  ?

  • G06T 11/00 - 2D [Two Dimensional] image generation
  • G06T 9/00 - Image coding
  • G06T 15/04 - Texture mapping
  • H04N 19/436 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals - characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
  • H04N 19/44 - Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

14.

GRAPHICS PROCESSING METHOD AND SYSTEM FOR PROCESSING SUB-PRIMITIVES

      
Application Number 18513532
Status Pending
Filing Date 2023-11-18
First Publication Date 2024-03-14
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Yang, Xile
  • Howson, John W.

Abstract

A graphics processing system configured to use a rendering space which is subdivided into a plurality of tiles, includes geometry processing logic having geometry transform and sub-primitive logic configured to receive graphics data of input graphics data items, and to determine transformed positions within the rendering space of one or more sub-primitives derived from the input graphics data items using a plurality of shader stages; and a tiling unit configured to generate control stream data including sub-primitive indications to indicate which of the sub-primitives are to be used for rendering each tile. The geometry processing logic is configured to write to a memory, for each instance of a pre-determined shader stage, shader stage output data comprising data output from each instance of the pre-determined shader stage used to process the received graphics data.

IPC Classes  ?

15.

SINGLE PASS RENDERING FOR HEAD MOUNTED DISPLAYS

      
Application Number 18515153
Status Pending
Filing Date 2023-11-20
First Publication Date 2024-03-14
Owner Imagination Technologies Limited (United Kingdom)
Inventor Fenney, Simon

Abstract

A method of rendering geometry of a 3D scene for display on a non-standard projection display projects geometry of the 3D scene into a 2D projection plane, wherein image regions are defined in the projection plane, maps the geometry from the projection plane into an image space using transformations, wherein a respective transformation is defined for each image region, and renders the geometry in the image space to determine image values of an image to be displayed on the non-standard projection display. The transformations are configured for mapping the geometry into the image space so as to counteract distortion introduced by an optical arrangement of the non-standard projection display.

IPC Classes  ?

  • G06T 15/00 - 3D [Three Dimensional] image rendering
  • G02B 27/01 - Head-up displays
  • G03B 21/14 - Projectors or projection-type viewers; Accessories therefor - Details
  • G06T 3/00 - Geometric image transformation in the plane of the image
  • G06T 7/11 - Region-based segmentation
  • G06T 15/20 - Perspective computation
  • H04N 13/344 - Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays

16.

IMAGE DATA DECOMPRESSION USING DIFFERENCE VALUES BETWEEN DATA VALUES AND ORIGIN VALUES FOR IMAGE DATA CHANNELS

      
Application Number 18515397
Status Pending
Filing Date 2023-11-21
First Publication Date 2024-03-14
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Higginbottom, Paul
  • Pulver, Mark Jackson
  • Ahamed, Seyed

Abstract

A decompression method determines image element values from compressed data representing a block of image element values relating to a respective one or more channels. For each of the channels, an indication of a first number of bits representing difference values between the data values and an origin value for the channel is read from the compressed data. For each of the channels, a second number of bits is obtained, wherein representations of the difference values for each of the channels are included in the compressed data using the second number of bits for that channel. The obtained second numbers of bits for the respective channels are used to read the representations of the difference values for the image element values being decompressed. Based on the representations of the difference values, a difference value is determined in accordance with the first number of bits for the channel. For each of the one or more channels, the data value relating to the channel for each of the image element values being decompressed is determined using: (i) the origin value for the channel, and (ii) the determined difference value for the channel for the image element value.

IPC Classes  ?

  • G06T 9/00 - Image coding
  • G06F 7/50 - Adding; Subtracting
  • G06F 7/72 - Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations using residue arithmetic
  • G06T 3/40 - Scaling of a whole image or part thereof

17.

IMAGE DATA COMPRESSION

      
Application Number 18515491
Status Pending
Filing Date 2023-11-21
First Publication Date 2024-03-14
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Higginbottom, Paul
  • Pulver, Mark Jackson
  • Ahamed, Seyed

Abstract

A method and compression unit for compressing a block of image data to satisfy a target level of compression, wherein the block of image data comprises a plurality of image element values, each image element value comprising one or more data values relating to a respective channel. For each of the channels: (i) an origin value for the channel for the block is determined, (ii) difference values are determined representing differences between the data values and the determined origin value for the channel for the block, and (iii) a first number of bits for losslessly representing a maximum difference value of the difference values for the channel for the block is determined. The determined first number of bits for each of the channels is used to determine a respective second number of bits for each of the channels, the second number of bits being determined such that representing each of the difference values for the channels with the respective second number of bits satisfies the target level of compression for compressing the block of image data. Compressed data is formed, having for each of the one or more channels an indication of the determined origin value for the channel, an indication of the determined first number of bits for the channel, and representations of the determined difference values for the channel, wherein each of the representations of the determined difference values for the channel uses the determined second number of bits for the channel, such that the target level of compression is satisfied.

IPC Classes  ?

  • G06T 9/00 - Image coding
  • G06F 7/50 - Adding; Subtracting
  • G06F 7/72 - Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations using residue arithmetic
  • G06T 3/40 - Scaling of a whole image or part thereof

18.

RENDERING OF SOFT SHADOWS

      
Application Number 18388714
Status Pending
Filing Date 2023-11-10
First Publication Date 2024-03-07
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Morgan, Gareth
  • Peterson, Luke T.

Abstract

Systems can identify visible surfaces for pixels in an image (portion) to be rendered. A sampling pattern of ray directions is applied to the pixels, so that the sampling pattern of ray directions repeats, and with respect to any pixel, the same ray direction can be found in the same relative position, with respect to that pixel, as for other pixels. Rays are emitted from visible surfaces in the respective ray direction supplied from the sampling pattern. Ray intersections can cause shaders to execute and contribute results to a sample buffer. With respect to shading of a given pixel, ray results from a selected subset of the pixels are used; the subset is selected by identifying a set of pixels, collectively from which rays were traced for the ray directions in the pattern, and requiring that surfaces from which rays were traced for those pixels satisfy a similarity criteria.

IPC Classes  ?

19.

SORTING MEMORY ADDRESS REQUESTS FOR PARALLEL MEMORY ACCESS USING INPUT ADDRESS MATCH MASKS

      
Application Number 18389187
Status Pending
Filing Date 2023-11-13
First Publication Date 2024-03-07
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Iuliano, Luca
  • Nield, Simon
  • Rose, Thomas

Abstract

Apparatus identifies a set of M output memory addresses from a larger set of N input memory addresses containing at least one non-unique memory address. A comparator block performs comparisons of memory addresses from a set of N input memory addresses to generate a binary classification dataset that identifies a subset of addresses from the set of input addresses, where each address in the subset identified by the binary classification dataset is unique within that subset. Combination logic units receive a predetermined selection of bits of the binary classification dataset and sort its received predetermined selection of bits into an intermediary binary string in which the bits are ordered into a first group identifying addresses belonging to the identified subset, and a second group identifying addresses not belonging to the identified subset. Output generating logic selects between bits belonging to different intermediary binary strings to generate a binary output identifying a set of output memory addresses containing at least one address in the identified subset.

IPC Classes  ?

  • G06F 13/16 - Handling requests for interconnection or transfer for access to memory bus
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06F 12/06 - Addressing a physical block of locations, e.g. base addressing, module addressing, address space extension, memory dedication

20.

COMPRESSED RAY DIRECTION DATA IN A RAY TRACING SYSTEM

      
Application Number 18388914
Status Pending
Filing Date 2023-11-13
First Publication Date 2024-03-07
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Peterson, Luke T.
  • Fenney, Simon

Abstract

Ray tracing systems process rays through a 3D scene to determine intersections between rays and geometry in the scene, for rendering an image of the scene. Ray direction data for a ray can be compressed, e.g. into an octahedral vector format. The compressed ray direction data for a ray may be represented by two parameters (u,v) which indicate a point on the surface of an octahedron. In order to perform intersection testing on the ray, the ray direction data for the ray is unpacked to determine x, y and z components of a vector to a point on the surface of the octahedron. The unpacked ray direction vector is an unnormalised ray direction vector. Rather than normalising the ray direction vector, the intersection testing is performed on the unnormalised ray direction vector. This avoids the processing steps involved in normalising the ray direction vector.

IPC Classes  ?

21.

DECODING IMAGES COMPRESSED USING MIP MAP COMPRESSION

      
Application Number 18389002
Status Pending
Filing Date 2023-11-13
First Publication Date 2024-03-07
Owner Imagination Technologies Limited (United Kingdom)
Inventor King, Rostam

Abstract

Methods and apparatus for compressing image data are described along with corresponding methods and apparatus for decompressing the compressed image data. A decoder unit samples compressed image data including interleaved blocks of data encoding a first image and blocks of data encoding differences between the first image and a second image, the second image being twice the width and the height of the first image. A difference decoder decodes a fetched encoded sub-block of the differences between the first and second images and output a difference quad and a prediction value for a pixel, and a filter sub-unit generates a reconstruction of the image at a sample position using decoded blocks of the first image, the difference quad and the prediction value.

IPC Classes  ?

  • H04N 19/17 - 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
  • G06T 7/00 - Image analysis
  • G06T 9/00 - Image coding
  • H04N 19/34 - Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
  • H04N 19/423 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals - characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
  • H04N 19/59 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution

22.

Guaranteed Data Compression

      
Application Number 18389198
Status Pending
Filing Date 2023-11-13
First Publication Date 2024-03-07
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Fenney, Simon
  • Zhang, Linling

Abstract

Lossy methods and hardware for compressing data and the corresponding decompression methods and hardware are described. The lossy compression method comprises dividing a block of pixels into a number of sub-blocks and then analysing, for each sub-block, and selecting one of a candidate set of lossy compression modes. The analysis may, for example, be based on the alpha values for the pixels in the sub-block. In various examples, the candidate set of lossy compression modes comprises at least one mode that uses a fixed alpha channel value for all pixels in the sub-block and one or more modes that encode a variable alpha channel value.

IPC Classes  ?

  • H03M 7/30 - Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
  • H04N 19/103 - Selection of coding mode or of prediction mode
  • H04N 19/119 - Adaptive subdivision aspects e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
  • 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
  • H04N 19/42 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals - characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation

23.

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

      
Application Number 18387171
Status Pending
Filing Date 2023-11-06
First Publication Date 2024-02-29
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Peterson, Luke T.
  • Jones, James
  • Dwyer, Aaron

Abstract

Graphics processing system configured to perform ray tracing. Rays are bundled together and processed together. When differential data is needed by a shader, the data of a true ray in the bundle can be used rather than processing separate tracker rays.

IPC Classes  ?

24.

Hierarchical Acceleration Structures for Use in Ray Tracing Systems

      
Application Number 18387218
Status Pending
Filing Date 2023-11-06
First Publication Date 2024-02-29
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Clark, Gregory
  • Clohset, Steven J.

Abstract

Ray tracing systems and computer-implemented methods for generating a hierarchical acceleration structure for intersection testing in a ray tracing system. Nodes of the hierarchical acceleration structure are determined, wherein each of the nodes represents a region in a scene, and wherein the nodes are linked to form the hierarchical acceleration structure. Data is stored representing the hierarchical acceleration structure including data defining the regions represented by a plurality of the nodes of the hierarchical acceleration structure. At least one node is an implicitly represented node, wherein data defining a region represented by an implicitly represented node is not explicitly included as part of the stored data but can be inferred from the stored data. Ray tracing systems and computer-implemented methods for performing intersection testing in the ray tracing system determine whether testing of one or more rays for intersection with a region represented by a particular node of a sub-tree is to be skipped.

IPC Classes  ?

25.

Transformed geometry data cache for graphics processing systems

      
Application Number 18202933
Grant Number 11915363
Status In Force
Filing Date 2023-05-28
First Publication Date 2024-02-27
Grant Date 2024-02-27
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Brigg, Robert
  • Howson, John W.
  • Yang, Xile

Abstract

A tag buffer implements a tag buffer stage of a rasterization phase in a tile-based rendering graphics processing system having a rendering space sub-divided into a plurality of tiles to which primitives can be associated. A buffer stores an identifier that identifies a visible primitive fragment at each sample position of a tile of the plurality of tiles. A look-up table stores an entry for transformed primitive blocks that indicates whether the tag buffer has received information identifying a primitive fragment associated with that transformed primitive block. The tag buffer receives information identifying primitive fragments that have survived a depth test, updates the buffer to indicate that an identified primitive fragment is the visible primitive fragment at the associated sample position, updates the look-up table to indicate which transformed primitive blocks the identified primitive fragments are associated with, and in response to flushing the contents of the buffer, compares the flushed contents of the buffer to the look-up table to thereby identify transformed primitive blocks that did not survive the tag buffer stage.

IPC Classes  ?

26.

Tile Assignment to Processing Cores Within a Graphics Processing Unit

      
Application Number 18385265
Status Pending
Filing Date 2023-10-30
First Publication Date 2024-02-22
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Bonfiglioli, Rudi
  • Broadhurst, Richard

Abstract

A graphics processing unit configured to process graphics data using a rendering space which is sub-divided into a plurality of tiles, the graphics processing unit comprising: a plurality of processing cores configured to render graphics data; cost indication logic configured to obtain a cost indication for each of a plurality of sets of one or more tiles of the rendering space, wherein the cost indication for a set of one or more tiles is suggestive of a cost of processing the set of one or more tiles; similarity indication logic configured to obtain similarity indications between sets of one or more tiles of the rendering space, wherein the similarity indication between two sets of one or more tiles is indicative of a level of similarity between the two sets of tiles according to at least one processing metric; and scheduling logic configured to assign the sets of one or more tiles to the processing cores for rendering in dependence on the cost indications and the similarity indications.

IPC Classes  ?

  • G06T 1/20 - Processor architectures; Processor configuration, e.g. pipelining
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead
  • G06T 15/00 - 3D [Three Dimensional] image rendering
  • G06T 17/10 - Volume description, e.g. cylinders, cubes or using CSG [Constructive Solid Geometry]

27.

SYSTEMS AND METHODS FOR DISTRIBUTED SCALABLE RAY PROCESSING

      
Application Number 18228097
Status Pending
Filing Date 2023-07-31
First Publication Date 2024-02-22
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Richards, Joseph M.
  • Peterson, Luke T.
  • Clohset, Steven J.

Abstract

Ray tracing systems have computation units (“RACs”) adapted to perform ray tracing operations (e.g. intersection testing). There are multiple RACs. A centralized packet unit controls the allocation and testing of rays by the RACs. This allows RACs to be implemented without Content Addressable Memories (CAMs) which are expensive to implement, but the functionality of CAMs can still be achieved by implemented them in the centralized controller.

IPC Classes  ?

28.

Ray Tracing System Architectures and Methods

      
Application Number 18385032
Status Pending
Filing Date 2023-10-30
First Publication Date 2024-02-22
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Peterson, Luke T.
  • Mccombe, James Alexander
  • Salsbury, Ryan R.
  • Clohset, Steven J.

Abstract

Aspects comprise systems implementing 3-D graphics processing functionality in a multiprocessing system. Control flow structures are used in scheduling instances of computation in the multiprocessing system, where different points in the control flow structure serve as points where deferral of some instances of computation can be performed in favor of scheduling other instances of computation. In some examples, the control flow structure identifies particular tasks, such as intersection testing of a particular portion of an acceleration structure, and a particular element of shading code. In some examples, the aspects are used in 3-D graphics processing systems that can perform ray tracing based rendering.

IPC Classes  ?

29.

REDUCED ACCELERATION STRUCTURES FOR RAY TRACING SYSTEMS

      
Application Number 18382940
Status Pending
Filing Date 2023-10-23
First Publication Date 2024-02-15
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Howson, John W.
  • Peterson, Luke T.

Abstract

Ray tracing units, processing modules and methods are described for generating one or more reduced acceleration structures to be used for intersection testing in a ray tracing system for processing a 3D scene. Nodes of the reduced acceleration structure(s) are determined, wherein a reduced acceleration structure represents a subset of the 3D scene. The reduced acceleration structure(s) are stored for use in intersection testing. Since the reduced acceleration structures represent a subset of the scene (rather than the whole scene) the memory usage for storing the acceleration structure is reduced, and the latency in the traversal of the acceleration structure is reduced.

IPC Classes  ?

30.

TOPOLOGY PRESERVATION IN A GRAPHICS PIPELINE BY ANALYZING A GEOMETRY SHADER

      
Application Number 18382451
Status Pending
Filing Date 2023-10-20
First Publication Date 2024-02-08
Owner Imagination Technologies Limited (United Kingdom)
Inventor Howson, John W.

Abstract

A graphics processing engine has a geometry shading stage having two modes of operation. In the first mode of operation, each primitive output by the geometry shading stage is independent, whereas in the second mode of operation, connectivity between input primitives is maintained by the geometry shading stage. The mode of operation of the geometry shading stage can be determined based on the value of control state data which may be generated at compile-time for a geometry shader based on analysis of that geometry shader.

IPC Classes  ?

  • G06T 15/00 - 3D [Three Dimensional] image rendering
  • G06T 1/60 - Memory management
  • G06T 1/20 - Processor architectures; Processor configuration, e.g. pipelining
  • G06F 9/54 - Interprogram communication
  • G06T 17/20 - Wire-frame description, e.g. polygonalisation or tessellation

31.

METHODS AND ALLOCATORS FOR ALLOCATING PORTIONS OF A STORAGE UNIT USING VIRTUAL PARTITIONING

      
Application Number 18380608
Status Pending
Filing Date 2023-10-16
First Publication Date 2024-02-08
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

32.

WORKLOAD REPETITION REDUNDANCY

      
Application Number 18377723
Status Pending
Filing Date 2023-10-06
First Publication Date 2024-02-01
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Mcnamara, Damien
  • Broome, Jamie
  • King, Ian
  • Shao, Wei
  • Novales, Mario Sopena
  • Bansal, Dilip

Abstract

A graphics processing system includes a plurality of processing units, wherein the graphics processing system is configured to process a task first and second times at the plurality of processing units. Data identifying which processing unit of the plurality of processing units the task has been allocated to is consulted on allocating the task to a processing unit for processing for a second time, and, in response, the task is allocated for processing for the second time to any processing unit of the plurality of processing units other than the processing unit to which the task was allocated for processing for a first time.

IPC Classes  ?

  • G06F 11/16 - Error detection or correction of the data by redundancy in hardware
  • G06F 9/50 - Allocation of resources, e.g. of the central processing unit [CPU]
  • G06T 1/20 - Processor architectures; Processor configuration, e.g. pipelining

33.

Method and System for Verifying a Sorter

      
Application Number 18377746
Status Pending
Filing Date 2023-10-06
First Publication Date 2024-02-01
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Gaulter, Simon
  • Ferrere, Thomas
  • Nazar, Faizan
  • Elliott, Sam

Abstract

Methods and systems of verifying a hardware design for a sorter are disclosed. The methods include generating a modified version of the hardware design of the sorter accepting extended inputs and performing formal verification comprising: implementing a constraint that the least significant bits of each input in a set of extended inputs represent a unique value; and formally verifying aspects of the modified version of the hardware design of the sorter for the set of extended inputs.

IPC Classes  ?

  • G06F 30/33 - Design verification, e.g. functional simulation or model checking

34.

TILING A PRIMITIVE IN A GRAPHICS PROCESSING SYSTEM BY TESTING SUBSETS OF TILES IN A RENDERING SPACE

      
Application Number 18380625
Status Pending
Filing Date 2023-10-16
First Publication Date 2024-02-01
Owner Imagination Technologies Limited (United Kingdom)
Inventor Yang, Xile

Abstract

In tile-based graphics processing systems, a tiling unit determines which tiles of a rendering space a primitive is in, such that the primitives in a tile can be rendered. Rather than performing tiling calculations for each tile in a bounding box for a primitive, tiling tests can be performed for a subset of the tiles. Then the results of the tiling tests for the subset of tiles can be used to determine whether the primitive is in other tiles which are located within a region bounded by two or more of the tiles of the subset. In this way the tiling process can be implemented without performing tiling calculations for all of the tiles in the bounding box for a primitive. Reducing the number of tiling calculations can help to improve the efficiency of the graphics processing system (in terms of speed and power consumption) for rendering a primitive.

IPC Classes  ?

  • G06T 1/20 - Processor architectures; Processor 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 1/60 - Memory management

35.

COMPRESSION AND DECOMPRESSION OF SUB-PRIMITIVE PRESENCE INDICATIONS FOR USE IN A RENDERING SYSTEM

      
Application Number 18202986
Status Pending
Filing Date 2023-05-29
First Publication Date 2024-01-25
Owner Imagination Technologies Limited (United Kingdom)
Inventor Fenney, Simon

Abstract

A method and a decompression unit are provided for decompressing compressed data to determine one or more sub-primitive presence indications for use in a rendering system. A block of compressed data for a block of sub-primitive presence indications is received. The block of sub-primitive presence indications comprises a plurality of sub-blocks of sub-primitive presence indications. The block of compressed data comprises, for each of the sub-blocks in the block of sub-primitive presence indications, an index to indicate one of a plurality of candidates for combinations of presence indications. An index is read from the block of compressed data for one of the sub-blocks in the block of sub-primitive presence indications. Candidate data is obtained representing at least a portion of the candidate indicated by the read index. The obtained candidate data is used to determine one or more of the presence indications in the sub-block.

IPC Classes  ?

36.

COMPRESSION AND DECOMPRESSION OF SUB-PRIMITIVE PRESENCE INDICATIONS FOR USE IN A RENDERING SYSTEM

      
Application Number 18203217
Status Pending
Filing Date 2023-05-30
First Publication Date 2024-01-25
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 on the sub-primitive presence indications to determine spatially decorrelated presence indications by, for one or more of the presence indications in the line: (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  ?

37.

COMPRESSION AND DECOMPRESSION OF SUB-PRIMITIVE PRESENCE INDICATIONS FOR USE IN A RENDERING SYSTEM

      
Application Number 18203270
Status Pending
Filing Date 2023-05-30
First Publication Date 2024-01-25
Owner Imagination Technologies Limited (United Kingdom)
Inventor Fenney, Simon

Abstract

Compressed data is decompressed to determine sub-primitive presence indications for intersection testing in a rendering system. Entropy encoded data is read from a block of compressed sub-primitive presence indications data and entropy decoding determines a block of entropy decoded data values. Spatial recorrelation on the block of entropy decoded values determines sub-primitive presence indications. For each line of entropy decoded values in a first dimension: for the entropy decoded values in the line: (i) a predicted value is determined for the entropy decoded value based on other entropy decoded values in the line, and (ii) the entropy decoded value is replaced with a value of a sum of the entropy decoded value and the determined predicted value for the entropy decoded value. For each line of entropy decoded values in a second dimension: for the entropy decoded values in the line: (i) a predicted value for the entropy decoded value is determined based on other entropy decoded values in the line, and (ii) the entropy decoded value is replaced with a value of a sum of the entropy decoded value and the determined predicted value for the entropy decoded value.

IPC Classes  ?

38.

Matching Local Image Feature Descriptors in Image Analysis

      
Application Number 18244516
Status Pending
Filing Date 2023-09-11
First Publication Date 2024-01-25
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Lakemond, Ruan
  • Smith, Timothy

Abstract

A method of feature matching in images captured from camera viewpoints uses the epipolar geometry of the viewpoints to define a geometrically-constrained region in a second image corresponding to a first feature in a first image; comparing the local descriptor of the first feature with local descriptors of features in the second image to determine respective measures of similarity; identifying, from the features located in the geometrically-constrained region, (i) a geometric best match and (ii) a geometric next-best match to the first feature; identifying a global best match to the first feature; performing a first comparison of the measures of similarity for the geometric best match and the global best match; performing a second comparison of the measures of similarity for the geometric best match and the geometric next-best match; and, if thresholds are met, selecting the geometric best match feature in the second image.

IPC Classes  ?

  • G06T 7/593 - Depth or shape recovery from multiple images from stereo images
  • G06T 7/73 - Determining position or orientation of objects or cameras using feature-based methods
  • G06V 20/10 - Terrestrial scenes
  • G06F 18/22 - Matching criteria, e.g. proximity measures

39.

COMPRESSION AND DECOMPRESSION OF SUB-PRIMITIVE PRESENCE INDICATIONS FOR USE IN A RENDERING SYSTEM

      
Application Number 18202979
Status Pending
Filing Date 2023-05-29
First Publication Date 2024-01-25
Owner Imagination Technologies Limited (United Kingdom)
Inventor Fenney, Simon

Abstract

A method and a compression unit are provided for compressing, into a block of compressed data, a block of sub-primitive presence indications for use in a rendering system. The block of sub-primitive presence indications comprises a plurality of sub-blocks of sub-primitive presence indications. A plurality of candidates for combinations of presence indications are identified. For each of the sub-blocks in the block of sub-primitive presence indications: one of the candidates to be used to represent the sub-block is selected, and an index to indicate the selected candidate is stored in the block of compressed data.

IPC Classes  ?

40.

MAINTAINING SYNCHRONISATION BETWEEN MEMORY WRITING AND READING BLOCKS USING AN INTERNAL BUFFER AND A CONTROL CHANNEL

      
Application Number 18376094
Status Pending
Filing Date 2023-10-03
First Publication Date 2024-01-25
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

41.

DETECTING OUT-OF-BOUNDS VIOLATIONS IN A HARDWARE DESIGN USING FORMAL VERIFICATION

      
Application Number 18202929
Status Pending
Filing Date 2023-05-28
First Publication Date 2024-01-18
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Darbari, Ashish
  • Singleton, Iain

Abstract

A hardware monitor arranged to detect out-of-bounds violations in a hardware design for an electronic device. The hardware monitors include monitor and detection logic configured to monitor the current operating state of an instantiation of the hardware design and detect when the instantiation of the hardware design implements a fetch of an instruction from memory; and assertion evaluation logic configured to evaluate one or more assertions that assert a formal property that compares the memory address of the fetched instruction to an allowable memory address range associated with the current operating state of the instantiation of the hardware design to determine whether there has been an out-of-bounds violation. The hardware monitor may be used by a formal verification tool to exhaustively verify that the hardware design does not cause an instruction to be fetched from an out-of-bounds address.

IPC Classes  ?

  • G06F 30/3323 - Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
  • G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F 11/34 - Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation
  • G06F 30/39 - Circuit design at the physical level

42.

Look Ahead Normaliser

      
Application Number 18372737
Status Pending
Filing Date 2023-09-26
First Publication Date 2024-01-11
Owner Imagination Technologies Limited (United Kingdom)
Inventor Van Benthem, Casper

Abstract

Apparatus includes hardware logic arranged to normalise an n-bit input number. The hardware logic comprises at least a first hardware logic stage, an intermediate hardware logic stage and a final hardware logic stage. Each stage comprises a left shifting logic element, the first and intermediate stages each also comprise a plurality of OR-reduction logic elements and the intermediate and final stages each also comprise one or more multiplexers. The OR-reduction logic elements operate on different subsets of bits from the number input to the particular stage. In the intermediate and final hardware logic stages, a first of the multiplexers selects an OR-reduction result received from a previous hardware logic stage and the left shifting logic element is arranged to perform left shifting on the updated binary number received from an immediately previous hardware logic stage dependent upon the selected OR-reduction result.

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/499 - Denomination or exception handling, e.g. rounding or overflow

43.

Rasterising Aliased Lines

      
Application Number 18222930
Status Pending
Filing Date 2023-07-17
First Publication Date 2024-01-04
Owner Imagination Technologies Limited (United Kingdom)
Inventor Van Benthem, Casper

Abstract

A method of rasterising 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 architectures; Processor configuration, e.g. pipelining

44.

VERIFICATION OF HARDWARE DESIGN FOR INTEGRATED CIRCUIT IMPLEMENTING POLYNOMIAL INPUT VARIABLE FUNCTION

      
Application Number 18369338
Status Pending
Filing Date 2023-09-18
First Publication Date 2024-01-04
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Elliott, Sam
  • Mckemey, Robert
  • Freiburghaus, Max

Abstract

Methods and systems for verifying a hardware design for an integrated circuit that implements a function that is polynomial in an input variable x over a set of values of x. The method includes formally verifying that a first instantiation of the hardware design implements a function that is polynomial of degree k in x by formally verifying that for all x in the set of values of x the first instantiation of the hardware design has a constant kth difference; and verifying that a second instantiation of the hardware design generates an expected output in response to each of at least k different values of x in the set of values of x.

IPC Classes  ?

  • G06F 30/3323 - Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking

45.

Method and System for Wirelessly Transmitting Data

      
Application Number 18241972
Status Pending
Filing Date 2023-09-04
First Publication Date 2023-12-28
Owner Imagination Technologies Limited (United Kingdom)
Inventor Knowles, Ian R.

Abstract

Methods and systems for wirelessly transmitting data between Wi-Fi stations without requiring the Wi-Fi stations to be fully connected to the Wi-Fi network. A first Wi-Fi station generates the data to be transmitted. The data comprises status data and/or wake-up data. The first Wi-Fi station then inserts the data in a vendor-specific information element of a probe request frame and wirelessly transmits the probe request frame. The probe request frame is then received by a second Wi-Fi station. If the probe request frame contains wake-up data and the second Wi-Fi station is operating in a low-power mode when it receives the probe request frame, the second Wi-Fi station will wake-up from the low-power mode. If the probe request frame contains status data then the second Wi-Fi station may process the probe request frame and/or forward at least a portion of the received probe request frame to another device.

IPC Classes  ?

  • H04W 52/02 - Power saving arrangements
  • G08B 25/00 - Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems
  • G08B 25/10 - Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems characterised by the transmission medium using wireless transmission systems

46.

Primitive Processing in a Graphics Processing System

      
Application Number 18241976
Status Pending
Filing Date 2023-09-04
First Publication Date 2023-12-28
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  ?

47.

IMAGE NOISE REDUCTION

      
Application Number 18244393
Status Pending
Filing Date 2023-09-11
First Publication Date 2023-12-28
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Vivet, Marc
  • Brasnett, Paul

Abstract

A reduced noise image can be formed from a set of images. One of the images of the set can be selected to be a reference image and other images of the set are transformed such that they are better aligned with the reference image. A measure of the alignment of each image with the reference image is determined. At least some of the transformed images can then be combined using weights which depend on the alignment of the transformed image with the reference image to thereby form the reduced noise image. By weighting the images according to their alignment with the reference image the effects of misalignment between the images in the combined image are reduced. Furthermore, motion correction may be applied to the reduced noise image.

IPC Classes  ?

  • G06T 5/00 - Image enhancement or restoration
  • G06T 7/32 - Determination of transform parameters for the alignment of images, i.e. image registration using correlation-based methods
  • G06T 5/50 - Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
  • G06T 7/30 - Determination of transform parameters for the alignment of images, i.e. image registration

48.

Dedicated Ray Memory for Ray Tracing in Graphics Systems

      
Application Number 18244441
Status Pending
Filing Date 2023-09-11
First Publication Date 2023-12-28
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Howson, John W.
  • Clohset, Steven J.
  • Rabbani, Ali

Abstract

A ray tracing unit implemented in a graphics rendering system includes processing logic configured to perform ray tracing operations on rays, a dedicated ray memory coupled to the processing logic and configured to store ray data for rays to be processed by the processing logic, an interface to a memory system, and control logic configured to manage allocation of ray data to either the dedicated ray memory or the memory system. Core ray data for rays to be processed by the processing logic is stored in the dedicated ray memory, and at least some non-core ray data for the rays is stored in the memory system. This allows core ray data for many rays to be stored in the dedicated ray memory without the size of the dedicated ray memory becoming too wasteful when the ray tracing unit is not in use.

IPC Classes  ?

49.

Scheduling Tasks in a Processor

      
Application Number 18244655
Status Pending
Filing Date 2023-09-11
First Publication Date 2023-12-28
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Herath, Isuru
  • Broadhurst, Richard

Abstract

A method of scheduling tasks in a processor comprises receiving a plurality of tasks that are ready to be executed, i.e. all their dependencies have been met and all the resources required to execute the task are available, and adding the received tasks to a task queue (or “task pool”). The number of tasks that are executing is monitored and in response to determining that an additional task can be executed by the processor, a task is selected from the task pool based at least in part on a comparison of indications of resources used by tasks being executed and indications of resources used by individual tasks in the task pool and the selected task is then sent for execution.

IPC Classes  ?

  • G06F 9/48 - Program initiating; Program switching, e.g. by interrupt
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead
  • G06T 1/20 - Processor architectures; Processor configuration, e.g. pipelining

50.

Intersection Testing in Ray Tracing Systems with Skipping of Nodes in Sub-trees of Hierarchical Acceleration Structures

      
Application Number 18244799
Status Pending
Filing Date 2023-09-11
First Publication Date 2023-12-28
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Clark, Gregory
  • Clohset, Steven J.

Abstract

Ray tracing systems and methods for generating a hierarchical acceleration structure for intersection testing. Nodes of the hierarchical acceleration structure are determined, each of the nodes representing a region in a scene, the nodes being linked to form the hierarchical acceleration structure. Data is stored representing the hierarchical acceleration structure. The stored data comprises data defining the regions represented by a plurality of the nodes. At least one node is an implicitly represented node, wherein data defining a region represented by an implicitly represented node is not explicitly included as part of the stored data but can be inferred from the stored data. Also described are ray tracing systems and computer-implemented methods for performing intersection testing in which, based on conditions in the ray tracing system, a determination is made as to whether testing of one or more rays for intersection with a region represented by a particular node of a sub-tree is to be skipped.

IPC Classes  ?

51.

MULTICORE MASTER/SLAVE COMMUNICATIONS

      
Application Number 18127579
Status Pending
Filing Date 2023-03-28
First Publication Date 2023-12-21
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 of the plurality of cores and assigns a second subset of the image rendering tasks to a second core of the plurality of cores. 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 architectures; Processor configuration, e.g. pipelining
  • 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

52.

ACCUMULATOR HARDWARE

      
Application Number 18129019
Status Pending
Filing Date 2023-03-30
First Publication Date 2023-12-21
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Rovers, Kenneth
  • Nazar, Faizan

Abstract

Accumulator hardware logic includes first and second addition logic units and a store. The first addition logic unit comprises a first input, a second input and an output, each of the first and second inputs arranged to receive an input value in each clock cycle. The second addition logic unit comprises a first input that is connected directly to the output of the first addition logic unit. It also comprises a second input and an output. The store is arranged to store a result output by the second addition logic unit. The accumulator hardware logic further comprises shifting hardware and/or negation hardware positioned in a feedback path between the store and the second input of the second addition logic unit. The shifting hardware is configured to perform a shift by a fixed number of bit positions in a fixed direction.

IPC Classes  ?

  • G06F 7/50 - Adding; Subtracting
  • G06F 7/523 - Multiplying only
  • 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

53.

METHODS AND SYSTEMS FOR STORING VARIABLE LENGTH DATA BLOCKS IN MEMORY

      
Application Number 18241942
Status Pending
Filing Date 2023-09-04
First Publication Date 2023-12-21
Owner Imagination Technologies Limited (United Kingdom)
Inventor Brigg, Robert

Abstract

A set of two or more variable length data blocks is stored in memory. Each variable length data block has a maximum size of N*B, wherein N is an integer greater than or equal to two, and B is a maximum data size that can be written to the memory using a single memory access request. For each variable length data block of the set, the first P non-overlapping portions of size B of the variable length data block are stored in a chunk of the memory allocated to that variable length data block, wherein P is a minimum of (i) a number of non-overlapping portions of size B of the variable length data block and (ii) X which is an integer less than N. Any remaining portions of the variable length data blocks are stored in a remainder section of the memory shared between the variable length data blocks of the set. Information indicating the size of each of the variable length data blocks in the set is stored in a header.

IPC Classes  ?

  • G06F 3/06 - Digital input from, or digital output to, record carriers
  • H03M 7/40 - Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code

54.

PERIODIC RESET OF GRAPHICS PROCESSOR UNIT IN SAFETY-CRITICAL GRAPHICS PROCESSING SYSTEM

      
Application Number 18241984
Status Pending
Filing Date 2023-09-04
First Publication Date 2023-12-21
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 architectures; Processor configuration, e.g. pipelining
  • G06T 15/00 - 3D [Three Dimensional] image rendering

55.

REDUCING REDUNDANT RENDERING IN A GRAPHICS SYSTEM

      
Application Number 18129126
Status Pending
Filing Date 2023-03-31
First Publication Date 2023-12-21
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Howson, John W.
  • Yang, Xile
  • Zucchelli, Maurizio

Abstract

A method and system for performing a render using a graphics processing unit that implements a tile-based graphics pipeline where a rendering space is sub-divided into tiles. Geometry data for the render is received, the geometry data including primitives associated with one or more vertex shader programs. The geometry data is processed using the vertex shader programs to generate processed primitives, and it is determined in which tile each of the processed primitives are located. For at least one selected tile there is stored i) a representation of per-tile vertex shader data identifying the one or more vertex shader programs used to generate the processed primitives in that tile, and ii) a representation of per-tile render data that can be used when rendering the processed primitives in that tile in subsequent stages of the graphics pipeline. It is determined whether the output of a previous render for the selected tile(s) can be used as an output for the render by comparing the per-tile vertex shader data of that tile with that of the previous render before comparing the per-tile render data of that tile with that of the previous render.

IPC Classes  ?

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

56.

Low Latency Distortion Unit for Head Mounted Displays

      
Application Number 18239310
Status Pending
Filing Date 2023-08-29
First Publication Date 2023-12-21
Owner Imagination Technologies Limited (United Kingdom)
Inventor Fenney, Simon

Abstract

A graphics processing system for a head mounted display (or other non-standard projection display) comprises a low latency distortion unit which is separate from a graphics processing unit in the graphics processing system. The low latency distortion unit receives pixel data generated by the graphics processing system using a standard projection and performs a mapping operation to introduce distortion which is dependent upon the optical properties of the optical arrangement within the head mounted display. The distorted pixel data which is generated by the low latency distortion unit is then output to the display in the head mounted display.

IPC Classes  ?

  • G02B 27/01 - Head-up displays
  • H04N 9/31 - Projection devices for colour picture display
  • G06T 5/00 - Image enhancement or restoration
  • G02B 27/00 - Optical systems or apparatus not provided for by any of the groups ,
  • G06T 15/00 - 3D [Three Dimensional] image rendering
  • G06T 15/04 - Texture mapping

57.

Intersection Testing in a Ray Tracing System Using Three-Dimensional Axis-Aligned Box

      
Application Number 18239679
Status Pending
Filing Date 2023-08-29
First Publication Date 2023-12-21
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Clark, Gregory
  • Fenney, Simon

Abstract

Methods and intersection testing modules are provided for determining, in a ray tracing system, whether a ray intersects a 3D axis-aligned box representing a volume defined by a front-facing plane and a back-facing plane for each dimension. The front-facing plane of the box which intersects the ray furthest along the ray is identified. It is determined whether the ray intersects the identified front-facing plane at a position that is no further along the ray than positions at which the ray intersects the back-facing planes in a subset of the dimensions, and this determination is used to determine whether the ray intersects the axis-aligned box. The subset of dimensions comprises the two dimensions for which the front-facing plane was not identified, but does not comprise the dimension for which the front-facing plane was identified. It is determined whether the ray intersects the box without performing a test to determine whether the ray intersects the identified front-facing plane at a position that is no further along the ray than a position at which the ray intersects the back-facing plane in the dimension for which the front-facing plane was identified.

IPC Classes  ?

58.

METHOD AND APPARATUS FOR USE IN THE DESIGN AND MANUFACTURE OF INTEGRATED CIRCUITS

      
Application Number 18241977
Status Pending
Filing Date 2023-09-04
First Publication Date 2023-12-21
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Drane, Theo Alan
  • Cheung, Wai-Chuen

Abstract

A method and apparatus are provided for manufacturing integrated circuits performing invariant integer division x/d. A desired rounding mode is provided and an integer triple (a,b,k) for this rounding mode is derived. Furthermore, a set of conditions for the rounding mode is derived. An RTL representation is then derived using the integer triple. From this a hardware layout can be derived and an integrated circuit manufactured with the derived hardware layout. When the integer triple is derived a minimum value of k for the desired rounding mode and set of conditions is also derived.

IPC Classes  ?

  • G06F 7/38 - Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
  • G06F 7/535 - Dividing only
  • G06F 30/00 - Computer-aided design [CAD]
  • G06F 30/30 - Circuit design
  • G06F 30/327 - Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist

59.

REDUCING REDUNDANT RENDERING IN A GRAPHICS SYSTEM

      
Application Number 18129197
Status Pending
Filing Date 2023-03-31
First Publication Date 2023-12-14
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Howson, John W.
  • Yang, Xile
  • Zucchelli, Maurizio

Abstract

A method and system for performing a render using a graphics processing unit that implements a tile-based graphics pipeline where a rendering space is sub-divided into tiles. Primitives are received that were processed by a geometry processing stage of the graphics pipeline and these are grouped into one or more sets, and a primitive block generated from each set. Primitive block data is stored characterising the content of the one or more primitive blocks. It is determined which tile each of the primitives are located in, and for at least one selected tile a per-tile primitive block list is stored indicating which of the one or more primitive blocks contain primitives located in that tile. It is determined whether the output of a previous render for the selected tile(s) can be used as an output for the render based on the per-tile primitive block list and the primitive block data for the primitive blocks indicated therein, and corresponding data from the previous render.

IPC Classes  ?

  • G06T 15/00 - 3D [Three Dimensional] image rendering

60.

EDGE TEST AND DEPTH CALCULATION IN GRAPHICS PROCESSING HARDWARE

      
Application Number 18239224
Status Pending
Filing Date 2023-08-29
First Publication Date 2023-12-14
Owner Imagination Technologies Limited (United Kingdom)
Inventor Van Benthem, Casper

Abstract

A graphics processing hardware pipeline is arranged to perform an edge test or a depth calculation. Each hardware arrangement includes a microtile component hardware element, multiple pixel component hardware elements, one or more subsample component hardware elements and a final addition and comparison unit. The microtile component hardware element calculates a first output using a sum-of-products and coordinates of a microtile within a tile in the rendering space. Each pixel component hardware element calculates a different second output using the sum-of-products and coordinates for different pixels defined relative to an origin of the microtile. The subsample component hardware element calculates a third output using the sum-of-products and coordinates for a subsample position defined relative to an origin of a pixel. The adders sum different combinations of the first output, a second output and a third output to generate output results for different subsample positions defined relative to the origin of the tile.

IPC Classes  ?

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

61.

ASTC Interpolation

      
Application Number 18239599
Status Pending
Filing Date 2023-08-29
First Publication Date 2023-12-14
Owner Imagination Technologies Limited (United Kingdom)
Inventor Rovers, Kenneth

Abstract

A binary logic circuit for performing an interpolation calculation between two endpoint values E0 and E1 using a weighting index i for generating an interpolated result P, the values E0 and E1 being formed from Adaptive Scalable Texture Compression (ASTC) low-dynamic range (LDR) colour endpoint values C0 and C1 respectively, the circuit comprising: an interpolation unit configured to perform an interpolation between the colour endpoint values C0 and C1 using the weighting index i to generate a first intermediate interpolated result C2; and combinational logic circuitry configured to receive the interpolated result C2 and to perform one or more logical processing operations to calculate the interpolated result P according to the equation P=└((C2<<8)+C2+32)/64┘ when the interpolated result is not to be compatible with an sRGB colour space, and according to the equation P=└((C2<<8)+128·64+32)/64┘ when the interpolated result is to be compatible with an sRGB colour space.

IPC Classes  ?

62.

INTERSECTION TESTING IN A RAY TRACING SYSTEM USING AXIS-ALIGNED BOX COORDINATE COMPONENTS

      
Application Number 18239699
Status Pending
Filing Date 2023-08-29
First Publication Date 2023-12-14
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Fenney, Simon
  • King, Rostam
  • Smith-Lacey, Peter
  • Clark, Gregory

Abstract

A method and an intersection testing module in a ray tracing system for determining whether a ray intersects a three-dimensional axis-aligned box. It is determined whether a first condition is satisfied, wherein the first condition is, or is equivalent to, A method and an intersection testing module in a ray tracing system for determining whether a ray intersects a three-dimensional axis-aligned box. It is determined whether a first condition is satisfied, wherein the first condition is, or is equivalent to, ❘ "\[LeftBracketingBar]" C x - C z ⁢ D x D z ❘ "\[RightBracketingBar]" ≤ H z ⁢ D x D z + H x . A method and an intersection testing module in a ray tracing system for determining whether a ray intersects a three-dimensional axis-aligned box. It is determined whether a first condition is satisfied, wherein the first condition is, or is equivalent to, ❘ "\[LeftBracketingBar]" C x - C z ⁢ D x D z ❘ "\[RightBracketingBar]" ≤ H z ⁢ D x D z + H x . It is determined whether a second condition is satisfied, wherein the second condition is, or is equivalent to, A method and an intersection testing module in a ray tracing system for determining whether a ray intersects a three-dimensional axis-aligned box. It is determined whether a first condition is satisfied, wherein the first condition is, or is equivalent to, ❘ "\[LeftBracketingBar]" C x - C z ⁢ D x D z ❘ "\[RightBracketingBar]" ≤ H z ⁢ D x D z + H x . It is determined whether a second condition is satisfied, wherein the second condition is, or is equivalent to, ❘ "\[LeftBracketingBar]" C y - C z ⁢ D y D z ❘ "\[RightBracketingBar]" ≤ H z ⁢ D y D z + H y . A method and an intersection testing module in a ray tracing system for determining whether a ray intersects a three-dimensional axis-aligned box. It is determined whether a first condition is satisfied, wherein the first condition is, or is equivalent to, ❘ "\[LeftBracketingBar]" C x - C z ⁢ D x D z ❘ "\[RightBracketingBar]" ≤ H z ⁢ D x D z + H x . It is determined whether a second condition is satisfied, wherein the second condition is, or is equivalent to, ❘ "\[LeftBracketingBar]" C y - C z ⁢ D y D z ❘ "\[RightBracketingBar]" ≤ H z ⁢ D y D z + H y . It is determined whether a third condition is satisfied, wherein the third condition is, or is equivalent to, A method and an intersection testing module in a ray tracing system for determining whether a ray intersects a three-dimensional axis-aligned box. It is determined whether a first condition is satisfied, wherein the first condition is, or is equivalent to, ❘ "\[LeftBracketingBar]" C x - C z ⁢ D x D z ❘ "\[RightBracketingBar]" ≤ H z ⁢ D x D z + H x . It is determined whether a second condition is satisfied, wherein the second condition is, or is equivalent to, ❘ "\[LeftBracketingBar]" C y - C z ⁢ D y D z ❘ "\[RightBracketingBar]" ≤ H z ⁢ D y D z + H y . It is determined whether a third condition is satisfied, wherein the third condition is, or is equivalent to, ❘ "\[LeftBracketingBar]" C x ⁢ D y D z - C y ⁢ D x D z ❘ "\[RightBracketingBar]" ≤ H y ⁢ D x D z + H x ⁢ D y D z A method and an intersection testing module in a ray tracing system for determining whether a ray intersects a three-dimensional axis-aligned box. It is determined whether a first condition is satisfied, wherein the first condition is, or is equivalent to, ❘ "\[LeftBracketingBar]" C x - C z ⁢ D x D z ❘ "\[RightBracketingBar]" ≤ H z ⁢ D x D z + H x . It is determined whether a second condition is satisfied, wherein the second condition is, or is equivalent to, ❘ "\[LeftBracketingBar]" C y - C z ⁢ D y D z ❘ "\[RightBracketingBar]" ≤ H z ⁢ D y D z + H y . It is determined whether a third condition is satisfied, wherein the third condition is, or is equivalent to, ❘ "\[LeftBracketingBar]" C x ⁢ D y D z - C y ⁢ D x D z ❘ "\[RightBracketingBar]" ≤ H y ⁢ D x D z + H x ⁢ D y D z The determinations of whether the first, second and third conditions are satisfied are used to determine whether the ray intersects the axis-aligned box. Cx, Cy and Cz are x, y and z components of a position of the centre of the axis-aligned box relative to an origin of the ray, Hx, Hy and Hz are half widths of the axis-aligned box in the x, y and z dimensions, and Dx, Dy and Dz are x, y and z components of a direction vector of the ray.

IPC Classes  ?

  • G06T 15/00 - 3D [Three Dimensional] image rendering
  • G06T 1/20 - Processor architectures; Processor configuration, e.g. pipelining
  • G06T 15/06 - Ray-tracing

63.

GRAPHICS PROCESSING METHOD AND SYSTEM FOR RENDERING ITEMS OF GEOMETRY BASED ON THEIR SIZE

      
Application Number 18239402
Status Pending
Filing Date 2023-08-29
First Publication Date 2023-12-14
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Yang, Xile
  • Brigg, Robert

Abstract

Methods and graphics processing systems render items of geometry using a rendering space which is subdivided into a plurality of first regions. Each of the first regions is sub-divided into a plurality of second regions. Each of a plurality of items of geometry is processed by identifying which of the first regions the item of geometry is present within, and for each identified first region determining an indication of the spatial coverage, within the identified first region, of the item of geometry, and using the determined indication of the spatial coverage within the identified first region to determine whether to add the item of geometry to a first control list for the identified first region or to add the item of geometry to one or more second control lists for a respective one or more of the second regions within the identified first region. Items of geometry within a second region can then be rendered using: (i) the first control list for the first region of which the second region is a part, and (ii) the second control list for the second region.

IPC Classes  ?

  • G06T 15/00 - 3D [Three Dimensional] image rendering
  • G06T 1/20 - Processor architectures; Processor configuration, e.g. pipelining
  • G06T 1/60 - Memory management
  • G06T 11/40 - Filling a planar surface by adding surface attributes, e.g. colour or texture
  • G06T 9/00 - Image coding
  • G06T 11/20 - Drawing from basic elements, e.g. lines or circles
  • G06T 15/04 - Texture mapping
  • 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

64.

TASK EXECUTION IN A SIMD PROCESSING UNIT WITH PARALLEL GROUPS OF PROCESSING LANES

      
Application Number 18236036
Status Pending
Filing Date 2023-08-21
First Publication Date 2023-12-07
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Howson, John
  • Redshaw, Jonathan
  • Foo, Yoong Chert

Abstract

A SIMD processing unit processes a plurality of tasks which each include up to a predetermined maximum number of work items. The work items of a task are arranged for executing a common sequence of instructions on respective data items. The data items are arranged into blocks, with some of the blocks including at least one invalid data item. Work items which relate to invalid data items are invalid work items. The SIMD processing unit comprises a group of processing lanes configured to execute instructions of work items of a particular task over a plurality of processing cycles. A control module assembles work items into the tasks based on the validity of the work items, so that invalid work items of the particular task are temporally aligned across the processing lanes. In this way the number of wasted processing slots due to invalid work items may be reduced.

IPC Classes  ?

  • G06T 1/20 - Processor architectures; Processor configuration, e.g. pipelining
  • 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
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead
  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode

65.

GRAPHICS PROCESSING USING DIRECTIONAL REPRESENTATIONS OF LIGHTING AT PROBE POSITIONS WITHIN A SCENE

      
Application Number 18236296
Status Pending
Filing Date 2023-08-21
First Publication Date 2023-12-07
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Fursund, Jens
  • Peterson, Luke T.

Abstract

Graphics processing systems can include lighting effects when rendering images. “Light probes” are directional representations of lighting at particular probe positions in the space of a scene which is being rendered. Light probes can be determined iteratively, which can allow them to be determined dynamically, in real-time over a sequence of frames. Once the light probes have been determined for a frame then the lighting at a pixel can be determined based on the lighting at the nearby light probe positions. Pixels can then be shaded based on the lighting determined for the pixel positions.

IPC Classes  ?

66.

Memory Interface Having Multiple Snoop Processors

      
Application Number 18236341
Status Pending
Filing Date 2023-08-21
First Publication Date 2023-12-07
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Robinson, Martin John
  • Landers, Mark

Abstract

A memory interface for interfacing between a memory bus and a cache memory. A plurality of bus interfaces are configured to transfer data between the memory bus and the cache memory, and a plurality of snoop processors are configured to receive snoop requests from the memory bus. Each snoop processor is associated with a respective bus interface and each snoop processor is configured, on receiving a snoop request, to determine whether the snoop request relates to the bus interface associated with that snoop processor and to process the snoop request in dependence on that determination.

IPC Classes  ?

  • G06F 12/0831 - Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
  • G06F 12/10 - Address translation
  • G06F 13/16 - Handling requests for interconnection or transfer for access to memory bus
  • G06F 13/40 - Bus structure
  • G06F 12/0846 - Cache with multiple tag or data arrays being simultaneously accessible

67.

ASTC Interpolation

      
Application Number 18236365
Status Pending
Filing Date 2023-08-21
First Publication Date 2023-12-07
Owner Imagination Technologies Limited (United Kingdom)
Inventor Rovers, Kenneth

Abstract

A binary logic circuit performs an interpolation calculation between two endpoint values E0 and E1 using a weighting index i for generating an interpolated result P, the values E0 and E1 being formed from Adaptive Scalable Texture Compression (ASTC) colour endpoint values C0 and C1 respectively, the colour endpoint values C0 and C1 being low-dynamic range (LDR) or high dynamic range (HDR) values. An interpolation unit performs an interpolation between the values C0 and C1 using the index i to generate a first intermediate interpolated result C2; combinational logic circuitry receives the result C2 and performs logical processing operations to calculate the interpolated result P according to the equation: (1) P=└((C2<<8)+C2+32)/64┘ when the interpolated result is not to be compatible with an sRGB colour space and the colour endpoint values are LDR values; (2) P=└((C2<<8)+128·64+32)/64┘ when the interpolated result is to be compatible with an sRGB colour space and the colour endpoint values are LDR values; and (3) P=(C2+2)>>2 when the colour endpoint values are HDR values.

IPC Classes  ?

68.

ASYNCHRONOUS AND CONCURRENT RAY TRACING AND RASTERIZATION RENDERING PROCESSES

      
Application Number 18233827
Status Pending
Filing Date 2023-08-14
First Publication Date 2023-11-30
Owner Imagination Technologies Limited (United Kingdom)
Inventor Peterson, Luke T.

Abstract

Rendering systems that can use combinations of rasterization rendering processes and ray tracing rendering processes are disclosed. In some implementations, these systems perform a rasterization pass to identify visible surfaces of pixels in an image. Some implementations may begin shading processes for visible surfaces, before the geometry is entirely processed, in which rays are emitted. Rays can be culled at various points during processing, based on determining whether the surface from which the ray was emitted is still visible. Rendering systems may implement rendering effects as disclosed.

IPC Classes  ?

  • G06T 15/06 - Ray-tracing
  • 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
  • G06F 9/44 - Arrangements for executing specific programs
  • G09G 5/36 - Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of individual graphic patterns using a bit-mapped memory

69.

FORMATION OF BOUNDING VOLUME HIERARCHIES

      
Application Number 18126411
Status Pending
Filing Date 2023-03-25
First Publication Date 2023-11-30
Owner Imagination Technologies Limited (United Kingdom)
Inventor Davison, Joseph John

Abstract

A method performed by a graphics processor obtains a starting bounding volume hierarchy (BVH), being a data structure comprising nodes representing different 3D regions of space in a modelled environment, the data structure comprising a tree in which the nodes are arranged hierarchically from a root node down to a plurality of leaf nodes, wherein the region modelled by each leaf node encompasses at least one primitive or part of a primitive. The method further comprises performing one or more iterations, starting with a first iteration which starts with the starting BVH as a current BVH, which search for candidate reinsertions to move input nodes to new parents in the tree to reduce expected computational cost.

IPC Classes  ?

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

70.

METHOD AND CIRCUIT FOR PERFORMING ERROR DETECTION ON A CLOCK GATED REGISTER SIGNAL

      
Application Number 18193446
Status Pending
Filing Date 2023-03-30
First Publication Date 2023-11-30
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Nazar, Faizan
  • Rovers, Kenneth

Abstract

An error detection circuit and a method for performing a cyclic redundancy check on a clock gated register signal are disclosed. The error detection circuit comprising a first register, a check bit processing logic and an error detection module. The first register is a clock gated register configured to be updated with a data signal (x) in response to a clock enabling signal. The check bit processing logic configured to, in response to a control signal, update a second register with a check bit, wherein the control signal (b) is the same as the clock enabling signal. The error detection module configured for calculating an indication bit based on at least the output of the first register and the output of the second register.

IPC Classes  ?

71.

METHOD AND CIRCUIT FOR PERFORMING ERROR DETECTION ON A CLOCK GATED REGISTER SIGNAL

      
Application Number 18193509
Status Pending
Filing Date 2023-03-30
First Publication Date 2023-11-30
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Nazar, Faizan
  • Rovers, Kenneth

Abstract

An error detection circuit and method for performing cyclic redundancy check on a clock gated register signal is disclosed. The error detection circuit comprise a first register, a second register, a third register and an error detection module. The first register is a clock gated register and is configured to be updated with a data signal (x) in response to a clock enabling signal. The second register is configured to be updated with a check bit (c) based on the data signal (x). The check bit is calculated by a check bit calculation unit. The third register is configured to be updated with a current value (b) of the clock enabling signal. The error detection module is configured for calculating an indication bit (I) based on at least the output of the first register, the output of the second register and the output of the third register.

IPC Classes  ?

72.

Task Merging

      
Application Number 18231126
Status Pending
Filing Date 2023-08-07
First Publication Date 2023-11-30
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Buch, Roger Hernando
  • Velentzas, Panagiotis
  • Broadhurst, Richard
  • Yang, Xile
  • Howson, John W.

Abstract

Methods and apparatus for merging tasks in a graphics pipeline in which, subsequent to a trigger to flush a tag buffer, one or more tasks from the flushed tag buffer are generated, each task comprising a reference to a program and plurality of fragments on which the program is to be executed, wherein a fragment is an element of a primitive at a sample position. It is then determined whether merging criteria are satisfied and if satisfied, one or more fragments from a next tag buffer flush are added to a last task of the one or more tasks generated from the flushed tag buffer.

IPC Classes  ?

  • G06T 1/20 - Processor architectures; Processor configuration, e.g. pipelining
  • G06F 9/48 - Program initiating; Program switching, e.g. by interrupt
  • G06F 9/50 - Allocation of resources, e.g. of the central processing unit [CPU]
  • G06F 9/52 - Program synchronisation; Mutual exclusion, e.g. by means of semaphores
  • G06F 12/02 - Addressing or allocation; Relocation
  • G06T 1/60 - Memory management

73.

Bilateral Filter with Data Model

      
Application Number 18233815
Status Pending
Filing Date 2023-08-14
First Publication Date 2023-11-30
Owner Imagination Technologies Limited (United Kingdom)
Inventor Lakemond, Ruan

Abstract

A method of filtering a target pixel in an image forms, for a kernel of pixels comprising the target pixel and its neighbouring pixels, a data model to model pixel values within the kernel; calculates a weight for each pixel of the kernel comprising: (i) a geometric term dependent on a difference in position between that pixel and the target pixel; and (ii) a data term dependent on a difference between a pixel value of that pixel and its predicted pixel value according to the data model; and uses the calculated weights to form a filtered pixel value for the target pixel, e.g. by updating the data model with a weighted regression analysis technique using the calculated weights for the pixels of the kernel; and evaluating the updated data model at the target pixel position so as to form the filtered pixel value for the target pixel.

IPC Classes  ?

  • G06T 5/20 - Image enhancement or restoration by the use of local operators
  • G06T 5/00 - Image enhancement or restoration

74.

Multi-core draw splitting

      
Application Number 18126332
Grant Number 11900503
Status In Force
Filing Date 2023-03-24
First Publication Date 2023-11-23
Grant Date 2024-02-13
Owner Imagination Technologies Limited (United Kingdom)
Inventor King, Ian

Abstract

A multicore graphics processing unit (GPU) and a method of operating a GPU are provided. The GPU comprises at least a first core and a second core. At least one of the cores in the multicore GPU comprises a master unit configured to distribute geometry processing tasks between at least the first core and the second core.

IPC Classes  ?

  • G06T 1/20 - Processor architectures; Processor configuration, e.g. pipelining
  • G06T 1/60 - Memory management
  • G06T 15/00 - 3D [Three Dimensional] image rendering

75.

MULTICORE STATE CACHING IN GRAPHICS PROCESSING

      
Application Number 18127554
Status Pending
Filing Date 2023-03-28
First Publication Date 2023-11-23
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 architectures; Processor configuration, e.g. pipelining
  • G06F 9/48 - Program initiating; Program 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

76.

HIERARCHICAL TILING IN A GRAPHICS PROCESSING SYSTEM USING CHAIN SORTING OF PRIMITIVES

      
Application Number 18228190
Status Pending
Filing Date 2023-07-31
First Publication Date 2023-11-23
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Brigg, Robert
  • Belli, Lorenzo

Abstract

Tiling engines and methods for hierarchically tiling a plurality of primitives. A chain of sorting units includes a top level sorting unit followed by lower level sorting units, the top level sorting unit determining which of a plurality of regions of a render space each of the plurality of primitives at least partially falls within. For each such region an identifier of that primitive is stored in a queue. Each of the lower level sorting units selects queues of a preceding sorting unit in the chain to process, and determines which of a plurality of sub-regions of the region associated with that queue each of the primitives at least partially falls within. For each such sub-region an identifier of that primitive is stored in a queue of the lower level sorting unit that is associated with that sub-region. An output unit outputs the primitives identified in the queues of the last lower level sorting unit in the chain on a queue by queue basis.

IPC Classes  ?

  • G06T 1/60 - Memory management
  • G06T 1/20 - Processor architectures; Processor configuration, e.g. pipelining
  • G06T 15/00 - 3D [Three Dimensional] image rendering

77.

TRUNCATED ARRAY FOR MULTIPLICATION BY RATIONAL

      
Application Number 18072356
Status Pending
Filing Date 2022-11-30
First Publication Date 2023-11-23
Owner Imagination Technologies Limited (United Kingdom)
Inventor Rose, Thomas

Abstract

A hardware representation of a fixed logic circuit is derived for performing multiplication of an input x by a constant rational p/q so as to calculate an output y according to a directed rounding or round-to-nearest rounding mode, where p, q are coprime integers, and x is an m-bit input. An infinite CSD expansion of the rational p/q is determined, a truncated summation array of the bits of the CSD expansion of the rational p/q operating on the bits of the input x is formed by discarding at least the kth column of the array below the position of the binary point, where k=└ ln2(mq)┘+1; further truncating the truncated summation array whilst ensuring that A hardware representation of a fixed logic circuit is derived for performing multiplication of an input x by a constant rational p/q so as to calculate an output y according to a directed rounding or round-to-nearest rounding mode, where p, q are coprime integers, and x is an m-bit input. An infinite CSD expansion of the rational p/q is determined, a truncated summation array of the bits of the CSD expansion of the rational p/q operating on the bits of the input x is formed by discarding at least the kth column of the array below the position of the binary point, where k=└ ln2(mq)┘+1; further truncating the truncated summation array whilst ensuring that Δ high - Δ low < 1 q , A hardware representation of a fixed logic circuit is derived for performing multiplication of an input x by a constant rational p/q so as to calculate an output y according to a directed rounding or round-to-nearest rounding mode, where p, q are coprime integers, and x is an m-bit input. An infinite CSD expansion of the rational p/q is determined, a truncated summation array of the bits of the CSD expansion of the rational p/q operating on the bits of the input x is formed by discarding at least the kth column of the array below the position of the binary point, where k=└ ln2(mq)┘+1; further truncating the truncated summation array whilst ensuring that Δ high - Δ low < 1 q , where, for all x, Δhigh is the maximum sum of the partial products discarded from the array and Δlow is the minimum sum of the partial products discarded from the array; determining a corrective constant z in dependence on the rounding mode and the set of partial products discarded from the array such that the output y is correct for all x; and generating a hardware representation of a fixed logic circuit implementing the truncated summation array including the corrective constant z.

IPC Classes  ?

  • 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
  • G06F 7/544 - Methods 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

78.

Anisotropic Texture Filtering for Sampling Points in Screen Space

      
Application Number 18228495
Status Pending
Filing Date 2023-07-31
First Publication Date 2023-11-23
Owner Imagination Technologies Limited (United Kingdom)
Inventor King, Rostam

Abstract

Texture filtering in computer graphics calculates first and second pairs of texture-space basis vectors that correspond to first and second pairs of screen-space basis vectors transformed to texture space under a local approximation of a mapping between screen space and texture space. Based on differences in magnitudes of the vectors of the pairs of texture-space basis vectors, an angular displacement is determined between a selected pair of the first and second pairs of screen-space basis vectors and screen-space principal axes of the local approximation of the mapping that indicate maximum and minimum scale factors of the mapping. The determined angular displacement and the selected pair of screen-space basis vectors are used to generate texture-space principal axes, with a major axis associated with the maximum scale factor of the mapping and a minor axis associated with the minimum scale factor of the mapping. A texture is filtered using the major and minor axes.

IPC Classes  ?

  • G06T 11/00 - 2D [Two Dimensional] image generation

79.

Task Scheduling in a GPU Using Wakeup Event State Data

      
Application Number 18228545
Status Pending
Filing Date 2023-07-31
First Publication Date 2023-11-23
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Nield, Simon
  • De Grasse, Adam
  • Iuliano, Luca
  • Mower, Ollie
  • Foo, Yoong-Chert

Abstract

A method of scheduling tasks within a GPU or other highly parallel processing unit is described which is both age-aware and wakeup event driven. Tasks which are received are added to an age-based task queue. Wakeup event bits for task types, or combinations of task types and data groups, are set in response to completion of a task dependency and these wakeup event bits are used to select an oldest task from the queue that satisfies predefined criteria.

IPC Classes  ?

  • G06F 9/48 - Program initiating; Program switching, e.g. by interrupt
  • G06F 1/329 - Power saving characterised by the action undertaken by task scheduling
  • G06F 9/50 - Allocation of resources, e.g. of the central processing unit [CPU]

80.

Multi-Viewport Transformation Module for use in 3D Rendering System

      
Application Number 18230833
Status Pending
Filing Date 2023-08-07
First Publication Date 2023-11-23
Owner Imagination Technologies Limited (United Kingdom)
Inventor Dave, Jairaj

Abstract

A transaction processing circuit in a graphics rendering system receives information identifying a particular vertex of a plurality of vertices in a strip, each of which is associated with a viewport, and selects a plurality of viewports for viewport transformation of the particular vertex by selecting relevant vertices from the vertices in the strip based on a provoking vertex, and selecting the plurality of viewports to comprise the viewport associated with that relevant vertex. Viewport transformation instructions are sent to a viewport transformation module to perform a viewport transformation on untransformed coordinate data for the particular vertex for each of the viewports, wherein the one or more viewport transformation instructions comprises a viewport transformation instruction for each of the plurality of viewports, each viewport transformation instruction comprises information identifying the particular vertex and information identifying one of the plurality of viewports.

IPC Classes  ?

  • G06T 17/10 - Volume description, e.g. cylinders, cubes or using CSG [Constructive Solid Geometry]
  • G06T 15/00 - 3D [Three Dimensional] image rendering
  • G06F 30/327 - Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
  • G06T 15/20 - Perspective computation
  • G09G 5/14 - Display of multiple viewports

81.

GRAPHICS PROCESSING UNITS AND METHODS FOR CONTROLLING RENDERING COMPLEXITY USING COST INDICATIONS FOR SETS OF TILES OF A RENDERING SPACE

      
Application Number 18222968
Status Pending
Filing Date 2023-07-17
First Publication Date 2023-11-09
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Howson, John W.
  • Broadhurst, Richard
  • Fishwick, Steven

Abstract

A graphics processing unit (GPU) processes graphics data using a rendering space which is sub-divided into a plurality of tiles. The GPU comprises cost indication logic configured to obtain a cost indication for each of a plurality of sets of one or more tiles of the rendering space. The cost indication for a set of tile(s) is suggestive of a cost of processing the set of one or more tiles. The GPU controls a rendering complexity with which primitives are rendered in tiles based on the cost indication for those tiles. This allows tiles to be rendered in a manner that is suitable based on the complexity of the graphics data within the tiles. In turn, this allows the rendering to satisfy constraints such as timing constraints even when the complexity of different tiles may vary significantly within an image.

IPC Classes  ?

  • G06T 15/00 - 3D [Three Dimensional] image rendering
  • G06T 17/10 - Volume description, e.g. cylinders, cubes or using CSG [Constructive Solid Geometry]
  • G06T 15/04 - Texture mapping
  • G06T 15/06 - Ray-tracing
  • G06T 15/80 - Shading
  • G06T 15/40 - Hidden part removal
  • G06T 11/40 - Filling a planar surface by adding surface attributes, e.g. colour or texture

82.

GEOMETRY TO TILING ARBITER FOR TILE-BASED RENDERING SYSTEM

      
Application Number 18213551
Status Pending
Filing Date 2023-06-23
First Publication Date 2023-11-02
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Rollingson, Tim
  • Dave, Jairaj

Abstract

Systems and method to implement a geometry processing phase of tile-based rendering. The systems include a plurality of parallel geometry pipelines, a plurality of tiling pipelines and a geometry to tiling arbiter situated between the plurality of geometry pipelines and the plurality of tiling pipelines. Each geometry pipeline is configured to generate one or more geometry blocks for each geometry group of a subset of ordered geometry groups; generate a corresponding primitive position block for each geometry block, and compress each geometry blocks to generate a corresponding compressed geometry block. The tiling pipelines are configured to generate, from the primitive position blocks, a list for each tile indicating primitives that fall within the bounds of that tile. The geometry to tiling arbiter is configured to forward the primitive position blocks generated by the plurality of geometry pipelines to the plurality of tiling pipelines in the correct order based on the order of the geometry groups.

IPC Classes  ?

  • G06T 15/00 - 3D [Three Dimensional] image rendering
  • G06T 11/40 - Filling a planar surface by adding surface attributes, e.g. colour or texture
  • G06T 15/10 - Geometric effects

83.

RENDERING OPTIMISATION BY RECOMPILING SHADER INSTRUCTIONS

      
Application Number 18213609
Status Pending
Filing Date 2023-06-23
First Publication Date 2023-11-02
Owner Imagination Technologies Limited (United Kingdom)
Inventor Glanville, James

Abstract

A rendering optimisation identifies a draw call within a current render (which may be the first draw call in the render or a subsequent draw call in the render) and analyses a last shader in the series of shaders used by the draw call to determine whether the last shader samples from the one or more buffers at coordinates matching a current fragment location. If this determination is positive, the method further recompiles the last shader to replace an instruction that reads data from one of the one or more buffers at coordinates matching a current fragment location with an instruction that reads from the one or more buffers at coordinates stored in on-chip registers.

IPC Classes  ?

  • G06T 15/80 - Shading
  • G06T 15/00 - 3D [Three Dimensional] image rendering
  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode
  • G09G 5/36 - Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of individual graphic patterns using a bit-mapped memory
  • G06T 1/60 - Memory management
  • G06F 8/41 - Compilation

84.

HIDDEN CULLING IN TILE-BASED COMPUTER GENERATED IMAGES

      
Application Number 18200654
Status Pending
Filing Date 2023-05-23
First Publication Date 2023-11-02
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Yang, Xile
  • Howson, John W.
  • Fenney, Simon

Abstract

A method and system is provided for culling hidden objects in a tile-based graphics system before they are indicated in a display list for a tile. A rendering space is divided into a plurality of regions which may for example be a plurality of tiles or a plurality of areas into which one or more tiles are divided. Depth thresholds for the regions, which are used to identify hidden objects for culling, are updated when an object entirely covers a region and in dependence on a comparison between a depth value for the object and the depth for the region. For example, if the depth threshold is a maximum depth threshold, the depth threshold may be updated if an object entirely covers the tile and the maximum depth value of the object is less than the maximum depth threshold.

IPC Classes  ?

85.

CONSERVATIVE RASTERIZATION

      
Application Number 18211754
Status Pending
Filing Date 2023-06-20
First Publication Date 2023-11-02
Owner Imagination Technologies Limited (United Kingdom)
Inventor Van Benthem, Casper

Abstract

Conservative rasterization hardware comprises hardware logic arranged to perform an edge test calculation for each edge of a primitive and for each corner of each pixel in a microtile. Outer coverage results are determined, for a particular pixel and edge, by combining the edge test results for the four corners of the pixel and the particular edge in an OR gate. Inner coverage results are determined, for a particular pixel and edge, by combining the edge test results for the four corners of the pixel and the particular edge in an AND gate. An overall outer coverage result for the pixel and the primitive is calculated by combining the outer coverage results for the pixel and each of the edges of the primitive in an AND gate. The overall inner coverage result for the pixel is calculated in a similar manner.

IPC Classes  ?

  • G06T 11/40 - Filling a planar surface by adding surface attributes, e.g. colour or texture
  • G06T 1/20 - Processor architectures; Processor configuration, e.g. pipelining

86.

MULTISTAGE COLLECTOR FOR OUTPUTS IN MULTIPROCESSOR SYSTEMS

      
Application Number 18219873
Status Pending
Filing Date 2023-07-10
First Publication Date 2023-11-02
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Mccombe, James Alexander
  • Clohset, Steven John
  • Redgrave, Jason Rupert
  • Peterson, Luke Tilman

Abstract

Aspects include a multistage collector to receive outputs from plural processing elements. Processing elements may comprise (each or collectively) a plurality of clusters, with one or more ALUs that may perform SIMD operations on a data vector and produce outputs according to the instruction stream being used to configure the ALU(s). The multistage collector includes substituent components each with at least one input queue, a memory, a packing unit, and an output queue; these components can be sized to process groups of input elements of a given size, and can have multiple input queues and a single output queue. Some components couple to receive outputs from the ALUs and others receive outputs from other components. Ultimately, the multistage collector can output groupings of input elements. Each grouping of elements (e.g., at input queues, or stored in the memories of component) can be formed based on matching of index elements.

IPC Classes  ?

87.

Methods and systems for inter-pipeline data hazard avoidance

      
Application Number 18220048
Grant Number 11900122
Status In Force
Filing Date 2023-07-10
First Publication Date 2023-11-02
Grant Date 2024-02-13
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Iuliano, Luca
  • Nield, Simon
  • Foo, Yoong-Chert
  • Mower, Ollie

Abstract

Methods and parallel processing units for avoiding inter-pipeline data hazards identified at compile time. For each identified inter-pipeline data hazard the primary instruction and secondary instruction(s) thereof are identified as such and are linked by a counter which is used to track that inter-pipeline data hazard. When a primary instruction is output by the instruction decoder for execution the value of the counter associated therewith is adjusted to indicate that there is hazard related to the primary instruction, and when primary instruction has been resolved by one of multiple parallel processing pipelines the value of the counter associated therewith is adjusted to indicate that the hazard related to the primary instruction has been resolved. When a secondary instruction is output by the decoder for execution, the secondary instruction is stalled in a queue associated with the appropriate instruction pipeline if at least one counter associated with the primary instructions from which it depends indicates that there is a hazard related to the primary instruction.

IPC Classes  ?

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

88.

GRAPHICS PROCESSING METHOD AND SYSTEM FOR RENDERING ITEMS OF GEOMETRY BASED ON THEIR SIZE

      
Application Number 18220185
Status Pending
Filing Date 2023-07-10
First Publication Date 2023-11-02
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Yang, Xile
  • Brigg, Robert

Abstract

Graphics processing renders primitives using a rendering space which is subdivided into a plurality of regions. A geometry processing phase determines, for each of a plurality of primitives which are present in a region, whether the primitive totally covers the region and stores data for the primitives which are determined to totally cover the region to indicate total coverage of the region. A rendering phase retrieves the stored data for the primitives which are present in the region, selectively processes primitives which are present in the region based on the retrieved data to determine which sample points within the region are covered by the primitives, wherein if the retrieved data includes data which indicates total coverage of the region for a particular primitive then the processing determining sample points is skipped; and determines rendered values at the sample points within the region based on the primitives which cover the respective sample points.

IPC Classes  ?

  • G06T 15/00 - 3D [Three Dimensional] image rendering
  • G06T 11/20 - Drawing from basic elements, e.g. lines or circles
  • G06T 15/04 - Texture mapping
  • G06T 11/40 - Filling a planar surface by adding surface attributes, e.g. colour or texture
  • G06T 7/13 - Edge detection
  • G06T 1/20 - Processor architectures; Processor configuration, e.g. pipelining

89.

Coherency Gathering for Ray Tracing

      
Application Number 18220380
Status Pending
Filing Date 2023-07-11
First Publication Date 2023-11-02
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  ?

90.

Learned Feature Motion Detection

      
Application Number 18208936
Status Pending
Filing Date 2023-06-13
First Publication Date 2023-10-26
Owner Imagination Technologies Limited (United Kingdom)
Inventor Smith, Timothy

Abstract

A data processing device for detecting motion in a sequence of frames each comprising one or more blocks of pixels, includes a sampling unit configured to determine image characteristics at a set of sample points of a block, a feature generation unit configured to form a current feature for the block, the current feature having a plurality of values derived from the sample points, and motion detection logic configured to generate a motion output for a block by comparing the current feature for the block to a learned feature representing historical feature values for the block.

IPC Classes  ?

  • G06T 7/246 - Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
  • G06V 40/20 - Movements or behaviour, e.g. gesture recognition
  • G06F 18/22 - Matching criteria, e.g. proximity measures

91.

TESSELLATION METHOD USING VERTEX TESSELLATION FACTORS

      
Application Number 18208964
Status Pending
Filing Date 2023-06-13
First Publication Date 2023-10-26
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Fenney, Simon
  • Simaiaki, Vasiliki

Abstract

A tessellation method uses vertex tessellation factors. For a quad patch, the method involves comparing the vertex tessellation factors for each vertex of the quad patch to a threshold value and if none exceed the threshold, the quad is sub-divided into two or four triangles. If at least one of the four vertex tessellation factors exceeds the threshold, a recursive or iterative method is used which considers each vertex of the quad patch and determines how to further tessellate the patch dependent upon the value of the vertex tessellation factor of the selected vertex or dependent upon values of the vertex tessellation factors of the selected vertex and a neighbor vertex. A similar method is described for a triangle patch.

IPC Classes  ?

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

92.

METHOD AND SYSTEM FOR CALCULATING DOT PRODUCTS

      
Application Number 18111033
Status Pending
Filing Date 2023-02-17
First Publication Date 2023-10-19
Owner Imagination Technologies Limited (United Kingdom)
Inventor Ferrere, Thomas

Abstract

A method of performing dot product of an array of ‘2k’ floating point numbers comprising two sets of k floating-point numbers ai and bi is disclosed. The method includes receiving both sets of ‘k’ floating point numbers and multiplying each floating point number ai with a floating point number bi to generate k product numbers (zi), each product number (zi) having a mantissa bit length of ‘r’ bits. The method further comprises creating a set of ‘k’ numbers (yi) based on the k product numbers (zi), the numbers (yi) having a bit-length of ‘n’ bits. Further the method includes identifying a maximum exponent sum (emax) among k exponent sums (eabi) of each pair of floating point numbers ai and bi, aligning the magnitude bits of the numbers (yi) based on the maximum exponent sum (emax) and adding the set of ‘k’ numbers concurrently to obtain the dot product.

IPC Classes  ?

  • G06F 17/16 - Matrix or vector computation
  • 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

93.

METHOD AND SYSTEM FOR PROCESSING FLOATING POINT NUMBERS

      
Application Number 18111178
Status Pending
Filing Date 2023-02-17
First Publication Date 2023-10-19
Owner Imagination Technologies Limited (United Kingdom)
Inventor Ferrere, Thomas

Abstract

A method of performing dot product of an array of ‘2k’ floating point numbers comprising two sets of k floating-point numbers ai and bi is disclosed. The method includes receiving both sets of ‘k’ floating point numbers and multiplying each floating point number ai with a floating point number bi to generate k product numbers (zi), each product number (zi) having a mantissa bit length of ‘r+log (k−1)+1’ bits. The method further comprises creating a set of ‘k’ numbers (yi) based on the k product numbers (zi), the numbers (yi) having a bit-length of ‘n’ bits. Further the method includes identifying a maximum exponent sum (emax) among k exponent sums (eabi) of each pair of floating point numbers ai and bi aligning the magnitude bits of the numbers (yi) based on the maximum exponent sum (emax) and adding the set of ‘k’ numbers concurrently to obtain the dot product.

IPC Classes  ?

94.

METHOD AND SYSTEM FOR CONTROLLING A MEMORY DEVICE

      
Application Number 18119918
Status Pending
Filing Date 2023-03-10
First Publication Date 2023-10-19
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Gao, Zhi
  • Uppalapati Venkata, Suneel Varma

Abstract

A method of controlling a memory device in which the memory device has a normal mode in which the memory device is operable, and a power save mode in which the memory device is inoperable and consumes lower power than the normal mode. The method includes determining a metric based on the time spent by the memory device in at least one previous inactive period. The method further includes comparing the metric with a threshold. Further the method includes in response to determining that the metric is lower than the threshold causing the memory device to remain in the normal mode throughout a subsequent inactive period.

IPC Classes  ?

95.

Memory allocation for 3-D graphics rendering

      
Application Number 18125665
Grant Number 11934878
Status In Force
Filing Date 2023-03-23
First Publication Date 2023-10-19
Grant Date 2024-03-19
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/46 - Multiprogramming arrangements
  • 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

96.

CONTROL STREAM STITCHING FOR MULTICORE 3-D GRAPHICS RENDERING

      
Application Number 18125681
Status Pending
Filing Date 2023-03-23
First Publication Date 2023-10-19
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Livesley, Michael John
  • King, Ian

Abstract

A multicore graphics rendering system includes a plurality of cores implementing tile-based deferred rendering of a stream of primitives. First cores perform geometry processing on groups of primitives. Each group of primitives is associated with a group index denoting its position in the stream of primitives. Each first core produces a set of tile control lists. Each tile control list produced by each first core describes the primitives processed by that first core that are present in the respective tile. Second cores perform fragment processing for one or more tiles. Each second core is configured to read, from a memory, the tile control lists produced for a given tile by the various first cores, and to stitch together these tile control lists to produce a combined tile control stream for the tile. The contents of the tile control lists are stitched together in the order defined by the group indices.

IPC Classes  ?

  • G06T 15/00 - 3D [Three Dimensional] image rendering

97.

FORMATION OF BOUNDING VOLUME HIERARCHIES

      
Application Number 18126426
Status Pending
Filing Date 2023-03-25
First Publication Date 2023-10-19
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  ?

98.

METHODS AND HARDWARE LOGIC FOR WRITING RAY TRACING DATA FROM A SHADER PROCESSING UNIT OF A GRAPHICS PROCESSING UNIT

      
Application Number 18126460
Status Pending
Filing Date 2023-03-26
First Publication Date 2023-10-19
Owner Imagination Technologies Limited (United Kingdom)
Inventor Barnard, Daniel

Abstract

Shader processing units for a graphics processing unit that are configured to execute one or more ray tracing shaders that generate ray data associated with one or more rays. The ray data for a ray includes a plurality of ray data elements. The shader processing unit comprises local storage, and store logic. The store logic is configured to receive, as part of a ray tracing shader, a ray store instruction that comprises: (i) information identifying a store group of a plurality of store groups, each store group of the plurality of store groups comprising one or more ray data elements of the plurality of ray data elements, and (ii) information identifying one or more ray data elements of the identified store group to be stored in an external unit). In response to receiving the ray store instruction, the store logic retrieves the identified ray data elements for one or more rays from the storage. The store logic then sends one or more store requests to an external unit which cause the external unit to store the identified ray data elements for the one or more rays.

IPC Classes  ?

99.

METHODS AND HARDWARE LOGIC FOR LOADING RAY TRACING DATA INTO A SHADER PROCESSING UNIT OF A GRAPHICS PROCESSING UNIT

      
Application Number 18126462
Status Pending
Filing Date 2023-03-26
First Publication Date 2023-10-19
Owner Imagination Technologies Limited (United Kingdom)
Inventor Barnard, Daniel

Abstract

Shader processing units for a graphics processing unit that are configured to execute one or more ray tracing shaders that process ray data associated with one or more rays. The ray data for a ray includes a plurality of ray data elements. The shader processing unit comprises storage, and load logic. The load logic is configured to receive, as part of a ray tracing shader, a ray load instruction that comprises: (i) information identifying a load group of a plurality of load groups, each load group of the plurality of load groups comprising one or more ray data elements of the plurality of ray data elements, and (ii) information identifying one or more ray data elements of the identified load group to be retrieved from an external unit. In response to the ray load instruction, the load logic sends one or more load requests to the external unit which cause the external unit to retrieve the identified ray data elements of the identified load group for one or more rays. The received ray data elements are then stored in the storage of the shader processing unit for processing by the ray tracing shader.

IPC Classes  ?

  • G06T 15/00 - 3D [Three Dimensional] image rendering
  • G06T 1/20 - Processor architectures; Processor configuration, e.g. pipelining
  • G06T 15/06 - Ray-tracing

100.

INTERSECTION TESTING IN A RAY TRACING SYSTEM USING MULTIPLE RAY BUNDLE INTERSECTION TESTS

      
Application Number 18211494
Status Pending
Filing Date 2023-06-19
First Publication Date 2023-10-19
Owner Imagination Technologies Limited (United Kingdom)
Inventor
  • Clark, Gregory
  • Clohset, Steven J.
  • Peterson, Luke T.

Abstract

Ray tracing systems and computer-implemented methods are described for performing intersection testing on a bundle of rays with respect to a box. Silhouette edges of the box are identified from the perspective of the bundle of rays. For each of the identified silhouette edges, components of a vector providing a bound to the bundle of rays are obtained and it is determined whether the vector passes inside or outside of the silhouette edge. Results of determining, for each of the identified silhouette edges, whether the vector passes inside or outside of the silhouette edge, are used to determine an intersection testing result for the bundle of rays with respect to the box.

IPC Classes  ?

  1     2     3     ...     14        Next Page