Script based video rendering
First Claim
1. A method executed by a computer system for rendering video content embodied by encoded video data received by a user-computing platform that is one type of a plurality of different user-computing platform types, the method comprising:
- transmitting a script to the user-computing platform, the script configured to be interpreted by an application program operating on any one of the plurality of user-computing platform types and further configured to cause the script to be interpreted by the application program to simulate a multi-threaded execution environment by;
iteratively scheduling and performing a first simulated thread which comprises decoding the encoded video data into decoded video data comprising one or more frame images; and
iteratively scheduling and performing a second simulated thread which comprises rendering the decoded video data by displaying the one or more frame images;
wherein performing the first simulated thread comprises;
dividing the first simulated thread into a plurality of sub-components;
between the performance of pairs of sub-components, making one or more logical inquiries into one or more corresponding conditions and, in dependence on the one or more corresponding conditions, temporarily interrupting the first simulated thread to select and perform an iteration of one of;
the second simulated thread; and
another simulated thread which involves implementing an audio renderer interface which provides decoded audio data to an audio renderer for playing back the decoded audio data.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are provided for cross-platform rendering of video content on a user-computing platform that is one type of a plurality of different user-computing platform types. A script is transmitted to the user-computing platform and is interpreted by an application program compiled to operate on any one of the plurality of user-computing platform types. The script is configured to cause the script to be interpreted by the application program to simulate a multi-threaded execution environment by: iteratively scheduling and performing a first simulated thread which involves decoding encoded video data received by the user-computing platform into decoded video data comprising one or more frame images; and iteratively scheduling and performing a second simulated thread which involves rendering the decoded video data by displaying the one or more frame images.
59 Citations
44 Claims
-
1. A method executed by a computer system for rendering video content embodied by encoded video data received by a user-computing platform that is one type of a plurality of different user-computing platform types, the method comprising:
-
transmitting a script to the user-computing platform, the script configured to be interpreted by an application program operating on any one of the plurality of user-computing platform types and further configured to cause the script to be interpreted by the application program to simulate a multi-threaded execution environment by; iteratively scheduling and performing a first simulated thread which comprises decoding the encoded video data into decoded video data comprising one or more frame images; and iteratively scheduling and performing a second simulated thread which comprises rendering the decoded video data by displaying the one or more frame images; wherein performing the first simulated thread comprises; dividing the first simulated thread into a plurality of sub-components; between the performance of pairs of sub-components, making one or more logical inquiries into one or more corresponding conditions and, in dependence on the one or more corresponding conditions, temporarily interrupting the first simulated thread to select and perform an iteration of one of; the second simulated thread; and another simulated thread which involves implementing an audio renderer interface which provides decoded audio data to an audio renderer for playing back the decoded audio data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A method executed by a computer system for rendering video content embodied by encoded video data received by a user-computing platform that is one type of a plurality of different user-computing platform types, the method comprising:
-
transmitting a script to the user-computing platform, the script configured to be interpreted by an application program operating on any one of the plurality of user-computing platform types and further configured to cause the script to be interpreted by the application program to simulate a multi-threaded execution environment by; iteratively scheduling and performing a first simulated thread which comprises decoding the encoded video data into decoded video data comprising one or more frame images; and iteratively scheduling and performing a second simulated thread which comprises rendering the decoded video data by displaying the one or more frame images; and transmitting the encoded video data to the user-computing platform; wherein the one or more frame images comprise a plurality of frame images, the method comprising encoding the video content into the encoded video data prior to transmitting the encoded video data to the user-computing platform and wherein encoding the video content comprises; for at least a first one of the frame images provided in a first file format; analyzing content of the first one of the frame images; selecting one among a plurality of secondary image file formats based on the analysis of the content of the first one of the frame images; and if the first file format differs from the selected one of the secondary image file formats, converting the image file format of the first one of the frame images into the selected one of the secondary file formats; and for at least a second one of the frame images provided in a second file format; analyzing content of the second one of the frame images; selecting a different one among the plurality of secondary image file formats based on the analysis of the content of the second one of the frame images; and if the second file format differs from the selected different one of the secondary image file formats, converting the image file format of the second one of the frame images into the selected different one of the secondary file formats; wherein each of the plurality of secondary image file formats is capable of being natively rendered by the application program.
-
-
40. A method executed by a computer system for rendering video content embodied by encoded video data received by a user-computing platform that is one type of a plurality of different user-computing platform types, the method comprising:
-
transmitting a script to the user-computing platform, the script configured to be interpreted by an application program operating on any one of the plurality of user-computing platform types and further configured to cause the script to be interpreted by the application program to simulate a multi-threaded execution environment by; iteratively scheduling and performing a first simulated thread which comprises decoding the encoded video data into decoded video data comprising one or more frame images; and iteratively scheduling and performing a second simulated thread which comprises rendering the decoded video data by displaying the one or more frame images; and transmitting the encoded video data to the user-computing platform; wherein the one or more frame images comprise a plurality of frame images, the method comprising encoding the video content into the encoded video data prior to transmitting the encoded video data to the user-computing platform and wherein encoding the video content comprises; for each of the frame images; encoding the frame image in a content-transfer format whereby the content-transfer encoded frame images can be passed by a script interpreter interpreting the script to the application program; and padding the content-transfer encoded frame image to a particular size with padding data unrelated to the frame image.
-
-
41. A method executed on a user-computing platform for rendering video content embodied by encoded video data received by the user-computing platform, the method comprising:
-
receiving a script at the user-computing platform, the script configured to be interpreted by an application program operating on the user-computing platform; interpreting the script using the application program on the computer platform; wherein interpreting the script simulates a multi-threaded execution environment by; iteratively scheduling and performing a first simulated thread which comprises decoding the encoded video data into decoded video data comprising one or more frame images; and iteratively scheduling and performing a second simulated thread which comprises rendering the decoded video data by displaying the one or more frame images; wherein performing the first simulated thread comprises; dividing the first simulated thread into a plurality of sub-components; between the performance of pairs of sub-components, making one or more logical inquiries into one or more corresponding conditions and, in dependence on the one or more corresponding conditions, temporarily interrupting the first simulated thread to select and perform an iteration of one of; the second simulated thread; and another simulated thread which involves implementing an audio renderer interface which provides decoded audio data to an audio renderer for playing back the decoded audio data.
-
-
42. A system for rendering video content embodied by encoded video data received by a user-computing platform that is one type of a plurality of different user-computing platform types, the system comprising:
-
a server computing device for transmitting a script to the user-computing platform, the script configured to be interpreted by an application program operating on any one of the plurality of user-computing platform types and further configured to cause the script to be interpreted by the application program to simulate a multi-threaded execution environment by; iteratively scheduling and performing a first simulated thread which comprises decoding the encoded video data into decoded video data comprising one or more frame images; and iteratively scheduling and performing a second simulated thread which comprises rendering the decoded video data by displaying the one or more frame images; wherein performing the first simulated thread comprises; dividing the first simulated thread into a plurality of sub-components; between the performance of pairs of sub-components, making one or more logical inquiries into one or more corresponding conditions and, in dependence on the one or more corresponding conditions, temporarily interrupting the first simulated thread to select and perform an iteration of one of; the second simulated thread; and
another simulated thread which involves implementing an audio renderer interface which provides decoded audio data to an audio renderer for playing back the decoded audio data.
-
-
43. A system for rendering video content embodied by encoded video data received by a user-computing platform, the system comprising a processor, the processor configured to execute an application program on the user-computing platform, the application program interpreting a cross-platform script to provide a simulated multi-threaded execution environment by:
-
iteratively scheduling and performing a first simulated thread which decodes the encoded video data into decoded video data comprising one or more frame images; and iteratively scheduling and performing a second simulated thread which renders the decoded video data by displaying the one or more frame images;
wherein performing the first simulated thread comprises;dividing the first simulated thread into a plurality of sub-components; between the performance of pairs of sub-components, making one or more logical inquiries into one or more corresponding conditions and, in dependence on the one or more corresponding conditions, temporarily interrupting the first simulated thread to select and perform an iteration of one of; the second simulated thread; and
another simulated thread which involves implementing an audio renderer interface which provides decoded audio data to an audio renderer for playing back the decoded audio data.
-
-
44. A method executed by a computer system for rendering video content embodied by encoded video data and encoded audio data received by a user-computing platform that is one type of a plurality of different user-computing platform types, the method comprising:
-
transmitting a script to the user-computing platform, the script configured to be interpreted by an application program operating on any one of the plurality of user-computing platform types and further configured to cause the script to be interpreted by the application program to simulate a multi-threaded execution environment by iteratively scheduling and performing a method which, on each iteration makes one or more logical inquiries into one or more corresponding conditions and, in dependence on the one or more of the corresponding conditions, selects and performs one of; a first simulated thread which comprises directly decoding the encoded video data into decoded video data comprising one or more the frame images; a second simulated thread which comprises rendering the decoded video data by displaying the one or more frame images; a third simulated thread which comprises directly decoding the encoded audio data into decoded audio data; and a fourth simulated thread which comprises implementing an audio renderer interface which provides the decoded audio data to an audio renderer; wherein performing the first simulated thread comprises; dividing the first simulated thread into a plurality of sub-components; between the performance of pairs of sub-components, making one or more logical inquiries into one or more corresponding conditions and, in dependence on the one or more corresponding conditions, temporarily interrupting the first simulated thread to select and perform an iteration of one of; the second simulated thread; and
another simulated thread which involves implementing an audio renderer interface which provides decoded audio data to an audio renderer for playing back the decoded audio data.
-
Specification