IP Library Granted Patent US 10,965,729
Granted Patent B2
US 10,965,729 · App. 16/305,258 · Granted Mar 30, 2021

Live streaming of media for low-latency applications such as live casino gaming applications

Inventors: Niclas Åström (Umeå, SE); Per Mafrost (Hörnefors, SE); Mattias Bergström (Umeå, SE); Ulf Bertilsson (Umeå, SE)
Assignee: NETENT PRODUCT SERVICES LTD.
H04L65/608G07F17/3223G07F17/3225H04L65/601H04L65/607
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,965,729
App. No.
16/305,258
Granted
Mar 30, 2021
Kind
B2
Abstract

The present disclosure generally relates to streaming of media and, more specifically, to live streaming of media. The present disclosure relates, in particular, to live streaming of media for low-latency applications such as gaming applications (e.g., live casino gaming applications). The disclosure, among other things, describes a method of live streaming of media for low-latency applications, wherein the media streams are broadcasted ( 220 ) from a first device (e.g., a Media Streaming Provider Server System ( 140 )) to one or several second devices (e.g., user game devices ( 110 ) for use in a live casino gaming application) over a WebRTC data channel.

Claims (123)

1. A method of live streaming of media for low-latency applications, the method comprising:

initiating broadcast of a media stream over a Web Real-Time Communications, WebRTC, data channel

broadcasting the media stream over the WebRTC data channel to one or more receivers; and

prior to initiating the broadcast of the media stream over the WebRTC data channel:

monitoring a buffer state of a buffer; and

in dependence of the monitored buffer state:

determining whether the broadcast of the media stream over the WebRTC data channel is to be initiated.

2. The method according to claim 1 , wherein the media stream comprises one or more media packets, wherein each media packet comprises a header and a media frame, and wherein the header comprises metadata and a time code.

3. The method according to claim 1 , further comprising, prior to initiating the broadcast of the media stream over the WebRTC data channel:

obtaining information related to one or more media formats supported by one or more receivers; and in dependence of the obtained information

determining whether the broadcast of the media stream over the WebRTC data channel is to be initiated.

4. The method according to claim 1 , wherein a low-latency application is an application having a latency in a range of 0-5 seconds.

5. A method of live streaming of media for low-latency applications, the method comprising:

initiating reception of a media stream over a Web Real-Time Communications, WebRTC, data channel;

receiving the media stream over the WebRTC data channel from a transmitter;

monitoring a buffer level of a media buffer; and

continuing said reception of the media stream over the WebRTC data channel in response to a determination that the monitored buffer level is equal to or above a predefined buffer level.

6. The method according to claim 5 , wherein the media stream comprises one or more media packets, wherein each media packet comprises a header and a media frame, and wherein the header comprises metadata and a time code.

7. The method according to claim 6 , further comprising:

processing the header and the media frame of each received media packet separately.

8. The method according to claim 5 , further comprising:

monitoring a buffer level of a media buffer; and

adjusting a quality of the received media stream in dependence of the monitored buffer level of the media buffer.

9. The method according to claim 5 , wherein a low-latency application is an application having a latency in a range of 0-5 seconds.

10. A first device configured for live streaming of media for low-latency applications, the first device comprising:

a transmitter;

a processor;

a memory storing computer program code which, when run in the processor, causes the first device to;

prior to initiating a broadcast of a media stream over a WebRTC data channel, monitor a buffer state of a buffer: and in dependence of the monitored buffer state:

determine whether the broadcast of the media stream over the WebRTC data channel is to be initiated, and

initiate broadcast of a media stream over a Web Real-Time Communications, WebRTC, data channel; and

wherein the transmitter is adapted to broadcast the media stream over the WebRTC data channel to one or more receivers.

11. The first device according to claim 10 , wherein the media stream comprises one or more media packets, wherein each media packet comprises a header and a media frame, and wherein the header comprises metadata and a time code.

12. The first device according to claim 10 , wherein the memory stores computer program code, which, when run in the processor causes the first device to, prior to initiating the broadcast of the media stream over the WebRTC data channel:

obtain information related to one or more media formats supported by one or more receivers; and in dependence of the obtained information

determine whether the broadcast of the media stream over the WebRTC data channel is to be initiated.

13. The first device according to claim 10 , wherein a low-latency application is an application having a latency in a range of 0-5 seconds.

