Script-based video rendering using alpha-blended images
First Claim
1. A method performed by a computer system for rendering video content on 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;
wherein transmitting the script causes the script to be interpreted by the application program operating on the user-computing platform to cause the interpreted script to directly decode encoded video data accessible to the user-computing platform into decoded video data comprising one or more frame images;
wherein transmitting the script causes the script to be interpreted by the application program to cause the interpreted script to directly decode encoded audio data accessible to the user-computing platform into decoded audio data;
wherein transmitting the script causes the script to be interpreted by the application program to;
natively render the decoded video data by displaying the one or more frame images on the user-computing platform; and
natively render the decoded audio data by playing back the decoded audio data;
wherein rendering the video data by displaying the one or more frame images comprises, at each of one or more times between displaying a first one of the frame images and displaying a second one of the frame images, displaying an alpha-blended image comprising an alpha-blend of the first one of the frame images and the second one of the frame images;
at each of the one or more times between displaying the first one of the frame images and displaying the second one of the frame images, displaying the alpha-blended image comprises alpha-blending the second one of the frame images onto a preceding displayed image using an alpha-blending coefficient α
provided by;
α
=[β
+1−
mod(f#,β
)]−
1 where;
β
is a down-sampling factor equal to a number of the one or more times +1;
f# is an index referring to a number of a current one of the one or more times; and
mod(x,y) is a modulo operator which returns the whole number remainder of x divided by y.
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. Transmitting the script causes the script to be interpreted by the application program operating on the user-computing platform to cause the interpreted script to directly decode encoded video data transmitted or otherwise accessible to the user-computing platform into decoded video data and to further cause the rendering of the decoded video data.
-
Citations
40 Claims
-
1. A method performed by a computer system for rendering video content on 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; wherein transmitting the script causes the script to be interpreted by the application program operating on the user-computing platform to cause the interpreted script to directly decode encoded video data accessible to the user-computing platform into decoded video data comprising one or more frame images; wherein transmitting the script causes the script to be interpreted by the application program to cause the interpreted script to directly decode encoded audio data accessible to the user-computing platform into decoded audio data; wherein transmitting the script causes the script to be interpreted by the application program to;
natively render the decoded video data by displaying the one or more frame images on the user-computing platform; and
natively render the decoded audio data by playing back the decoded audio data;wherein rendering the video data by displaying the one or more frame images comprises, at each of one or more times between displaying a first one of the frame images and displaying a second one of the frame images, displaying an alpha-blended image comprising an alpha-blend of the first one of the frame images and the second one of the frame images; at each of the one or more times between displaying the first one of the frame images and displaying the second one of the frame images, displaying the alpha-blended image comprises alpha-blending the second one of the frame images onto a preceding displayed image using an alpha-blending coefficient α
provided by;
α
=[β
+1−
mod(f#,β
)]−
1where; β
is a down-sampling factor equal to a number of the one or more times +1;f# is an index referring to a number of a current one of the one or more times; and mod(x,y) is a modulo operator which returns the whole number remainder of x divided by y. - 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)
wherein each of the plurality of secondary image file formats is capable of being natively rendered by the application program.
-
-
23. A method according to claim 20 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:
- encoding at least one of the frame images 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.
-
24. A method according to claim 20 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 plurality of 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.
- for each of the plurality of frame images;
-
25. A method according to claim 20 comprising encoding video content into the encoded video data prior to transmitting the encoded video data to the user-computing platform and wherein encoding the encoded video data comprises:
- encoding at least one of the frame images in a base64 content-transfer format.
-
26. A method according to claim 1 wherein transmitting the script causes the script to be interpreted by the application program to cause the interpreted script to directly convert at least one of the frame images into a content-transfer format, the content-transfer format capable of being passed by a script interpreter interpreting the script to the application program.
-
27. A method according to claim 1 wherein transmitting the script causes the script to be interpreted by the application program to cause the interpreted script to directly convert at least one of the frame images into a base64 content-transfer format.
-
28. A method according to claim 1 wherein transmitting the script causes the script to be interpreted by the application program to natively convert at least one of the frame images into a corresponding image object capable of being natively rendered by the application program.
-
29. A method according to claim 1 wherein the application program comprises an internet browser.
-
30. A method according to claim 1 wherein the script is embedded in a HTML document.
-
31. A method according to claim 1 wherein the one or more frame images comprise a plurality of frame images and wherein transmitting the script causes the script to be interpreted by the application program to:
- render the audio data by playing back the decoded audio data; and
render the video data by selecting a subset of the plurality of frame images and displaying the selected subset of the plurality of frame images.
- render the audio data by playing back the decoded audio data; and
-
32. A method according to claim 1 wherein transmitting the script causes the script to be interpreted by the application program to query one or more characteristics of the user-computing platform and to change a file comprising the encoded video data accessible to the user-computing platform in dependence on the one or more queried characteristics of the user-computing platform.
-
33. A method according to claim 1 wherein transmitting the script causes the script to be interpreted by the application program to query one or more characteristics of the user-computing platform and, in dependence on the one or more queried characteristics of the user-computing platform, to modify at least one characteristic of one or more of:
- the decoding of the encoded video data and the displaying of the one or more frame images.
-
34. A method according to claim 1 wherein transmitting the script causes the script to be interpreted by the application program to determine a data rate at which the encoded video data is transmitted to the user-computing platform and to change a file comprising the encoded video data transmitted to the user-computing platform in dependence on the determination.
-
35. A method according to claim 1 wherein transmitting the script causes the script to be interpreted by the application program to determine a data rate at which the encoded video data is transmitted to the user-computing platform and, in dependence on the determination, to modify at least one characteristic of one or more of:
- the decoding of the encoded video data and the displaying of the frame images.
-
36. A computer system comprising one or more computers operatively connected using a data communications network adapted to perform the method of claim 1.
-
37. A non-transitory computer-readable medium comprising computer executable code that, when executed by a computer system comprising one computer or a plurality of computers operatively connected using a data communications network, causes the computer system to perform the methods of claim 1.
-
38. A method executed on a user-computing platform for rendering video content, 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 causes the interpreted script to directly decode encoded video data accessible to the user-computing platform into decoded video data comprising one or more frame images; wherein interpreting the script causes the interpreted script to directly decode encoded audio data accessible to the user-computing platform into decoded audio data; wherein interpreting the script causes the interpreted script to;
natively render the decoded video data by displaying the one or more frame images on the user-computing platform; and
natively render the decoded audio data by playing back the decoded audio data;wherein rendering the video data by displaying one or more frame images comprises, at each of one or more times between displaying a first one of the frame images and displaying a second one of the frame images, displaying an alpha-blended image comprising an alpha-blend of the first one of the frame images and the second one of the frame images; and at each of the one or more times between displaying the first one of the frame images and displaying the second one of the frame images, displaying the alpha-blended image comprises alpha-blending the second one of the frame images onto a preceding displayed image using an alpha-blending coefficient α
provided by;
α
=[β
+1−
mod(f#,β
)]−
1where; β
is a down-sampling factor equal to a number of the one or more times +1;f# is an index referring to a number of a current one of the one or more times; and mod(x,y) is a modulo operator which returns the whole number remainder of x divided by y.
-
-
39. A system for rendering video content on 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 compiled to operate on any one of the plurality of user-computing platform types; and wherein transmitting the script causes the script to be interpreted by the application program operating on the user-computing platform to cause the interpreted script to directly decode encoded video data accessible to the user-computing platform into decoded video data comprising one or more frame images; wherein the transmitted script causes the script to be interpreted by the application program to cause the interpreted script to directly decode encoded audio data accessible to the user-computing platform into decoded audio data; wherein the transmitted script causes the script to be interpreted by the application program to;
natively render the decoded video data by displaying the one or more frame images on the user-computing platform; and
natively render the decoded audio data by playing back the decoded audio data;wherein rendering the video data by displaying the one or more frame images comprises, at each of one or more times between displaying a first one of the frame images and displaying a second one of the frame images, displaying an alpha-blended image comprising an alpha-blend of the first one of the frame images and the second one of the frame images; and at each of the one or more times between displaying the first one of the frame images and displaying the second one of the frame images, displaying the alpha-blended image comprises alpha-blending the second one of the frame images onto a preceding displayed image using an alpha-blending coefficient α
provided by;
α
=[β
+1−
mod(f#,β
)]−
1where; β
is a down-sampling factor equal to a number of the one or more times +1;f# is an index referring to a number of a current one of the one or more times; and mod(x,y) is a modulo operator which returns the whole number remainder of x divided by y.
-
-
40. A system for rendering video content on a user-computer platform, the system comprising a processor configured to provide:
-
a decoding element for decoding encoded video data accessible to the user-computing platform into decoded video data comprising one or more frame images; and wherein the processor is configured to provide the decoding element by executing an application program on the user-computing platform, the application program interpreting a cross-platform script which causes the interpreted script to directly decode the video data; the application program interpreting the script to cause the interpreted script to directly decode encoded audio data accessible to the user-computing platform into decoded audio data; the application program interpreting the script to;
natively render the decoded video data by displaying the one or more frame images on the user-computing platform; and
natively render the decoded audio data by playing back the decoded audio data;wherein rendering the video data by displaying the one or more frame images comprises, at each of one or more times between displaying a first one of the frame images and displaying a second one of the frame images, displaying an alpha-blended image comprising an alpha-blend of the first one of the frame images and the second one of the frame images; and at each of the one or more times between displaying the first one of the frame images and displaying the second one of the frame images, displaying the alpha-blended image comprises alpha-blending the second one of the frame images onto a preceding displayed image using an alpha-blending coefficient α
provided by;
α
=[β
+1−
mod(f#,β
)]−
1where; β
is a down-sampling factor equal to a number of the one or more times +1;f# is an index referring to a number of a current one of the one or more times; and mod(x,y) is a modulo operator which returns the whole number remainder of x divided by y.
-
Specification