WO2009080117A1 - Method and apparatus for distributing media over a communications network - Google Patents

Method and apparatus for distributing media over a communications network Download PDF

Info

Publication number
WO2009080117A1
WO2009080117A1 PCT/EP2007/064452 EP2007064452W WO2009080117A1 WO 2009080117 A1 WO2009080117 A1 WO 2009080117A1 EP 2007064452 W EP2007064452 W EP 2007064452W WO 2009080117 A1 WO2009080117 A1 WO 2009080117A1
Authority
WO
WIPO (PCT)
Prior art keywords
data fragments
peer node
channel
peer
frames
Prior art date
Application number
PCT/EP2007/064452
Other languages
French (fr)
Inventor
Andreas Ljunggren
Robert Skog
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Priority to PCT/EP2007/064452 priority Critical patent/WO2009080117A1/en
Priority to GB1008306.1A priority patent/GB2468059B/en
Publication of WO2009080117A1 publication Critical patent/WO2009080117A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4383Accessing a communication channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1072Discovery involving ranked list compilation of candidate peers

Definitions

  • the invention relates to the field of distributing media over a communications network, and in particular to distribution of IPTV using a Peer to Peer communications network.
  • IPTV IPTV
  • IPTV is typically broadcast using a broadband access network, in which channels are transmitted over a broadband network from a super head-end down to an end-user's set top box (STB).
  • STB set top box
  • Linear content delivery in which all channels in a subscription are simultaneously delivered to a user's set top box (STB), is not suitable for IPTV, as IPTV has limited bandwidth available over a broadband connection.
  • a typical ADSL broadband connection provides a capacity of between 3 and 8 Mbps, and ADSL2 promises to deliver up to 25 Mbps downstream, whereas VDSL can provide a capacity of greater than 30 Mbps.
  • Standard quality MPEG 2 IPTV content requires 2 Mbps per channel, and HDTV will require around 8-10 Mbps per channel.
  • the MPEG 4 standard will approximately halve the bandwidth required to deliver IPTV content with the same quality. Nevertheless, the available bandwidth is a scarce resource, and IPTV solutions must limit the number of channels that can be delivered simultaneously.
  • FIG. 1 illustrates a known way of distributing media in which an IPTV media stream originates in a service provider network 1 , is passed to a core network 2, is further passed into a metro network 3, and finally is sent via access networks 4 to each home network 5 that contains an STB that wishes to receive the media stream.
  • Networks can quickly become saturated due to heavy traffic loads.
  • content can be multicast to reduce bandwidth demands for broadcast TV distribution.
  • Video on Demand (VoD) services can be handled by VoD cache servers located close to the end-user.
  • such caches require additional investment, and many routers would need to be replaced, as existing routers may not support IPTV multicasts.
  • IPTV media stream can be delivered to a STB from another STB, from a media injector from which the stream originates, or from any other peer in the network.
  • the IPTV P2P requires a media injector in order to introduce the IPTV media stream into the network, although the media injector is not a true peer in the network in the sense that it only sends data but does not receive data from the peers.
  • Figure 3 is a schematic representation of a simple IPTV P2P network 1.
  • the network 1 includes an IPTV back-end 6 and two STBs STB1 and STB2.
  • Each STB includes a P2P network interface 12, 13 to which is connected a video decoder 9, 11.
  • STB2 receives the IPTV media stream from both STB1 and the IPTV back-end 6, which injects either streaming content or content from a database 7 using a P2P media injector 8.
  • other network nodes may be peers in the network.
  • IPTV media stream is used herein to refer to any kind of data having real time requirements, and includes Video on Demand, user generated TV content, interactive TV, interactive or co-operative games, or audio media.
  • the media stream is to be delivered to the user such that the user can observe the media content at a constant rate without interruptions or delays.
  • Compressed video media generally consists of a series of frames containing the information to be displayed on a user's screen. Each frame can be considered as a "picture" displayed on the screen.
  • Most video compression formats such as in ITU- T VCEG or ISO/IEC MPEG video standards, only the differences between successive pictures are usually encoded. For example, in a scene in which a person walks past a stationary background, only the moving portions of the picture are represented in each frame (either using motion compensation or as image data or as a combination of the two, depending on which representation requires fewer bits to adequately represent the picture). The parts of the scene that are not changing do not need to be sent repeatedly.
  • MPEG media streams contain different frames, such as l-frames("intra” frames), P-frames ("predicted” frames) and B-frames ("bi-predictive” or "bi-directional” frames), l-frames do not depend on data contained in the preceding or following frames, as they contain a complete picture.
  • P-frames provide more compression than l-frames because they utilize data contained in the previous l-frame or P-frame.
  • the preceding frame is reconstructed and altered according to incremental extrapolation information.
  • B-frames are similar to P-frames, except that B- frames interpolate data contained in the following frame as well as the preceding frame.
  • B-frames usually provide more compression than P-frames.
  • P-frames and B-frames might follow an l-frame as follows: IBBPBBPBBPBB(I). The order and number of frames in the sequence can be varied.
  • the media stream includes payload data and metadata.
  • the payload data is the media data itself, and is decoded and shown by the receiver.
  • Payload data typically comprises frames as described above.
  • the metadata includes all other data in the media stream. This may be, for example, data describing the payload data, or information establishing signalling between two peers.
  • the media stream is sent in "fragments". Fragments are discrete portions of the media stream containing both the payload data and the metadata. It will be appreciated that a frame and a fragment do not necessarily correspond to each other directly: a single frame may be encoded into many fragments or (in some cases) a single fragment may contain more than one frame.
  • a STB may fetch data fragments (containing frames and metadata) both from other STBs in the network and from one or more Media Injectors. If fragments are fetched from another STB, and the user of that other STB changes channel, then another source from which fragments can be fetched must be found. However, there is a danger of a break in transmission in the period between the other STB changing channel and the new source being identified.
  • STB1 is subscribed to channel X, and fetches fragments containing frames for this channel from the media injector STBO.
  • STB2 is also subscribed to channel X, and fetches fragments from STB1. If the user of STB1 changes channel to channel Y, it is no longer possible for STB2 to fetch the fragments for channel X from STB1 , and another source must be found - e.g. STBO. However, STB2 will have had no warning of the change in channel by STB1 and thus, until the search for a new provider for frames is complete, STB2 will have no source of fragments containing frames of channel X.
  • the STB having the necessary resources will continue to fetch fragments containing frames for a channel even if the end-user has selected another channel. This gives a more calm P2P network if end-users change channel often. If STB 1 has enough memory and CPU then the STB 1 could continue to fetch fragments containing frames for channel X (i.e. still be part of P2P for channel X for a grace time) but these frames will not be sent to STB 1 's video decoder. Only channel Y frames will do that.
  • a peer node for use in a P2P network, preferably a P2P IPTV network.
  • the peer node comprises a receiver arranged to receive first data fragments containing media frames associated with a first channel, a buffer operatively connected to the receiver and arranged to store the first data fragments, a transmitter operatively connected to the first buffer and arranged to send the first data fragments to another peer node in the network, and a controller operatively connected to the receiver, transmitter and buffer.
  • the controller is arranged to receive user instructions to change channel and, in response, to cause the receiver to receive second data fragments containing media frames associated with a second channel. After the controller has received the user instructions to change channel, the receiver continues to receive the first data fragments, the buffer continues to store the first data fragments, and the transmitter continues to transmit the first data fragments to the other peer node.
  • the peer node may comprise a second buffer operatively connected to the receiver and controller and arranged to store the second data fragments, although it is also possible that the second data fragments are stored in the first buffer, interleaved with the first data fragments, if necessary.
  • the frames contained in the first data fragments are preferably sent to a media decoder associated with the peer node.
  • the frames contained in the first data fragments are preferably not sent to the media decoder, but the frames contained in the second data fragments may be sent in their place.
  • the peer node only receives, stores and sends the first data fragments for a predetermined period of time after the user instructions to change channel have been received.
  • the peer node may further only receive, store and send the first data fragments if they are required by another node.
  • a method for delivering media in a P2P network preferably a P2P IPTV network.
  • the method comprises receiving first data fragments containing media frames associated with a first channel at a peer node in the network.
  • the first data fragments are stored at the peer node, and sent from the peer node to another peer node in the network.
  • second data fragments containing media frames associated with a second channel are received at the peer node, but the peer node continues to receive, store and send the first data fragments to the other peer node even after the user instructions to change channel have been received.
  • apparatus for use in a network comprising means for performing a method according to the second aspect of the present invention.
  • a program for controlling an apparatus to perform a method according to the second aspect of the present invention is provided.
  • a program which, when loaded into an apparatus, causes the apparatus to become an apparatus according to the third aspect of the present invention.
  • the program may be carried on a carrier medium, which may be a storage medium or a transmission medium.
  • an apparatus programmed by a program according to the fourth or fifth aspect of the present invention.
  • a storage medium containing a program according to the fourth or fifth aspect of the present invention.
  • Figure 1 illustrates schematically in a block diagram an architecture for the distribution of IPTV
  • Figure 2 illustrates schematically in a block diagram an architecture for the distribution of I PTV in a peer to peer network
  • Figure 3 illustrates schematically in a block diagram a media injector and two Set Top
  • Figure 4 illustrates schematically in a block diagram the signalling required to initiate an
  • Figure 5 illustrates schematically in a block diagram the signalling required to initiate an
  • Figure 6 illustrates schematically in a block diagram keep alive messages sent by a Set
  • Figure 7 is a schematic illustration of a buffer at a moment in time
  • Figure 8 is a schematic illustration of the buffer of Figure 7 at a later moment in time, after the user of the STB has switched subscription to another channel;
  • Figure 9 is a schematic block diagram of a STB.
  • Figure 10 is a flow diagram illustrating the actions taken by a STB following a channel switch.
  • Figure 4 illustrates typical signalling required to initiate an IPTV broadcast with a first STB STB1.
  • the video decoder 9 in STB1 receives an instruction from a user to start channel X. This is relayed to the P2P network interface 12 in STB1 , which sends a request to a STB manager 10 in the IPTV back-end to join channel X.
  • the Manager 10 returns a peer list to the network interface 12 in STB1 , but no IPTV media stream.
  • the peer list includes the P2P media injector 8. Since the media injector can be considered as a peer in the network it is hereinafter referred to as STBO.
  • the network interface 12 in STB1 then sends a request to join channel X to STBO.
  • STBO receives an IPTV media stream from an IPTV media stream source (for example from the database 7 shown in Figure 3), and sends a peer list and an IPTV media stream comprising fragments of frames to the network interface 12 of STB1.
  • the network interface 12 sends the frames to the video decoder 9 in STB1 , which can then show the IPTV media stream to the user.
  • Figure 5 illustrates typical signalling required to initiate an IPTV broadcast with a further STB STB2. It is assumed that STB1 is already receiving an IPTV media stream from STBO.
  • STB2 wishes to receive channel X, she sends an instruction to logic within STB2, which is relayed to the network interface 13 in STB2.
  • the network interface 13 in STB2 sends a request join channel X to the STB manager 10.
  • the STB manager 10 returns a peer list but no payload to STB2.
  • the peer list includes STBO and STB1 , as these are both possible sources for the IPTV media stream.
  • the network interface 13 in STB2 then sends a request to each of STBO and STB1 to join channel X.
  • STBO and STB1 each send a peer list and IPTV data stream to the network interface 13 in STB2, which passes the frames of the IPTV media stream to the video decoder. It is preferred that all peers in the P2P network send each other "keep alive" messages, as illustrated in Figure 6, to ensure that each STB is included in the list of peers and can both send and receive IPTV media streams.
  • STB2 is subscribed to channel X and receives frames both from STBO and STB1.
  • STB1 receives the frames for channel X from STBO, and passes these frames both to its own video decoder 9 and to the network interface 13 of STB2. In order to achieve this, the frames are stored in a buffer at STB1.
  • FIG 7 is a schematic illustration of a buffer 14 used by STB1 in this situation.
  • Figure 7 represents a snapshot of the buffer 14 at a single moment in time.
  • the buffer is described as though it contains complete frames: it will be appreciated that, in practice, the buffer contains data fragments as described above, where (usually) a single frame is encoded in more than one fragment, and where the fragments include metadata as well as the payload data.
  • frames being passed from one entity to another, it will be appreciated that such frames are encoded as data fragments, and it is actually the fragments which are passed (although generally, frames without P2P metadata are generally passed to a local video decoder).
  • frames 15-21 are currently stored in the buffer, and the remaining frames are currently empty.
  • requests have been made by another STB (e.g. STB2) for frames from channel X, and frames 16 and 19 are in the process of being passed to STB2.
  • frame 17 is being passed to the video decoder 9 included in STB1 for display.
  • the most recent frames starting with frame 21 ) are fetched from STBO (in the example shown) although it will be appreciated that they may be fetched from any other suitable peer in the network, such as another STB. These recent frames are written into the buffer to ensure that there will always be sufficient frames to suit the requirements of the video decoder 9.
  • STB1 continues to fetch the channel X frames from its source (e.g. STBO) for a predetermined period of time, even though these frames are no longer being passed to the local video decoder 9.
  • its source e.g. STBO
  • Figure 8 shows another snapshot of the buffer 14 of STB1 , just after the user of STB1 has switched to channel Y.
  • STB1 finds a source, and starts to fetch the frames, for channel Y.
  • the frames for channel Y may either be stored in the same buffer 14, interleaved with the channel X frames, or stored in a different buffer (not shown).
  • the STB1 also continues to fetch frames for channel X and store them in the existing buffer 14, from where they can be fetched by STB2, where the user is still watching channel X.
  • Figure 8 illustrates frames 18 and 20 being passed to STB2, while frame 23 is fetched from STBO.
  • STB2 continues to fetch frames for channel X from STB1 for a predetermined period of time, while it searches for another source of data for channel X.
  • Figure 9 illustrates a set-top box 31 , which may be any of the STBs shown in the other figures.
  • the set-top box 31 comprises first and second buffers 33, 34 for storing frames received from media injectors and/or other set-top boxes or other peers, as discussed above.
  • the set-top box 31 also comprises a transmitter unit 35 and a receiver unit 37, connected to the buffers 33, for communicating with the other set-top boxes in the network.
  • the set-top box 31 also comprises a control unit for controlling the functions of the transmitter unit 35, the receiver unit 37 and the buffers 33, 34.
  • control unit is able to ensure that, if the STB is subscribed to channel X, the frames are received by the receiver 37 and stored in a first buffer 33, from which they are passed to a video decoder (not shown) for display, and/or sent to other subscribing peers in the network via the transmitted 35. If the user switches channel to channel Y, the controller 39 ensures that frames of channel Y are stored in the second buffer 34, but that frames of channel X are still received for a period of time, and stored in the first buffer 33.
  • the receiver 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.
  • 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.
  • Figure 10 is a flow chart illustrating the actions taken by STB1 in changing subscription from channel X to channel Y, depending on whether another STB (e.g. STB2) is receiving channel X claims from STB1.
  • STB1 e.g. STB2
  • S1 Channel X frames are received by STB1.
  • S2 Channel X frames are stored in a buffer.
  • S3: STB1 receives instructions from viewer to switch to channel Y.
  • STB1 If another peer (e.g. STB2) is currently fetching channel X frames from STB1 , then STB1 continues to fetch channel X frames and store them in the buffer.
  • another peer e.g. STB2
  • STB1 continues to fetch channel X frames and store them in the buffer.
  • the set top boxes have all been described as including "video decoders" but it will be appreciated that decoding for any form of media may be envisaged.
  • some of the embodiments described include the use of a first buffer to store frames of channel X, and a second buffer to store frames of channel Y. It is preferred that a single buffer is used, with channel X frames interleaved with channel Y frames, in which channel Y frames are sent to the local video decoder, while channel X frames are sent to another peer in the network.
  • buffers Any number of buffers may be used to put the invention into effect.
  • fragments are stored in the buffer rather than complete frames, and the metadata of each fragment will identify the channel to which that fragment belongs. It is therefore not a problem for a single buffer to contain a mixture of fragments corresponding to different channels.

