IP Library Granted Patent US 10,395,336
Granted Patent B2
US 10,395,336 · App. 15/868,368 · Granted Aug 27, 2019

Computing systems and methods for processing graphics data using cost indications for sets of tiles of a rendering space

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,395,336
App. No.
15/868,368
Granted
Aug 27, 2019
Kind
B2
Abstract

A computing system comprises graphics rendering logic and image processing logic. The graphics rendering logic processes graphics data to render an image using a rendering space which is sub-divided into a plurality of tiles. Cost indication logic obtains 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 rendered image values for a region of the rendered image corresponding to the set of one or more tiles. The image processing logic processes rendered image values for regions of the rendered image. The computing system causes the image processing logic to process rendered image values for regions of the rendered image in dependence on the cost indications for the corresponding sets of one or more tiles.

Claims (50)

1. A computing system comprising:

graphics rendering logic configured to process graphics data to render an image using a rendering space which is sub-divided into a plurality of tiles, the graphics rendering logic comprising 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 associated with processing rendered image values for a region of the rendered image corresponding to the set of one or more tiles; and

image processing logic configured to process rendered image values for regions of the rendered image;

wherein the computing system is configured to cause the image processing logic to process rendered image values for regions of the rendered image in dependence on the cost indications for the corresponding sets of one or more tiles.

2. The computing system of claim 1 wherein the computing system is configured to cause the image processing logic to process rendered image values for regions of the rendered image in dependence on the cost indications for the corresponding sets of one or more tiles by controlling one or both of:

an order in which regions of the rendered image are processed by the image processing logic, and

a level of quality with which regions of the rendered image are processed by the image processing logic.

3. The computing system of claim 2 wherein the system is configured to control the order in which regions of the rendered image are processed by the image processing logic such that a region of the rendered image corresponding to a set of one or more tiles which has a relatively high cost indication is processed by the image processing logic before a region of the rendered image corresponding to a set of one or more tiles which has a relatively low cost indication.

4. The computing system of claim 1 wherein the image processing logic is configured to:

receive the rendered image values for regions of the rendered image and the cost indications for the corresponding sets of one or more tiles; and

control the processing of the rendered image values for regions of the rendered image in dependence on the cost indications for the corresponding sets of one or more tiles.

5. The computing system of claim 4 wherein the image processing logic is configured to control the processing of the rendered image values for regions of the rendered image further in dependence on an indication of the total cost associated with processing all of the regions of the rendered image.

6. The computing system of claim 1 wherein the graphics rendering logic is configured to:

determine an order in which regions of the rendered image are to be processed by the image processing logic in dependence on the cost indications for the corresponding sets of one or more tiles; and

cause the regions of the rendered image to be provided to the image processing logic in the determined order.

7. The computing system of claim 1 further comprising a transmission unit configured to transmit, over a network, processed image values for the image processed by the image processing logic.

8. The computing system of claim 1 further comprising a memory configured to store processed image values for the image processed by the image processing logic.

9. The computing system of claim 1 wherein the image processing logic comprises video encoding logic configured to encode the rendered image values for regions of the rendered image in dependence on the cost indications for the corresponding sets of one or more tiles.

10. The computing system of claim 9 wherein the video encoding logic is configured to encode blocks of rendered image values of the rendered image.

11. The computing system of claim 10 wherein the blocks of the rendered image values match the regions of the rendered image.

12. The computing system of claim 10 wherein the blocks of the rendered image values do not match the regions of the rendered image, wherein each block of the rendered image values overlaps with one or more of the regions of the rendered image, and wherein the blocks of the rendered image values are encoded by the video encoding logic based on the one or more cost indications associated with said one or more overlapping regions of the rendered image.

13. The computing system of claim 9 wherein the video encoding logic is configured to:

allocate budgets of data for the encoded regions of the rendered image in accordance with the cost indications for the corresponding sets of one or more tiles; and

encode the regions of the rendered image in accordance with the respective allocated budgets of data.

14. The computing system of claim 13 wherein the video encoding logic is configured to allocate budgets of data for the encoded regions of the rendered image by dividing a total data budget for the encoded image amongst the regions of the rendered image in accordance with the cost indications for the corresponding sets of one or more tiles.

15. The computing system of claim 9 wherein the video encoding logic is configured to:

set quantisation parameters for encoding the regions of the rendered image in accordance with the cost indications for the corresponding sets of one or more tiles; and

encode the regions of the rendered image in accordance with the respective quantisation parameters.

16. The computing system of claim 1 wherein the image processing logic comprises one or more of:

image filtering logic configured to apply filtering to the rendered image values for regions of the rendered image in dependence on the cost indications for the corresponding sets of one or more tiles; and

motion estimation logic configured to apply motion estimation to regions of the rendered image in dependence on the cost indications for the corresponding sets of one or more tiles, wherein the image represents a frame of a sequence of frames.

17. The computing system of claim 1 wherein the computing system is configured to cause the image processing logic to process rendered image values for regions of the rendered image in dependence on the cost indications for the corresponding sets of one or more tiles, in order to satisfy at least one of:

a constraint on the amount of data used to represent each of the processed regions of the processed image output from the image processing logic;

a constraint on the amount of data used to represent the processed image output from the image processing logic;

a constraint on the timing at which each of the processed regions of the processed image are output from the image processing logic; and

a constraint on the timing at which the processed image is output from the image processing logic.

18. The computing system of claim 1 wherein the cost indication logic is configured to determine a cost indication for a tile of the rendering space based on one or more of the following factors:

(i) a number of primitives in the tile;

(ii) object types associated with the primitives in the tile;

(iii) tile coverage area of the primitives in the tile;

(iv) textures to be applied to primitives in the tile during the rendering of an image region corresponding to the tile;

(v) a user input; and

(vi) a cost associated with processing a corresponding image region in a previous frame, wherein the image represents a frame of a sequence of frames.

19. A computer-implemented method of processing graphics data, the method comprising:

processing graphics data to render an image using a rendering space which is sub-divided into a plurality of tiles, said processing of the graphics data comprising obtaining 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 associated with processing rendered image values for a region of the rendered image corresponding to the set of one or more tiles; and

processing rendered image values for regions of the rendered image in dependence on the cost indications for the corresponding sets of one or more tiles, thereby determining a processed image.

20. A non-transitory computer readable storage medium having stored thereon a computer readable description of an integrated circuit that, when processed in an integrated circuit manufacturing system, causes the integrated circuit manufacturing system to manufacture a computing system which comprises:

graphics rendering logic configured to process graphics data to render an image using a rendering space which is sub-divided into a plurality of tiles, the graphics rendering logic comprising 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 associated with processing rendered image values for a region of the rendered image corresponding to the set of one or more tiles; and

image processing logic configured to process rendered image values for regions of the rendered image;

wherein the computing system is configured to cause the image processing logic to process rendered image values for regions of the rendered image in dependence on the cost indications for the corresponding sets of one or more tiles.

Assignments (3)
SECURITY INTEREST Recorded Jul 31, 2024
From: IMAGINATION TECHNOLOGIES LIMITED
To: FORTRESS INVESTMENT GROUP (UK) LTD
Reel/Frame 068221/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2019
From: FISHWICK, STEVEN
To: IMAGINATION TECHNOLOGIES LIMITED
Reel/Frame 049710/0409 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2018
From: HOWSON, JOHN W.; BROADHURST, RICHARD
To: IMAGINATION TECHNOLOGIES LIMITED
Reel/Frame 044600/0026 →