IP Library › Granted Patent US 9,374,410
Granted Patent B2
US 9,374,410 · App. 14/339,035 · Granted Jun 21, 2016

System and method for seamless switchover between unicast and multicast sources of over-the-top streams

Inventor: Sharon Mantin (Tel Aviv, IL)
Assignee: Imvision Software Technologies Ltd.
H04L65/80H04L12/18H04L65/4076H04L65/4084H04N21/26616
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 9,374,410
App. No.
14/339,035
Granted
Jun 21, 2016
Kind
B2
Abstract

A method and system for switching between a unicast streaming source and a multicast streaming source of over-the-top (OTT) streams are provided. The method includes retrieving an OTT unicast stream from the unicast streaming source and an OTT multicast stream from the multicast streaming source, wherein there is a time delay between the OTT unicast stream and the OTT multicast stream; synchronizing the OTT unicast stream and the OTT multicast stream to compensate for the time delay; selecting one of the OTT unicast stream and the OTT multicast stream; and switching to a streaming source of the selected OTT stream.

Claims (48)

1. A method for switching between a unicast streaming source and a multicast streaming source of over-the-top (OTT) streams, comprising:

retrieving an OTT unicast stream from the unicast streaming source and an OTT multicast stream from the multicast streaming source, wherein there is a time delay between the OTT unicast stream and the OTT multicast stream;

synchronizing the OTT unicast stream and the OTT multicast stream to compensate for the time delay by comparing the OTT unicast stream and the OTT multicast stream, wherein comparing the OTT unicast stream and the OTT multicast stream includes comparing an index of a next requested TS segment designated in a playlist of the OTT unicast stream to an index of a current TS segment included in the OTT multicast stream; and

determining a time delay based on a difference between the TS segment indexes;

selecting one of the OTT unicast stream and the OTT multicast stream; and

switching to a streaming source of the selected OTT stream.

2. The method of claim 1 , further comprising:

feeding a media player from the streaming source of the selected OTT stream; and

disconnecting a session with a streaming source feeding the OTT stream which was not selected.

3. The method of claim 1 , wherein comparing the OTT unicast stream and the OTT multicast stream further comprises:

receiving an I/B/P frame sequence respective of each of the OTT unicast stream and the OTT multicast stream;

comparing the received I/B/P frame sequences of the OTT unicast stream and the OTT multicast stream; and

determining the time delay based on the comparison.

4. The method of claim 1 , wherein synchronization of the OTT unicast stream and the OTT multicast stream is based on one or more protocols utilized to stream the OTT unicast stream and the OTT multicast stream.

5. The method of claim 4 , wherein the protocol is any one of: a real time messaging protocol (RTMP), a HTTP live streaming (HLS) protocol, a real time streaming protocol (RTSP), HTTP dynamic streaming, and moving pictures experts group (MPEG)-dynamic adaptive streaming over HTTP (DASH).

6. A communication terminal, comprising:

a processing unit; and

a memory, the memory containing instructions that, when executed by the processing unit, configure the terminal to:

retrieve an OTT unicast stream from the unicast streaming source and an OTT multicast stream from the multicast streaming source, wherein there is a time delay between the OTT unicast stream and the OTT multicast stream;

compare the OTT unicast stream and the OTT multicast stream to synchronize the OTT unicast stream and the OTT multicast stream to compensate for the time delay;

select one of the synchronized OTT unicast stream and the OTT multicast stream; and

switch to a streaming source of the selected OTT stream, wherein the terminal is configured to compare the OTT unicast stream and the OTT multicast stream to by comparing an index of a next requested TS segment designated in a playlist of the OTT unicast stream to an index of a current TS segment included the OTT multicast stream and determining a time delay based on a difference between TS segment indexes.

7. The communication terminal of claim 6 , further configured to:

feed a media player from the streaming source of the selected OTT stream; and

disconnect a session with a streaming source feeding the OTT stream which was not selected.

8. The communication terminal of claim 6 , wherein the terminal is further configured to:

receive an I/B/P frame sequence respective of each of the OTT unicast stream and the OTT multicast stream;

compare the received I/B/P frame sequences of the OTT unicast stream and the OTT multicast stream; and

determine a time delay based on the comparison.

9. The communication terminal of claim 6 , wherein synchronization of the OTT unicast stream and the OTT multicast stream is based on one or more protocols utilized to stream the OTT unicast stream and the OTT multicast stream.

10. The communication terminal of claim 9 , wherein the protocol is any one of: a real time messaging protocol (RTMP), a HTTP live streaming (HLS) protocol, a real time streaming protocol (RTSP), HTTP dynamic streaming, and moving pictures experts group (MPEG)-dynamic adaptive streaming over HTTP (DASH).

11. A communication terminal, comprising:

a user interface;

a processing unit; and

a memory, the memory containing instructions that, when executed by the processing unit, configure the terminal to:

retrieve an OTT unicast stream from the unicast streaming source and an OTT multicast stream from the multicast streaming source, wherein there is a time delay between the OTT unicast stream and the OTT multicast stream;

compare the OTT unicast stream and the OTT multicast stream to synchronize the OTT unicast stream and the OTT multicast stream to compensate for the time delay;

select one of the OTT unicast stream and the OTT multicast stream;

switch to a streaming source of the selected OTT stream; and

feed the selected OTT stream to the user interface, wherein the terminal is configured to compare the OTT unicast stream and the OTT multicast stream to by comparing an index of a next requested TS segment designated in a playlist of the OTT unicast stream to an index of a current TS segment included the OTT multicast stream and determining a time delay based on a difference between TS segment indexes.

12. The communication terminal of claim 11 , wherein the terminal is further configured to:

disconnect a session with a streaming source feeding the OTT stream which was not selected.

13. The communication terminal of claim 11 , wherein the terminal is further configured to:

receive an I/B/P frame sequence respective of each of the OTT unicast stream and the OTT multicast stream;

compare the received I/B/P frame sequences of the OTT unicast stream and the OTT multicast stream; and

determine a time delay based on the comparison.

14. The communication terminal of claim 11 , wherein synchronization of the OTT unicast stream and the OTT multicast stream is based on one or more protocols utilized to stream the OTT unicast stream and the OTT multicast stream.

15. The communication terminal of claim 14 , wherein the protocol is any one of: a real time messaging protocol (RTMP), a HTTP live streaming (HLS) protocol, a real time streaming protocol (RTSP), HTTP dynamic streaming, and moving pictures experts group (MPEG)-dynamic adaptive streaming over HTTP (DASH).

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2022
From: IMVISION SOFTWARE TECHNOLOGIES LTD.
To: INTUIT INC.
Reel/Frame 059344/0596 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2014
From: MANTIN, SHARON
To: IMVISION SOFTWARE TECHNOLOGIES LTD.
Reel/Frame 033375/0969 →
Continuity (2)
Provisional Application 61857723 · Jul 24, 2013
Related Publication 20150030022A1 · Jan 29, 2015