Abstract

A method and apparatus for distributing media over a P2P IPTV network is described. First data fragments containing media frames, associated with a first channel, are received and stored at a peer node in the network, and sent from the peer node to another peer node in the network. When user instructions are received at the peer node to change channel, second data fragments containing media frames associated with a second channel are received and stored at the peer node. However, even after these user instructions have been received, the peer node continues to receive and store the first data fragments and send them to the other peer node.

Description

Method and Apparatus for Distributing Media over a Communications Network
TECHNICAL FIELD
The invention relates to the field of distributing media over a communications network, and in particular to distribution of IPTV using a Peer to Peer communications network.
BACKGROUND
TV services broadcast over an IP network are referred to as IPTV. IPTV is typically broadcast using a broadband access network, in which channels are transmitted over a broadband network from a super head-end down to an end-user's set top box (STB).
Linear content delivery, in which all channels in a subscription are simultaneously delivered to a user's set top box (STB), is not suitable for IPTV, as IPTV has limited bandwidth available over a broadband connection. A typical ADSL broadband connection provides a capacity of between 3 and 8 Mbps, and ADSL2 promises to deliver up to 25 Mbps downstream, whereas VDSL can provide a capacity of greater than 30 Mbps. Standard quality MPEG 2 IPTV content requires 2 Mbps per channel, and HDTV will require around 8-10 Mbps per channel. The MPEG 4 standard will approximately halve the bandwidth required to deliver IPTV content with the same quality. Nevertheless, the available bandwidth is a scarce resource, and IPTV solutions must limit the number of channels that can be delivered simultaneously.
Figure 1 illustrates a known way of distributing media in which an IPTV media stream originates in a service provider network 1 , is passed to a core network 2, is further passed into a metro network 3, and finally is sent via access networks 4 to each home network 5 that contains an STB that wishes to receive the media stream. Networks can quickly become saturated due to heavy traffic loads. In order to mitigate this problem, content can be multicast to reduce bandwidth demands for broadcast TV distribution. Furthermore, Video on Demand (VoD) services can be handled by VoD cache servers located close to the end-user. However, such caches require additional investment, and many routers would need to be replaced, as existing routers may not support IPTV multicasts. It is known to distribute an IPTV service using a Peer to Peer (P2P) network, as illustrated in Figure 2. Each STB is a peer in the network. An IPTV media stream can be delivered to a STB from another STB, from a media injector from which the stream originates, or from any other peer in the network.
The IPTV P2P requires a media injector in order to introduce the IPTV media stream into the network, although the media injector is not a true peer in the network in the sense that it only sends data but does not receive data from the peers. This is illustrated in Figure 3, which is a schematic representation of a simple IPTV P2P network 1. The network 1 includes an IPTV back-end 6 and two STBs STB1 and STB2. Each STB includes a P2P network interface 12, 13 to which is connected a video decoder 9, 11. In this example, STB2 receives the IPTV media stream from both STB1 and the IPTV back-end 6, which injects either streaming content or content from a database 7 using a P2P media injector 8. Note that other network nodes (in addition to nodes in STBs) may be peers in the network.
Note that the term "IPTV media stream" is used herein to refer to any kind of data having real time requirements, and includes Video on Demand, user generated TV content, interactive TV, interactive or co-operative games, or audio media. The media stream is to be delivered to the user such that the user can observe the media content at a constant rate without interruptions or delays. There is some latency in the P2P network, caused by buffers in each STB and the time it takes to establish communication between peers.
Compressed video media generally consists of a series of frames containing the information to be displayed on a user's screen. Each frame can be considered as a "picture" displayed on the screen. In most video compression formats, such as in ITU- T VCEG or ISO/IEC MPEG video standards, only the differences between successive pictures are usually encoded. For example, in a scene in which a person walks past a stationary background, only the moving portions of the picture are represented in each frame (either using motion compensation or as image data or as a combination of the two, depending on which representation requires fewer bits to adequately represent the picture). The parts of the scene that are not changing do not need to be sent repeatedly. For example, MPEG media streams contain different frames, such as l-frames("intra" frames), P-frames ("predicted" frames) and B-frames ("bi-predictive" or "bi-directional" frames), l-frames do not depend on data contained in the preceding or following frames, as they contain a complete picture. P-frames provide more compression than l-frames because they utilize data contained in the previous l-frame or P-frame. When generating a P-frame, the preceding frame is reconstructed and altered according to incremental extrapolation information. B-frames are similar to P-frames, except that B- frames interpolate data contained in the following frame as well as the preceding frame. As a result, B-frames usually provide more compression than P-frames. Typically, every 15th frame or so is an l-frame. P-frames and B-frames might follow an l-frame as follows: IBBPBBPBBPBB(I). The order and number of frames in the sequence can be varied.
The media stream includes payload data and metadata. The payload data is the media data itself, and is decoded and shown by the receiver. Payload data typically comprises frames as described above. The metadata includes all other data in the media stream. This may be, for example, data describing the payload data, or information establishing signalling between two peers. In order to facilitate handling of the media stream, the media stream is sent in "fragments". Fragments are discrete portions of the media stream containing both the payload data and the metadata. It will be appreciated that a frame and a fragment do not necessarily correspond to each other directly: a single frame may be encoded into many fragments or (in some cases) a single fragment may contain more than one frame.
As previously explained, a STB may fetch data fragments (containing frames and metadata) both from other STBs in the network and from one or more Media Injectors. If fragments are fetched from another STB, and the user of that other STB changes channel, then another source from which fragments can be fetched must be found. However, there is a danger of a break in transmission in the period between the other STB changing channel and the new source being identified.
This may be understood with reference to Figure 3. Suppose STB1 is subscribed to channel X, and fetches fragments containing frames for this channel from the media injector STBO. STB2 is also subscribed to channel X, and fetches fragments from STB1. If the user of STB1 changes channel to channel Y, it is no longer possible for STB2 to fetch the fragments for channel X from STB1 , and another source must be found - e.g. STBO. However, STB2 will have had no warning of the change in channel by STB1 and thus, until the search for a new provider for frames is complete, STB2 will have no source of fragments containing frames of channel X.
It would therefore be desirable to provide some form of continuity for other peers when the user of a peer changes channels.
SUMMARY
The STB having the necessary resources will continue to fetch fragments containing frames for a channel even if the end-user has selected another channel. This gives a more calm P2P network if end-users change channel often. If STB 1 has enough memory and CPU then the STB 1 could continue to fetch fragments containing frames for channel X (i.e. still be part of P2P for channel X for a grace time) but these frames will not be sent to STB 1 's video decoder. Only channel Y frames will do that.
In accordance with a first aspect of the present invention, there is provided a peer node for use in a P2P network, preferably a P2P IPTV network. The peer node comprises a receiver arranged to receive first data fragments containing media frames associated with a first channel, a buffer operatively connected to the receiver and arranged to store the first data fragments, a transmitter operatively connected to the first buffer and arranged to send the first data fragments to another peer node in the network, and a controller operatively connected to the receiver, transmitter and buffer. The controller is arranged to receive user instructions to change channel and, in response, to cause the receiver to receive second data fragments containing media frames associated with a second channel. After the controller has received the user instructions to change channel, the receiver continues to receive the first data fragments, the buffer continues to store the first data fragments, and the transmitter continues to transmit the first data fragments to the other peer node.
The peer node may comprise a second buffer operatively connected to the receiver and controller and arranged to store the second data fragments, although it is also possible that the second data fragments are stored in the first buffer, interleaved with the first data fragments, if necessary. Before the user instructions to change channel have been received, the frames contained in the first data fragments are preferably sent to a media decoder associated with the peer node. After the user instructions to change channel have been received, the frames contained in the first data fragments are preferably not sent to the media decoder, but the frames contained in the second data fragments may be sent in their place.
Preferably the peer node only receives, stores and sends the first data fragments for a predetermined period of time after the user instructions to change channel have been received. The peer node may further only receive, store and send the first data fragments if they are required by another node.
In accordance with a second aspect of the present invention there is provided a method for delivering media in a P2P network, preferably a P2P IPTV network. The method comprises receiving first data fragments containing media frames associated with a first channel at a peer node in the network. The first data fragments are stored at the peer node, and sent from the peer node to another peer node in the network. After user instructions are received at the peer node to change channel, second data fragments containing media frames associated with a second channel are received at the peer node, but the peer node continues to receive, store and send the first data fragments to the other peer node even after the user instructions to change channel have been received.
According to a third aspect of the present invention, there is provided apparatus for use in a network, the apparatus comprising means for performing a method according to the second aspect of the present invention.
According to a fourth aspect of the present invention, there is provided a program for controlling an apparatus to perform a method according to the second aspect of the present invention.
According to a fifth aspect of the present invention there is provided a program which, when loaded into an apparatus, causes the apparatus to become an apparatus according to the third aspect of the present invention. The program may be carried on a carrier medium, which may be a storage medium or a transmission medium.
According to an sixth aspect of the present invention, there is provided an apparatus programmed by a program according to the fourth or fifth aspect of the present invention.
According to a seventh aspect of the present invention, there is provided a storage medium containing a program according to the fourth or fifth aspect of the present invention.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 illustrates schematically in a block diagram an architecture for the distribution of IPTV;
Figure 2 illustrates schematically in a block diagram an architecture for the distribution of I PTV in a peer to peer network;
Figure 3 illustrates schematically in a block diagram a media injector and two Set Top
Boxes;
Figure 4 illustrates schematically in a block diagram the signalling required to initiate an
IPTV broadcast with a first Set Top Box; Figure 5 illustrates schematically in a block diagram the signalling required to initiate an
IPTV broadcast with a further Set Top Box;
Figure 6 illustrates schematically in a block diagram keep alive messages sent by a Set
Top Box;
Figure 7 is a schematic illustration of a buffer at a moment in time; Figure 8 is a schematic illustration of the buffer of Figure 7 at a later moment in time, after the user of the STB has switched subscription to another channel;
Figure 9 is a schematic block diagram of a STB; and
Figure 10 is a flow diagram illustrating the actions taken by a STB following a channel switch.
DETAILED DESCRIPTION
The following description sets forth specific details, such as particular embodiments, procedures, techniques, etc. for purposes of explanation and not limitation. In some instances, detailed descriptions of well known methods, interfaces, circuits, and devices are omitted so as not obscure the description with unnecessary detail. Moreover, individual blocks are shown in some of the drawings. It will be appreciated that the functions of those blocks may be implemented using individual hardware circuits, using software programs and data, in conjunction with a suitably programmed digital microprocessor or general purpose computer, using application specific integrated circuitry, and/or using one or more digital signal processors.
Figure 4 illustrates typical signalling required to initiate an IPTV broadcast with a first STB STB1. The video decoder 9 in STB1 receives an instruction from a user to start channel X. This is relayed to the P2P network interface 12 in STB1 , which sends a request to a STB manager 10 in the IPTV back-end to join channel X. The STB
Manager 10 returns a peer list to the network interface 12 in STB1 , but no IPTV media stream. The peer list includes the P2P media injector 8. Since the media injector can be considered as a peer in the network it is hereinafter referred to as STBO. The network interface 12 in STB1 then sends a request to join channel X to STBO. STBO receives an IPTV media stream from an IPTV media stream source (for example from the database 7 shown in Figure 3), and sends a peer list and an IPTV media stream comprising fragments of frames to the network interface 12 of STB1. The network interface 12 sends the frames to the video decoder 9 in STB1 , which can then show the IPTV media stream to the user.
Figure 5 illustrates typical signalling required to initiate an IPTV broadcast with a further STB STB2. It is assumed that STB1 is already receiving an IPTV media stream from STBO. When the user of STB2 wishes to receive channel X, she sends an instruction to logic within STB2, which is relayed to the network interface 13 in STB2. The network interface 13 in STB2 sends a request join channel X to the STB manager 10. The STB manager 10 returns a peer list but no payload to STB2. The peer list includes STBO and STB1 , as these are both possible sources for the IPTV media stream. The network interface 13 in STB2 then sends a request to each of STBO and STB1 to join channel X. STBO and STB1 each send a peer list and IPTV data stream to the network interface 13 in STB2, which passes the frames of the IPTV media stream to the video decoder. It is preferred that all peers in the P2P network send each other "keep alive" messages, as illustrated in Figure 6, to ensure that each STB is included in the list of peers and can both send and receive IPTV media streams.
Returning now to the situation shown in Figure 5, once the broadcast has been initiated, STB2 is subscribed to channel X and receives frames both from STBO and STB1. STB1 receives the frames for channel X from STBO, and passes these frames both to its own video decoder 9 and to the network interface 13 of STB2. In order to achieve this, the frames are stored in a buffer at STB1.
Figure 7 is a schematic illustration of a buffer 14 used by STB1 in this situation. Figure 7 represents a snapshot of the buffer 14 at a single moment in time. For simplicity, the buffer is described as though it contains complete frames: it will be appreciated that, in practice, the buffer contains data fragments as described above, where (usually) a single frame is encoded in more than one fragment, and where the fragments include metadata as well as the payload data. Where the following description refers to "frames" being passed from one entity to another, it will be appreciated that such frames are encoded as data fragments, and it is actually the fragments which are passed (although generally, frames without P2P metadata are generally passed to a local video decoder). As shown in Figure 7, frames 15-21 are currently stored in the buffer, and the remaining frames are currently empty. In this example, requests have been made by another STB (e.g. STB2) for frames from channel X, and frames 16 and 19 are in the process of being passed to STB2. In addition, frame 17 is being passed to the video decoder 9 included in STB1 for display. The most recent frames (starting with frame 21 ) are fetched from STBO (in the example shown) although it will be appreciated that they may be fetched from any other suitable peer in the network, such as another STB. These recent frames are written into the buffer to ensure that there will always be sufficient frames to suit the requirements of the video decoder 9.
If the user of STB1 decides to switch from channel X to another channel, STB1 continues to fetch the channel X frames from its source (e.g. STBO) for a predetermined period of time, even though these frames are no longer being passed to the local video decoder 9. This can be seen with reference to Figure 8, which shows another snapshot of the buffer 14 of STB1 , just after the user of STB1 has switched to channel Y. STB1 finds a source, and starts to fetch the frames, for channel Y. The frames for channel Y may either be stored in the same buffer 14, interleaved with the channel X frames, or stored in a different buffer (not shown). The STB1 also continues to fetch frames for channel X and store them in the existing buffer 14, from where they can be fetched by STB2, where the user is still watching channel X. Figure 8 illustrates frames 18 and 20 being passed to STB2, while frame 23 is fetched from STBO.
Thus STB2 continues to fetch frames for channel X from STB1 for a predetermined period of time, while it searches for another source of data for channel X.
Figure 9 illustrates a set-top box 31 , which may be any of the STBs shown in the other figures. In addition to the functions normally found in a set-top box known in the art, the set-top box 31 comprises first and second buffers 33, 34 for storing frames received from media injectors and/or other set-top boxes or other peers, as discussed above. The set-top box 31 also comprises a transmitter unit 35 and a receiver unit 37, connected to the buffers 33, for communicating with the other set-top boxes in the network. The set-top box 31 also comprises a control unit for controlling the functions of the transmitter unit 35, the receiver unit 37 and the buffers 33, 34. In particular, the control unit is able to ensure that, if the STB is subscribed to channel X, the frames are received by the receiver 37 and stored in a first buffer 33, from which they are passed to a video decoder (not shown) for display, and/or sent to other subscribing peers in the network via the transmitted 35. If the user switches channel to channel Y, the controller 39 ensures that frames of channel Y are stored in the second buffer 34, but that frames of channel X are still received for a period of time, and stored in the first buffer 33.
The receiver 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.
Figure 10 is a flow chart illustrating the actions taken by STB1 in changing subscription from channel X to channel Y, depending on whether another STB (e.g. STB2) is receiving channel X claims from STB1.
S1 : Channel X frames are received by STB1. S2: Channel X frames are stored in a buffer.
S3: STB1 receives instructions from viewer to switch to channel Y.
S4: Channel Y frames received and stored in the buffer.
S5: If no other peer in the network is currently fetching channel X frames from STB1 , then STB1 can stop receiving channel X frames.
S6: If another peer (e.g. STB2) is currently fetching channel X frames from STB1 , then STB1 continues to fetch channel X frames and store them in the buffer.
It will be appreciated that variations from the above described embodiments may still fall within the scope of the claims. For example, the set top boxes have all been described as including "video decoders" but it will be appreciated that decoding for any form of media may be envisaged. Furthermore, some of the embodiments described include the use of a first buffer to store frames of channel X, and a second buffer to store frames of channel Y. It is preferred that a single buffer is used, with channel X frames interleaved with channel Y frames, in which channel Y frames are sent to the local video decoder, while channel X frames are sent to another peer in the network.
Any number of buffers may be used to put the invention into effect. In practice, as previously discussed, fragments are stored in the buffer rather than complete frames, and the metadata of each fragment will identify the channel to which that fragment belongs. It is therefore not a problem for a single buffer to contain a mixture of fragments corresponding to different channels.
Although various embodiments have been shown and described in detail, the claims are not limited to any particular embodiment or example. None of the above description should be read as implying that any particular element, step, or function is essential such that it must be included in the claims' scope. The scope of protection is defined by the claims.