14. A second device configured for live streaming of media for low-latency applications, the second device comprising:

a receiver;

a processor;

a buffer monitoring module adapted to monitor a buffer level of a media buffer of the second device;

a memory storing computer program code which, when run in the processor, causes the second device to:

initiate reception of a media stream over a Web Real-Time Communications, WebRTC, data channel, and

continue reception of a media stream over the WebRTC data channel in response to a determination that the monitored buffer level is equal to or above a predefined buffer level; and

wherein the receiver is adapted to receive the media stream over the WebRTC data channel from a transmitter.

15. The second device according to claim 14 , wherein the media stream comprises one or more media packets, wherein each media packet comprises a header and a media frame; and wherein the header comprises metadata and a time code.

16. The second device according to claim 15 , wherein the processor is adapted to process the header and the media frame of each received media packet separately.

17. The second device according to claim 14 , further comprising:

a buffer monitoring module adapted to monitor a buffer level of a media buffer of the second device; and wherein the memory stores computer program code which, when run in the processor, causes the second device to adjust a quality of the received media stream in dependence of the monitored buffer level of the media buffer.

18. The second device according to claim 14 , wherein a low-latency application is an application having a latency in a range of 0-5 seconds.

19. A method of live streaming of media for low-latency applications, the method comprising:

prior to initiating a broadcast of a media stream over a WebRTC data channel: obtaining information related to one or more media formats supported by one or more receivers, and

in dependence of the obtained information, determining whether a broadcast of the media stream over the WebRTC data channel is to be initiated;

initiating broadcast of a media stream over a Web Real-Time Communications, WebRTC, data channel; and

broadcasting the media stream over the WebRTC data channel to one or more receivers.

20. The method according to claim 19 , wherein the media stream comprises one or more media packets, wherein each media packet comprises a header and a media frame, and wherein the header comprises metadata and a time code.

21. The method according to claim 19 , further comprising, prior to initiating the broadcast of the media stream over the WebRTC data channel:

monitoring a buffer state of a buffer; and in dependence of the monitored buffer state

determining whether the broadcast of the media stream over the WebRTC data channel is to be initiated.

22. The method according to claim 19 , wherein a low-latency application is an application having a latency in a range of 0-5 seconds.

23. A method of live streaming of media for low-latency applications, the method comprising:

initiating broadcast of a media stream over a Web Real-Time Communications, WebRTC, data channel; and

broadcasting the media stream over the WebRTC data channel to one or more receivers, and

wherein a low-latency application is an application having a latency in a range of 0-5 seconds.

24. The method according to claim 23 , wherein the media stream comprises one or more media packets, wherein each media packet comprises a header and a media frame, and wherein the header comprises metadata and a time code.

25. The method according to claim 23 , further comprising, prior to initiating the broadcast of the media stream over the WebRTC data channel:

monitoring a buffer state of a buffer; and in dependence of the monitored buffer state

determining whether the broadcast of the media stream over the WebRTC data channel is to be initiated.

26. The method according to claim 23 , further comprising, prior to initiating the broadcast of the media stream over the WebRTC data channel:

obtaining information related to one or more media formats supported by one or more receivers; and in dependence of the obtained information

determining whether the broadcast of the media stream over the WebRTC data channel is to be initiated.

27. A method of live streaming of media for low-latency applications, the method comprising:

initiating reception of a media stream over a Web Real-Time Communications, WebRTC, data channel; and

receiving the media stream over the WebRTC data channel from a transmitter, and

wherein a low-latency application is an application having a latency in a range of 0-5 seconds.

28. The method according to claim 27 , wherein the media stream comprises one or more media packets, wherein each media packet comprises a header and a media frame, and wherein the header comprises metadata and a time code.

29. The method according to claim 28 , further comprising:

processing the header and the media frame of each received media packet separately.

30. The method according to claim 27 , further comprising:

monitoring a buffer level of a media buffer; and

continuing said reception of the media stream over the WebRTC data channel only in response to a determination that the monitored buffer level is equal to or above a predefined buffer level.

31. The method according to claim 27 , further comprising:

monitoring a buffer level of a media buffer; and

adjusting a quality of the received media stream in dependence of the monitored buffer level of the media buffer.

