Systems and methods for internet video delivery
First Claim
1. A computer-implemented method for transmitting a video over an electronic network, comprising:
- receiving a video including a first frame and a second frame;
computing a distance measure indicating a degree of change between the first frame and the second frame;
determining whether a scene change has occurred in the video based on the distance measure;
in response to determining that the scene change has occurred in the video, dividing the video into segments, each segment comprising a plurality of frames;
determining a number of one or more segments to transmit to a client device, the number of the one or more segments being determined based on at least one of an amount of available memory storage or usage data associated with the client device; and
transmitting, over the electronic network, the one or more segments to a client device without receiving an explicit request from the client device for the one or more segments.
4 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed for delivering video content over a network, such as the Internet. Videos are identified and pre-processed by a web service and then separated into a plurality of segments. Based on user interests, video segments may be pre-fetched and stored by a client associated with a user. Upon receiving a selection from a user to play a video, the first video segment may begin playing instantaneously from a local cache. While the first video segment plays, subsequent video segments are transmitted from the web service to the client, so that the subsequent video segments will be ready for viewing at the client when playback of the first video segment has finished.
-
Citations
21 Claims
-
1. A computer-implemented method for transmitting a video over an electronic network, comprising:
-
receiving a video including a first frame and a second frame; computing a distance measure indicating a degree of change between the first frame and the second frame; determining whether a scene change has occurred in the video based on the distance measure; in response to determining that the scene change has occurred in the video, dividing the video into segments, each segment comprising a plurality of frames; determining a number of one or more segments to transmit to a client device, the number of the one or more segments being determined based on at least one of an amount of available memory storage or usage data associated with the client device; and transmitting, over the electronic network, the one or more segments to a client device without receiving an explicit request from the client device for the one or more segments. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for transmitting a video over an electronic network, comprising:
-
a memory; and a processor coupled to the memory and configured to execute instructions to; receive a video including a first frame and a second frame; compute a distance measure indicating a degree of change between the first frame and the second frame; determine whether a scene change has occurred in the video based on the distance measure; in response to determining that the scene change has occurred in the video, dividing the video into segments, each segment comprising a plurality of frames; determining a number of one or more segments to transmit to a client device, the number of the one or more segments being determined based on at least one of an amount of available memory storage or usage data associated with the client device; and transmitting, over the electronic network, the one or more segments to a client device without receiving an explicit request from the client device for the one or more segments. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A non-transitory computer-readable storage medium including instructions for transmitting a video over an electronic network, which, when executed, perform steps comprising:
-
receiving a video including a first frame and a second frame; computing a distance measure indicating a degree of change between the first frame and the second frame; determining whether a scene change has occurred in the video based on the distance measure; in response to determining that the scene change has occurred in the video, dividing the video into segments, each segment comprising a plurality of frames; determining a number of one or more segments to transmit to a client device, the number of the one or more segments being determined based on at least one of an amount of available memory storage or usage data associated with the client device; and transmitting, over the electronic network, the one or more segments to a client device without receiving an explicit request from the client device for the one or more segments.
-
Specification