Claims

CLAIMS:
1. A peer node for use in a Peer-to-Peer network, comprising: a receiver arranged to receive first data fragments containing media frames associated with a first channel; a buffer operatively connected to the receiver and arranged to store the first data fragments; a transmitter operatively connected to the first buffer and arranged to send the first data fragments to another peer node in the network; and a controller operatively connected to the receiver, transmitter and buffer, and arranged to receive user instructions to change channel and, in response, to cause the receiver to receive second data fragments containing media frames associated with a second channel, wherein the peer node is arranged so that, after the controller has received the user instructions to change channel, the receiver continues to receive the first data fragments, the buffer continues to store the first data fragments, and the transmitter continues to transmit the first data fragments to the other peer node.
2. The peer node of claim 1 , wherein the buffer is also arranged to store the second data fragments.
3. The peer node of claim 1 , further comprising a second buffer operatively connected to the receiver and controller and arranged to store the second data fragments.
4. The peer node of claim 1 2 or 3, arranged to send the frames contained in the first data fragments to a media decoder associated with the peer node before the user instructions to change channel are received by the controller.
5. The peer node of claim 4, arranged to send the frames contained in the second data fragments to the media decoder after the user instructions to change channel are received by the controller.
6. The peer node of claim 3 or 4, arranged so that the frames contained in the first data fragments are not sent to the media decoder after the user instructions to change channel are received by the controller.
7. The peer node of any preceding claim, arranged so that, after the controller has received the user instructions to change channel, the receiver continues to receive the first data fragments, the buffer continues to store the first data fragments, and the transmitter continues to transmit the first data fragments to the other peer node only if the other peer node requires the first data fragments.
8. The peer node of any preceding claim, arranged so that, after the controller has received the user instructions to change channel, the receiver continues to receive the first data fragments, the buffer continues to store the first data fragments, and the transmitter continues to transmit the first data fragments to the other peer node for a predetermined period of time.
9. The peer node of any preceding claim, wherein the network is a Peer-to-Peer IP Television network.
10. A method for delivering media in a Peer-to-Peer network, comprising: at a peer node in the network, receiving first data fragments containing media frames associated with a first channel; storing the first data fragments at the peer node; sending the first data fragments from the peer node to another peer node in the network; receiving user instructions at the peer node to change channel; receiving second data fragments containing media frames associated with a second channel at the peer node; and even after the user instructions to change channel have been received, continuing to receive, store and send the first data fragments to the other peer node.
1 1. The method of claim 10, further comprising storing the second data fragments at the peer node.
12. The method of claim 10 or 11 , wherein the frames contained in the first data fragments are sent to a media decoder associated with the peer node before the user instructions to change channel are received.
13. The method of claim 12, wherein the frames contained in the second data fragments are sent to the media decoder after the user instructions to change channel are received.
14. The method of claim 12 or 13, wherein the frames contained in the first data fragments are not sent to the media decoder after the user instructions to change channel are received.
15. The method of any of claims 10 to 14, wherein the first data fragments are received, stored and sent to the other node only for a predetermined time after the user instructions to change channel have been received.
16. The method of any of claims 10 to 15, wherein the first data fragments are received, stored and sent to the other node only if the other peer node requires the first data fragments.
17. The method of any of claims 10 to 16, wherein the network is a Peer-to-Peer IP Television network.
18. An apparatus for use in a network, the apparatus comprising means for performing a method as claimed in any of claims 10 to 17.
19. A program for controlling an apparatus to perform a method as claimed in any one of claims 10 to 17.
20. A program which, when loaded into an apparatus, causes the apparatus to become an apparatus as claimed in claim 18.
21. A program as claimed in claim 19 or 20, carried on a carrier medium.
22. A program as claimed in claim 21 , wherein the carrier medium is a storage medium.
23. A program as claimed in claim 21 , wherein the carrier medium is a transmission medium.
24. An apparatus programmed by a program as claimed in any one of claims 19 to 23.
25. A storage medium containing a program as claimed in any one of claims 19 to 22.
PCT/EP2007/064452 2007-12-21 2007-12-21 Method and apparatus for distributing media over a communications network WO2009080117A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/EP2007/064452 WO2009080117A1 (en) 2007-12-21 2007-12-21 Method and apparatus for distributing media over a communications network
GB1008306.1A GB2468059B (en) 2007-12-21 2007-12-21 Method and apparatus for distributing media over a communications network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2007/064452 WO2009080117A1 (en) 2007-12-21 2007-12-21 Method and apparatus for distributing media over a communications network

