IP Library Granted Patent US 9,860,604
Granted Patent B2
US 9,860,604 · App. 13/303,348 · Granted Jan 2, 2018

Systems and methods for internet video delivery

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,860,604
App. No.
13/303,348
Granted
Jan 2, 2018
Kind
B2
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.

Claims (58)

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.

2. The method of claim 1 , wherein dividing each video into a plurality of segments comprises dividing each video into a plurality of segments of equal size.

3. The method of claim 1 , further comprising:

analyzing visual and audio components of each video; and

dividing each video into a plurality of segments based on the analysis of visual and audio components of the video.

4. The method of claim 1 , wherein computing the distance measure indicating a degree of change between a plurality of frames within the video comprises computing the distance measure indicating a degree of change between the color histograms of each of a plurality of frames within the video.

5. The method of claim 1 , further comprising storing each of the plurality of segments in a database.

6. The method of claim 1 , wherein transmitting the n first video segments to the client device is completed prior to receiving the notification that the client device has starting playing the n first video segments.

7. The method of claim 1 , wherein transmitting the at least one additional video segment to the client device comprises transmitting the at least one additional video segment to the client using hypertext transfer protocol.

8. The method of claim 1 , wherein transmitting the at least one additional video segment to the client device comprises streaming the at least one additional video segment to the client device.

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.

10. The system of claim 9 , wherein the processor is further configured to divide each video into a plurality of segments of equal size.

11. The system of claim 9 , wherein the processor is further configured to:

analyze visual and audio components of each video; and

divide each video into a plurality of segments based on the analysis of visual and audio components of the video.

12. The system of claim 9 , wherein the processor is further configured to compute the distance measure indicating a degree of change between the color histograms of each of a plurality of frames within the video.

13. The system of claim 9 , further comprising:

a database;

wherein the processor is further configured to store each of the plurality of segments in the database.

14. The system of claim 9 , wherein the processor is further configured to complete transmitting the n first video segments to the client device prior to receiving the notification that the client device has starting playing the n first video segments.

15. The system of claim 9 , wherein the processor is further configured to transmit the at least one additional video segment to the client device using hypertext transfer protocol.

16. The system of claim 9 , wherein the processor is further configured to stream the at least one additional video segment to the client device.

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.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the step of dividing each video into a plurality of segments comprises dividing each video into a plurality of segments of equal size.

19. The non-transitory computer-readable storage medium of claim 17 , further comprising instructions, which, when executed, perform steps comprising:

analyzing visual and audio components of each video; and

dividing each video into a plurality of segments based on the analysis of visual and audio components of the video.

20. The non-transitory computer-readable storage medium of claim 17 , wherein the step of computing the distance measure indicating a degree of change between a plurality of frames within the video comprises computing the distance measure indicating a degree of change between the color histograms of each of a plurality of frames within the video.

21. The non-transitory computer-readable storage medium of claim 17 , further comprising instructions, which, when executed, perform the step of storing each of the plurality of segments in a database.

22. The non-transitory computer-readable storage medium of claim 17 , wherein the step of transmitting the n first video segments to the client device is completed prior to receiving the notification that the client device has starting playing the n first video segments.

23. The non-transitory computer-readable storage medium of claim 17 , wherein the step of transmitting the at least one additional video segment to the client device comprises transmitting the at least one additional video segment to the client device using hypertext transfer protocol.

24. The non-transitory computer-readable storage medium of claim 17 , wherein the step of transmitting the at least one additional video segment to the client comprises streaming the at least one additional video segment to the client device.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2021
From: VERIZON MEDIA INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 057453/0431 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
CHANGE OF NAME Recorded Aug 24, 2017
From: AOL INC.
To: OATH INC.
Reel/Frame 043672/0369 →
RELEASE OF SECURITY INTEREST IN PATENT RIGHTS -RELEASE OF 030936/0011 Recorded Jul 1, 2015
From: JPMORGAN CHASE BANK, N.A.
To: AOL ADVERTISING INC.; AOL INC.; BUYSIGHT, INC.; MAPQUEST, INC.; PICTELA, INC.
Reel/Frame 036042/0053 →
SECURITY AGREEMENT Recorded Aug 2, 2013
From: AOL INC.; AOL ADVERTISING INC.; BUYSIGHT, INC.; MAPQUEST, INC.; PICTELA, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 030936/0011 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 23, 2011
From: KOCKS, PETER F.; EL MAWAS, RAMI; WU, PING-HAO
To: AOL INC.
Reel/Frame 027277/0684 →