Atlasing and virtual surfaces

US9324299B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9324299-B2
Application numberUS-201113229629-A
CountryUS
Kind codeB2
Filing dateSep 9, 2011
Priority dateSep 9, 2011
Publication dateApr 26, 2016
Grant dateApr 26, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Atlasing and virtual surface techniques are described. In one or more implementations, virtual surface functionality is exposed by an operating system for access by one or more applications of the computing device. A virtual surface is created in response to a request from the one or more applications to be used to render visuals for display by a display device. The virtual surface is allocated in memory of the computing device by the exposed virtual surface functionality to have an area that is larger than an area to be used to display the visuals from the one or more applications.

First claim

Opening claim text (preview).

What is claimed is: 1. A method implemented by a computing device, the method comprising: exposing virtual surface functionality and hiding atlasing functionality while exposing, via application programming interfaces, methods for updating visuals by an operating system for access by one or more applications of the computing device; creating a virtual surface in response to a request from the one or more applications to be used to render visuals for display by a display device, the virtual surface allocated in memory of the computing device by the exposed virtual surface functionality to have an area that is larger than an area to be used to display the visuals from the one or more applications; and decreasing, via the exposed atlasing functionality, a number of surfaces created for the one or more applications to be used to render the visuals for display by the display device. 2. A method as described in claim 1 , wherein: the virtual surface is configured for access by a plurality of said applications; and the virtual surface functionality includes an ability to specify an area of the virtual surface to be used by respective said application to render a visual in which that area is configured to restrict another said application from accessing the area to render visuals. 3. A method as described in claim 1 , wherein the virtual surface is comprised of a plurality of logical surfaces, each being representative of individual surfaces including respective one or more visuals as specified by the one or more applications. 4. A method as described in claim 3 , wherein the plurality of logical surfaces have a fixed size and are arranged in a fixed grid. 5. A method as described in claim 3 , wherein the virtual surface functionality includes functionality to create, update, and delete the logical surfaces. 6. A method as described in claim 1 , wherein the exposed virtual surface functionality includes functionality to break a surface of visual data received from the one or more applications into logical surfaces. 7. A method as described in claim 1 , wherein the exposed virtual surface functionality includes functionality to render one or more of the logical surfaces before a request is received to display the one or more logical surfaces. 8. A method as described in claim 1 , wherein the virtual surface, when initially created, is not backed by actual allocations from the one or more applications. 9. A method as described in claim 1 , wherein the area specified by the application is to render a texture. 10. A computing device comprising one or more modules implemented at least partially in hardware and configured to perform operations comprising: exposing virtual surface functionality and atlasing functionality by an operating system for access by a plurality of applications of the computing device; creating a virtual surface, which, when initially created, is not backed by actual allocations from the one or more applications, in response to a request from one or more of the plurality of applications to be used to render visuals for display by a display device, the virtual surface allocated in memory of the computing device by the exposed virtual surface functionality to have an area that is larger than an area to be used to display the visuals from the one or more applications, the virtual surface functionality further includes an ability to specify an area of the virtual surface to be used by respective said application to render a visual in which that area is configured to restrict another said application from accessing the area to render visuals; determining from the request whether the visuals are associated with a swap chain or an atlas surface and using a same visual tree to support the swap chain and the atlas surface; and decreasing, via the exposed atlasing functionality, a number of surfaces created for the plurality of applications to be used to render the visuals for display by the display device. 11. A computing device as described in claim 10 , wherein the virtual surface is comprised of a plurality of logical surfaces, each being representative of individual surfaces including respective one or more visuals as specified by the plurality of applications. 12. A computing device as described in claim 11 , wherein the plurality of logical surfaces have a fixed size and are arranged in a fixed grid. 13. A computing device as described in claim 11 , wherein the virtual surface functionality includes functionality to create the logical surfaces. 14. A computing device as described in claim 10 , wherein the exposed virtual surface functionality includes functionality to break a surface of visual data received from the plurality of applications into logical surfaces. 15. A computing device as described in claim 10 , wherein the exposed virtual surface functionality includes functionality to render one or more of the logical surfaces before a request is received to display the one or more logical surfaces. 16. A computing device as described in claim 10 , wherein the area specified by the application is to render a texture. 17. A computing device as described in claim 10 wherein the atlasing functionality is hidden from the plurality of applications. 18. A computing device comprising one or more modules implemented at least partially in hardware and configured to perform operations comprising: exposing virtual surface functionality and hiding atlasing functionality while exposing, via application programming interfaces, methods for updating visuals by an operating system for access by one or more applications of the computing device; creating a virtual surface in response to a request from the one or more applications to be used to render visuals for display by a display device, the virtual surface allocated in memory of the computing device by the exposed virtual surface functionality to have an area that is larger than an area to be used to display the visuals from the one or more applications; and decreasing, via the exposed atlasing functionality, a number of surfaces created for the one or more applications to be used to render the visuals for display by the display device. 19. A computing device as described in claim 18 , wherein: the virtual surface is configured for access by a plurality of said applications; and the virtual surface functionality includes an ability to specify an area of the virtual surface to be used by respective said application to render a visual in which that area is configured to restrict another said application from accessing the area to render visuals. 20. A computing device as described in claim 18 , wherein the virtual surface is comprised of a plurality of logical surfaces, each being representative of individual surfaces including respective one or more visuals as specified by the one or more applications.

Assignees

Inventors

Classifications

  • Filling planar surfaces by adding surface attributes, e.g. adding colours or textures · CPC title

  • Arrangements for updating the contents of the bit-mapped memory · CPC title

  • G09G5/14Primary

    Display of multiple viewports · CPC title

  • Arrangements specially adapted for transferring the contents of two or more bit-mapped memories to the screen simultaneously, e.g. for mixing or overlay (G09G5/02 takes precedence) · CPC title

  • Digital output to display device {; Cooperation and interconnection of the display device with other functional units} · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9324299B2 cover?
Atlasing and virtual surface techniques are described. In one or more implementations, virtual surface functionality is exposed by an operating system for access by one or more applications of the computing device. A virtual surface is created in response to a request from the one or more applications to be used to render visuals for display by a display device. The virtual surface is allocated…
Who is the assignee on this patent?
Blanco Leonardo E, Moncayo Silvana Patricia, Li Hang, and 9 more
What technology area does this patent fall under?
Primary CPC classification G09G5/14. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 26 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).