IP Library Granted Patent US 8,677,006
Granted Patent B2
US 8,677,006 · App. 13/101,561 · Granted Mar 18, 2014

Processing media streams

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 8,677,006
App. No.
13/101,561
Granted
Mar 18, 2014
Kind
B2
Abstract

Method and communication system for processing media streams. A plurality of synchronized media streams are provided to a respective plurality of communication clients at a respective plurality of end points of a communication system. The communication clients output the media streams at the end points, wherein the amount of time required for said providing and outputting of the media streams is different for the plurality of end points. At least one of said providing and said outputting of at least one of the media streams is controlled so that the outputting of the plurality of media streams is synchronized at the plurality of end points.

Claims (38)

1. A method comprising:

providing a plurality of synchronised media streams to a respective plurality of communication clients at a respective plurality of end points of a communication system effective to cause the communication clients to output the media streams at the end points, an amount of time required between said providing and said outputting of the media streams being different for the plurality of end points, the communication clients engaged in a communication event with each other over the communication system at a same time as said providing the synchronized media streams; and

controlling at least one of said providing and said outputting of at least one of the media streams so that the outputting of the plurality of media streams is synchronised at the plurality of end points;

wherein, when a user input of the communication event is received at the communication client of a first one of the plurality of end points:

a media element of the media stream currently being output at said first one of the plurality of end points is determined,

an indication of the determined media element is transmitted from said first one of the plurality of end points as part of said communication event to a second one of the plurality of end points, and

the output of the communication event at the second one of the plurality of end points is controlled such that said user input is output later than the determined media element indicated by said indication at the second one of the plurality of end points.

2. The method of claim 1 wherein said providing a plurality of synchronized media streams comprises transmitting at least one of the plurality of synchronised media streams to a respective at least one of the plurality of end points over the communication system.

3. The method of claim 2 wherein said providing a plurality of synchronized media streams comprises transmitting the plurality of synchronised media streams to the plurality of end points over the communication system from a server of the communication system.

4. The method of claim 2 wherein said providing a plurality of synchronized media streams comprises transmitting said at least one of the plurality of synchronised media streams to a respective at least one of the plurality of end points over the communication system from another one of the plurality of end points.

5. The method of claim 1 further comprising:

including synchronisation information in the media streams; and

buffering the media streams at the plurality of end points, wherein the communication clients output the media streams at the end points in accordance with the synchronisation information in the media streams.

6. The method of claim 5 wherein the synchronisation information included in one of the media streams comprises a time stamp which is included in the header of a frame of that media stream wherein the corresponding communication client outputs the frame of that media stream at the corresponding end point at a time indicated by the time stamp.

7. The method of claim 6 further comprising inserting a frame identifier into the one of the media streams, by a source of the media streams, to thereby associate the time stamp with said frame.

8. The method of claim 6 further comprising generating an identifier using data in the frame to thereby associate the time stamp with said frame.

9. The method of claim 1 further comprising monitoring the amount of time required for said providing and outputting of the media streams at the plurality of end points, wherein said controlling at least one of said providing and said outputting of at least one of the media streams comprises adding delay to at least one of said providing and said outputting of at least one of the media streams so that the outputting of the plurality of media streams is synchronised at the plurality of end points.

10. The method of claim 9 wherein said monitoring is performed by the respective communication clients and the method further comprises transmitting information relating to the monitored amounts of time between the communication clients over the communication system, wherein at least one of said clients adds the delay to at least one of said providing and said outputting of at least one of the media streams so that the outputting of the plurality of media streams is synchronised at the plurality of end points.

11. The method of claim 9 wherein said monitoring is performed by a server of the communication system.

12. The method of claim 1 wherein said controlling at least one of said providing and said outputting of at least one of the media streams is based at least in part on a media control input received from a user at one of the plurality of end points.

13. The method of claim 1 wherein the media streams are one of a video stream, an audio stream, and a multimedia stream.

14. The method of claim 1 wherein the media streams are one of a TV media stream and a gaming media stream.

15. A method comprising:

receiving, at a first communication client at a first computing device of a communication system, a synchronized media stream;

controlling the synchronized media stream to be output at the first computing device at a same time as the synchronized media stream is output at a second computing device of the communication system;

engaging, by the first communication client, in a communication event with a second communication client at the second computing device over the communication system at a same time as the synchronized media stream is output at the first computing device;

receiving, at the first communication client, a user input of the communication event;

determining a media element of the synchronized media stream currently being output when the user input is received; and

transmitting an indication of the determined media element, as part of the communication event, to the second computing device effective to cause the user input to be output after the determined media element is output at the second computing device.

16. The method of claim 15 , wherein the communication event comprises an audio call.

17. The method of claim 15 , wherein the communication event comprises a video call.

18. The method of claim 15 , wherein the user input comprises speech input.

19. A method comprising:

receiving, at a communication client at a computing device of a communication system, a synchronized media stream;

controlling the synchronized media stream to be output at the computing device at a same time as the synchronized media stream is output at an additional computing device of the communication system;

engaging, by the communication client, in a communication event with an additional communication client at the additional computing device;

receiving, at the computing device, an indication of a media element of the synchronized media stream that was output at a same time as a user input of the communication event was received at the additional computing device;

controlling the user input of the communication event to be output at the computing device after the determined media element of the synchronized media stream is output at the computing device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2020
From: SKYPE
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 054586/0001 →
CHANGE OF NAME Recorded May 2, 2012
From: SKYPE LIMITED
To: SKYPE
Reel/Frame 028146/0590 →