32. A first device configured for live streaming of media for low-latency applications, the first device comprising:

a transmitter;

a processor;

a memory storing computer program code which, when run in the processor, causes the first device to:

prior to initiating a broadcast of a media stream over a WebRTC data channel:

obtain information related to one or more media formats supported by one or more receivers,

in dependence of the obtained information, determine whether the broadcast of the media stream over the WebRTC data channel is to be initiated, and

initiate broadcast of a media stream over a Web Real-Time Communications, WebRTC, data channel; and

wherein the transmitter is adapted to broadcast the media stream over the WebRTC data channel to one or more receivers.

33. The first device according to claim 32 , wherein the media stream comprises one or several media packets, wherein each media packet comprises a header and a media frame, and wherein the header comprises metadata and a time code.

34. The first device according to claim 32 , wherein the memory stores computer program code, which, when run in the processor causes the first device to, prior to initiating the broadcast of the media stream over the WebRTC data channel:

monitor a buffer state of a buffer; and in dependence of the monitored buffer state

determine whether the broadcast of the media stream over the WebRTC data channel is to be initiated.

35. The first device according to claim 32 , wherein a low-latency application is an application having a latency in a range of 0-5 seconds.

36. A first device configured for live streaming of media for low-latency applications, the first device comprising:

a transmitter;

a processor; and

a memory storing computer program code which, when run in the processor, causes the first device to initiate broadcast of a media stream over a Web Real-Time Communications, WebRTC, data channel; and wherein

the transmitter is adapted to broadcast the media stream over the WebRTC data channel to one or more receivers, and

a low-latency application is an application having a latency in a range of 0-5 seconds.

37. The first device according to claim 36 , wherein the media stream comprises one or several media packets, wherein each media packet comprises a header and a media frame, and wherein the header comprises metadata and a time code.

38. The first device according to claim 36 , wherein the memory stores computer program code, which, when run in the processor causes the first device to, prior to initiating the broadcast of the media stream over the WebRTC data channel:

monitor a buffer state of a buffer; and in dependence of the monitored buffer state

determine whether the broadcast of the media stream over the WebRTC data channel is to be initiated.

39. The first device according to claim 36 , wherein the memory stores computer program code, which, when run in the processor causes the first device to, prior to initiating the broadcast of the media stream over the WebRTC data channel:

obtain information related to one or more media formats supported by one or more receivers; and in dependence of the obtained information

determine whether the broadcast of the media stream over the WebRTC data channel is to be initiated.

40. A second device configured for live streaming of media for low-latency applications, the second device comprising:

a receiver;

a processor; and

a memory storing computer program code which, when run in the processor, causes the second device to initiate reception of a media stream over a Web Real-Time Communications, WebRTC, data channel; and wherein

the receiver adapted to receive the media stream over the WebRTC data channel from a transmitter, and

wherein a low-latency application is an application having a latency in a range of 0-5 seconds.

41. The second device according to claim 40 , wherein the media stream comprises one or several media packets, wherein each media packet comprises a header and a media frame; and wherein the header comprises metadata and a time code.

42. The second device according to claim 41 , wherein the processor is adapted to process the header and the media frame of each received media packet separately.

43. The second device according to claim 40 , further comprising:

a buffer monitoring module adapted to monitor a buffer level of a media buffer of the second device; and wherein the memory stores computer program code which, when run in the processor, causes the second device to continue reception of a media stream over the WebRTC data channel only in response to a determination that the monitored buffer level is equal to or above a predefined buffer level.

44. The second device according to claim 40 , further comprising:

a buffer monitoring module adapted to monitor a buffer level of a media buffer of the second device; and wherein the memory stores computer program code which, when run in the processor, causes the second device to adjust a quality of the received media stream in dependence of the monitored buffer level of the media buffer.

Assignments (2)
MERGER Recorded Oct 2, 2024
From: NETENT PRODUCT SERVICES LTD.
To: EVOLUTION MALTA LIMITED
Reel/Frame 069103/0476 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2018
From: ÅSTRÖM, NICLAS; MAFROST, PER; BERGSTRÖM, MATTIAS; BERTILSSON, ULF
To: NETENT PRODUCT SERVICES LTD.
Reel/Frame 047609/0788 →
Continuity (1)
Related Publication 20200177659A1 · Jun 4, 2020