Face augmentation in video
US-12165275-B2 · Dec 10, 2024 · US
US10242482B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10242482-B2 |
| Application number | US-201615135674-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 22, 2016 |
| Priority date | Apr 22, 2015 |
| Publication date | Mar 26, 2019 |
| Grant date | Mar 26, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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. A bounding box is determined for the primitive. For each tile boundary between lines of tiles in the bounding box, intersection points of the tile boundary with edges of the primitive are determined and used to determine which of the tiles in the bounding box the primitive is in. 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.
Opening claim text (preview).
The invention claimed is: 1. A method of processing a primitive in a graphics processing system, the method comprising tiling the primitive to determine which of a plurality of tiles of a rendering space the primitive is in, by; determining a bounding box for the primitive; determining that lines of tiles are rows of tiles if there are fewer rows of tiles than columns of tiles in the bounding box, or determining that lines of tiles are columns of tiles if there are fewer columns of tiles than rows of tiles in the bounding box; for each of at least one tile boundary between the lines of tiles in the bounding box, determining intersection points of the tile boundary with edges of the primitive; and using the determined intersection points to determine which of the tiles in the bounding box the primitive is in; and storing data indicating which of the tiles in the bounding box the primitive is in, wherein the primitive is rendered in accordance with the stored data. 2. The method of claim 1 wherein said determining intersection points of the tile boundary with edges of the primitive comprises: determining initial intersection points of the tile boundary with edge lines defining edges of the primitive; and identifying which of those initial intersection points lie on the edge of the primitive, wherein the identified initial intersection points are the determined intersection points which are used to determine which of the tiles in the bounding box the primitive is in. 3. The method of claim 1 wherein the step of using the determined intersection points to determine which of the tiles in the bounding box the primitive is in comprises, for a line of tiles: determining a start tile in the line of tiles by finding the first tile in the line which includes a determined intersection point on its boundary or includes a vertex of the primitive; determining an end tile in the line of tiles by finding the last tile in the line which includes a determined intersection point on its boundary or includes a vertex of the primitive; determining that the primitive is in the tiles in the line between, and including, the start tile and the end tile. 4. The method of claim 1 wherein the primitive is determined to not be in tiles which do not at least partially overlap with the bounding box. 5. The method of claim 1 wherein the bounding box is clipped so that it does not extend beyond the edges of the rendering space. 6. The method of claim 1 further comprising including a primitive identifier of the primitive in a display list for a particular tile if it is determined that the primitive is in the particular tile. 7. The method of claim 6 further comprising, for each of the tiles of the rendering space, rendering the primitives in the tile in accordance with the display list for that tile. 8. A graphics processing system comprising a tiling unit for tiling a primitive to determine which of a plurality of tiles of a rendering space the primitive is in, the tiling unit being configured to: determine a bounding box for the primitive; determine that lines of tiles are rows of tiles if there are fewer rows of tiles than columns of tiles in the bounding box, or determine that lines of tiles are columns of tiles if there are fewer columns of tiles than rows of tiles in the bounding box; for each of at least one tile boundary between the lines of tiles in the bounding box, determine intersection points of the tile boundary with edges of the primitive; use the determined intersection points to determine which of the tiles in the bounding box the primitive is in; and cause data to be stored indicating which of the tiles in the bounding box the primitive is in, wherein the graphics processing system is configured to render the primitive in accordance with the stored data. 9. The graphics processing system of claim 8 wherein the tiling unit is configured to determine intersection points of the tile boundary with edges of the primitive by: determining initial intersection points of the tile boundary with edge lines defining edges of the primitive; and identifying which of those initial intersection points lie on the edge of the primitive, wherein the identified initial intersection points are the determined intersection points which are to be used to determine which of the tiles in the bounding box the primitive is in. 10. The graphics processing system of claim 8 wherein the tiling unit is configured to use at least some of the determined intersection points to determine which of the tiles in the bounding box the primitive is in by, for a line of tiles: determining a start tile in the line of tiles by finding the first tile in the line which includes a determined intersection point on its boundary or includes a vertex of the primitive; determining an end tile in the line of tiles by finding the last tile in the line which includes a determined intersection point on its boundary or includes a vertex of the primitive; determining that the primitive is in the tiles in the line between, and including, the start tile and the end tile. 11. The graphics processing system of claim 8 wherein the tiling unit is configured to determine that the primitive is not in tiles which do not at least partially overlap with the bounding box. 12. The graphics processing system of claim 8 wherein the tiling unit is configured to clip the bounding box so that it does not extend beyond the edges of the rendering space. 13. The graphics processing system of claim 8 wherein the tiling unit is further configured to include a primitive identifier of the primitive in a display list for a particular tile if it is determined that the primitive is in the particular tile. 14. The graphics processing system of claim 13 further comprising a rendering unit configured to render, for each of the tiles of the rendering space, the primitives in the tile in accordance with the display list for the tile. 15. A non-transitory computer readable storage medium having stored thereon computer executable instructions that when executed cause at least one processor to process a primitive in a graphics processing system, to determine which of a plurality of tiles of a rendering space the primitive is in, by determining a bounding box for the primitive; determining that lines of tiles are rows of tiles if there are fewer rows of tiles than columns of tiles in the bounding box or determining that lines of tiles are columns of tiles if there are fewer columns of tiles than rows of tiles in the bounding box; for each of at least one tile boundary between the lines of tiles in the bounding box, determining intersection points of the tile boundary with edges of the primitive; using the determined intersection points to determine which of the tiles in the bounding box the primitive is in; and storing data indicating which of the tiles in the bounding box the primitive is in, wherein the primitive is rendered in accordance with the stored data. 16. A non-transitory computer readable storage medium having stored thereon computer readable code for generating a graphics processing system comprising a tiling unit for tiling a primitive to determine which of a plurality of tiles of a rendering space the primitive is in, the tiling unit being configured to: determine a bounding box for the primitive; determine that lines of tiles are rows of tiles if there are fewer rows of tiles than columns of tiles in the bounding box, or determine that lines of tiles are columns of tiles if there are fewer columns of tiles than rows of tiles in the bounding
General purpose rendering architectures · CPC title
Filling planar surfaces by adding surface attributes, e.g. adding colours or textures · CPC title
Bounding box · CPC title
Parallel processing · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.