GB2530103A - Rendering geometric shapes - Google Patents

Rendering geometric shapes Download PDF

Info

Publication number
GB2530103A
GB2530103A GB1416275.4A GB201416275A GB2530103A GB 2530103 A GB2530103 A GB 2530103A GB 201416275 A GB201416275 A GB 201416275A GB 2530103 A GB2530103 A GB 2530103A
Authority
GB
United Kingdom
Prior art keywords
information
geometric
pattern
geometric shapes
patterns
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB1416275.4A
Other versions
GB201416275D0 (en
GB2530103B (en
Inventor
Francisco Alpalhao De Matos Bandeira Dos Santos
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority to GB1416275.4A priority Critical patent/GB2530103B/en
Publication of GB201416275D0 publication Critical patent/GB201416275D0/en
Priority to KR1020150099218A priority patent/KR102384873B1/en
Priority to EP15185064.1A priority patent/EP3018630A3/en
Priority to US14/854,824 priority patent/US10096140B2/en
Priority to CN201510587199.7A priority patent/CN105430470B/en
Publication of GB2530103A publication Critical patent/GB2530103A/en
Application granted granted Critical
Publication of GB2530103B publication Critical patent/GB2530103B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Image Generation (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Methods and computer systems are disclosed for generating information for use in rendering one or more geometric shapes, and for rendering geometric shapes based on the information. Information defining one or more geometric shapes e.g. texture, vertex or uniform, is analysed to identify one or more patterns, including at least one repeated pattern, among the information. Pattern information defining the one or more patterns is generated and stored, possibly as well as geometric information defining how the one or more patterns can be combined to render the one or more geometric shapes. The pattern information and geometric information are subsequently used to render the geometric shapes. The geometric information can define one or more translations to be applied to a pattern in order to render a whole or part of a geometric shape and the pattern information can be stored using lossy or lossless compression.

Description

Rendering Geometric Shapes
Technical Field
The present invention relates to rendering geometric shapes. More particularly, the present invention relates to information used when rendering one or more geometric shapes, such as texture information, vertex information and uniforms.
Background of the Invention
Graphics rendering engines, such as rasterization engines, render geometric shapes in io order to produce a two-dimensional (2D) image for display on a computer monitor, television screen, or other display device. Depending on the application, the image may be a representation of a 2D scene or a three-dimensional (3D) scene. For example, in a computer game application, a 2D representation of a 3D scene can be obtained by rendering polygons of wire frame mode's. Rendering engines can also be used in 2D i applications, for example, to render text, icons, images or other e'ements in a 2D user interface.
The appearance of a geometric shape, such as a polygon, in the rendered image is controlled by texture information, which defines a texture to be applied to the shape during rendering. As the number of shapes in a scene increases, a performance bottleneck can arise when the engine binds textures separately for each shape, resulting in a high number of rendering state changes. To address this problem, multiple smaller textures can be packaged into a single large texture, referred to as a texture atlas. Using a texture atlas offers a performance improvement since it can be faster to bind one arge texture than to bind many smafler textures as individual shapes are drawn. When textures of different sizes need to be packaged into the texture atlas, the program attempts to arrange the textures in the most efficient manner to minimise the overall size of the texture atlas.
The invention is made in this context.
Summary of the Invention
According to the present invention, there is provided a method of generating information for use in rendering one or more geometric shapes, the method comprising: identifying one or more patterns, including at least one repeated pattern, among texture information for the one or more geometric shapes; storing pattern information defining the one or more patterns; and storing geometric information defining how the one or more patterns can be combined to render the one or more geometric shapes.
The pattern information can be stored using iossy compression, and different parts of the one or more geometric shapes can be identified as a repeated pattern if the parts match to within a threshold level of accuracy.
The pattern information can be stored using lossless compression, and different parts o of the one or more geometric shapes can be identified as a repeated pattern if there is an exact match between the parts.
Identifying a repeated pattern can comprise: comparing a part of the one or more geometric shapes to a previously identified pattern; and determining that said part can be rendered using the previously identified pattern in response to said part matching a whole or part of the previous'y identified pattern.
The geometric information can define a transformation to be applied to one of the identified patterns in order to render the one or more geometric shapes.
The transformation can comprise one or more of a rotation, scaling, reflection and translation operation.
The information defining one or more geometric shapes may comprise texture information and/or vertex information. For example, the information defining one or more geometric shapes may comprise colour information, and/or distance field information, and/or curve information.
According to the prcscnt invcntion, thcrc is also providcd a method of rcndcring onc or more geometric shapes, the method comprising: accessing pattern information defining one or more patterns; accessing geometric information defining how one or more of the patterns can be combined to render the one or more geometric shapes; and rendering at least one of the one or more geometric shapes based on the pattern information and the geometric information.
The one or more geometric shapes can include a first geometric shape and a second geometric shape, and the pattern information can define a repeated pattern that is used when rendering both the first and second geometric shapes.
The geometric information can define a transformation to be applied to one of the patterns in order to render the one or more geometric shapes, and rendering the at least one geometric shape can include applying the transformation to said one of the patterns.
jo The pattern information can define a repeated pattern that is repeated within a geometric shape, and said geometric shape can be rendered by dupUcating the repeated pattern as defined in the geometric information.
The one or more geometric shapes may include one or more user interface elements.
A computer-readable medium can be arranged to store computer-executable instructions adapted to cause a computer system to perform the method.
According to the present invention, there is further provided a computer system comprising: a pattern matching algorithm arranged to identify one or more patterns, including at least one repeated pattern, among texture information for one or more geometric shapes; a memory; and a memory controller arranged to control the memory to store pattern information defining the one or more patterns, and geometric information defining how the one or more patterns can be combined to render the one or more geometric shapes.
The information defining one or more geometric shapes can comprise texture information and/or vertex information.
According to the present invention, there is further provided a computer system comprising: a memory arranged to store pattern information defining one or more patterns including at least one repeated pattern, and geometric information defining how one or more of the patterns can be combined to render one or more geometric shapes; a memory controller arranged to access the pattern information and geometric information stored in the memory; and a rendering engine arranged to render at least one of the one or more geometric shapes based on the pattern information and the geometric information. For example, the rendering engine can be a rasterization engine.
The one or more geometric shapes may include one or more user interface elements.
The computer system maybe included in a television display apparatus or a mobile communications device.
Brief Description of the Drawings
jo Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which: Figure 1 illustrates texture information for a plurality of geometric shapes, according to an embodiment of the present invention; Figures 2A to 2C illustrate a method of compressing texture information based on repeated patterns, according to an embodiment of the present invention; Figure 3 is a flowchart illustrating a method of generating information for use in rendering one or more geometric shapes, according to an embodiment of the present invention; Figure 4 is a flowchart illustrating a rendering method using the information generated in Fig. 3, according to an embodiment of the present invention; Figure 5 is a flowchart illustrating a method of generating pattern information using lossy compression, according to an embodiment of the present invention; Figure 6 is a flowchart illustrating a method of generating pattern information using lossless compression, according to an embodiment of the present invention; Figures 7A and 7B illustrate a method of rendering a geometric shape based on pattern information and geometric information, according to an embodiment of the present invention; FigureS illustrates a computer system according to an embodiment of the present invention; Figure 9 illustrates the use of paftern information and geometric information when rendering scalab'e text in a mobile device UI, according to an embodiment of the present invention; and Figure 10 illustrates the use of pattern information and geometric information when rendering icons in a television UI, according to an embodiment of the present invention.
Detailed Description
Referring now to Figs. 1 to 3, a method of compressing information defining a plurality of geometric shapes is illustrated, according to an embodiment of the present invention. The information defining the plurality of geometric shapes maybe texture information, vertex information, or uniforms, or any combination thereof, and can be provided in various formats, including but not limited to, colour texture information (e.g. bitmap), distance field information (e.g. boundary pixel distance), Adaptively Sampled Distance Field (ADF) information, and/or curve data (e.g. Bézier curves). In the present embodiment the information defining the plurality of geometric shapes jo comprises texture information.
The method can be carried out by computer program instructions executed on one or more processors, by dedicated hardware, or by a combination of hardware and software elements. The method generates information that can subsequently be used by a rendering engine to render one or more geometric shapes. The geometric shapes may include straight-sided polygons, and/or curved shapes such as circles, arcs and ellipses.
Tn some embodiments the geometric shapes are elements in a user interface, such as icons, images or text. For example, the geometric shapes may include scalable text characters for rendering text in a particular font.
Figure 1 illustrates a texture atlas 100 comprising first texture information 102 for rendering a first geometric shape, second texture information 104 for rendering a second geometric shape, third texture information io6 for rendering a third geometric shape, and fourth texture information io8 for rendering a fourth geometric shape. The texture information defines the textures that are applied to the geometric shapes during rendering, for example using a rasterization engine. As described above, in embodiments of the present invention, the texture information for each geometric shape can be provided in various forms, including but not limited to, colour texture information (c.g. bitmap), distancc field information (c.g. boundary pixel distancc), ADF information, and/or curve data (e.g. Bézier curves).
Tn Fig. 1, the texture information is formatted as a conventiona' texture atlas 100. As described above, the use of texture atlases provides a performance improvement by reducing the number of rendering state changes when drawing a large number of geometric shapes. In embodiments of the present invention, texture information is compressed by identifying repeated patterns in the texture information for one or more geometric shapes. Pattern information defining the patterns is then stored, together with geometric information defining how the patterns can be combined to render one or more geometric shapes. A method of compressing the texture information of Fig. 1 will now be described with reference to Figs. 2A, 2B, 2C and 3.
First, in step S301 of Fig. 3, one or more patterns including a repeated pattern are identified among the texture information of Fig. 1. Repeated patterns can be identified by comparing separate parts of the texture information to determine whether they match, for example by attempting to map one pait onto another part using one or more o transformations. Separate parts do not have to be identical in order to be identified as a repeated pattern. Tn embodiments of the present invention, a part of a geometric shape can be identified as a repeated pattern if it can be mapped onto another part of the same geometric shape or a different geometric shape by one or more transformations. Examp'es of transformations that can be used include a scaling operation, a rotation, a reflection, and a translation. Depending on the embodiment, parts can be identified as a repeated pattern if they have a similar texture (e.g. colour) and/or geometry.
A pattern matching algorithm can be used to identi the patterns. For example, a keypoint matching algorithm maybe used, such as a sca'e-invariant feature transform (SIFT) algorithm. Alternatively, a pattern matching algorithm can identify patterns using a brute-force approach, by se'ecting an arbitraiy part of the texture information and checking whether the selected part is a repeated pattern. In some embodiments, the pattern matching algorithm is configured to make use of the original geometric shape metadata to accelerate the pattern identification process and/or improve, the quality of matches. For example, if the metadata indicates that the geometric shapes is a circle, it may be expected that the texture will have some degree of rotational symmetly. In this example, the pattern matching algorithm cou'd attempt to identify an internafly repeated pattern within the cirde by sdecting a sector of the geometric shape as a candidate pattern, rotating the pattern, and comparing to another part of the geometric shape. If no matches are found, the algorithm could increase or decrease the angular size of the sector and try again.
The texture information of Fig. 1 can be subdivided into separate parts to identify patterns within the texture information. In the present embodiment, as shown in Fig. 2A, the texture information for each geometric shape is divided into four quadrants of equal size. However, in other embodiments the texture information for one or more geometric shapes can be divided into any number of parts, of the same size or of different sizes.
As shown in Fig. 2B, in the present example three patterns 202, 204, 206 are identified which could be used to reconstruct the origina' texture information 102, 104, 106, 108.
The pallerns include a first repeated pattern 202, a second repeated pattern 204, and a unique paftern 206. Here, a repeated pattern' refers to a pattern that occurs more than once in the one or more geometric shapes. A repeated pallern may be a pattern that is jo repeated within a single geometric shape, and/or within a plurafity of geometric shapes.
A pattern that is repeated within a sing'e geometric shape may be referred to as an internally repeated pattern. A unique pattern' refers to a pattern that only occurs once in the one or more geometric shapes. Provided that at least one repeated pattern is identified, a reduction in size of the texture information can be achieved.
After one or more patterns have been identified that can be combined to reconstnict the original texture information, then in step S3o2 pattern information is stored which defines the one or more patterns, including any repeated patterns. Depending on the application, the pattern information can be stored in volatile memory such as Random Access Memory (RAM), or non-volatile memory such as a Hard Disk Drive (HDD) or Solid State Drive (SSD). The pattern information can be stored in various formats, which may be the same format as the original texture information or maybe a different format. For example, the pattern information can be stored as colour information, distance field information, and/or curve data. In some embodiments, the pattern information can be stored as pre-rasterized polygon data, such that a rasterization engine only needs to correctly position a pattern in a scene in order to render the corresponding part of a polygon.
As shown in Fig. 2C, in the present example the first repeated pattern 202, second repeated pattern 204 and unique pattern 206 are packed into a single file, which wifl hereinafter be referred to as a pattern atlas' by analogy with a conventional texture atlas. However, in some embodiments the pattern information for each pattern maybe stored separately. Although it is more efficient to pack a plurality of patterns into a pattern atlas, a performance improvement may still be achieved even when the patterns are stored individually, depending on the evel of redundancy in the original texture information.
Next, in step 8303 geometric information is stored which defines how the patterns can be combined to render each geometric shape. As in step 8302, the geometric information can be stored in any suitable memory, which depending on the appflcation may be volatile or non-volatile. For a geometric shape which is formed from a p'urality of patterns, the geometric information can define how to correctly position the patterns in order to render the geometric shape. The geometric information can also define any transformations to be applied to a pattern before rendering the geometric shape.
Examp'es of transformation that can be applied in embodiments of the present jo invention include rotation, scaling, reflection and translation.
As described above, the geometric information defines how patterns can be combined to render one or more geometric shapes. However, combining' does not imply that the pattern information must define a plurality of patterns. Depending on the texture information, in some embodiments the pattern information may only need to define a single repeated pattern that could be combined with copies of itself. That is, a geometric shape could be rendered by dupUcating the repeated pattern, applying any transformations defined by the geometric information, and combining the resulting duplicated patterns. For example, the second geometric shape 104 and third geometric shape io6 in Fig. 1 could each be rendered using a single repeated pattern.
Although in the examp'e of Fig. 3, the pattern information is stored before storing the geometric information, the order in which these operations are performed is not critical. In other embodiments of the invention, the pattern information and geometric information may be stored at the same time, or the pattern information may be stored after storing the geometric information.
Referring now to Fig. 4, a method of rendering one or more geometric shapes is illustratcd according to an cmbodimcnt of thc prcscnt invcntion. In stcp 8401 pattcrn information defining one or more patterns is accessed, and in step 8402 geometric information defining how one or more of the patterns can be combined to render the one or more geometric shapes is accessed. Depending on the embodiment, the pattern information and geometric information may be accessed substantially simultaneously, or in any order. Then, in step 8403 at least one of the one or more geometric shapes is rendered based on the pattern information and the geometric information.
As described above, the one or more geometric shapes can be rendered in step S4o3 by combining patterns according to the geometric information, which defines how to position each pattern and any translations that should be appUed. Tn particular, the rendering process in step S4o3 can include a step of duplicating a repeated pattern in order to render one or more geometric shapes, and arranging the duplicated patterns according to the geometric information. For example, when a first geometric shape and a second geometric shape are being rendered, a repeated pattern can be used when rendering both the first and second geometric shapes. In this case, the repeated pattern is a pattern that is repeated between geometric shapes. In another example, a single jo geometric shape can be rendered by duplicating a repeated pattern based on the geometric information, as described above. Tn this case, the repeated pattern is one that is repeated within a single geometric shape, which may be referred to as an internally repeated pattern.
Referring now to Fig. 5, a method of generating pattern information using lossy compression is iflustrated, according to an embodiment of the present invention. The method includes an examp'e of a pattern matching a'gorithm that can be used to identity patterns among texture information for one or more geometric shapes, in embodiments which use lossy compression to store pattern information.
First, in step S501 texture information is obtained for one or more geometric shapes.
The texture information may be in the form of a conventiona' texture atlas including texture information for a plurality of geometric shapes, as shown in Fig. 1, or maybe obtained separately for each geometric shape.
Next, in step 502 the algorithm divides the geometric shapes into a plurality of pails, for example using a method as described above with reference to Fig. 2A. In step S5o3 one of the pails is selected, and in step S5o4 the selected pail is compared to other parts to dctcrminc whcthcr thcrc is a match. Tn thc prcscnt cmbodimcnt, pattcrn information is stored using lossy compression, meaning that some information will be lost when the pattern information is compressed. As a result, even when there is only an approximate match between separate parts of the texture information, it may still be possible for both pails to be represented by the same compressed pattern. An approximate match may be defined in terms of a threshold lev& of accuracy, and can be a match in terms of texture and/or geometry. For example, a correlation va'ue can be -10-obtained between the separate parts of the texture information, and the parts can be identified as matching if the correlation value exceeds a threshold level.
Tn step if an approximate match is found then the method proceeds to step 8506 and the matched parts are identified as a repeated pattern. On the other hand, if no match is found, then in step 8507 the selected part is identified as a unique pattern. tn step So8, it is checked whether any parts of the texture information have yet to be analysed. If there are parts remaining to be analysed, then the method returns to step 8503, selects part of the texture information that has not yet been ana'ysed, and repeats o steps 8504 to 8508. Once afi parts of the texture information have been ana'ysed, then in step 8509 the pattern information and geometric information is stored. The pattern information inchides information defining any patterns identified as a repeated pattern in step So6, and any patterns identified as a unique pattern in step 8507. Tn step 8509, the pattern information is stored using lossy compression.
Referring now to Fig. 6 a method of generating pattern information using lossless compression is iflustrated, according to an embodiment of the present invention. The method is similar in many respects to the method previously described with reference to Fig. 5, particularly with regards to steps 8601 to 8604 and 8606 to S6o8.
However, unlike the method of Fig. 5, in the present embodiment in step 8605 it is checked whether there is an exact match between the currenfly sekcted part and another part of the texture information. The selected part is only identified as a repeated pattern in step 8606 if an exact match is found. Then in step 8609, the pattern information is stored using lossless compression.
By using lossless compression and only identifying repeated patterns when an exact match is found, the method of Fig. 6 is able to accurately render the geometric shapes from thc pattcrn information and gcomctric information without any loss in quality, compared to a conventional rendering process which renders the geometric shapes directly from the texture information. At the same time, the method of Fig. 6 can reduce the amount of data required during the rendering process, by making use of redundancy of information within the original textures.
Referring now to Figs. 7A and 7B, a method of rendering a geometric shape based on pattern information and geometric information is illustrated, according to an -11 -embodiment of the present invention. In this examp'e, a geometric shape 702 is rendered based on the pattern information illustrated in Figs. 2B and 2C, including a first repeated pattern 202 and a second repeated pattern 204. As shown in Fig. 7B, the geometric information defines a series of instructions 712-1, 712-2, 712-3, 712-4 describing how the geometric shape 702 can be rendered using the first repeated pattern 202 and second repeated pattern 204.
Specifically, a first pail 702-1 of the geometric shape 702 can be rendered directly using the first repeated pattern 202, without any transformation. A second part 702-2 of the jo geometric shape 702 can be rendered by reflecting the second repeated pattern 204 in the y-axis, which in Fig. 7B is the vertical axis. A third pail 702-3 of the geometric shape 702 can be rendered by reflecting the first repeated pattern 202 in both the x-axis and the y-axis. Finally, a fourth part 702-4 of the geometric shape 702 can be rendered by reflecting the first repeated pattern 202 in the x-axis. The geometric information also defines where to position the patterns within the geometric shape 702.
Although in Fig. 7B certain transformations are defined in terms of a reflection in one or both of the x-and y-axes, the same effect could a'so be achieved through a rotation.
For example, the second part 702-2 of the geometric shape 702 could be rendered by rotating the second repeated pattern 204 through 90 degrees in the clockwise direction.
Referring now to Fig. 8, a computer system is illustrated according to an embodiment of the present invention. The computer system 800 can be used to perform any of the above-described methods, and includes a pattern matching algorithm 802 arranged to identify one or more patterns, inchiding at least one repeated pattern, among texture information for one or more geometric shapes. In some embodiments, the pattern matching algorithm 802 is implemented as software instructions executed by one or more processors in the computer system 8oo. The pattern matching algorithm 802 outputs pattern information and geometric information, as described above.
The computer system 8oo further comprises a memory 804, a memory controller 806, and a rendering engine 8o8. Depending on the embodiment, the memory 804 may be volatile memory or non-vo'atile memory, or a combination of both. The memory controller 806 can control the memory 804 to store the pattern information and geometric information generated by the pattern matching algorithm 802.
-12 -The rendering engine 808, which in the present embodiment is a rasterization engine, accesses the pattern information and geometric information stored in the memory 804 via the memory controfler 806, and renders at least one geometric shape based on the pattern information and the geometric information. For examp'e, the rendering engine may apply transformations to a plurality of patterns and position the transformed patterns within the geometric shape according to the geometric information, as described above with reference to Fig. 7B. The rendering engine 8o8 can output the final rendered image to a display 8io, which may be physically integrated with the computer system 8oo or maybe an external display device.
Although in Fig. 8 the pattern matching a'gorithm 802 and rendering engine 808 are shown as being included in the same system 8oo, in other embodiments a pattern matching algorithm and rendering engine may be provided in physically separate devices, which may each include their own separate memory and memory controfler.
Tn such embodiments, the pattern information and geometric information could be shared between the physically separate devices using any suitab'e data transmission method.
Depending on the embodiment, the pattern information and geometric information can be generated locally, in the same device at which the geometric shapes are to be rendered, or can be generated in advance at another location. For exampk, pattern information and geometric information for rendering text characters in a particular font can be generated in advance and pre-installed in a user device, such as a smartphone or tablet computer. For convenience, the pattern information and geometric information may only be pre-installed for the most common characters.
During use, if the device needs to render another character for which the rendering information is not already available, the device can generate pattern information and geometric information locafly for the new character. In this example, the device can add thc information for rcndcring thc ncw gcomctric shapc to thc prc-cxisting pattcrn information and geometric information, using texture information for the new geometric shape. To add a new geometric shape, a part or whole of the geometric shape to be added can be compared to one or more previously identified patterns, which are defined in the pre-existing pattern information. If a match is found to a whole or part of an existing pattern, then it is determined that that part of the new geometric shape can be rendered using the existing pattern, and a new pattern does not need to be added to the pattern information. In this case, an entry is added to the pre-existing -13 -geometric information to define how the new geometric shape, or part thereof, can be rendered using the existing pattern.
As described above, the invention can be applied to rendering elements in a user interface (UI) in a device. For example, in some embodiments the geometric information and pattern information can be used in the real-time rendering of scalable text. Scalable text is widely used in modern Uls, particularly when dynamic and 3D moving elements are used. Pattern information and geometric information can also be used to render other UI elements, such as icons and images.
Figure 9 illustrates the use of pattern information and geometric information when rendering scalable text in a mobile device 900 UT, according to an embodiment of the present invention. In Fig. 9, three text characters 911, 912, 913 are illustrated purely by way of an example, but it will be appreciated that the principle can be applied to render any elements within the UT 910, including icons and images. As shown in Fig. 9, a repeating pattern 920 can be identified amongst texture information for the characters 911, 912, 913.
A conventional method for rendering scalable text in a UT is to store distance field information for each character to be rendered. The memory required by the distance field information increases exponentially with the size of the text. Therefore in a conventional UI requires a compromise between quality, in terms of the visual appearance of the text, and the amount of memory used. In comparison to the conventional approach, an embodiment such as the one shown in Fig. 9 can improve the quality of real-time rendering of scalable text in a UI, by detecting repeated patterns and storing geometric information and pattern information as described above, instead of conventional texture information such as a distance field. This enables more information to be stored, and allows a bigger range of text sizes to be rendered.
Figure 10 illustrates the use of pattern information and geometric information when rendering scalab'e icons in a television 1000 UI, according to an embodiment of the present invention. In Fig. 10, bitmaps for a sca'able icon at five zoom levels 1011, 1012, 1013, 1014, 1015 are illustrated purely by way of an example, but it will be appreciated that the principle can be applied to render any elements within the UT 910, including images and text as shown in Fig. 9. In a conventional UT, a separate bitmap must be stored for each zoom level in a texture atlas. in contrast, in the embodiment shown in Fig. 10, a repeating pattern 1020 is identified amongst the texture information. In the present example, the repeated pattern is 1/4 of the size of a single icon, resulting in a 75% saving in terms of the icon graphics consumption.
Embodiments of the invention have been described in which repeated patterns are identified in texture information. However, as explained above, embodiments of the invention are not limited to use with texture information, and can be applied to any type of information which defines one or more geometric shapes, for example veitex information and/or uniforms. In some embodiments, a combination of different forms o of information maybe analysed, for example a combination of texture information, vertex information and/or uniforms.
Whilst certain embodiments of the invention have been described herein with reference to the drawings, it will be understood that many variations and modifications will be possible without departing from the scope of the invention as defined in the accompanying claims.

Claims (20)

  1. -15 -Claims 1. A method of generating information for use in rendering one or more geometric shapes, the method comprising: identifying one or more patterns, including at least one repeated pattern, among information defining one or more geometric shapes; storing pattern information defining the one or more pafterns; and storing geometric information defining how the one or more patterns can be combined to render the one or more geometric shapes.
  2. 2. The method of claim 1, wherein the pattern information is stored using lossy compression, and different parts of the one or more geometric shapes are identified as a repeated pattern if the parts match to within a threshold level of accuracy.
  3. 3. The method of claim 1, wherein the pattern information is stored using lossless compression, and different parts of the one or more geometric shapes are identified as a repeated pattern if there is an exact match between the parts.
  4. 4. The method of claim 1, 2 or 3, wherein identifying one or more patterns comprises: comparing a part of the one or more geometric shapes to a previously identified pattern; and determining that said part can be rendered using the previously identified pattern in response to said part matching a whole or part of the previously identified pattern.
  5. 5. The method of any one of the preceding claims, wherein the geometric information defines a transformation to be applied to one of the identified patterns in order to render the one or more geometric shapes.
  6. 6. The method of claim 5, wherein the transformation comprises one or more of a rotation, scaling, reflection and trans'ation operation.
  7. 7. The method of any one of the preceding claims, wherein the information defining one or more geometric shapes comprises texture information and/or vertex information.
  8. 8. The method of claim 7, wherein the information defining one or more geometric shapes comprises colour information, and/or distance field information, and/or curve information.
  9. 9. A method of rendering one or more geometric shapes, the method comprising: accessing pattern information defining one or more patterns; accessing geometric information defining how one or more of the patterns can be combined to render the one or more geometric shapes; and rendering at least one of the one or more geometric shapes based on the pattern information and the geometric information.
  10. 10. The method of claim 9, wherein the one or more geometric shapes includes a first geometric shape and a second geometric shape, and wherein the pattern information defines a repeated pattern that is used when rendering both the first and second geometric shapes.
  11. 11. The method of claim 9 or 10, wherein the geometric information defines a transformation to be applied to one of the patterns in order to render the one or more geometric shapes, and rendering the at least one geometric shape can include applying the transformation to said one of the patterns.
  12. 12. The method of claim 9, 10 or 11, wherein the pattern information defines a repeated pattern that is repeated within a geometric shape, and said geometric shape is rendered by duplicating the repeated pattern as defined in the geometric information.
  13. 13. The method of any one of the preceding claims, wherein the one or more geometric shapes include one or more user interface elements.
  14. 14. A computer-readable medium storing computer-executable instructions adapted to cause a computer system to perform the method according to any one of the preceding claims.
  15. 15. A computer system comprising: -17-a pattern matching algorithm arranged to identify one or more patterns, including at least one repeated pattern, among information defining one or more geometric shapes; a memory; and a memory controller arranged to contr& the memory to store pattern information defining the one or more patterns, and geometric information defining how the one or more patterns can be combined to render the one or more geometric shapes.
  16. 16. The computer system of claim 15, wherein the information defining one or more geometric shapes comprises texture information and/or vertex information.
  17. 17. A computer system comprising: a memory arranged to store pattern information defining one or more patterns including at least one repeated pattern, and geometric information defining how one or more of the patterns can be combined to render one or more geometric shapes; a memory controfler arranged to access the pattern information and geometric information stored in the memory; and a rendering engine arranged to render at least one of the one or more geometric shapes based on the pattern information and the geometric information.
  18. 18. The computer system of daim 17, wherein the rendering engine is a rasterization engine.
  19. 19. The computer system of any one of claims to 18, wherein the one or more geometric shapes include one or more user interface elements.
  20. 20. The computer system of any one of claims to 19, included in a television display apparatus or a mobile communications dcvicc.
GB1416275.4A 2014-09-15 2014-09-15 Rendering geometric shapes Expired - Fee Related GB2530103B (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
GB1416275.4A GB2530103B (en) 2014-09-15 2014-09-15 Rendering geometric shapes
KR1020150099218A KR102384873B1 (en) 2014-09-15 2015-07-13 Device and method for data processing
EP15185064.1A EP3018630A3 (en) 2014-09-15 2015-09-14 Display method and apparatus for rendering repeated geometric shapes
US14/854,824 US10096140B2 (en) 2014-09-15 2015-09-15 Apparatus and method for processing data
CN201510587199.7A CN105430470B (en) 2014-09-15 2015-09-15 Device and method for handling data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1416275.4A GB2530103B (en) 2014-09-15 2014-09-15 Rendering geometric shapes

Publications (3)

Publication Number Publication Date
GB201416275D0 GB201416275D0 (en) 2014-10-29
GB2530103A true GB2530103A (en) 2016-03-16
GB2530103B GB2530103B (en) 2018-10-17

Family

ID=51869622

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1416275.4A Expired - Fee Related GB2530103B (en) 2014-09-15 2014-09-15 Rendering geometric shapes

Country Status (2)

Country Link
KR (1) KR102384873B1 (en)
GB (1) GB2530103B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102507669B1 (en) * 2017-10-18 2023-03-09 삼성전자주식회사 Electronic apparatus and controlling method thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012040883A1 (en) * 2010-09-30 2012-04-05 Technicolor (China) Technology Co., Ltd. Method and apparatus for encoding geometry patterns, and method and apparatus for decoding geometry patterns
WO2014003736A1 (en) * 2012-06-27 2014-01-03 Landmark Graphics Corporation Systems and methods for creating a three-dimensional texture atlas

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7190284B1 (en) * 1994-11-16 2007-03-13 Dye Thomas A Selective lossless, lossy, or no compression of data based on address range, data type, and/or requesting agent
US20080068383A1 (en) * 2006-09-20 2008-03-20 Adobe Systems Incorporated Rendering and encoding glyphs
JP2015504559A (en) * 2011-11-25 2015-02-12 トムソン ライセンシングThomson Licensing Method and apparatus for compression of mirror symmetry based 3D model
KR20140116114A (en) * 2012-01-21 2014-10-01 톰슨 라이센싱 Method and apparatus for compressing texture information of three-dimensional (3d) models

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012040883A1 (en) * 2010-09-30 2012-04-05 Technicolor (China) Technology Co., Ltd. Method and apparatus for encoding geometry patterns, and method and apparatus for decoding geometry patterns
WO2014003736A1 (en) * 2012-06-27 2014-01-03 Landmark Graphics Corporation Systems and methods for creating a three-dimensional texture atlas

Also Published As

Publication number Publication date
KR102384873B1 (en) 2022-04-08
GB201416275D0 (en) 2014-10-29
KR20160031948A (en) 2016-03-23
GB2530103B (en) 2018-10-17

Similar Documents

Publication Publication Date Title
US10096140B2 (en) Apparatus and method for processing data
US12026798B2 (en) Variable resolution graphics processing
US11741666B2 (en) Generating synthetic images and/or training machine learning model(s) based on the synthetic images
US9811940B2 (en) Bandwidth reduction using vertex shader
US10540789B2 (en) Line stylization through graphics processor unit (GPU) textures
EP3175614A1 (en) Virtual changes to a real object
CN105550973B (en) Graphics processing unit, graphics processing system and anti-aliasing processing method
US9202148B2 (en) Image processing apparatus and method for generating stencil data of a stroke based on shape information, connection-point information, and end-point information
US8525843B2 (en) Graphic system comprising a fragment graphic module and relative rendering method
KR102477265B1 (en) Graphics processing apparatus and method for determining LOD (level of detail) for texturing of graphics pipeline thereof
GB2556634A (en) Graphics processing systems
WO2019088865A1 (en) Method and system for removing hidden surfaces from a three-dimensional scene
US11593992B2 (en) Rendering three-dimensional objects utilizing sharp tessellation
CN111937039A (en) Method and apparatus for facilitating 3D object visualization and manipulation across multiple devices
GB2530103A (en) Rendering geometric shapes
CN110490977B (en) Image processing method, system and storage medium for holographic device
KR102589969B1 (en) Graphics processing unit, graphics processing system and graphics processing method of performing interpolation in deferred shading
US10255717B2 (en) Geometry shadow maps with per-fragment atomics
US9811945B2 (en) On-demand transformation aware shape tessellation
CN116263981B (en) Graphics processor, system, apparatus, device, and method
US20240127525A1 (en) Method and system for processing graphics in tile-based rendering mode
US20240127524A1 (en) Method and system for processing graphics in tile-based rendering mode
US10089783B2 (en) Graphics processing
CN104571799B (en) Information processing method and electronic equipment
CN118229517A (en) Two-dimensional image acquisition method, device and equipment of three-dimensional model and storage medium

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20210915