IP Library Granted Patent US 10,917,682
Granted Patent B2
US 10,917,682 · App. 15/102,555 · Granted Feb 9, 2021

Method and system for synchronizing media streams

Inventors: Dennis Erik Bouwknegt (Hilversum, NL); Henk Den Bok (Ede, NL)
Assignee: Telefonaktiebolaget LM Ericsson (publ)
H04N21/4307H04N21/4126H04N21/4316H04N21/43615H04N21/4622H04N21/4722H04N21/6543H04N21/6581H04N21/8352H04N21/8586
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,917,682
App. No.
15/102,555
Granted
Feb 9, 2021
Kind
B2
Abstract

A method and system for synchronizing two or more media streams, generated by different sources ( 210, 220 ). An identifier generator 200 generates identifiers 600 with unique sequence numbers and a unique media identifier in relation to a second media stream generated by second media server 220 . The generated identifiers are supplied to an encoder 230 and an identifier storage 205 . In the identifier storage 205 a broadcaster stores an associated URL (first media server address & content) with a particular identifier. The identifiers and the second media stream 620 A are encoded by the encoder 230 into a carrier ( 620 M) which is recorded or broadcasted. Play-out of the recorded or broadcasted is accomplished by feeding the encoded carrier to a decoder 300 , which decodes the identifiers and the second media stream 620 B. The decoded identifier is received by a first device 310 that retrieves 560 the stored associated URL for the particular identifier and subsequently request 570 first media server 210 for the first media stream indicated by the associated URL. The first media stream 610 is provided 580 to the first device 310 , which is also provided 552 with the decoded second media stream 620 B.

Claims (68)

1. A method for synchronized provision to a first device of at least two different media streams comprising a first media stream and a second media stream, the method comprising:

generating a plurality of identifiers that each indicate different sequence numbers to which respective action indicators are allocable, wherein the different sequence numbers indicate different respective locations in the second media stream, wherein at least some of the different respective locations are isochronous in the second media stream;

storing the plurality of identifiers in an identifier storage and allocating an action indicator to each of at least some of the stored plurality of identifiers, wherein at least one action indicator identifies the first media stream;

encoding a carrier with the plurality of identifiers and the second media stream, wherein the plurality of identifiers are encoded at locations in the second media stream that are indicated by the respective ones of the plurality of identifiers;

decoding the plurality of identifiers and the second media stream from the received carrier;

submitting the decoded plurality of identifiers to the first device;

providing the decoded second media stream to the first device;

retrieving, by the first device, any action indicators allocated to the decoded identifiers;

requesting the first media stream identified by at least one retrieved action indicator; and

providing the requested first media stream, such that the provisions of the first media stream and the second media stream to the first device are synchronized to each other based on the retrieved action indicators.

2. The method of claim 1 , wherein the providing the requested first media stream comprises providing the first media stream to the first device.

3. The method of claim 1 ,

wherein each stored action indicator is further associated with an action type that is one of a plurality of action types;

wherein the retrieving further comprises retrieval of each action type associated with the stored action indicators; and

wherein the method further comprises, for each retrieved action indicator, determining an action to execute based on interpretation of the action type associated with the action indicator; and

wherein the at least one action indicator that identifies the first media stream identifies an address of the first media stream and is associated with an action type for retrieving the media stream at the identified address.

4. The method of claim 1 , wherein each allocated action indicator indicates one of isochronous periods in the first media stream.

5. The method of claim 1 , wherein the providing the requested first media stream comprises providing the first media stream to a second device separate from the first device.

6. The method of claim 1 , wherein the plurality of identifiers each further indicate an identifier of the second media stream.

7. The method of claim 1 , wherein the generation of the plurality of identifiers and a generation of the action identifiers are independent of one another.

8. A method for synchronized provision to a first device of at least two different media streams comprising a first media stream and a second media stream, the method comprising:

generating a plurality of identifiers, that each indicate different sequence numbers to which respective action indicators are allocable, wherein the different sequence numbers indicate different respective locations in the second media stream, wherein at least some of the different respective locations are isochronous in the second media stream;

storing, in an identifier storage, each of the plurality of identifiers and allocating an action indicator to each of at least some of the stored plurality of identifiers, wherein at least one action indicator identifies the first media stream; and

encoding a carrier with the plurality of identifiers and the second media stream, wherein the plurality of identifiers are encoded at locations in the second media stream that are indicated by the respective ones of the plurality of identifiers; and

transmitting the plurality of identifiers encoded in the carrier.

