Systems and methods for internet video delivery
First Claim
1. A method of delivering video content over a network, comprising:
- receiving usage data from a client device, the usage data comprising a user-generated playlist including a plurality of videos identified to be played in a sequence;
computing a distance measure for each video indicating a degree of change between a plurality of frames within the video;
identifying a scene change within each video when the distance measure exceeds a threshold;
dividing each of the plurality of videos into a plurality of segments based on the identified scene change for the video;
determining a number n of first video segments from each video to transmit to the client device based on an amount of available cache-storage at the client device;
automatically transmitting, over a network, the n first video segments from each video to the client device, without receiving an explicit request from the client device for any of the videos, based on the usage data received from the client device;
receiving a notification that the client device has starting playing the n first video segments from a selected one of the videos in the playlist; and
based on the received notification, transmitting at least one additional video segment from the selected video to the client device.
6 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.
26 Citations
24 Claims
-
1. A method of delivering video content over a network, comprising:
-
receiving usage data from a client device, the usage data comprising a user-generated playlist including a plurality of videos identified to be played in a sequence; computing a distance measure for each video indicating a degree of change between a plurality of frames within the video; identifying a scene change within each video when the distance measure exceeds a threshold; dividing each of the plurality of videos into a plurality of segments based on the identified scene change for the video; determining a number n of first video segments from each video to transmit to the client device based on an amount of available cache-storage at the client device; automatically transmitting, over a network, the n first video segments from each video to the client device, without receiving an explicit request from the client device for any of the videos, based on the usage data received from the client device; receiving a notification that the client device has starting playing the n first video segments from a selected one of the videos in the playlist; and based on the received notification, transmitting at least one additional video segment from the selected video to the client device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system of delivering video content over a network, comprising:
-
a memory; and a processor coupled to the memory and configured to; receive usage data from a client device, the usage data comprising a user-generated playlist including a plurality of videos identified to be played in a sequence; compute a distance measure for each video indicating a degree of change between a plurality of frames within the video; identify a scene change within each video when the distance measure exceeds a threshold; divide each of the plurality of videos into a plurality of segments, based on the identified scene change for the video; determine a number n of first video segments from each video to transmit to the client device based on an amount of available cache-storage at the client device; automatically transmit, over a network, the n first video segments from each video to the client device, without receiving an explicit request from the client device for any of the videos, based on the usage data received from the client device; receive a notification that the client device has starting playing the n first video segments from a selected one of the videos in the playlist; and based on the received notification, transmit at least one additional video segment from the selected video to the client device. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable storage medium including instructions for delivering video content over a network, which, when executed, perform steps comprising:
-
receiving usage data from a client device, the usage data comprising a user-generated playlist including a plurality of videos identified to be played in a sequence; computing a distance measure for each video indicating a degree of change between a plurality of frames within the video; identifying a scene change within each video when the distance measure exceeds a threshold; dividing each of the plurality of videos into a plurality of segments, based on the identified scene change for the video; determining a number n of first video segments from each video to transmit to the client device based on an amount of available cache-storage at the client device; automatically transmitting, over a network, the n first video segments from each video to the client device, without receiving an explicit request from the client device for any of the videos, based on the usage data received from the client device; receiving a notification that the client device has starting playing the n first video segments from a selected one of the videos in the playlist; and based on the received notification, transmitting at least one additional video segment from the selected video to the client device. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification