IP Library Granted Patent US 10,735,800
Granted Patent B2
US 10,735,800 · App. 15/443,118 · Granted Aug 4, 2020

Rendering content and time-shifted playback operations for personal over-the-top network video recorder

Inventors: Kevin J. Ma (Nashua, NH); Robert Hickey (Bedford, MA); Paul Tweedale (Andover, MA); Prabhudev Navali (Westford, MA); Man Li (Bedford, MA); Daniel Biagini (Bolton, MA)
Assignee: Ericsson AB
H04N21/4147H04L65/608H04N21/2187H04N21/231H04N21/23109H04N21/23439H04N21/2668H04N21/26258H04N21/2747H04N21/435H04N21/4334H04N21/47217H04N21/812H04N21/8455H04N21/8456H04N21/8547
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,735,800
App. No.
15/443,118
Granted
Aug 4, 2020
Kind
B2
Abstract

Live streaming video content is processed and stored for real-time delivery of the content, future VoD viewing of the content, and time-shifted viewing of the content, by manipulating a common manifest or playlist. Previously stored content may be reordered and/or recombined in order to provide a personalized content viewing experience.

Claims (40)

1. A method for effectuating time-shifted playback operations with respect to a real-time streaming program at a client device, the real-time streaming program processed into one or more distinct encodings each including a respective set of sequential segments, the method comprising:

receiving a time-shift request from a user of the client device while playing the real-time streaming program;

responsive to receiving the time-shift request from the user, determining a target wall-clock time for the real-time streaming program on the client device in a manner that depends on a type of the time-shift request from the user; and

subsequent to determining the target wall-clock time for the real-time streaming program on the client device:

restarting a media player of the client device, the media player performing;

generating a new master manifest request containing the target wall-clock time as a new timestamp for restarting the real-time streaming program at a corresponding video position; and

responsive to receiving a new master manifest, generating one or more variant manifest requests for specifying a particular encoding of the real-time streaming program,

wherein a variant manifest is provided as a sliding-window variant manifest constructed from the new master manifest based on the target wall-clock time, and

wherein the sliding-window variant manifest is constructed by adding a new reference to a next segment and removing an existing reference to an earliest segment in a predetermined window of most recent segments.

2. The method as recited in claim 1 , further comprising:

determining that the time-shift request is a pause request; and

obtaining a current playback wall-clock timestamp with respect to the real-time streaming program and setting the current playback wall-clock timestamp as the target wall-clock time upon restarting the media player.

3. The method as recited in claim 2 , wherein the current playback wall-clock timestamp is calculated as a sum of a wall-clock time corresponding to a video position at a last playback action and a time duration of playback since the last playback action.

4. The method as recited in claim 1 , further comprising:

determining that the time-shift request is a rewind request; and

calculating a rewind target wall-clock timestamp by subtracting a rewind duration from a current playback wall-clock timestamp with respect to the real-time streaming program and setting the rewind target wall-clock timestamp as the target wall-clock time upon restarting the media player.

5. The method as recited in claim 1 , further comprising:

determining that the time-shift request is a fast forward request; and

calculating a fast forward target wall-clock timestamp by adding a fast forward time duration to a current playback wall-clock timestamp with respect to the real-time streaming program and setting the fast forward target wall-clock timestamp as the target wall-clock time upon restarting the media player.

6. An apparatus for effectuating time-shifted playback operations with respect to a real-time streaming program at a client device, the real-time streaming program processed into one or more distinct encodings each including a respective set of sequential segments, the apparatus comprising:

a processor; and

a memory coupled to the processor, the memory containing program instructions for performing the following acts when executed by the processor:

receive a time-shift request from a user of the client device while playing the real-time streaming program;

responsive to receiving the time-shift request from the user, determine a target wall-clock time for the real-time streaming program on the client device in a manner that depends on a type of the time-shift request from the user; and

subsequent to determining the target wall-clock time for the real-time streaming program on the client device:

restart a media player of the client device;

generate a new master manifest request containing the target wall-clock time as a new timestamp for restarting the real-time streaming program at a corresponding video position; and

responsive to receiving a new master manifest, generate one or more variant manifest requests for specifying a particular encoding of the real-time streaming program,

wherein a variant manifest is provided as a sliding-window variant manifest constructed from the new master manifest based on the target wall-clock time, and

wherein the sliding-window variant manifest is constructed by adding a new reference to a next segment and removing an existing reference to an earliest segment in a predetermined window of most recent segments.

7. The apparatus as recited in claim 6 , wherein the program instructions further comprise instructions configured to:

determine that the time-shift request is a pause request; and

obtain a current playback wall-clock timestamp with respect to the real-time streaming program and set the current playback wall-clock timestamp as the target wall-clock time upon restarting the media player.

8. The apparatus as recited in claim 7 , wherein the current playback wall-clock timestamp is calculated as a sum of a wall-clock time corresponding to a video position at a last playback action and a time duration of playback since the last playback action.

9. The apparatus as recited in claim 6 , wherein the program instructions further comprise instructions configured to:

determine that the time-shift request is a rewind request; and

calculate a rewind target wall-clock timestamp by subtracting a rewind duration from a current playback wall-clock timestamp with respect to the real-time streaming program and set the rewind target wall-clock timestamp as the target wall-clock time upon restarting the media player.

10. The apparatus as recited in claim 6 , wherein the program instructions further comprise instructions configured to:

determine that the time-shift request is a fast forward request; and

calculate a fast forward target wall-clock timestamp by adding a fast forward time duration to a current playback wall-clock timestamp with respect to the real-time streaming program and set the fast forward target wall-clock timestamp as the target wall-clock time upon restarting the media player.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2017
From: AZUKI SYSTEMS, INC.
To: ERICSSON AB
Reel/Frame 043729/0735 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2017
From: MA, KEVIN; HICKEY, ROBERT; TWEEDALE, PAUL; BIAGINI, DANIEL; NAVALI, PRABHUDEV; LI, MAN
To: AZUKI SYSTEMS, INC.
Reel/Frame 044100/0985 →
Continuity (3)
Continuation 14157710 · Jan 17, 2014
Provisional Application 61763634 · Feb 12, 2013
Related Publication 20170171590A1 · Jun 15, 2017