Publications (1)

Publication Number Publication Date
WO2009080117A1 true WO2009080117A1 (en) 2009-07-02

Family

ID=39739164

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2007/064452 WO2009080117A1 (en) 2007-12-21 2007-12-21 Method and apparatus for distributing media over a communications network

Country Status (2)

Country Link
GB (1) GB2468059B (en)
WO (1) WO2009080117A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040255336A1 (en) * 1999-03-30 2004-12-16 Gotuit Video, Inc. Methods and apparatus for simultaneous program viewing
WO2007095309A2 (en) * 2006-02-13 2007-08-23 Tvu Networks Corporation Methods, apparatus, and systems for providing media content over a communications network
WO2007123283A1 (en) * 2006-04-25 2007-11-01 Celrun Co., Ltd. Method for the delivery of multimedia file compressed by differential pulse code modulation through p2p data exchange

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040255336A1 (en) * 1999-03-30 2004-12-16 Gotuit Video, Inc. Methods and apparatus for simultaneous program viewing
WO2007095309A2 (en) * 2006-02-13 2007-08-23 Tvu Networks Corporation Methods, apparatus, and systems for providing media content over a communications network
WO2007123283A1 (en) * 2006-04-25 2007-11-01 Celrun Co., Ltd. Method for the delivery of multimedia file compressed by differential pulse code modulation through p2p data exchange

