IP Library Granted Patent US 11,503,366
Granted Patent B2
US 11,503,366 · App. 17/450,790 · Granted Nov 15, 2022

Dynamic playout of transition frames while transitioning between play out of media streams

Inventors: Chung Won Seo (Seoul, KR); Seunghyeong Lee (Joyang, KR)
Assignee: ROKU, INC.
H04N21/44016H04N21/812H04N21/2187
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 11,503,366
App. No.
17/450,790
Granted
Nov 15, 2022
Kind
B2
Abstract

When a device is playing out a first media stream, the device determines a target time for beginning playout of a second media stream in place of the first media stream. The device then starts a stream-transition process that is expected to take anywhere from a minimum expected transition duration to a maximum expected transition duration, and the device starts the transition process in advance of the determined target time by the maximum expected transition duration, to help ensure timely starting of playout of the second media stream. Further, for an uncertainty period that extends from the minimum expected transition duration after the starting to the maximum expected transition duration after the starting, the device generates and plays a sequence of transition frames to help mask transition from the first media stream to the second media stream.

Claims (37)

1. A media client comprising:

non-transitory data storage; and

at least one processor coupled to the non-transitory data storage and configured to perform operations comprising:

while the media client is playing out a first media stream, determining a target time when the media client should start playing out a second media stream in place of the first media stream;

configuring a start time at which the media client should start a stream-transition process for transition from the playing out of the first media stream to the playing out of the second media stream, wherein configuring the start time includes determining a maximum expected duration for the transition and setting the start time to be the maximum expected duration before the determined target time;

starting the stream-transition process at the configured start time;

determining an uncertainty period, wherein determining the uncertainty period includes determining a minimum expected duration for the transition and deeming the uncertainty period to extend from (i) the determined minimum expected duration after the start time to (ii) the determined maximum expected duration after the start time, and

playing out a series of transition frames throughout the determined uncertainty period, to help mask the transition.

2. The media client of claim 1 , wherein the operations further comprise adding fading from the first media stream to the transition frames.

3. The media client of claim 1 , wherein the operations further comprise adding fading from the transition frames to the second media stream.

4. The media client of claim 1 , wherein the transition frames comprise frames selected from the group consisting of (i) black frames, (ii) silent frames, and (iii) frames that are a copy of a last played frame of the first media stream.

5. The media client of claim 1 , wherein the first media stream comprises a linear broadcast feed, and wherein the second media stream comprises a replacement ad.

6. The media client of claim 1 , wherein the first media stream comprises a replacement ad, and wherein the second media stream comprises a linear broadcast feed.

7. The media client of claim 1 , wherein the operations further comprise extending the uncertainty period.

8. Non-transitory data storage storing program instructions executable by one or more processors to cause a media client to carry out operations including:

while the media client is playing out a first media stream, determining a target time when the media client should start playing out a second media stream in place of the first media stream;

configuring a start time at which the media client should start a stream-transition process for transition from the playing out of the first media stream to the playing out of the second media stream, wherein configuring the start time includes determining a maximum expected duration for the transition and setting the start time to be the maximum expected transition duration before the determined target time;

starting the stream-transition process at the configured start time;

determining an uncertainty period, wherein determining the uncertainty period includes determining a minimum expected duration for the transition and deeming the uncertainty period to extend from (i) the determined minimum expected duration after the start time to (ii) the determined maximum expected duration after the start time; and

playing out a series of transition frames throughout the determined uncertainty period, to help mask the transition.

9. The non-transitory data storage of claim 8 , wherein the operations further comprise adding fading from the first media stream to the transition frames.

10. The non-transitory data storage of claim 8 , wherein the operations further comprise adding fading from the transition frames to the second media stream.

11. The non-transitory data storage of claim 8 , wherein the transition frames comprise frames selected from the group consisting of (i) black frames, (ii) silent frames, and (iii) frames that are a copy of a last played frame of the first media stream.

12. The non-transitory data storage of claim 8 , wherein the first media stream comprises a linear broadcast feed, and wherein the second media stream comprises a replacement ad.

13. The non-transitory data storage of claim 8 , wherein the first media stream comprises a replacement ad, and wherein the second media stream comprises a linear broadcast feed.

14. The non-transitory data storage of claim 8 , wherein the operations further comprise extending the uncertainty period.

15. A method for transition by a device from playout of a first media stream to playout of a second media stream, the method comprising:

determining, by at least one computer processor, a target time for beginning playout of the second media stream;

starting a transition process of transitioning from the playout of the first media stream to the playout of the second media stream, wherein the transition process takes a period of time that is between a minimum expected transition duration to a maximum expected transition duration, and wherein the starting occurs in advance of the determined target time by the maximum expected transition duration; and

for an uncertainty period, generating and playing a sequence of transition frames to help mask transition from the first media stream to the second media stream, wherein the uncertainty period extends from (i) the minimum expected transition duration after the starting to (ii) the maximum expected transition duration after the starting.

16. The method of claim 15 , further comprising:

implementing fading from the first media stream to the transition frames for a first fade period leading up to the uncertainty period; and

implementing fading from the transition frames to the second media stream for a second fade period starting upon completion of the uncertainty period.

17. The method of claim 15 , wherein the first and second media streams comprise video, and wherein the transition frames comprise black frames.

18. The method of claim 15 , wherein the first and second media streams comprise audio, and wherein the transition frames comprise silent frames.

19. The method of claim 15 , wherein determining the target time is based on fingerprint analysis and includes establishing a synchronous lock.

20. The method of claim 15 , wherein the transitioning from playout of the first media stream to playout of the second media stream is for content replacement.

Assignments (3)
SECURITY INTEREST Recorded Sep 18, 2024
From: ROKU, INC.
To: CITIBANK, N.A.
Reel/Frame 068982/0377 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2021
From: SEO, CHUNG WON; LEE, SEUNGHYEONG
To: GRACENOTE, INC.
Reel/Frame 057788/0844 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2021
From: GRACENOTE, INC.
To: ROKU, INC.
Reel/Frame 057802/0661 →
Continuity (3)
Continuation 16183185 · Nov 7, 2018
Provisional Application 62765161 · Aug 17, 2018
Related Publication 20220038770A1 · Feb 3, 2022