Temporary decoder apparatus and method
First Claim
1. A computer-implemented method for streaming video from a server to a client, the server being part of a hosting service and the client being one of a plurality of clients that are provided with access to the hosting service, comprising:
- receiving at the server a request for video content from the client during a session, wherein the video content changes interactively based on user input received at the server from the client;
in response to the request, determining, by the server, a configuration of the client based on information received from the client;
selecting, by the server, a temporary decoder based on the configuration of the client;
transmitting, by the server, the temporary decoder to the client for use by the client, the temporary decoder configured to decode both I-frames and P-frames, the server configured to receive verification of receipt of the temporary decoder by the client;
encoding and streaming, after the verification, the requested video content from the server to the client, the video content being encoded based on capabilities of the temporary decoder, the encoded video content configured to be decoded by the temporary decoder and rendered on the client, wherein encoding of the requested video content is performed to achieve a data communication latency of less than or equal to a specified maximum value, the data communication latency measured from initiation of transmission of the user input from the client to the server and rendering of the video content corresponding to the user input on the client, wherein a next frame of the requested video content is encoded as an I-frame when the data communication latency is less than a latency threshold value, wherein the next frame of the requested video content is encoded as a P-frame when the data communication latency is greater than or equal to the latency threshold value, wherein the latency threshold value is less than the specified maximum value;
detecting that the client has ended the session with the server; and
in response to detecting that the client has ended the session, sending instructions to the client to disable the temporary decoder at the client.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer-implemented system and method for streaming video from a server to a client are described. For example, a method according to one embodiment comprises: receiving at the server a request for video content from the client; in response to the request, determining the hardware/software configuration of the client; generating and/or selecting a temporary decoder based on the hardware/software configuration of the client; transmitting the temporary decoder to the client, the client installing the temporary decoder; encoding and streaming the requested video content from the server to the client, the video content being encoded based on the capabilities of the temporary decoder, the video content being decoded by the temporary decoder and rendered on the client; detecting that the client has ended the session with the server; and in response to detecting that the client has ended the session, temporarily disabling and/or removing the temporary decoder from the client.
7 Citations
20 Claims
-
1. A computer-implemented method for streaming video from a server to a client, the server being part of a hosting service and the client being one of a plurality of clients that are provided with access to the hosting service, comprising:
-
receiving at the server a request for video content from the client during a session, wherein the video content changes interactively based on user input received at the server from the client; in response to the request, determining, by the server, a configuration of the client based on information received from the client; selecting, by the server, a temporary decoder based on the configuration of the client; transmitting, by the server, the temporary decoder to the client for use by the client, the temporary decoder configured to decode both I-frames and P-frames, the server configured to receive verification of receipt of the temporary decoder by the client; encoding and streaming, after the verification, the requested video content from the server to the client, the video content being encoded based on capabilities of the temporary decoder, the encoded video content configured to be decoded by the temporary decoder and rendered on the client, wherein encoding of the requested video content is performed to achieve a data communication latency of less than or equal to a specified maximum value, the data communication latency measured from initiation of transmission of the user input from the client to the server and rendering of the video content corresponding to the user input on the client, wherein a next frame of the requested video content is encoded as an I-frame when the data communication latency is less than a latency threshold value, wherein the next frame of the requested video content is encoded as a P-frame when the data communication latency is greater than or equal to the latency threshold value, wherein the latency threshold value is less than the specified maximum value; detecting that the client has ended the session with the server; and in response to detecting that the client has ended the session, sending instructions to the client to disable the temporary decoder at the client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A hosting service configured for streaming video from a server to a client, the server being part of the hosting service and the client being one of a plurality of clients that are provided with access to the hosting service, comprising:
-
a hosting service downloader application of the hosting service configured to receive a request for video content during a session, wherein the video content changes interactively based on user input received at the hosting service from the client, the hosting service downloader application configured to receive a configuration of the client from a client downloader application of the client, the hosting service downloader application configured to select a temporary decoder based on the configuration of the client, the temporary decoder configured to decode both I-frames and P-frames, the hosting service downloader application configured to direct transmission of the temporary decoder to the client downloader application for installation on the client, the hosting service downloader application configured to verify installation of the temporary decoder on the client; and an encoder of the hosting service configured to receive information regarding the temporary decoder installed on the client, the encoder configured to encode the requested video content based on capabilities of the temporary decoder to generate encoded video content, the encoded video content configured for decoding by the temporary decoder to enable rendering of the requested video content on the client, the encoder configured to encode the requested video content to achieve a data communication latency of less than or equal to a specified maximum value, the data communication latency measured from initiation of transmission of the user input from the client to the hosting service and rendering of the requested video content corresponding to the user input on the client, wherein the encoder is configured to encode a next frame of the requested video content as an I-frame when the data communication latency is less than a latency threshold value, wherein the encoder is configured to encode the next frame of the requested video content as a P-frame when the data communication latency is greater than or equal to the latency threshold value, wherein the latency threshold value is less than the specified maximum value, the encoder configured to transmit the encoded video content from the server to the client after verifying installation of the temporary decoder on the client, wherein the hosting service downloader application is configured to communicate with the client downloader application to uninstall the temporary decoder at the client upon detecting termination of the session. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification