The present invention relates to a communications network in which streamed data is sent to a number of receivers, such as an Internet Protocol Television (IPTV).
At present, in Internet Protocol Television (IPTV) one or more video streams are transmitted to receivers from a fixed set of content transmitters. The transmission may be unicast (one-to-one), for example as video on demand, or a multicast or broadcast solution (one-to-many). A receiver in such a network receives content from one such transmitter, with hard real-time requirements. Hence, the core networks must be modified to suit the transmission technologies used.
Such a receiver is commonly called a set-top box. The term set-top box (STB) describes a device that receives a signal from an external source, and forwards it to, for example, a television set, turning the signal into content then displayed on the screen. The signal source might be, for example, an Ethernet cable, a telephone line (including DSL connections), Broadband over Power Line, or even an ordinary Very High Frequency (VHF) or Ultra High Frequency (UHF) antenna. Content, in this context, could mean any or all of, audio, Internet webpages, interactive games, or other types of content.
Multicast is another communication method in which one source sends the same information to a number of receivers. The article “http://www.icir.org/floyd/srm-paper.html”, IEEE/ACM Transactions on Networking, December 1997, Volume 5, Number 6, pp. 784-803 discloses a so called reliable multicast distribution in which a node can ask neighbours for packets which it has not received. Multicast differs from IPTV in that in a multicast system the source always knows to which receivers the information is sent.
In the future, other types of applications having some degree of real-time requirements are foreseeable, for example, user-defined TV content, interactive TV, and interactive or cooperative games. Soft real-time requirements imply that a media stream should be delivered to the recipient at a continuous rate to avoid interruptions in, for example, a streamed sound and/or image output. The actual timing of the overall stream is not critical. The requirement is that the peer clients and servers together are able to deliver a sufficient bandwidth that the client can reassemble the content in a steady manner to the video-decoder. The invention introduces a certain amount of latency. A couple of seconds' latency should be acceptable to subscribers for regular content, since they already accept a certain latency for video transmitted via satellites.
In this document, when reference is made to a transmitter, or a receiver, respectively, it should be noted that these terms may also cover transceivers, that is, according to Wikipedia, nodes in which the same circuitry is used for receiver and transmitter functions. In other words, the terms transmitter and receiver cover all types of nodes that have transmitting functions, or receiving functions, respectively.
It is an object of the invention to improve the efficiency in a transmission network in which one unit transmits streamed information to a number of receiving units. This object is achieved according to the present invention by a network unit for use in a communications network in which streams of data frames are transmitted to a plurality of receivers, said network unit being arranged to receive at least a first part of at least a first stream of data frames transmitted from at least a first content source, characterized in that it comprises
In one aspect the invention also relates to a central distribution control unit for use in a communications network in which streams of data frames are transmitted to a plurality of receivers, said central distribution control unit comprising means for receiving from at least one receiver in the network information about which frames of a stream of data frames the at least one receiver has received and means for transmitting to the at least one receiver an order to forward at least one of the received frames to another receiver in the network.
The invention will improve the network capacity for media streams having soft real-time requirements, that is, for media streams that should be transmitted and displayed to the user at a continuous rate. By using a sliding window buffer it is possible to enable the perception of a live stream being gathered from multiple transmitters in a distributed peer-to-peer network, in a way that fulfils soft real-time requirements.
Using the buffers and the communication between them according to the invention each client does not have to receive all content from one content ingestion point, since it can request the content from peer clients. Indeed, it is advantageous to receive as much of the content as possible from peer nodes, as this will reduce the strain on the content transmitter. If multiple television sets in one household, or connected to the same local network, are watching the same channel only one copy needs to be transmitted over the connection to the house without any requirements on the internal structure within the household, apart from a sufficient bandwidth between the television sets.
The receiving unit may also be arranged to receive from said at least one other network unit a request for at least one data frame and the transmitting unit is arranged to transmit the at least one data frame if it is found in the at least one buffer.
If a central distribution control unit is present in the network, the receiving unit may also be arranged to receive from a central distribution control unit in the network an order to transmit at least one data frame to the at least one other network unit and the transmitting unit may be arranged to transmit the at least one data frame if it is found in the at least one buffer. In this case, the transmitting unit may also be arranged to transmit to the central distribution control unit in the network information about the data frames it has received from the content source and from other network units.
The network unit according to the invention may be a router in the network arranged to forward the at least one data stream to at least one receiver in the network
The network unit preferably further comprises a reassembling unit for reassembling the data stream and means for forwarding the reassembled data stream to a display unit for presentation to a user. In this way the network unit does not have be comprise a display unit but can be used together with any type of device comprising a display, such as an ordinary television set. The network unit may also itself comprise display means for presenting the reassembled data stream to a user.
The buffer may be, for example, a sliding window ring buffer, and is preferably associated with a second buffer for storing the addresses to any key frames that are stored in the buffer. In this way, when another network unit requests frames from the stream contained in the buffer, the first available key frame can be found and transmitted to the other network unit quickly. The key frames are frames at which the display of a stream can start. One type of key frame is an I-frame, which is discussed as an example only, in this document.
The network unit may also comprise means for monitoring the sharing of information between the network units. In this way a distributed monitoring function can be implemented to ensure that all network units actually share the information they have received.
One aspect of the invention relates to a communications system comprising at least a first content source arranged to transmit at least a first stream of data frames to a plurality of receivers, characterized in that the receivers are receivers as defined above. The communication system may further comprise a central distribution control unit as defined above, for communicating with the receivers, and/or at least one distribution logic unit arranged to monitor the sharing of information between the network units.
The invention enables a single sender to send to a large volume of suscribers with a minimum of upstream bandwidth, thus allowing subscribers to receive content independently of operator domains, internet domains or country regions, assuming that the subscriber has sufficient privileges to unlock any Digital Rights Management (DRM) encryption used if the stream is encrypted.
The content injector can be a public television channel or a private driven channel such as a live-video-blog. The more subscribers a specific channel has, the more intra-domain bandwidth can be saved according to the invention.
Multicast assumes that all content is introduced in a fairly limited set of ingestion points, and has high demands on the actual infrastructure. In comparison, peer-to-peer networks, as used in the present invention, can traverse Network Address Translation (NAT) firewalls, country borders and operators without any major obstacles.
The latency introduced in the stream will differ slightly between different clients, so that, in the case of a video stream, the different users will not view exactly the same image at the same time. The nature of peer-to-peer balancing, however, ensures that the latency is similar in adjacent nodes, which are probably geographically close to each other. In this way the risk of, for example, hearing the neighbours cheering for a football goal prior to seeing the actual goal, is limited.
The fragmentation is not necessarily based on (Moving Pictures Experts Group) MPEG frames. It would probably be more effective to fragment in Maximum Transmission Unit (MTU) based sizes, such as approximately 1500 bytes on Ethernet. The reassembled stream can be MPEG or any other suitable media stream.
The invention will be described in more detail in the following, by way of example and with reference to the appended drawings in which:
As an example, a first sequence of frames comprising, for example, images belonging to a first video stream can be transmitted to the first receiver 7 and a second sequence of images belonging to a second video stream can be transmitted to the second 8 and/or the third receiver 9. It should be noted that this is only intended as an example. A real network will have more media servers, more routers, and each router will serve a greater number of receivers with the same or different streams.
According to the invention, each receiver, or set-top box, 7, 8, 9, 10 is arranged to communicate with one or more of the other receivers. In this way, according to the invention each receiver can, and should, request frames that it has not received from other receivers and send frames that it has received, to other receivers. In the example network shown in
According to the invention, the media server 1 comprises, or is connected to a distribution logic unit 11.
Such a situation is depicted in
Consider, with reference to
In practice, however, it may be advantageous in every embodiment of the invention to send at least some of the images to more than one receiver. In particular, in IPTV, certain frames are defined as possible starting points for viewing, so called key frames, one example of which is I-frames. This may be, for example, the first frame in each scene. If such a frame is lost, all frames between this frame and the next I-frame cannot be viewed, which may mean that a whole scene is lost. Therefore, it is advantageous to transmit these I-frames to more than one of the receivers, possibly to all receivers, to increase the chance that they are received correctly.
This sharing of information between receivers is particularly advantageous if the receivers are connected to the same local network having large capacity and/or low transmission cost. For example, if the receivers are connected to the same Local Area Network (LAN) in principle unlimited amounts of data can be exchanged at no cost.
According to the invention, each receiver 7, 8, 9 comprises a buffer for storing images, to ensure a smooth reassembly of the stream. The buffer could be a ring buffer, or a sliding window buffer or another suitable type of buffer.
Typically, a set-top box can have a number of channels.
When a “blank” (the other STB has changed channel) “read out” request comes from another STB the “read out” function looks in the “I-frame buffer” to find the first available I-frame. In the example shown in
Assuming that the first buffer 131 of
The frames of the first stream may be received by the second buffer B2 from the first buffer B1 belonging to the first user. As mentioned above, it is only possible to start watching the first stream at certain frames, in this example the I-frames F2 or F10, which are indicated in bold characters. Therefore the first buffer B1 should transmit the frames of the first stream to the second buffer B2 starting with either frame F2 or frame F10. In the former case the second receiver 8 will watch the images of the first stream a little delayed compared to the first receiver 7. In the latter case, the second receiver 8 will watch the images of the first stream a little bit ahead of the first receiver 7. If no I-frame is currently stored in the first buffer B1, the second receiver will have to wait before it can start receiving frames belonging to the first stream in such a way that they can be displayed. Hence, the longer the buffer, compared to the interval between the I-frames, the faster the channel can be changed. Therefore, it is feasible for each buffer to contain at least one I-frame at any given time.
A requirement is that the second buffer B2 is able to receive each image before the image is to be shown. It may therefore be advantageous to start with an image that is not near the end of the first buffer B1, in this case F2.
Changing channels will be particularly easy if the new channel is already being received by another receiver in the same LAN or other local network.
Today's video encoding already allows for a buffer that should be sufficiently large for the present invention. For example, a 256 Mb buffer would probably allow for storing more than 30 minutes of TV quality video. This could then be used as multiple small buffers, for example 5 minutes on each of 6 channels. The bandwidth consumption is roughly 8 Mbyte/minute or 1.1 Mbit/s, which should enable the reception of multiple channels on a regular consumer connection at any single time to allow quick channel switching and possible time-shifting.
The central distribution control unit 15 is arranged to receive information from each of the receivers 7, 8, 9 regarding which frames the receiver has received and from whom. The central distribution control unit is responsible for monitoring which receivers are willing to share information with other receivers, so that all receivers actively share the content they have received. The central distribution control unit 15 may also be arranged to handle payments for content, although this is outside the scope of this invention. A user who does not want to participate in actively sharing content can be required to pay an extra fee instead.
If a central distribution control unit 15 is present in the network, the receivers do not have to request missing frames themselves. Instead, other receivers may be ordered by the central distribution control unit 15 to provide the missing frames. Alternatively, the central distribution control unit can inform each receiver about the other receivers receiving the same stream, so that each receiver can request missing frames directly from other receivers. If no central distribution control unit is used, as shown in
The receiver, commonly referred to as a set-top box (STB) in the field of IPTV, may be implemented as a software module in a television set, which will then be able to receive IPTV from the network and display it to the user. Alternatively, the set-top box is implemented as a software module, for example in a personal computer or other terminal having data processing capabilities. The stream can then be forwarded from the set-top box to any display unit, including a television set, or the computer's own display for display to the user.
The functions performed by the receivers according to the invention may instead be performed by units in the network, such as the routers 3, 4, 5, In this case, the receivers 7, 8, 9, 10 do not need to comprise any special functions at all apart from what is found in prior art set-top boxes. Instead, the routers 3, 5 comprises one or more buffers as shown in
The networks used for communication between the media server and the receivers, and between receivers, may be any network known in the art providing a sufficient bandwidth, including wire-based or wireless networks, or a combination of both.
While the frames must be displayed to the viewers at a constant rate, the buffer allows for the transmission rate of frames to vary, to the extent where the frames are transmitted in bursts which are handled by the buffer.
At one moment of time, a snapshot of the buffer memory inside a STB can look as shown in
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/SE07/50475 | 6/29/2007 | WO | 00 | 1/4/2011 |