IP Library Granted Patent US 10,575,064
Granted Patent B1
US 10,575,064 · App. 15/832,579 · Granted Feb 25, 2020

Systems and methods for internet video delivery

Inventors: Peter F. Kocks (San Francisco, CA); Rami El Mawas (Dublin, CA); Ping-Hao Wu (San Francisco, CA)
Assignee: Oath Inc.
H04N21/637H04L65/4084H04L65/80H04N21/262H04N21/4331H04N21/658H04N21/845H04N21/8456H04N5/147
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 10,575,064
App. No.
15/832,579
Granted
Feb 25, 2020
Kind
B1
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 (53)

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.

2. The computer-implemented method of claim 1 , wherein the segments are equal in size.

3. The computer-implemented method of claim 1 , further comprising:

analyzing visual and audio components of the video; and

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

4. The computer-implemented method of claim 1 , wherein computing the distance measure comprises computing the distance measure indicating a degree of change between color histograms of the first and second frames.

5. The computer-implemented method of claim 1 , further comprising receiving a notification that the client device has started playing the one or more video segments.

6. The computer-implemented method of claim 5 , wherein transmitting a second one or more video segments to the client device is completed prior to receiving the notification that the client device has started playing the first one or more video segments.

7. The computer-implemented method of claim 1 , further comprising:

receiving usage data from the client device;

identifying the video to send to the client device based on the received usage data;

dividing the identified video into the first one or more segments; and

transmitting the first one or more segments to the client device without receiving an explicit request from the client device for the identified video.

8. The computer-implemented method of claim 1 , transmitting an additional video segment to the client device using hypertext transfer protocol.

9. The computer-implemented method of claim 1 , streaming an additional video segment to the client device.

10. The computer-implemented method of claim 1 , wherein the memory storage of the client device is a cached-storage.

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.

12. The system of claim 11 , wherein the segments are equal in size.

13. The system of claim 11 , wherein the processor is further configured to execute instructions to:

analyze visual and audio components of the video; and

divide the video into the one or more segments based on the analysis of visual and audio components of the video.

14. The system of claim 11 , wherein the processor is further configured to execute instructions to compute the distance measure based on a degree of change between color histograms of the first and second frames.

15. The system of claim 11 , wherein the processor is further configured to execute instructions to receive a notification that the client device has started playing the one or more video segments.

16. The system of claim 15 , wherein the processor is further configured to execute instructions to transmit a second one or more video segments to the client device prior to receiving the notification that the client device has started playing the first one or more video segments.

17. The system of claim 11 , wherein the processor is further configured to execute instructions to:

receive usage data from the client device;

identify the video to send to the client device based on the received usage data;

divide the identified video into the first one or more segments; and

transmit the first one or more segments from the identified video to the client device without receiving an explicit request from the client device for the identified video.

18. The system of claim 11 , wherein the processor is further configured to execute instructions to transmit an additional video segment to the client device using hypertext transfer protocol.

19. The system of claim 11 , wherein the processor is further configured to execute instructions to stream an additional video segment to the client device.

20. The system of claim 11 , wherein the memory storage of the client device is a cached-storage.

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.

Assignments (4)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2017
From: KOCKS, PETER F.; EL MAWAS, RAMI; WU, PING-HAO
To: AOL INC.
Reel/Frame 044366/0357 →
CHANGE OF NAME Recorded Dec 12, 2017
From: AOL INC.
To: OATH INC.
Reel/Frame 044839/0696 →
Continuity (1)
Continuation 13303348 · Nov 23, 2011