Preloading animation files in a memory of a client device
First Claim
1. A method for loading animation files into a memory of a client device, the method comprising:
- using a computer processor to perform steps, the steps comprising;
accessing a plurality of animation files, each animation file associated with a corresponding visual prominence describing how visually prominent the animation file is displayed in a display of a display device of the client device, and comprising a plurality of frames, each frame having a variable display duration;
determining rankings of the plurality of animation files based on the corresponding visual prominence of each animation file of the plurality of animation files;
selecting an animation file from the plurality of animation files based on corresponding rankings of the plurality of animation files;
displaying the selected animation file in a portion of the display device of the client device according to the corresponding visual prominence of the selected animation file;
obtaining one or more contextual features about the client device, the contextual features describing computing resources used by the client device when displaying frames of one or more animation files;
determining that the computing resources of the client device exceeds computing resources needed for displaying the selected animation file;
responsive to the determination, selecting an additional animation file from the plurality of animation files based on the corresponding rankings of the plurality of animation files; and
displaying the additional animation file in another portion of the display device.
1 Assignment
0 Petitions
Accused Products
Abstract
A digital magazine presents content items to a user including one or more animation files. An animation file includes a plurality of frames that each has a variable display duration. To improve presentation of an animation file, a number of frames of the animation file that are preloaded into a memory of the client device on which the animation file is presented is determined based on contextual features describing computing resources available to the client device and on the display duration of frames of the animation file subsequent to a currently displayed frame of the animation file. Additionally, an animation file may be selected for preloading and display from a plurality of animation files based on a ranking the animation files.
24 Citations
18 Claims
-
1. A method for loading animation files into a memory of a client device, the method comprising:
using a computer processor to perform steps, the steps comprising; accessing a plurality of animation files, each animation file associated with a corresponding visual prominence describing how visually prominent the animation file is displayed in a display of a display device of the client device, and comprising a plurality of frames, each frame having a variable display duration; determining rankings of the plurality of animation files based on the corresponding visual prominence of each animation file of the plurality of animation files; selecting an animation file from the plurality of animation files based on corresponding rankings of the plurality of animation files; displaying the selected animation file in a portion of the display device of the client device according to the corresponding visual prominence of the selected animation file; obtaining one or more contextual features about the client device, the contextual features describing computing resources used by the client device when displaying frames of one or more animation files; determining that the computing resources of the client device exceeds computing resources needed for displaying the selected animation file; responsive to the determination, selecting an additional animation file from the plurality of animation files based on the corresponding rankings of the plurality of animation files; and displaying the additional animation file in another portion of the display device.
-
2. The method of claim 1, wherein another one or more animation files from the plurality of animation files are displayed in different portions of the display device.
-
3. The method of claim 1, further comprising:
-
repeating display of the selected animation file in the portion of the display device; obtaining one or more contextual features about the display device as the selected animation file is repeatedly displayed and as the additional animation file is displayed; determining a number of frames of the selected animation file subsequent to a current frame displayed by the display device to preload into the memory based at least in part on the contextual features of the client device and a display duration associated with one or more of the frames of the selected animation file subsequent to the current frame; and determining a number of frames of the additional animation file subsequent to a current frame of the additional animation file displayed by the display device to preload into the memory based at least in part on the contextual features of the client device and a display duration associated with one or more of the frames of the additional animation file subsequent to the current frame.
-
-
4. The method of claim 1, further comprising:
for each of the selected animation file and the additional animation file, determining a number of frames subsequent to a currently displayed frame to preload into the memory from a current frame based on the contextual features of the client device and a display duration of one or more of the frames subsequent to the currently displayed frame.
-
5. The method of claim 4, further comprising:
-
obtaining one or more updated contextual features about the client device while the selected animation file and the additional animation file are displayed in the portions of the display device; and for each of the selected animation file and the additional animation file, determining a modified number of frames subsequent to the current frame to preload into the memory based at least in part on the updated contextual features of the client device and a display duration associated with one or more of the frames subsequent to the current frame.
-
-
6. The method of claim 4, wherein determining a number of frames subsequent to a currently displayed frame to preload into the memory for a selected animation file comprises considering attributes of content of the selected animation file.
-
7. The method of claim 1, wherein the plurality of frames included in each of the selected animation file and the additional animation file are arranged in the memory as a series of images to be displayed in a sequence having a temporal order, the sequence repeating when the last image in the series of images is displayed.
-
8. The method of claim 1, wherein obtaining one or more contextual features about the client device comprises obtaining at least one of the following:
- an indication of memory resources available to the client device, an indication of processing resources available to the client device, and an indication of one or more characteristics of the display device.
-
9. The method of claim 8, wherein the indication of one or more characteristics of the display device comprises at least one of the following:
- a display area of the display device, a display resolution of the display device, a size of pixels in the display area of the display device, a capability of the display device to render the animation file, and any combination thereof.
-
10. The method of claim 1, wherein determining the rankings of the plurality of animation files is based on the corresponding visual prominence of each animation file of the plurality of animation files comprises:
-
retrieving attributes of each of the plurality of animation files, an attribute describing one or more characteristics of an animation file, wherein one of the retrieved attributes corresponds to the visual prominence of the animation file; obtaining information associated with a user of the client device; determining a measure of relevance of each of the plurality of animation files to the user based at least in part on the obtained information; and determining the rankings of the animation files based at least in part on the retrieved attributes and the measures of relevance.
-
-
11. A non-transitory computer readable storage medium storing executable computer program instructions for loading animation file into a memory of a client device, the computer program instructions comprising instructions that when executed cause a computer processor to:
-
access a plurality of animation files, each animation file associated with a corresponding visual prominence describing how visually prominent the animation file is displayed in a display of a display device of the client device, and comprising a plurality of frames, each frame having a variable display duration; determine rankings of the plurality of animation files based on the corresponding visual prominence of each animation file of the plurality of animation files; select an animation file from the plurality of animation files based on corresponding rankings of the plurality of animation files; display the selected animation file in a portion of the display device of the client device according to the corresponding visual prominence of the selected animation file; obtain one or more contextual features about the client device, the contextual features describing computing resources used by the client device when displaying frames of one or more animation files; determine that the computing resources of the client device exceeds computing resources needed for displaying the selected animation file; responsive to the determination, select an additional animation file from the plurality of animation files based on the corresponding rankings of the plurality of animation files; and display the additional animation file in another portion of the display device.
-
-
12. The computer readable medium of claim 11, wherein the computer program instructions further comprise instructions that when executed cause the computer processor to:
for each of the selected animation file and the additional animation file, determine a number of frames subsequent to a currently displayed frame to preload into the memory from a current frame based on the contextual features of the client device and a display duration of one or more of the frames subsequent to the currently displayed frame.
-
13. The computer readable medium of claim 12, wherein the computer program instructions further comprise instructions that when executed cause the computer processor to:
-
obtain one or more updated contextual features about the client device while the selected animation file and the additional animation file are displayed in the portions of the display device; and for each of the selected animation file and the additional animation file, determine a modified number of frames subsequent to the current frame to preload into the memory based at least in part on the updated contextual features of the client device and a display duration associated with one or more of the frames subsequent to the current frame.
-
-
14. The method of claim 12, wherein determining a number of frames subsequent to a currently displayed frame to preload into the memory for a selected animation file comprises considering attributes of content of the selected animation file.
-
15. The computer readable medium of claim 11, wherein the plurality of frames included in each of the selected animation file and the animation additional file are arranged in the memory as a series of images to be displayed in a sequence having a temporal order, the sequence repeating when the last image in the series of images is displayed.
-
16. The computer readable medium of claim 11, wherein the computer instruction for obtaining one or more contextual features about the client device comprise instructions that when executed cause the computer processor to:
obtain at least one of the following;
an indication of memory resources available to the client device, an indication of processing resources available to the client device, and an indication of one or more characteristics of the display device.
-
17. The computer readable medium of claim 16, wherein the indication of one or more characteristics of the display device comprises at least one of the following:
- a display area of the display device, a display resolution of the display device, a size of pixels in the display area of the display device, and a capability of the display device to render the animation file.
-
18. The computer readable medium of claim 11, wherein the computer instruction for determining rankings of the plurality of animation files based on the corresponding visual prominence of each animation file of the plurality of animation files comprise instructions that when executed cause the computer processor to:
-
retrieving attributes of each of the plurality of animation files, an attribute describing one or more characteristics of an animation file, wherein one of the retrieved attributes corresponds to the visual prominence of an animation file; obtaining information associated with a user of the client device; determining a measure of relevance of each of the plurality of animation files to the user based at least in part on the obtained information; and determining the corresponding rankings of the animation files based at least in part on the retrieved attributes and the measures of relevance.
-
Specification