Also Published As

Publication number Publication date
GB2468059B (en) 2013-02-27
GB201008306D0 (en) 2010-06-30
GB2468059A (en) 2010-08-25

Similar Documents

Publication Publication Date Title
US7430222B2 (en) Media stream splicer
US8516531B2 (en) Reducing channel change delays
US7003794B2 (en) Multicasting transmission of multimedia information
US8630306B2 (en) Fast channel change apparatus and method for IPTV
US20070266398A1 (en) Method for fast zapping between tv channels
CA2761846C (en) Method, apparatus and system for reducing media delay
US8400918B2 (en) Video traffic smoothing
US20120030707A1 (en) Methods and Arrangements for Channel Change in an IPTV Network
US8316108B2 (en) Method and apparatus for obtaining media over a communications network
US8316148B2 (en) Method and apparatus for obtaining media over a communications network
WO2011119505A1 (en) Media convergence platform
WO2009095080A1 (en) Method and apparatus for obtaining media over a communications network
WO2009103343A1 (en) Method and apparatus for distributing media over a communications network
WO2009095078A1 (en) Method and apparatus for obtaining media over a communications network
US20140157311A1 (en) Faster Access to Television Channels
WO2009095081A1 (en) Method and apparatus for obtaining media over a communications network
WO2009080114A1 (en) Method and apparatus for distributing media over a communications network
KR101656193B1 (en) MMT-based Broadcasting System and Method for UHD Video Streaming over Heterogeneous Networks
WO2009109232A1 (en) Method and apparatus for distributing media over a communications network
US8401086B1 (en) System and method for increasing responsiveness to requests for streaming media
WO2009080117A1 (en) Method and apparatus for distributing media over a communications network
WO2009095079A1 (en) Method and apparatus for distributing media over a communications network
KR20190032671A (en) Channel switching system in real-time IPTV broadcasting
WO2009080113A1 (en) Method and apparatus for distributing media over a communications network
US20100031302A1 (en) Stream distribution system, stream receiving device, and stream reproduction method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07858063

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
ENP Entry into the national phase

Ref document number: 1008306

Country of ref document: GB

Kind code of ref document: A

Free format text: PCT FILING DATE = 20071221

WWE Wipo information: entry into national phase

Ref document number: 1008306.1

Country of ref document: GB

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07858063

Country of ref document: EP

Kind code of ref document: A1