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.
Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
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, said tiling the primitive comprising: determining a bounding box for the primitive; analysing the bounding box; in dependence on and subsequent to said analysis, implementing either a first tiling method or a second tiling method to determine data indicating which of the tiles of the rendering space the primitive is in, wherein: the first tiling method comprises using tiling results in respect of the primitive for two or more tiles of a subset of the tiles of the rendering space to infer tiling results used to determine whether or not the primitive is in at least one other tile; and the second tiling method comprises: (i) for each of at least one tile boundary between lines of tiles in the bounding box, determining intersection points of the tile boundary with edges of the primitive, and (ii) using the determined intersection points to determine which of the tiles in the bounding box the primitive is in; and rendering the primitive in accordance with the data indicating which of the tiles of the rendering space the primitive is in.
Graphics rendering. This invention addresses the efficient determination of which tiles within a rendering space a graphical primitive occupies. The method involves first calculating a bounding box for the primitive. Following an analysis of this bounding box, one of two tiling methods is selectively implemented to generate data indicating the primitive's presence in specific tiles. The first tiling method leverages existing tiling results for a subset of tiles to infer the primitive's presence in other tiles. The second tiling method, used when the first is not applicable or efficient, involves identifying intersection points between the primitive's edges and tile boundaries within the bounding box. These intersection points are then used to precisely determine which tiles the primitive covers. Finally, the primitive is rendered based on the generated tile occupancy data.
2. The method of claim 1 wherein said analysing the bounding box comprises analysing the dimensions of the bounding box.
The invention relates to a computer-implemented method for detecting and analyzing objects within digital images or video frames. The core problem addressed is the need to accurately determine the spatial characteristics of detected objects to improve recognition accuracy or enable further processing tasks such as tracking, classification, or scene understanding. The method involves first identifying objects within an image using a bounding box, which is a rectangular region enclosing the object. Once the bounding box is generated, the system performs an analysis of its dimensions—specifically, the width, height, and possibly aspect ratio—of the bounding box. This dimensional analysis helps refine the object detection process by providing quantitative data about the object's size and shape relative to the image or other objects. The extracted dimensional information can then be used to filter false positives, adjust detection thresholds, or support downstream applications such as object tracking, activity recognition, or scene reconstruction. The approach assumes that the bounding box has already been generated through an initial detection phase, which may rely on machine learning models, traditional computer vision techniques, or other object localization methods.
3. The method of claim 1 wherein in the first tiling method, said at least one other tile: (i) is not one of the tiles of said subset, and (ii) is located within a region whose boundaries are at least partially defined by said two or more of the tiles of the subset.
This invention relates to a method for tiling a surface, particularly in applications such as computer graphics, digital imaging, or material design, where efficient and visually coherent tiling is required. The problem addressed is the challenge of seamlessly integrating additional tiles into an existing tiling pattern without disrupting the visual or functional continuity of the arrangement. The method involves a first tiling method that generates a subset of tiles arranged in a specific pattern. To enhance the tiling, at least one additional tile is introduced. This additional tile is not part of the original subset but is strategically placed within a region whose boundaries are at least partially defined by two or more tiles from the subset. This ensures that the new tile integrates smoothly into the existing pattern, maintaining coherence and avoiding visual or structural discontinuities. The placement is designed to optimize coverage, aesthetics, or functional properties, depending on the application. The method may be used in scenarios where dynamic adjustments to tiling are needed, such as in real-time rendering, adaptive material design, or interactive digital environments. The approach improves flexibility and adaptability in tiling systems while preserving structural integrity.
4. The method of claim 1 wherein in the second tiling method the lines of tiles are rows or columns of tiles.
The invention relates to tiling methods for arranging tiles in a grid pattern, specifically addressing the challenge of efficiently organizing tiles in rows or columns to optimize layout and alignment. The method involves a second tiling approach where tiles are arranged in straight lines, either horizontally as rows or vertically as columns, to ensure uniform spacing and alignment. This technique is particularly useful in applications requiring precise tile placement, such as flooring, wall tiling, or digital image processing. The method ensures that tiles are positioned in a structured manner, reducing gaps and misalignments. The first tiling method, referenced in the broader invention, likely involves an initial arrangement of tiles, which is then refined or supplemented by the second method to achieve the desired pattern. The second method's focus on rows or columns ensures consistency in tile orientation and spacing, improving the overall aesthetic and functional quality of the tiled surface. This approach is adaptable to various tile shapes and sizes, making it versatile for different tiling applications. The invention aims to enhance efficiency and precision in tiling processes, addressing common issues like uneven spacing and misalignment.
5. The method of claim 1 wherein the second tiling method comprises: determining that the 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 the lines of tiles are columns of tiles if there are fewer columns of tiles than rows of tiles in the bounding box.
This invention relates to a method for optimizing the arrangement of tiles within a defined bounding box, particularly in digital display or printing systems where efficient tiling is critical for performance and visual quality. The problem addressed is the need to automatically determine the optimal orientation of tile lines (either rows or columns) to minimize the number of lines required, thereby improving processing efficiency and reducing memory usage. The method involves analyzing the dimensions of the bounding box to decide whether to arrange tiles in rows or columns. Specifically, if the bounding box contains fewer rows of tiles than columns, the method selects rows as the primary tiling direction. Conversely, if there are fewer columns of tiles than rows, the method selects columns as the primary tiling direction. This decision is based on the spatial distribution of tiles within the bounding box, ensuring that the tiling method aligns with the most efficient orientation for the given layout. By dynamically adjusting the tiling direction based on the bounding box dimensions, the method reduces unnecessary computational overhead and optimizes resource allocation, particularly in applications requiring real-time rendering or high-resolution output. The approach is applicable to various tiling-based systems, including graphics processing, image rendering, and print layout optimization.
6. The method of claim 1 , wherein said tiling the primitive further comprises storing the data indicating which of the tiles of the rendering space the primitive is in, and wherein said rendering the primitive comprises reading the stored data indicating which of the tiles of the rendering space the primitive is in.
This invention relates to computer graphics rendering, specifically optimizing the process of tiling and rendering primitives in a rendering space. The problem addressed is efficiently managing and accessing primitive data during rendering to improve performance and reduce computational overhead. The method involves tiling a primitive, which is a basic geometric shape or element to be rendered, within a rendering space divided into multiple tiles. The tiling process includes storing data that identifies which specific tiles of the rendering space the primitive occupies. During the rendering phase, the stored data is read to determine the tiles containing the primitive, allowing for targeted and efficient rendering operations. This approach minimizes unnecessary computations by focusing only on the relevant tiles, thereby optimizing rendering performance. The method ensures that the primitive data is accurately associated with the correct tiles, enabling the rendering system to quickly access and process the necessary information. This reduces the need for repeated calculations or searches, leading to faster rendering times and improved resource utilization. The technique is particularly useful in real-time rendering applications where efficiency is critical, such as in video games, virtual reality, and other graphics-intensive environments. By streamlining the tiling and rendering process, the invention enhances the overall performance of graphics rendering systems.
7. The method of claim 1 , wherein said analysing the bounding box comprises determining whether a maximum dimension of the bounding box is above a threshold number of tiles.
This invention relates to image processing, specifically analyzing bounding boxes within a tiled image grid to detect objects or regions of interest. The problem addressed is efficiently determining whether a detected object spans a significant portion of the image, which is useful in applications like object detection, image segmentation, or automated quality control. The method involves analyzing a bounding box that encloses an object or region within an image divided into a grid of tiles. The analysis determines whether the maximum dimension (either height or width) of the bounding box exceeds a predefined threshold number of tiles. If it does, the bounding box is flagged as significant, indicating the enclosed object spans a substantial area relative to the image size. This helps filter out small or irrelevant detections while prioritizing larger, more meaningful objects. The threshold number of tiles is a configurable parameter that defines the minimum size an object must occupy to be considered relevant. This approach ensures scalability across different image resolutions and tile grid configurations. The method can be applied in various domains, including surveillance, medical imaging, or industrial inspection, where distinguishing between small and large objects is critical. By focusing on bounding box dimensions relative to the tile grid, the technique provides a resolution-independent way to assess object significance.
8. The method of claim 1 , wherein said analysing the bounding box comprises analysing the area of the bounding box.
A system and method for analyzing bounding boxes in image processing applications, particularly for object detection and recognition. The technology addresses the challenge of accurately identifying and characterizing objects within digital images by evaluating the geometric properties of bounding boxes that enclose detected objects. The method involves generating a bounding box around a detected object in an image and analyzing the area of the bounding box to determine the size and spatial characteristics of the object. This analysis helps in distinguishing between different objects, improving object recognition accuracy, and enabling further processing such as object classification or tracking. The bounding box area analysis can be used in conjunction with other features, such as shape, color, or texture, to enhance the overall detection and recognition process. Applications include computer vision systems, autonomous vehicles, surveillance, and quality control in manufacturing. The method ensures robust object detection by leveraging geometric properties to refine the identification and classification of objects within images.
9. The method of claim 1 , wherein the first tiling method further comprises performing, for each tile of the subset of tiles of the rendering space, a tiling test to determine whether or not the primitive is in the tile.
This invention relates to computer graphics rendering, specifically optimizing the process of determining which graphical primitives (e.g., triangles, polygons) intersect with tiles in a rendering space. The problem addressed is the computational inefficiency in traditional rendering pipelines where every primitive is tested against every tile, leading to unnecessary calculations and reduced performance. The method involves a tiling process that divides the rendering space into a grid of tiles. For a subset of these tiles, a tiling test is performed to determine whether a given primitive intersects with each tile. This test efficiently filters out tiles that do not contain the primitive, reducing the number of subsequent processing steps. The tiling test may involve spatial checks, such as bounding volume comparisons or hierarchical culling, to quickly identify non-intersecting tiles. By focusing only on relevant tiles, the method minimizes redundant computations and improves rendering performance, particularly in complex scenes with many primitives and tiles. The approach is applicable to real-time rendering systems, such as video games or virtual reality applications, where efficiency is critical.
10. The method of claim 9 wherein, for each of one or more of the tiles of the subset, said performing a tiling test comprises performing tiling calculations to determine whether or not the primitive is in the tile.
This invention relates to computer graphics rendering, specifically to optimizing the process of determining which graphical primitives (e.g., triangles, polygons) intersect with tiles in a scene. The problem addressed is the computational inefficiency in rendering pipelines where determining primitive-tile intersections is a bottleneck, particularly in real-time applications like video games or virtual reality. The method involves selecting a subset of tiles from a larger set of tiles in a scene. For each tile in this subset, the method performs tiling calculations to determine whether a given graphical primitive (e.g., a triangle) intersects with the tile. These calculations are optimized to reduce unnecessary computations, improving rendering performance. The method may include additional steps such as determining the subset of tiles based on spatial relationships or visibility criteria, ensuring only relevant tiles are processed. The tiling calculations may involve geometric tests, such as bounding volume checks or exact intersection tests, to efficiently determine if the primitive lies within the tile. The goal is to minimize the number of expensive intersection tests while ensuring accurate visibility determination for rendering. This approach is particularly useful in scenarios where only a portion of the scene requires detailed rendering, such as in level-of-detail (LOD) systems or frustum culling.
11. The method of claim 10 wherein said performing tiling calculations for a tile comprises, for an edge of the primitive, using an edge equation describing the edge of the primitive to determine whether an edge-specific test point in the tile is inside or outside of the edge, wherein the primitive is determined to be outside of the tile if it is determined, for any of the edges, that the respective edge-specific test point is outside of the edge, wherein the edge-specific test point in a tile for an edge is the point in the tile which is the most likely to be inside the edge in accordance with the orientation of the edge.
This invention relates to computer graphics rendering, specifically to methods for efficiently determining whether a geometric primitive (such as a triangle or polygon) intersects with a tile in a tile-based rendering system. The problem addressed is the computational cost of accurately determining primitive-tile intersections, which is critical for optimizing rendering performance in real-time graphics applications. The method involves performing tiling calculations for a tile by evaluating the position of edge-specific test points relative to the edges of the primitive. For each edge of the primitive, an edge equation is used to determine whether a predefined test point within the tile lies inside or outside the edge. The primitive is considered outside the tile if any of its edges exclude the corresponding test point. The edge-specific test point is selected as the point within the tile that is most likely to be inside the edge based on the edge's orientation, ensuring efficient and accurate exclusion of primitives that do not intersect the tile. This approach reduces unnecessary computations by quickly identifying non-intersecting primitives, improving rendering efficiency in tile-based graphics pipelines. The method is particularly useful in scenarios where multiple primitives must be tested against a tile, such as in rasterization or visibility determination stages of graphics processing.
12. The method of claim 9 wherein, for each of one or more of the tiles of the subset, said performing a tiling test comprises determining that the primitive has one or more vertices within the tile.
This invention relates to computer graphics rendering, specifically to optimizing the process of determining which graphical primitives (e.g., triangles, polygons) intersect with tiles in a scene for efficient rendering. The problem addressed is the computational overhead in determining which primitives fall within specific tiles during rasterization, which can slow down rendering performance. The method involves selecting a subset of tiles from a larger set of tiles in a scene. For each tile in this subset, the method tests whether a graphical primitive (e.g., a triangle) intersects with the tile. The test involves checking if the primitive has one or more vertices within the tile. If the vertices are inside the tile, the primitive is considered to intersect with the tile, and further processing (e.g., rasterization) can proceed. This approach reduces unnecessary computations by quickly identifying relevant primitives for each tile, improving rendering efficiency. The method may be applied iteratively or in parallel for multiple tiles, and the subset of tiles can be dynamically adjusted based on scene complexity or other factors. The technique is particularly useful in real-time rendering applications where performance is critical, such as in video games or virtual reality systems. By minimizing the number of primitives tested against each tile, the method enhances rendering speed without sacrificing accuracy.
13. 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.
This invention relates to computer graphics and rendering optimization, specifically improving the efficiency of rendering scenes by reducing unnecessary computations. The problem addressed is the computational overhead in graphics processing when rendering scenes with complex geometries, where many primitives (e.g., triangles, polygons) do not contribute to the final image due to being outside the visible region or occluded. The invention optimizes rendering by determining which primitives need to be processed based on their spatial relationship with the visible region, defined by a bounding box. The method involves analyzing the spatial relationship between primitives and the bounding box to exclude primitives that do not overlap with it. This exclusion step prevents unnecessary processing of primitives that lie entirely outside the visible region, thereby improving rendering performance. The bounding box represents the area of interest in the scene, such as the camera's view frustum or a region of interest for selective rendering. By filtering out non-overlapping primitives, the method reduces the number of primitives that must be processed, leading to faster rendering times and lower computational load. The invention is particularly useful in real-time rendering applications, such as video games, virtual reality, and 3D modeling, where performance optimization is critical. The method can be implemented in graphics pipelines, ray tracing algorithms, or other rendering systems to enhance efficiency. The key innovation lies in the spatial filtering technique, which dynamically excludes primitives based on their position relative to the bounding box, ensuring only relevant primitives are processed.
14. The method of claim 1 wherein the bounding box is clipped so that it does not extend beyond the edges of the rendering space.
This invention relates to computer graphics and image processing, specifically to techniques for managing bounding boxes within a rendering space. The problem addressed is the potential for bounding boxes, which define regions of interest in an image or scene, to extend beyond the visible or valid rendering area, leading to inefficiencies or errors in rendering or processing. The method involves adjusting a bounding box so that it does not extend beyond the edges of the rendering space. This ensures that the bounding box remains within the valid boundaries of the rendering area, preventing issues such as unnecessary computations or incorrect visual representations. The adjustment process may involve truncating or resizing the bounding box to fit within the rendering space while preserving its core function of defining a region of interest. The bounding box is initially defined to enclose a specific area within the rendering space, which may contain objects, textures, or other graphical elements. The method detects if any part of the bounding box exceeds the rendering space boundaries and modifies it to ensure it lies entirely within those boundaries. This adjustment can be applied dynamically during rendering or preprocessing stages to optimize performance and accuracy. The technique is particularly useful in applications where precise spatial constraints are required, such as in real-time rendering, virtual reality, or augmented reality systems, where maintaining accurate and efficient rendering is critical. By ensuring the bounding box remains within the rendering space, the method improves computational efficiency and prevents visual artifacts.
15. 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.
This invention relates to computer graphics rendering, specifically to optimizing the generation of display lists for tiling-based rendering systems. The problem addressed is efficiently determining which graphical primitives (e.g., triangles, lines) belong to specific screen tiles to minimize rendering overhead. Traditional methods often process all primitives for every tile, leading to unnecessary computations. The method involves analyzing graphical primitives to determine their spatial location relative to screen tiles. For each primitive, if it is determined that the primitive intersects or lies within a particular tile, a primitive identifier is added to that tile's display list. This ensures only relevant primitives are processed for each tile, improving rendering efficiency. The display list for each tile contains identifiers of all primitives that must be rendered for that tile, allowing the rendering pipeline to quickly access the necessary data without redundant checks. The method may also include pre-processing steps to classify primitives by their spatial properties, such as bounding box checks or hierarchical spatial partitioning, to accelerate the determination of tile membership. This approach reduces memory bandwidth and computational overhead by avoiding the processing of irrelevant primitives for each tile. The technique is particularly useful in real-time rendering applications where performance is critical, such as video games or virtual reality systems.
16. 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; analyse the bounding box; in dependence on and subsequent to said analysis, implement either a first tiling method or a second tiling method to determine data indicating which of the tiles of the rendering space the primitive is in, wherein: the first tiling method comprises using tiling results in respect of the primitive for two or more tiles of a subset of the tiles of the rendering space to infer tiling results used to determine whether or not the primitive is in at least one other tile; and the second tiling method comprises: (i) for each of at least one tile boundary between lines of tiles in the bounding box, determining intersection points of the tile boundary with edges of the primitive, and (ii) using the determined intersection points to determine which of the tiles in the bounding box the primitive is in; and a rendering unit configured to render the primitive in accordance with the data indicating which of the tiles of the rendering space the primitive is in.
This invention relates to graphics processing systems, specifically improving the efficiency of tiling primitives in a rendering space. The problem addressed is the computational overhead in determining which tiles a primitive (e.g., a polygon or line) intersects, which is critical for rendering optimization but can be resource-intensive. The system includes a tiling unit that processes primitives by first determining a bounding box around the primitive. The tiling unit then analyzes this bounding box to decide between two tiling methods. The first method uses inferred tiling results from a subset of tiles to determine the primitive's presence in other tiles, reducing redundant calculations. The second method involves analyzing tile boundaries within the bounding box, calculating intersection points between the primitive's edges and these boundaries, and using these points to precisely determine which tiles the primitive intersects. The system also includes a rendering unit that uses the tiling data to render the primitive efficiently. This approach optimizes tiling by dynamically selecting between methods based on the primitive's characteristics, balancing accuracy and computational efficiency. The first method is faster for primitives that span multiple tiles, while the second method provides precise tiling for complex boundaries. The invention improves rendering performance by minimizing unnecessary calculations while ensuring accurate tile coverage.
17. The graphics processing system of claim 16 wherein the tiling unit is configured to analyse the dimensions of the bounding box.
A graphics processing system is designed to optimize rendering performance by efficiently managing memory access and data organization. The system includes a tiling unit that processes graphical data by dividing it into smaller, manageable sections called tiles. These tiles are used to improve rendering efficiency, particularly in scenarios involving complex scenes or high-resolution displays. The tiling unit is configured to analyze the dimensions of a bounding box, which defines the spatial extent of graphical elements or objects within a scene. By examining these dimensions, the tiling unit can determine the optimal tiling strategy, ensuring that data is organized in a way that minimizes memory access latency and maximizes rendering throughput. This analysis helps in dynamically adjusting the tiling process based on the size and shape of the bounding box, allowing for more efficient memory usage and faster rendering times. The system may also include additional components, such as a memory controller and a rendering pipeline, which work in conjunction with the tiling unit to further enhance performance. The overall goal is to reduce the computational overhead associated with rendering large or complex scenes while maintaining high visual quality.
18. The graphics processing system of claim 16 wherein in the first tiling method, said at least one other tile: (i) is not one of the tiles of said subset, and (ii) is located within a region whose boundaries are at least partially defined by said two or more of the tiles of the subset.
19. The graphics processing system of claim 16 wherein the second tiling method comprises: determining that the 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 the lines of tiles are columns of tiles if there are fewer columns of tiles than rows of tiles in the bounding box.
A graphics processing system optimizes rendering performance by dynamically selecting a tiling method based on the spatial characteristics of a bounding box in a scene. The system divides the bounding box into a grid of tiles, where each tile represents a portion of the scene to be processed. The tiling method determines how these tiles are organized and traversed during rendering. In one approach, the system evaluates the dimensions of the bounding box to decide whether to tile the scene in rows or columns. If the bounding box has fewer rows of tiles than columns, the system treats the lines of tiles as rows. Conversely, if the bounding box has fewer columns of tiles than rows, the system treats the lines of tiles as columns. This adaptive tiling method improves efficiency by aligning the traversal direction with the more compact dimension of the bounding box, reducing memory access latency and enhancing rendering speed. The system may also include additional features such as dynamic adjustment of tile size based on scene complexity or hardware capabilities, further optimizing performance. The overall goal is to minimize rendering overhead while maintaining visual quality.
20. A non-transitory computer readable storage medium having stored thereon computer readable code for generating a graphics processing system, wherein the graphics processing system comprises: 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; analyse the bounding box; in dependence on and subsequent to said analysis, implement either a first tiling method or a second tiling method to determine data indicating which of the tiles of the rendering space the primitive is in, wherein: the first tiling method comprises using tiling results in respect of the primitive for two or more tiles of a subset of the tiles of the rendering space to infer tiling results used to determine whether or not the primitive is in at least one other tile; and the second tiling method comprises: (i) for each of at least one tile boundary between lines of tiles in the bounding box, determining intersection points of the tile boundary with edges of the primitive, and (ii) using the determined intersection points to determine which of the tiles in the bounding box the primitive is in; and a rendering unit configured to render the primitive in accordance with the data indicating which of the tiles of the rendering space the primitive is in.
This invention relates to graphics processing systems, specifically improving the efficiency of tiling primitives in a rendering space. The problem addressed is the computational overhead in determining which tiles a primitive (e.g., a polygon or line) intersects, which is critical for rendering optimization. The system includes a tiling unit and a rendering unit. The tiling unit first determines a bounding box for the primitive, then analyzes it to select between two tiling methods. The first method uses inferred tiling results from a subset of tiles to determine coverage in other tiles, reducing redundant calculations. The second method calculates intersection points between the primitive's edges and tile boundaries within the bounding box, then uses these points to determine tile coverage. The rendering unit then renders the primitive based on the tiling data. This approach optimizes performance by dynamically choosing the most efficient tiling strategy based on the primitive's characteristics.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
July 15, 2020
February 22, 2022
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.