IP Library Granted Patent US 9,274,766
Granted Patent B2
US 9,274,766 · App. 13/715,653 · Granted Mar 1, 2016

Treatment of layer tree as video

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,274,766
App. No.
13/715,653
Granted
Mar 1, 2016
Kind
B2
Abstract

In one embodiment, a computing device renders as a first frame of a video a graphical user interface (GUI) of a software application on the computing device based on a multi-layered-tree representation of the GUI. The computing device modifies the multi-layered-tree representation of the GUI in response to an input or output associated with the GUI. The computing device also renders as a second frame of the video of the GUI based on the multi-layered-tree representation of the GUI as modified.

Claims (40)

1. A method comprising:

by a computing device, rendering, as a first frame of a video in a video compression format, a graphical user interface (GUI) of a software application on the computing device based on a multi-layered-tree representation of the GUI;

by the computing device, modifying the multi-layered-tree representation of the GUI in response to an input or output event associated with one or more content items of the GUI, wherein the modifying comprises modifying a transformation of a structural layer of the multi-layered-tree representation, wherein the structural layer contains a content layer that represents the content items;

calculating a placement of each of the content items in the content layer by traversing a multi-layer tree from the root layer to the content layer and by multiplying a transformation of the content layer by the modified transformation of the structural layer; and

by the computing device, rendering, as a second frame of the video in the video compression format, the GUI based on the multi-layered-tree representation of the GUI as modified.

2. The method of claim 1 , wherein the modifying the multi-layered-tree representation comprises:

adding a layer to the multi-layered-tree representation; or

removing a layer of the multi-layered-representation.

3. The method of claim 1 , wherein the input or output event associated with the GUI comprises a user input provided through the GUI.

4. The method of claim 1 , wherein the software application is an event-driven software application.

5. The method of claim 1 , wherein the first and second frames are rendered as frames of a MPEG-4 video.

6. The method of claim 1 , wherein a root of the multi-layered-tree representation of the GUI of the software application is a child of a multi-layered-tree representation associated with a window manager of the computing device.

7. The method of claim 1 , wherein each of a plurality of GUIs of a plurality of software applications on the computing device has a multi-layered-tree representation with a root that is a child of the multi-layered-tree representation associated with a window manager.

8. One or more computer-readable non-transitory storage media embodying software that is operable when executed by a computing device to:

render, as a first frame of a video in a video compression format, a graphical user interface (GUI) of a software application on the computing device based on a multi-layered-tree representation of the GUI;

modify the multi-layered-tree representation of the GUI in response to an input or output event associated with one or more content items of the GUI, wherein the modifying comprises modifying a transformation of a structural layer of the multi-layered-tree representation, wherein the structural layer contains a content layer that represents the content items;

calculate a placement of each of the content items in the content layer by traversing a multi-layer tree from the root layer to the content layer and by multiplying a transformation of the content layer by the modified transformation of the structural layer; and

render, as a second frame of the video in the video compression format, the GUI based on the multi-layered-tree representation of the GUI as modified.

9. The media of claim 8 , wherein, to modify the multi-layered-tree representation, the software is operable when executed by the computing device to:

add a layer to the multi-layered-tree representation; or

remove a layer of the multi-layered-representation.

10. The media of claim 8 , wherein the input or output event associated with the GUI comprises a user input provided through the GUI.

11. The media of claim 8 , wherein the software application is an event-driven software application.

12. The media of claim 8 , wherein the first and second frames are rendered as frames of a MPEG-4 video.

13. The media of claim 8 , wherein a root of the multi-layered-tree representation of the GUI of the software application is a child of a multi-layered-tree representation associated with a window manager of the computing device.

14. The media of claim 8 , wherein each of a plurality of GUIs of a plurality of software applications on the computing device has a multi-layered-tree representation with a root that is a child of the multi-layered-tree representation associated with a window manager.

15. A device comprising:

one or more processors; and

a memory coupled to the processors comprising instructions executable by the processors, the processors being operable when executing the instructions to:

render, as a first frame of a video in a video compression format, a graphical user interface (GUI) of a software application on the computing device based on a multi-layered-tree representation of the GUI;

modify the multi-layered-tree representation of the GUI in response to an input or output event associated with one or more content items of the GUI, wherein the modifying comprises modifying a transformation of a structural layer of the multi-layered-tree representation, wherein the structural layer contains a content layer that represents the content items;

calculate a placement of each of the content items in the content layer by traversing a multi-layer tree from the root layer to the content layer and by multiplying a transformation of the content layer by the modified transformation of the structural layer; and

render, as a second frame of the video in the video compression format, the GUI based on the multi-layered-tree representation of the GUI as modified.

16. The device of claim 15 , wherein, to modify the multi-layered-tree representation, the processors are operable when executing the instructions to:

add a layer to the multi-layered-tree representation; or

remove a layer of the multi-layered-representation.

17. The device of claim 15 , wherein the input or output event associated with the GUI comprises a user input provided through the GUI.

18. The device of claim 15 , wherein the software application is an event-driven software application.

19. The device of claim 15 , wherein the first and second frames are rendered as frames of a MPEG-4 video.

20. The device of claim 15 , wherein a root of the multi-layered-tree representation of the GUI of the software application is a child of a multi-layered-tree representation associated with a window manager of the computing device.

Assignments (2)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2013
From: ARNOLD, ROBERT DOUGLAS
To: FACEBOOK, INC.
Reel/Frame 029722/0537 →