9. The method of claim 8 , wherein the storing of each of the plurality of identifiers is performed in a database having records where a record has a sequence number indicated by the plurality of identifiers associated with zero action indicators.

10. The method of claim 8 wherein an action indicator identifies the first media stream using a Universal Resource Locator (URL).

11. The method of claim 8 wherein the identifier storage comprises stored records for each of the plurality of identifiers, wherein each of the stored records comprising a type field, which is any of an address or a command type, to be executed by the first device.

12. The method of claim 8 , wherein the second media stream is a live broadcast provided by a broadcaster separate from the identifier generator, and the broadcaster assigns the action identifiers to a plurality of identifiers as the second media stream is generated, the plurality of identifiers generated before the second media stream is generated.

13. The method of claim 8 , wherein the storing of each of the plurality of identifiers is performed in a database having records where a record has a sequence number indicated by the plurality of identifiers associated with a plurality of action indicators.

14. A system for synchronized provision to a first device of at least two different media streams comprising a first media stream and a second media stream, the system comprising:

an identifier generator comprising:

a processor;

a memory, the memory containing instructions executable by the processor whereby the identifier generator is configured to generate a plurality of identifiers, each of the plurality of identifiers indicating different sequence numbers to which respective action indicators are allocable, wherein the different sequence numbers indicate different respective locations in the second media stream, wherein at least some of the different respective locations are isochronous in the second media stream; and

an interface configured to provide the plurality of generated identifiers to a storage;

the storage configured to store each of the plurality of generated identifiers, and allocate an action indicator to each of at least some of the stored plurality of generated identifiers, wherein at least one action indicator identifies the first media stream;

a first media server configured to provide the first media stream;

a second media server configured to provide a second media stream;

an encoder configured to encode a carrier with the plurality of generated identifiers and the second media stream, wherein the plurality of generated identifiers are encoded at locations in the second media stream that are indicated by the respective ones of the plurality of generated identifiers;

a decoder configured to:

decode the carrier into the plurality of identifiers and the second media stream;

submit each one of the decoded plurality of identifiers; and

provide the decoded second media stream to a first device; and

the first device configured to:

receive each decoded identifier;

retrieve a plurality of stored action indicators, each corresponding to one of the decoded identifiers;

request for a first media stream represented by the retrieved action indicators; and

receive the requested first media stream, such that the provisions of the first media stream and the second media stream to the first device are synchronized to each other based on the retrieved action indicators.

15. The system according to claim 14 ,

wherein the storage is configured to store each of the action indicators with an associated action type that is one of a plurality of action types;

wherein the first device is further configured to retrieve the action types;

wherein the first device is further configured to receive the requested first media stream based on an execution according to each of the action types, wherein the execution comprises at least two of:

an address change for the identifier storage different from the address in use by the first device;

a setting to be downloaded and executed in the first device, for setting a particular mode of the first device;

a cache action for retrieving a download to local storage of the first media stream;

a present action for presenting a cached first media stream; and

a control action to be performed by the first device, controlling the decoder, the second device, or a further device.

16. The system of claim 14 , further comprising a second device, the second device configured to additionally receive the requested first media stream.

17. An Identifier generator for synchronized provision of at least two different media streams comprising a first media stream and a second media stream to a first device, the Identifier generator comprising:

an interface configured to communicatively connect to other entities;

a media identity storage configured to store a plurality of indicators;

a processor; and

a memory, the memory containing instructions executable by the processor whereby the Identifier generator is configured to:

generate a plurality of identifiers, each of the plurality of identifiers indicating different sequence numbers to which respective action indicators are allocable, wherein the different sequence numbers indicate different respective locations in the second media stream, wherein at least some of the different respective locations are isochronous in the second media stream;

store, in the media identity storage, each of the plurality of identifiers and allocate an action indicator to each of at least some of the stored plurality of identifiers, wherein at least one action indicator identifies the first media stream;

encode a carrier with the plurality of identifiers and the second media stream, wherein the plurality of identifiers are encoded at locations in the second media stream that are indicated by the respective ones of the plurality of identifiers; and

transmit the plurality of identifiers encoded in the carrier via the interface.

18. The Identifier generator according to claim 17 , where the Identifier generator further comprises a timer configured to time the generation of sequence numbers on equidistant time points.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2016
From: BOUWKNEGT, DENNIS ERIK; DEN BOK, HENK
To: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
Reel/Frame 038839/0981 →
CHANGE OF NAME Recorded Jun 8, 2016
From: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
To: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Reel/Frame 038906/0889 →
Continuity (1)
Related Publication 20170026687A1 · Jan 26, 2017