IP Library Granted Patent US 11,405,685
Granted Patent B2
US 11,405,685 · App. 16/827,209 · Granted Aug 2, 2022

Efficient insertion of media items in media streams

Inventor: Jose M. Gonzalez (San Jose, CA)
Assignee: Google LLC
H04N21/44016H04N21/26241H04N21/26616H04N21/4331H04N21/458H04N21/4622H04N21/6405H04N21/858H04N21/812
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,405,685
App. No.
16/827,209
Granted
Aug 2, 2022
Kind
B2
Abstract

This document describes systems, methods, devices, and other techniques for determining media items to insert in a media stream. A first media client can play a primary media stream that is multicast to various media clients including the first media client and other media clients. The first media client identifies a start of a primary programming timeslot in the primary media stream, and in response, obtains and stores a secondary media item. After storing the secondary media item at the first media client, the first media client detects an insertion signal in the primary media stream that indicates a secondary programming timeslot is about to begin in the primary media stream. The first media client can then play the secondary media item in place of the primary media stream during the secondary programming timeslot.

Claims (52)

1. A method, comprising:

playing, at a media client, a primary media stream, wherein the primary media stream is streamed from a first source;

obtaining, by the media client, a reference to a particular secondary media item;

identifying when an insertion signal for playing one or more secondary media items will occur in the primary media stream to indicate a corresponding secondary programming timeslot is about to interrupt playback of the primary media stream; and

in response to identifying when the insertion signal will occur in the primary media stream:

accessing, by the media client and prior to the insertion signal occurring, a secondary media stream, wherein the secondary media stream is streamed from a second source, and the secondary media stream comprises a sequence of serially streamed secondary media items including the particular secondary media item;

identifying, by the media client, a future timeslot in which the particular secondary media item is scheduled to be streamed on the secondary media stream;

recording, at the media client, the particular secondary media item from the secondary media stream when the particular secondary media item is being played on the secondary media stream during the future timeslot; and

playing, at the media client during the secondary programming timeslot of the primary media stream corresponding to the insertion signal, the particular secondary media item that was recorded from the secondary media stream.

2. The method of claim 1 , wherein the primary media stream and the secondary media stream are video streams.

3. The method of claim 1 , wherein obtaining the reference to the particular secondary media item comprises obtaining an indication of the future timeslot in which the particular secondary media item is scheduled to be streamed on the secondary media stream.

4. The method of claim 1 , wherein obtaining the reference to the particular secondary media item comprises obtaining an identifier for the particular secondary media item, wherein recording the particular secondary media item from the secondary media stream comprises using the identifier to determine when to record from the secondary media stream.

5. The method of claim 1 , wherein:

the first source is a first channel and the second source is a second channel;

playing the primary media stream comprises tuning the media client to the first channel; and

accessing the secondary media stream comprises tuning the media client to the second channel.

6. The method of claim 5 , further comprising using a first tuner of the media client to tune to the first channel for the primary media stream, and using a second tuner of the media client to tune to a second channel for the secondary media stream.

7. The method of claim 1 , wherein the media client obtains the reference to the particular secondary media item while playing the primary media stream, but before the insertion signal occurs in the primary media stream that corresponds to the secondary programming timeslot.

8. The method of claim 1 , wherein the sequence of serially streamed secondary media items in the secondary media stream are ordered based on popularity.

9. The method of claim 1 , wherein playing, at the media client during the secondary programming timeslot of the primary media stream corresponding to the insertion signal, the particular secondary media item that was recorded from the secondary media stream comprises playing the particular secondary media item in place of an alternative media item streamed on the primary media stream.

10. The method of claim 9 , wherein the media client is configured to play the alternative media item from the primary media stream during the secondary programming timeslot in response to the media client being unable to record the particular secondary media item before the secondary programming timeslot.

11. One or more non-transitory computer-readable media having instructions stored thereon that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

playing, at a media client, a primary media stream, wherein the primary media stream is streamed from a first source;

obtaining, by the media client, a reference to a particular secondary media item;

identifying when an insertion signal for playing one or more secondary media items will occur in the primary media stream to indicate a corresponding secondary programming timeslot is about to interrupt playback of the primary media stream; and

in response to identifying when the insertion signal will occur in the primary media stream:

accessing, by the media client and prior to the insertion signal occurring, a secondary media stream, wherein the secondary media stream is streamed from a second source, and the secondary media stream comprises a sequence of serially streamed secondary media items including the particular secondary media item;

identifying, by the media client, a future timeslot in which the particular secondary media item is scheduled to be streamed on the secondary media stream;

recording, at the media client, the particular secondary media item from the secondary media stream when the particular secondary media item is being played on the secondary media stream during future the timeslot; and

playing, at the media client during the secondary programming timeslot of the primary media stream corresponding to the insertion signal, the particular secondary media item that was recorded from the secondary media stream.

12. The one or more non-transitory computer-readable media of claim 11 , wherein the primary media stream and the secondary media stream are video streams.

13. The one or more non-transitory computer-readable media of claim 11 , wherein obtaining the reference to the particular secondary media item comprises obtaining an indication of the future timeslot in which the particular secondary media item is scheduled to be streamed on the secondary media stream.

14. The one or more non-transitory computer-readable media of claim 11 , wherein obtaining the reference to the particular secondary media item comprises obtaining an identifier for the particular secondary media item, wherein recording the particular secondary media item from the secondary media stream comprises using the identifier to determine when to record from the secondary media stream.

15. The one or more non-transitory computer-readable media of claim 11 , wherein:

the first source is a first channel and the second source is a second channel;

playing the primary media stream comprises tuning the media client to the first channel; and

accessing the secondary media stream comprises tuning the media client to the second channel.

16. The one or more non-transitory computer-readable media of claim 15 , wherein the operations further comprise using a first tuner of the media client to tune to the first channel for the primary media stream, and using a second tuner of the media client to tune to a second channel for the secondary media stream.

17. The one or more non-transitory computer-readable media of claim 11 , wherein the media client obtains the reference to the particular secondary media item while playing the primary media stream, but before insertion signal occurs in the primary media stream that corresponds to the secondary programming timeslot.

18. The one or more non-transitory computer-readable media of claim 11 , wherein the sequence of serially streamed secondary media items in the secondary media stream are ordered based on popularity.

19. The one or more non-transitory computer-readable media of claim 11 , wherein playing, at the media client during the secondary programming timeslot of the primary media stream corresponding to the insertion signal, the particular secondary media item that was recorded from the secondary media stream comprises playing the particular secondary media item in place of an alternative media item streamed on the primary media stream.

20. A system, comprising:

one or more processors; and

one or more non-transitory computer-readable media having instructions stored thereon that, when executed by the one or more processors, cause performance of operations comprising:

playing, at a media client, a primary media stream, wherein the primary media stream is streamed from a first source;

obtaining, by the media client, a reference to a particular secondary media item;

identifying when an insertion signal for playing one or more secondary media items will occur in the primary media stream to indicate a corresponding secondary programming timeslot is about to interrupt playback of the primary media stream; and

in response to identifying when the insertion signal will occur in the primary media stream:

accessing, by the media client and prior to the insertion signal occurring, a secondary media stream, wherein the secondary media stream is streamed from a second source, and the secondary media stream comprises a sequence of serially streamed secondary media items including the particular secondary media item;

identifying, by the media client, a future timeslot in which the particular secondary media item is scheduled to be streamed on the secondary media stream;

recording, at the media client, the particular secondary media item from the secondary media stream when the particular secondary media item is being played on the secondary media stream during the future timeslot; and

playing, at the media client during the secondary programming timeslot of the primary media stream corresponding to the insertion signal, the particular secondary media item that was recorded from the secondary media stream.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2020
From: GONZALEZ, JOSE M.
To: GOOGLE INC.
Reel/Frame 052521/0213 →
CHANGE OF NAME Recorded Apr 29, 2020
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 052521/0343 →
Continuity (3)
Continuation 16445688 · Jun 19, 2019
Continuation 15630254 · Jun 22, 2017
Related Publication 20200288197A1 · Sep 10, 2020