WO2015135576A1 - Distributing media content services and alternative media content - Google Patents

Distributing media content services and alternative media content Download PDF

Info

Publication number
WO2015135576A1
WO2015135576A1 PCT/EP2014/054749 EP2014054749W WO2015135576A1 WO 2015135576 A1 WO2015135576 A1 WO 2015135576A1 EP 2014054749 W EP2014054749 W EP 2014054749W WO 2015135576 A1 WO2015135576 A1 WO 2015135576A1
Authority
WO
WIPO (PCT)
Prior art keywords
media content
alternative
representations
content service
service
Prior art date
Application number
PCT/EP2014/054749
Other languages
French (fr)
Inventor
Anthony Jones
Original Assignee
Telefonaktiebolaget L M 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 L M Ericsson (Publ) filed Critical Telefonaktiebolaget L M Ericsson (Publ)
Priority to PCT/EP2014/054749 priority Critical patent/WO2015135576A1/en
Publication of WO2015135576A1 publication Critical patent/WO2015135576A1/en

Links

Classifications

    • 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/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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/1066Session management
    • H04L65/1083In-session procedures
    • 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/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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
    • H04N21/4384Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
    • 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/64Addressing
    • H04N21/6405Multicasting

Definitions

  • This invention relates to a method and apparatus for distributing a media content service.
  • IPTV Internet Protocol Television
  • IP Internet Protocol
  • a premises may have multiple terminals which are capable of receiving media content.
  • the demands placed on the delivery channel can vary according to how many terminals require content at a particular time.
  • Streamed media content services can be distributed as a unicast transmission or as a multicast transmission.
  • Unicast provides the subscribing receiver with a direct and unique two-way path through the delivery network all the way back to the media server supplying the required data stream.
  • the main streaming activity is managed on a one- to-one basis between the receiver and the source server.
  • the network between the source server and receiver typically comprises a series of intermediate servers installed at network nodes which are not directly involved in the service but only support the transfer of a packet stream.
  • the protocols used to support the transmissions are simple forms of Internet Protocol (IP) itself augmented by one or more higher layer protocols to provide flow control. These protocols extend across the span of the link between the source server and a given receiver.
  • IP Internet Protocol
  • Multicast makes more efficient use of bandwidth by sharing content streams among several receivers.
  • Intermediate network routers are now more closely involved in the service delivery such that some control and management functions are delegated from the source server. This control is supported by more extensive protocols devised for this type of application such as Protocol Independent Multicast (PIM) and Internet Group Multicast Protocol (IGMP).
  • PIM Protocol Independent Multicast
  • IGMP Internet Group Multicast Protocol
  • ABR Adaptive Bit Rate Streaming
  • a given service is encoded at a selection of different bit rates (known as representations), with synchronised boundary points at defined locations (e.g. every 50 frames). For each representation, content between successive boundary points is converted into a discrete file. Clients fetch a segment of one of the representations in turn. If a higher or a lower bit rate is required, the next segment is fetched from one of the other representations. The segments are constructed such that there is no discontinuity in decoded pictures/audio if the client switches between representations at the boundary points. This system requires the unicast two-way path between source and receiver to request files and deliver the requested files.
  • unicast systems can support an adaptive bit rate of a streamed service over time, this comes at a significant cost in terms of resources of the delivery network to support a large number of unicast paths, and may require additional servers located near to clients of the network to maintain acceptable response times.
  • Multicast systems can more efficiently use bandwidth resources of the network, but do not support adaptive bit rate needs of client devices.
  • Advertisements can be inserted by an intermediate node in the distribution network, such as by using Society of Cable Telecommunication Engineers (SCTE) SCTE 35 messages to instruct a node of splice points where an advert can be inserted.
  • SCTE Society of Cable Telecommunication Engineers
  • the manifest of content segments sent to a client can be manipulated so that the client is instructed to retrieve segments of an advertisement during a period of time.
  • the present invention seeks to provide another way of distributing media content services, such as video services, and alternative content.
  • An aspect of the present invention provides a method of receiving a media content service at a client.
  • the method comprises receiving the media content service across a delivery channel as part of a multicast stream of the media content service.
  • the method also comprises receiving an indication of an opportunity, during the media content service, at which it is possible for the client to switch to a stream carrying alternative media content.
  • the method also comprises receiving a stream of the alternative media content for presentation during the opportunity.
  • the media content service is received as a burst and there is a window period between an end of the burst of the media content service and the start of the alternative content. The window period is for allowing the client to switch between the media content service and the alternative media content.
  • the step of receiving a stream of the alternative media content can comprise joining a multicast stream of the alternative media content.
  • the method can comprise sending a request to leave the multicast stream of the media content service and sending a request to join the stream of the alternative media content.
  • the alternative media content can be received as a burst. There can be a window period between an end of the burst of the alternative media content and the start of a burst of the media content service for allowing the client to switch between the alternative media content and the media content service.
  • the media content service can be available in a plurality of representations having different bit rates.
  • Each of the plurality of media content representations can be transmitted as a sequence of bursts, with the bursts of the plurality of media content service representations aligned in time. There can be window periods between successive bursts for allowing the client to switch between the plurality of representations.
  • the alternative media content can be available in a plurality of representations having different bit rates.
  • the representations can be transmitted as a sequence of bursts, with the bursts of the plurality of media content service representations aligned in time.
  • the method can comprise receiving information identifying sources of the alternative media content.
  • the information identifying sources of the alternative media content can identify multicast streams which carry the alternative media content.
  • the indication of the opportunity can identify the sources of the alternative media content available for presentation during the opportunity.
  • the method can comprise receiving an indication of a stream carrying alternative content that the client should switch to during the opportunity.
  • the method can comprise receiving metadata associated with the alternative content and determining, using the received metadata, a stream of alternative content to switch to during the opportunity.
  • the method can comprise storing selection data at the client for use in selecting between alternative media content.
  • the step of determining which alternative content to present during the opportunity can use the selection data.
  • the method can comprise returning to the multicast stream of the media content service.
  • the method can comprise setting a timer for returning to the multicast stream of the media content service and returning to the multicast stream of the media content service upon expiry of the timer.
  • the method can comprise receiving an indication of an end of the alternative content and returning to the multicast stream of the media content service at the end of the alternative content.
  • Another aspect of the invention provides a method of distributing a media content service.
  • the method comprises transmitting the media content service as a multicast stream.
  • the method also comprises transmitting an indication of an opportunity, during the media content service, at which it is possible for a client to switch to a stream carrying alternative media content.
  • the method also comprises transmitting alternative media content for presentation during the opportunity.
  • the media content service is transmitted as a burst and there is a window period between an end of the burst of the media content service and a start of the alternative media content.
  • the alternative media content can be transmitted as a multicast stream.
  • the method can comprise transmitting to a client an indication of which stream carrying alternative content the client should switch to during the opportunity.
  • the method can comprise transmitting metadata associated with the alternative media content available for presentation during the opportunity.
  • the indication of an opportunity can indicate a commercial break in the media content service.
  • the step of transmitting the media content service can comprise receiving or generating a plurality of media content service representations for the media content service, each of the media content representations having a different bit rate.
  • the step of transmitting the media content service can comprise dividing each of the media content service representations into segments, wherein the segments of the plurality of media content service representations are aligned in time.
  • the step of transmitting the media content service can comprise transmitting the segments of each of the plurality of media content service representations as a sequence of bursts, wherein the bursts of the plurality of media content service representations are aligned in time. There are window periods between successive bursts during which media content is not transmitted.
  • Each of the media content service representations is transmitted as a multicast stream.
  • Each of the received or generated media content service representations has a respective bit rate and the transmitting comprises transmitting each of the segments at a higher bit rate to create the window periods between successive bursts.
  • the step of transmitting the alternative media content can comprise receiving or generating a plurality of alternative media content representations, each of the alternative media content representations having a different bit rate.
  • transmitting the alternative media content can comprise dividing each of the alternative media content service representations into segments, wherein the segments of the plurality of alternative media content representations are aligned in time.
  • the step of transmitting the alternative media content can comprise transmitting the segments of each of the plurality of alternative media content representations as a sequence of bursts, wherein the bursts of the plurality of alternative media content representations are aligned in time, and wherein there are window periods between successive bursts during which media content is not transmitted.
  • Each of the alternative media content representations is transmitted as a multicast stream.
  • Each of the received or generated alternative media content representations has a respective bit rate and the transmitting comprises transmitting each of the segments at a higher bit rate to create the window periods between successive bursts.
  • An aspect of the invention provides apparatus at a client for performing any of the claimed or described methods.
  • An aspect provides apparatus for receiving a media content service across a delivery channel.
  • the apparatus comprises a communication interface for interfacing with the delivery channel.
  • the apparatus also comprises a controller coupled to the communication interface comprising a processor and a memory, said memory containing instructions executable by said processor.
  • the controller is operative to receive the media content service across a delivery channel as part of a multicast stream of the media content service.
  • the controller is operative to receive an indication of an opportunity, during the media content service, at which it is possible for the client to switch to a stream carrying alternative media content.
  • the controller is operative to receive a stream of the alternative media content for presentation during the opportunity.
  • the controller is operative to receive the media content service as a burst and to use a window period between an end of the burst of the media content service and the start of the alternative content to switch between the media content service and the alternative media content.
  • An aspect of the invention provides apparatus at a network-side node, or nodes, for performing any of the claimed or described methods.
  • An aspect provides apparatus for distributing a media content service.
  • the apparatus comprises a processor and a memory, said memory containing instructions executable by said processor.
  • the apparatus is operative to transmit the media content service as a multicast stream.
  • the apparatus is operative to transmit an indication of an opportunity, during the media content service, at which it is possible for the client to switch to a stream carrying alternative media content.
  • the apparatus is operative to transmit alternative media content for presentation during the opportunity.
  • the apparatus is operative to transmit the media content service as a burst with a window period between an end of the burst of the media content service and a start of the alternative media content.
  • Distributing content in multicast form provides considerable bandwidth savings compared to the use of multiple unicast transmissions to different clients.
  • An advantage of at least one embodiment is that a range of possible alternative content can be distributed to clients, and the switch to the alternative content is made at the client.
  • the determination of which alternative content is presented at a client can be made by a network-side node, or by the client.
  • the alternative content is distributed as a multicast stream.
  • the term "client” can include an end device or a residential gateway which receives content on behalf of one or more end devices at a premises.
  • the functionality described here can be implemented in hardware, software executed by a processing apparatus, or by a combination of hardware and software.
  • the processing apparatus can comprise a computer, a processor, a state machine, a logic array or any other suitable processing apparatus.
  • the processing apparatus can be a general-purpose processor which executes software to cause the general-purpose processor to perform the required tasks, or the processing apparatus can be dedicated to perform the required functions.
  • Another aspect of the invention provides machine- readable instructions (software) which, when executed by a processor, perform any of the described methods.
  • the machine-readable instructions may be stored on an electronic memory device, hard disk, optical disk or other machine-readable storage medium.
  • the machine-readable medium can be a non-transitory medium.
  • the machine-readable instructions can be downloaded to the storage medium via a network connection.
  • Figure 1 shows a system for delivering media content services and alternative media content to clients over a delivery channel
  • Figure 2 shows processing performed on a media content stream to create a set of segmented representations
  • Figure 3 shows processing performed on representations of a media content stream of different bit rates to form bursts
  • Figures 4 and 5 show time lines of an operation to change the bit rate of a media content stream received at a client;
  • FIG. 6 shows apparatus in accordance with an embodiment of the invention
  • FIG. 7 shows part of the apparatus of Figure 6 in more detail
  • Figure 8 shows packets used to carry media content data
  • Figure 9 shows a media content distribution network in more detail
  • Figure 10 shows transmission of multicasts to a client
  • Figures 11 and 12 show distribution of a media content service and alternative media content to a plurality of clients
  • Figure 13 shows a time line of distributing a media content service and alternative media content
  • Figure 14 shows a time line of distributing a media content service and alternative media content at a dynamic bit rate
  • Figure 15 shows a time line of distributing a media content service and alternative media content, where content is carried by the media content service during an opportunity
  • Figure 16 shows a time line of distributing a media content service and alternative media content, where content is not carried by the media content service during an opportunity;
  • Figure 17 shows distribution of a media content service and alternative media content to a plurality of clients;
  • Figure 18 shows a method performed at a client
  • Figure 19 shows a method performed at a network-side node
  • Figure 20 shows apparatus for use at a client
  • Figure 21 shows processing apparatus for a computer-based implementation.
  • FIG. 1 shows a system 60 for distributing media content services to clients 20.
  • a distribution network 35 connects a head end 10 to clients 20.
  • the network 35 can be a wide area network, a local area network, an access network such as a broadband access network, or any combination of these.
  • Distribution network 35 comprises a network of routers and/or switches 36.
  • Clients 20 can include, for example, computers, tablets, mobile phones (smart phones), set top boxes, digital video recorders, internet-equipped televisions. Multiple client devices 20 may be located within a single premises served by a residential gateway 22.
  • the network 35 can be used to carry multiple communication services to clients, such as voice, data, television. Services can be carried using Internet Protocol (IP).
  • IP Internet Protocol
  • the term "head end" is used to describe a node, or a collection of nodes, at the "head” of the system. It will be appreciated that the functions of the head end shown in the Figures can be performed at other nodes.
  • the head end 10 receives media content 5 for distribution to clients 20.
  • Media content 5 can comprise, for example, video content (with or without audio) or audio content.
  • the media content can comprise a live feed (e.g. a live television or radio service) or stored content which is played out from a server.
  • a media content service is distributed to clients 20 in the form of a multicast stream. That is, a stream of the media content is simultaneously transmitted to multiple clients 20. Multiple clients 20 receive the same stream. This contrasts with unicast, where there is a dedicated stream between a server and a client.
  • System 60 includes processing 12 to form multicast streams.
  • a media content service can be distributed to clients 20 as a single representation (e.g.
  • the representations differ in bit rate and allow a client to select a representation which is best suited to the needs of the client. For example, the selection of a representation may be based on screen size at the client 20, processing capabilities at the client 20, link bandwidth between the client 20 and the network 35. As described below, these representations are transmitted as a sequence of bursts with window periods between successive bursts which allow a client to switch between multicasts carrying different representations.
  • the processing functions 12 can be performed by the distribution head end 10 or by any other node or combination of nodes.
  • a media content service can be made available in a plurality of media content service representations, each having a different bit rate.
  • a video service SI can be made available in two video service representations SI a, Sib.
  • the number of video service representations available for selection may be greater than two.
  • One or more other properties of the video service can vary among the representations, such as video resolution, frame rate. Audio rates (or number of audio channels) can also vary between representations. For example, consider representations Sla and Sib have progressively higher bit rates. The higher bit rate representation Sib can have a higher resolution than the lower bit rate representation Sla.
  • the alternative media content can be presented at a client 20 during an opportunity in the media content service.
  • the "opportunity" can be a commercial break in the media content service. Some other possibilities for an "opportunity" include a point at which multiple versions of content can be displayed, such as a scene of a movie, drama or other video content which is available in different versions.
  • the head end 10 receives the alternative media content 6 for distribution to clients 20.
  • Media content 6 can comprise, for example, video content (with or without audio) or audio content.
  • the alternative media content 6 can comprise a live feed or stored content which is played out from a server.
  • the alternative media content 6 can be made available in a single representation (e.g. a single bit rate version) or the alternative media content can be made available in multiple representations.
  • the number of representations can be the same as, or different to, the number of representations of the main media content service.
  • ACl or AC2 can be presented by a client during an opportunity in the media content service.
  • Alternative media content ACl and AC2 are each available with two representations: ACla, AClb, AC2a, AC2b.
  • the following section describes how content can be transmitted in the form of bursts. Transmitting content as bursts allows window periods to be inserted into the stream. Content is not transmitted during window periods. During the window periods a client can switch between streams carrying a media content service and a stream carrying alternative content. In the case where a media content service is transmitted with multiple representations the window periods also allow a client can switch between streams carrying representations at different bit rates.
  • Figure 2 shows processing performed on a media content stream 85 to form a set of representations 80A, 80B at different bit rates.
  • the media content is video.
  • Each video service 85 is coded as a set of representations 80A, 80B.
  • Figure 2 shows Constant Bit Rate (CBR) rate streams but the coding does not have to be constant bit rate.
  • CBR Constant Bit Rate
  • it could be variable bit rate (VBR) or variable bit rate with a particular peak or mean bit rate value, such as capped Variable Bit Rate (VBR).
  • VBR variable bit rate
  • 5Mbit/s and 7Mbit/s are example values, and it will be appreciated that a representation can be generated at any other desired value and that any number of representations may be generated.
  • Each representation is divided into a sequence of segments 81 A, 8 IB.
  • Segment boundaries 82 are aligned, such that the segment boundaries of one representation 80A are aligned in time with the segment boundaries of another representation 80B.
  • a corresponding segment in each of the representations correspond to the same frames of video content.
  • this allows a receiver to switch between representations at one of the segment boundaries 88 and perform a smooth transition between representations.
  • a segment boundary 88 occurs at the end of a Group of Pictures (GOP) 83.
  • GOP Group of Pictures
  • a feature of compressed video data stream syntax is the Group of Pictures (GOP) which comprises a sequence of complete and contiguous video pictures or frames.
  • the Group of Pictures (GOP) begins with a frame selected to be a master frame, denoted as an" I" or Intra Frame for that sequence.
  • This I Frame is coded without reference to any other frame in the sequence and exploits only spatial redundancy within the I frame. Since I frames may be decoded without reference to ⁇ picture information in any other frame, I frames can be relied upon as a starting point for a decoder.
  • the video service representations of a video service can have aligned segment boundaries 88 so that their GOP patterns are aligned.
  • Data for the different bit rate representations 80A, 80B is packetised.
  • Figure 2 shows a sequence of Transport Stream (TS) packets 84A, 84B for each representation. The number of packets per segment varies according to the bit rate of the representation. The higher bit rate stream 80B has more packets than the lower bit rate stream 80A.
  • TS Transport Stream
  • segment boundaries are marked by introducing Boundary Points (BP) that mark the location of the segment boundaries in the segmented streams 80A, 80B where it is possible to switch cleanly between the representations and deliver the segments using multicast.
  • BPs can also act as reference points in the stream for any other purpose.
  • the BP can be inserted in a continuous stream, for example as a short gap, or the segmented media data stream can be momentarily paused so that the absence of data allows time for receivers to adjust themselves to any changing circumstances including new receivers joining the stream or existing ones pausing or leaving it.
  • media data can be encoded according to Motion Pictures Experts Group MPEG-2 format and encapsulated into MPEG Transport Streams, but it will be appreciated that segments 81 A, 8 IB can also be coded and encapsulated in any other suitable format, such as the MPEG-4 File Format.
  • Figure 3 shows processing performed on segmented media content streams 80A, 80B, to form a set of bursts at different bit rates.
  • the segmented streams 80A, 80B are fed into a multicast playout block that makes each segment play out in less time than the interval between the boundary points.
  • the purpose of this is to deliberately introduce a window period between transmitted bursts 82A, 82B.
  • the duration of the window period 83 is sufficient for a multicast receiver to leave one representation of the stream and join a different representation at a different bit rate.
  • the switching between multicasts can be achieved using multicast Leave and Join messages.
  • the duration of the window period 83 is sufficient for a receiver to send requests to join and leave respective multicasts and for switches and routers in the distribution network 60 to action the requests.
  • the burst can be considered an overspeed burst because content is transmitted at a higher bit rate compared to a continuous stream of the same content.
  • Figure 3 shows the start point of the bursts 82A, 82B aligned in time with the start point of the segments 81 A, 8 IB of representations 80A, 80B, to illustrate the comparison in length of the segments 81 A, 8 IB compared to the bursts 82A, 82B.
  • a short buffer period (of at least the length of the window period) is required before the burst can be played out, which would be represented in Figure 3 as an offset along the time axis between the start of segments 81 A, 8 IB and the start of bursts 82 A, 82B.
  • the start of bursts of different content services can be aligned in time (i.e. all bursts of all services start at the same time) or the start times can be staggered with respect to one another. Aligning the start times of bursts of different services in time can have an advantage of allowing a quicker channel change between services.
  • window period duration will influence the amount of jitter produced and so there is an optimum size that is related to the worst case response times of the chain of routers/servers delivering the content. This time is taken for switches to recognise and implement all those steps that are required to keep the stream flowing including the potential need for the multicast content to be found at or near the source server. For segment durations of the order of about 2 seconds, a possible value of the window period is around 330 milliseconds.
  • the window size is a function of the responsiveness of the network to support multicast leave and join functions and it will be appreciated that the window period can be modified to a higher or lower value. More generally, the window period could have a value selected from the range of ⁇
  • IGMPv3 Internet Group Management Protocol (IGMP)v3 provides an explicit LEAVE message, allowing multicast clients to signal they no longer require the multicast to be forwarded to them. This can be implemented in IP switches as "Fast Leave", where the multicast forwarding is stopped immediately when the LEAVE message is received. There is also an IGMP Join message to join a multicast.
  • IGMP Internet Group Management Protocol
  • Figures 4 and 5 show time lines of an operation to change the bit rate of a media content stream received at a subscriber apparatus.
  • Figure 4 shows two multicast representations 87A, 87B of different bit rates which are transmitted across distribution network 60.
  • a subscriber apparatus can select one of these representations by joining the multicast.
  • the subscriber apparatus receives bursts 82B of representation 87B (high bit rate) during periods tl-t2 and t3-t4.
  • the subscriber apparatus sends signalling to leave the multicast of representation 87B (high bit rate) and to join the multicast of representation 87A (low bit rate).
  • the subscriber apparatus receives a burst 82 A of representation 87A (low bit rate).
  • the switch between leaving multicast of representation 87B and joining the representation of multicast 87A occurs during the window period t4-t6.
  • the subscriber apparatus receives a seamless flow of data for the media content service, even though a change in the delivery bit rate has occurred.
  • the order of signalling can be reversed, such that the request to join the new multicast 87A is sent before sending the request to leave the existing multicast 87B.
  • a worst case time for joining a multicast is longer than a worst case time for leaving a multicast, and so it is advantageous to issue the command to join first.
  • Figure 5 shows further detail of the process to change the bit rate of a media content stream received at a subscriber apparatus.
  • a subscriber apparatus can detect the end of a burst and the start of the period when the apparatus can safely switch between representations. It is possible to configure a terminal to measure a "time out" period at the beginning of a window period, but this introduces an undesirable latency. It is more advantageous to send signalling which explicitly indicates an end of a burst, or which gives advance notice of when an end of burst will occur. This signals to the subscriber apparatus when it is possible to safely switch between representations, with minimal delay.
  • the locations in j the data stream where the switching between streams can safely occur are explicitly signalled within, or alongside, the multicasts, thus allowing a receive device to immediately be aware that a switching opportunity exists.
  • Signalling can be provided, for example, in IP packets that share the same multicast destination address as the IP packets carrying the media content service, but different UDP destination port numbers, allowing simple detection and discrimination at the receive device. This has the advantage that whenever the multicast that carries the media content is routed (in response to IGMP joins) the signalling would also automatically follow.
  • the signalling could be delivered in a separate multicast having a separate multicast destination address, with the subscriber apparatus joining/leaving both the multicast carrying the media content and the multicast carrying the end of burst signalling.
  • Another possibility is to include a trailer indicating an end of burst in the media multicast.
  • Examples include: adding trailer data at the end of the last UDP datagram, sending an empty datagram, or changing a parameter such as the sync byte (normally hexadecimal 47) to a different value.
  • Other possibilities are to send an information element which gives advance notice of an end of a segment, such as a number of TS packets remaining in the current segment, an RTP sequence number of the last IP packet in the current segment, or some other suitable advance notice.
  • the scheme described above can be used when representations at different bit rates to minimise disruption to the delivery and presentation of media content.
  • a terminal first joins a service the joining could occur during the window or it may occur at any time.
  • Figure 6 shows apparatus 12 for creating a set of segmented representations and forming bursts.
  • the apparatus 12 shown in Figure 6 can be provided at a distribution head end node 10.
  • the apparatus receives an input feed 5 of content (e.g. video) per service.
  • a set of encoders/transcoders 65 generate, in parallel, a set of representations of the content at a set of different bit rates.
  • the representations can differ in another quantity, such as video resolution.
  • a timing generator 64 outputs a signal that determines the boundary point of the segments. For example, this can output a signal once per 50 frames (2 seconds), or at any other suitable time interval.
  • the signal output by generator 64 is applied to all of the parallel encoders 65 for that service.
  • the set of coders 65 can close the GOP (see Figure 2) and a unit 76 can insert in-band signalling such as a Random Access Point (RAP) and a Boundary ⁇ ,
  • RAP Random Access Point
  • the outputs of the set of coders 65 are the set of representations 80A, 80B which have time-aligned segments.
  • the representations 80A, 80B are applied to a burst generator unit 67 which creates the bursts (82A, 82B, Figure 4) separated by window periods (83, Figure 3).
  • Unit 67 plays out data at a higher bit rate than the bit rate at which data was received to create the bursts.
  • Unit 67 recognises the start and end of segments 81 A, 8 IB in the representations 80A, 80B by detecting signalling (e.g. the in-band BP signalling inserted by the encoders 65).
  • Alternative content 6 can be processed in the same manner as shown for the main content service.
  • GOPs do not necessarily have to be closed at the boundary point. By default they are closed. However closed GOPs are slightly more inefficient than open GOPs, so it is possible that open GOPs could also be used.
  • the use of open GOPs has a disadvantage that, when changing representations, there may be some visible impairment to the pictures for the first GOP of the new representation. If representation switches occur infrequently, then open GOPs may be acceptable.
  • multicast address information is added at the IP adaptation stage, which can occur at the head end 61, or at a node downstream of the head end.
  • Multicast IP datagrams have a destination IP address is set to be in a range reserved for multicast.
  • the apparatus shown in Figure 6 can operate on data at one of various possible levels.
  • data is encoded into Transport Stream (TS) packets at a normal rate and the burst generator unit 67 operates on TS packets.
  • Transport Stream packets can be adapted into IP packets 66 before burst generator unit 67, or after unit 67.
  • An alternative is to form bursts before any packetisation (at TS or IP level), but this is less desirable.
  • Each encoder 65 can include an end of burst signal insertion unit 77 which adds an information element indicating the end of a burst into the encoded data, which includes a header of the TS packets.
  • the burst generator unit 67 can include an end of burst signal insertion unit 78 which is arranged to insert an information element indicating the end of a burst into each of the bursts.
  • end of j burst signalling is provided as a multicast (with same or different address), the multicast can be generated at apparatus 61.
  • Figure 6 shows a set of encoders/transcoders 65 which operate upon an input data stream 5 to form the multiple representations at different bit rates.
  • the input 5 can be a set of representations at different bit rates.
  • the multiple representations can be generated at a point of origin into the distribution network 60 or could be supplied by a service provider.
  • the multiple representations of a video service can include Standard Definition (SD) and High Definition (HD) representations of the same content.
  • the distribution network may receive an SD feed and an HD feed of the content as inputs 5 or just one (SD or HD) feed with transcoding 65 to generate the other of the SD and HD representations. So, input 5 may be a high quality HD feed and encoders 65 transcode the HD feed to generate lower bit rate, lower resolution, versions of the content.
  • Figure 7 shows further detail of the playout unit 67 of the apparatus of Figure 6.
  • the burst generator unit 67 comprises a parallel set of units 70. Each unit 70 has an input 71 for receiving a segmented stream 80 A, 80B of one of the representations.
  • the buffer operates according to a First In First Out
  • FIFO FIFO
  • Data is also applied to a detector 73 which detects signalling (e.g.
  • BP signalling within the data stream indicating the start and end of a segment.
  • Detector 73 applies an output to a unit 74 which controls playout of data from the buffer 72.
  • a segment of data is played out in one continuous block, which can be in the form of a sequence of TS or IP packets carrying TS packets.
  • Unit 74 controls the playout rate, which is greater than the rate at which data was originally received.
  • Data is output 75 in burst form, as explained above.
  • Figure 8 shows an example format of packets used to carry media content data.
  • Video data comprises data representing GOPs.
  • a GOP comprises one or more of I frames, B frames and P frames.
  • GOPs are carried in Transport Stream (TS) packets.
  • TS Transport Stream
  • Other possible formats include MPEG Dynamic Adaptive Streaming over HTTP ⁇
  • a TS packet has a length of 188 bytes, of which 4 (or more) bytes are header bytes.
  • a header of a TS packet can include signalling which indicates a Boundary Point.
  • the BP can be signalled within the adaptation header (AH) of a TS packet.
  • TS packets are carried within the payloads of IP packets. Typically, 7 TS packets are aggregated into one IP packet. Typically, a segment will comprise multiple IP packets. IP packets may be spaced by a short inter-packet gap, which is considerably shorter than the window period. Segments may start with one or more TS packets before the first TS packet carrying (video) content data.
  • Video video
  • One example of this is where encryption is used. The TS packet immediately before the first packet carrying video content contains data needed for provisioning the correct decryption key.
  • Figure 9 shows distribution networks 35 that may be used to multicast media content data, and protocols used to carry the data and control data flows.
  • the upper part of Figure 11 represents a distribution network for IPTV services using xDSL to subscriber premises.
  • a distribution head end 91 receives inputs 30 from content (e.g. video) sources, which can be live or recorded sources.
  • the distribution network between the head end 91 and a DSL access module comprises distribution nodes 92, which include IP routers.
  • the subscriber loop 32 to a subscriber premises is terminated, at the subscriber side, by a customer premises router, which can also be called a Residential Gateway (RG). Data is carried over the distribution network using IP.
  • the Internet Group Management Protocol (IGMP) is a communications protocol used on the IP distribution network to establish multicast group memberships.
  • IGMP Internet Group Management Protocol
  • Protocols such as IGMP are used to support the communication between upstream routers/servers and support the Leave and Join actions described above.
  • Protocol- Independent Multicast is another protocol used within the distribution network.
  • content can be distributed by wired network protocols (e.g. Ethernet) or wireless network protocols (e.g. IEEE 802.x).
  • PIM is used between routers, whereas IGMP is layer 2 and is used by switches.
  • the protocols register a destination's interest in receiving a multicast, either for itself, or to be forwarded to one or more next destinations. When there is a leave, the traffic stops if there is nothing else at that destination that is joined.
  • the fast leave operation terminates that flow immediately, whereas without fast leave, a switch will respond to a leave command sending out a request to see if any destination is still interested, keeping the traffic ⁇ flowing until a timeout occurs.
  • the fast leave operation is used in embodiments of the invention to switch between multicast representations.
  • the lower part of Figure 9 represents a wireless distribution network, and comprises a Mobile Network Access Portal 93, Distribution Network Nodes 94 and wireless Base Stations 95. There is a wireless delivery channel between a base station
  • a receiving device 96 which can use a 3G or 4G wireless protocol.
  • the IGMP can be used to establish multicast group memberships, and Protocol- Independent Multicast (PIM) can be used within the distribution network.
  • PIM Protocol- Independent Multicast
  • the mobile receiving device 96 can share content with other devices using a wired or wireless connection.
  • base station 95 can perform the join multicast/leave multicast functionality (equivalent to that performed at the customer premises router 40) to share the limited resource of the overall wireless network capacity of the cell between multiple mobile receiving devices 96.
  • a mobile receiving device 96 can perform the join multicast/leave multicast functionality, to share the limited resource of the wireless connection between device
  • Figure 10 shows transmission of multicasts to a client 20.
  • Nodes within the distribution network can comprise a headend, a network node (such as a Central Office, and a multi-cast capable DSLAM.
  • G la, Gib are multicasts carrying different representations of one particular media content service.
  • the multicasts are shown being sent in parallel from the headend 91 to node 92, because the multicasts are received by subscriber apparatus 41 at multiple premises within the network, but the multicasts are sent one at a time from the node 92 to the subscriber apparatus (RG) 41 based on the RG first requesting one of the representations (S, Gla) and then changing to the other of the representations (S, Gib) for a bit rate adjustment on that service.
  • Figures 1 1 and 12 show two possible schemes for distributing a media content service and alternative media content to clients 20.
  • a simple case of two clients 20 is shown, but the number of clients 20 can be of the order of tens, hundreds, thousands, tens of thousands, or greater.
  • a media content service SI is transmitted as a multicast stream to clients 20.
  • the service SI can comprise a single representation (i.e. a single bit rate version of the content) or it can comprise a set of multiple representations SI a, Sib at different bit rates.
  • Each representation is transmitted as a separate multicast.
  • a number of clients 20 can join the multicast of each representation.
  • a client 20 receives one of the representations S 1 a or S lb.
  • the clients 20 also receive an indication 14 of an opportunity at which it is possible for the client to switch to a stream carrying alternative media content.
  • two alternative contents ACl, AC2 are transmitted.
  • each of the alternative contents ACl, AC2 is transmitted as a multicast.
  • a client 20 receives one of the alternative contents, i.e. ACl or AC2, and presents the alternative content during an opportunity, such as a commercial break.
  • each alternative content ACl, AC2 is shown as a single representation.
  • each alternative content can itself comprise multiple representations at different bit rates, e.g. AC la, AC lb.
  • Each representation is transmitted as a separate multicast stream.
  • a number of clients 20 can join the multicast of each alternative content, or the multicast of each representation of alternative content.
  • a client 20 receives one of the alternative contents ACl or AC2 (or one of the representations of ACl or one of the representations of AC2).
  • a client 20 can leave a multicast of the main media content service SI and join a multicast of one of the alternative contents ACl, AC2 for a period of time. Subsequently, the client 20 may re-join the multicast of the main media content service SI .
  • the process of switching between streams carrying the media content service SI and the alternative media content ACl, AC2 is the same as shown in Figures 4 and 5.
  • a client sends a request to leave the multicast stream of the media content service SI and sends a request to join the stream of the alternative media content.
  • the order of these requests may be reversed, so the request to join the new stream is sent before the request to leave the existing multicast.
  • FIG. 11 The schemes of Figures 11 and 12 differ in how a selection of alternative media content is made.
  • a client 20 can be instructed which alternative content (ACl or AC2) to present.
  • Each instruction 15 sent from the head end (or other node) can be a dedicated to a particular client 20, or can be distributed to a set of clients.
  • the head end 10 or another node in system 60 may instruct a client 20 which alternative content (ACl or AC2) to present by sending an AC selection instruction 15 to the client 20.
  • the AC selection instruction 15 may indicate a source of the alternative content, such as a multicast address of a multicast stream that the client can join to receive the alternative content.
  • a client 20 can make the determination of which alternative content (AC1 or AC2) to present.
  • the head end 10, or another node in the system 60 may send data (e.g. metadata 16) which describes what alternative content is available.
  • the metadata 16 may comprise information which can be used by a client 20 to determine if that alternative content should be selected.
  • the metadata 16 may indicate a source of the alternative content, such as a multicast address of a stream carrying the alternative content.
  • a client 20 can store selection data 17 which is used by selection logic 18 at the client 20.
  • the selection logic 18 uses the received metadata 16 (and the selection data 17) to determine which alternative content (AC1 or AC2) to present.
  • selection data are: data indicative of a geographic location/region of the client 20; data indicative of demography of a user (or users) of the client 20; parental control data, viewing habits, subscription information, online purchasing history.
  • selection data 17 stored at the client 20 indicates the client is located in England.
  • Metadata 16 indicates alternative content AC1 is available for clients located in England and alternative content AC2 is available for clients located in Wales.
  • the selection logic 18 selects AC1.
  • Operating in the manner of Figure 12 reduces the amount of signalling across the network 35 to manage the selection of alternative content, because clients 20 determine for themselves what content to select. It also reduces the amount of processing at a node in the network to determine what content each client 20 should be instructed to select.
  • Time of day Selection logic selects alternative content based on time of day. For example, time of day might be used to determine whether alternative content is within a restricted viewing window, such as a pre- watershed period.
  • Selection data at the client identifies a demographic group that a user, or group of users of the client 20, belong to.
  • Selection logic selects alternative content based on a match between the demographic group and metadata indicating what demographic groups the alternative content is aimed at.
  • An alternative to demographic data is data indicating the likes (or dislikes) of the user, or users, of the client 20.
  • the selection logic can select alternative content which best matches the likes, or avoids the dislikes, of a user.
  • Selection data at the client identifies an age group of the user, or users, of the client device 20. Selection logic selects alternative content based on the age group and metadata indicating what age group the alternative content is aimed at. In this manner, age appropriate alternative content is selected.
  • Selection data at the client identifies a screen type (e.g. screen resolution) of the client device.
  • Selection logic selects alternative content based on the screen type and metadata indicating what screen type the alternative content is suitable for. For example, pharmaceutical adverts may need to have the disclaimers legible on the screen and may require a screen above a particular resolution.
  • Selection data at the client identifies viewing habits, e.g. types of content that a user consumes (drama, soap operas, childrens content). Selection logic selects alternative content based on a match between the viewing habits and received metadata about the available alternative content.
  • Selection data at the client identifies what services the user subscribes to.
  • Selection logic selects alternative content based on a match between the subscriptions and received metadata about the available alternative content.
  • Selection data at the client identifies what services the user subscribes to.
  • Selection logic selects alternative content based on a match between the purchase history of the user and received metadata about the available alternative content. For example, if the user has previously purchased clothing items, alternative content can be selected which advertises clothing items. ⁇
  • Figure 13 shows a time line of a media content service SI .
  • Media content for the service SI is received during the period 101.
  • the content is transmitted as a burst followed by a window period 106.
  • the window period 106 can be one of the window periods 83 previously described, and can be created by the head end in the same way as previously described.
  • Point 102 is a start of the window period 106 in the media content service SI when it is possible for the client to switch to a stream carrying alternative content.
  • the time of point 102 can be signalled in advance of when it occurs.
  • Point 102 can also be called a splice point (out).
  • the "indication of an opportunity" described in this specification can comprise the time of point 102 at the start of the window period.
  • the "indication of an opportunity” described in this specification can comprise the time of an end of the window period 106 at which the alternative content begins.
  • Point 104 is a point in time, during the media content service SI, when a client can switch back to the main content service.
  • Point 104 can be called a splice point (in).
  • the period 103 between points 102, 104 represent a period during which the alternative content can be presented. Another name for period 103 is an "avail".
  • the window period 106 between an end of the burst of the media content service SI and the start of the alternative content AC1/AC2 allows the client to switch between the media content service SI and the alternative media content AC1 or AC2.
  • the window period 107 can be one of the window periods 83 previously described, and can be created in the same way as previously described.
  • the stream of content may only have window periods 106, 107 at the points where there is an opportunity to switch from, or to, the media content service SI .
  • the bit rate of the media content service S 1 can be altered dynamically. Referring to Figure 14, a burst may be formed by increasing the bit rate for a portion of the content, during period 108 preceding the point 102 at which the opportunity to switch streams occurs so as to create the window period 106. Similarly, the bit rate may increase for a portion of the alternative content, during a period 109 preceding the end of the alternative content so that the transmission duration of the alternative content is shorter than the presentation duration of the alternative content.
  • This provides the window period 107 during which the client may switch between the stream carrying the alternative content AC1/AC2 and the stream carrying the media content service SI .
  • stream SI carries content during the period 103 then the bit rate may increase for a portion of the content, during a period 110 preceding the point 104 at which the opportunity to switch streams occurs so as to create the window period 107.
  • data is played out by a burst generator at a faster than normal rate to form a burst and a window period. Data is received at a client at a higher rate during each of the periods 108, 109, 110.
  • window periods 83 can occur at regular intervals during the transmission, in the same manner as shown in Figures 3, 4, 5. Window periods 83 provide periods where a client can cleanly switch between different representations without a risk of missing any of the content.
  • the window periods 106, 107 when there is an opportunity to switch from, or to, the media content service SI occur at one of the regular window periods 83 in the representations.
  • window periods 83 can occur at regular intervals during the stream of the alternative media content, in the same manner as shown in Figures 3, 4, 5. Window periods 83 provide periods when a client can cleanly switch between different representations of the alternative content without a risk of missing any of the content.
  • the bursts of the plurality of media content service representations are aligned in time.
  • the client 20 can return to the original media content service SI by one of several possible mechanisms.
  • Point 104 can be explicitly indicated as part of the stream of the media content service SI .
  • Point 104 be signalled in advance, e.g. before the start of an ad break.
  • the client 20 can return to the media content service S 1 upon the expiry of a timer.
  • the length of the timer can be indicated (or derived from the time of point 104) as part of the information provided for the start point 102 of the opportunity.
  • the client reaches point 102 the timer is started.
  • the client Upon expiry of the timer the client returns to the media content service SI .
  • Another possibility is for the stream of the alternative content ACl, AC2 to carry signalling indicating when the client should return to the stream of the media content service S 1.
  • the main content service SI may not carry any data.
  • the multicast of the main content service SI can continue to carry content during the period 103.
  • the content delivered during period 103 is the content that the majority of the clients 20 will present. This has an advantage of minimising the amount of switching between streams required by clients, and minimising the amount of additional signalling required between clients 20 and nodes of the network 35 to join and leave multicasts.
  • Figure 15 shows the distribution of a media content service SI and alternative content ACl, AC2 for the situation of Figure 14.
  • the media content service SI is available in two representations S I a, Sib.
  • Alternative content ACl, AC2 is carried on separate streams.
  • Alternative content ACl is available in two representations AC la, AC lb.
  • Alternative content AC2 is available in two representations AC2a, AC2b.
  • the stream of service SI carries content.
  • Each client can remain on SI and receive content during the opportunity period 103, or can switch to the stream carrying ACl during the opportunity period 103.
  • the alternative content ACl, AC2 is transmitted such that a start of a burst carrying the alternative content is aligned in time with an end of the window period 106.
  • the alternative content ACl, AC2 is transmitted such that an end of a burst carrying the alternative content occurs at a point which is aligned in time, or occurs before, a start of the window period 107 before the resumption of service SI .
  • Transmitting the alternative content ACl, AC2 in burst form provides a time during which a client may cleanly switch between the alternative content ACl, AC2 and the main media content service SI without missing any of the media content service SI .
  • the head end 10, or another node responsible for transmitting the alternative content comprises a mechanism for controlling the time at which content is played out such that it is aligned in time with the window periods 106 in the media content service SI .
  • the representations are transmitted in burst form with window periods 83. In Figure 15 the window periods 83 of all of the representations AC la, AC lb, AC2a, AC2b are time-aligned.
  • the window periods 83 occurring during the duration of the alternative content (only one such window period is shown in Figure 15) of the representations AC la, AC lb can be time-aligned with each other.
  • the window periods 83 occurring during the duration of the alternative content of the representations AC2a, AC2b can be time-aligned with each other, but offset in time from the window periods 83 of AC la, AC lb.
  • a client which selected alternative content ACl can still cleanly switch between the representations AC la, AC lb.
  • a client which selected alternative content AC2 can still cleanly switch between the representations AC2a, AC2b.
  • the offset between the window periods of ACl and AC2 can help to reduce the overall bandwidth required to transmit the alternative content.
  • Figure 16 shows the distribution of a media content service SI and alternative contents ACl, AC2 for a situation where no content is transmitted on SI during the period 103.
  • Alternative content ACl AC la, AC lb
  • AC2 AC2a, AC2b
  • Each client selects one of the alternative content streams ACl,
  • a commercial break is an opportunity during which one of several possible adverts can be presented.
  • a client can be instructed to switch to a stream carrying a particular advert or a client can select one of the streams carrying an advert based on selection data stored at the client (e.g. age, demographic, geographic location).
  • Adverts are each transmitted as a multicast stream.
  • Blackout In a given region close to a live sporting event (e.g. football match) it is not permitted to show the match on live TV, unless the match is sold out. So, for that region, alternative content replaces the live match.
  • the alternative content could be another match from outside the region. Clients within the blackout region switch to a multicast stream carrying the alternative content.
  • Emergency alert This is used for warnings of bad weather, emergencies etc.
  • the alternative content could be a video/audio loop advising of the nature of the emergency and any action that should be taken. If this occurs, it is jammed onto all channels within the affected region. Clients within the affected region switch to a multicast stream carrying the alternative content.
  • the indication of an opportunity to select alternative content can be signalled to a client in various ways.
  • One possibility is to place the information in one of the burst trigger packets so that it is accessible at the datagram layer.
  • the burst trigger packets can be inserted by unit 77 at the encoder 65 or by unit 78 at the burst generator 67.
  • Another possibility is to use Society of Cable Telecommunication Engineers (SCTE) 35 messages, or similar messages, which are added to the content stream. This is a form of in-band signalling. SCTE 35 is described in SCTE 35 2013a, "Digital Program Insertion Cueing Message for Cable".
  • the client 20 inspects (parses) the received media for SCTE35, or equivalent, messages.
  • the message indicates a point at which the client has an opportunity to switch to a stream carrying alternative content, such as a start time of a window period 106.
  • a client 20 can receive an indication of an opportunity as part of a marker payload or within the payload of a media segment preceding the point of the opportunity.
  • the metadata 16 indicating available alternative content can be provided in-band, i.e. data which is carried as part of the stream of packets carrying the main media content service SI, or out of band, i.e. data which is not part of the stream of packets carrying the main media content service SI .
  • sources of the alternative content can be identified along with the indication of the opportunity.
  • Figure 17 shows an example of distributing a media content service and alternative media content to a larger number of clients 20.
  • a media content service SI is available with two different bit rate representations: SI a, Sib.
  • Two types of alternative content AC1, AC2 are available. Each alternative content is available in two representations.
  • Alternative content AC1 is available in representations AC la, AC lb and alternative content AC2 is available in representations AC2a, AC2b.
  • a first group 23 of clients 20 select (or are instructed to select) alternative content AC1 for presentation during an opportunity and a second group 24 of clients 20 select alternative content AC2 for presentation during an opportunity.
  • clients 20 may be instructed which alternative content to select in the manner of Figure 11 , or clients may determine which 0 alternative content to select in the manner of Figure 12.
  • the multicast streaming of the alternative content ACl, AC2 to multiple clients is efficient in terms of network bandwidth usage, as it avoids the need to form a separate unicast stream to each client 20. Only the multicast streams AC la, AC lb, AC2a, AC2b are required.
  • a multicast stream can be joined by a group of clients who receive the same alternative content.
  • the transmission scheme described comprising bursts and window periods allows a client 20 to switch between a stream carrying the media content service SI and one of the streams carrying the required alternative content ACl, AC2 during a window period.
  • Figure 18 shows a method which can be performed at the client device 20.
  • the client receives a media content service.
  • the media content service may be available in a plurality of representations having different bit rates. In that case step 111 receives one of the available representations of the media content service.
  • the media content service (or each of the plurality of media content representations) are transmitted as a burst.
  • the bursts of the plurality of media content service representations are transmitted substantially aligned in time.
  • Packet-forwarding nodes of the distribution network may cause the representations to be slightly offset at the client, but advantageously the bursts of the different representations are substantially aligned. There is a window period between successive bursts during which media content is not transmitted.
  • the client may select another representation of that media content service to receive the service at a higher or lower bit rate.
  • the client may select another representation by joining a multicast of that other representation.
  • Step 112 may occur multiple times.
  • the client can operate in a similar manner as unicast ABR service.
  • a client can receive segments encoded at one of a range of different bit rates and can vary between different bit rates while receiving segments of a particular item of content.
  • the delivery can cope with network congestion, and reduces the amount of buffering at the client. For example, during a period of congestion in the distribution network or at the client device the client may receive segments encoded at a lower bit rate.
  • the client instead of retrieving ABR segments via a unicast connection with a server, the client switches between multicasts carrying segments encoded at different bit rates.
  • the client receives an indication of an opportunity to switch to a stream carrying alternative media content. This may be a commercial break in the media content service, or some other point at which there is a possibility to present alternative content.
  • steps 114 and steps 115, 116 Alternative ways of operating are shown in steps 114 and steps 115, 116.
  • the client receives an indication of a stream carrying alternative content that the client should switch to.
  • the client receives metadata which is used by the client at step 116 to determine which stream of alternative content to switch to. The metadata may be received earlier than shown in Figure 18.
  • the client switches to a stream carrying the required alternative media content. In a case where a first type of alternative content is carried on the same stream as the media content service, and the first type of alternative media content should be presented by the client, then no switch is required at step 117.
  • the client receives alternative media for presentation.
  • the client may select another representation of the alternative media content to receive the content at a higher or lower bit rate.
  • the client returns to the stream of the media content service.
  • Figure 19 shows a method which can be performed at one or more of the network-side nodes, such as the head end 10.
  • the method transmits the media content service as a burst with a window period during which media content is not transmitted.
  • the media content service is transmitted as a multicast stream.
  • the burst is created by playing out data at a higher bit rate (compared to a continuous transmission) to create the window period. Transmission of all, or part of, the stream may occur at the higher bit rate.
  • the method transmits an indication of an opportunity, during the media content service, at which a client can switch to a stream carrying alternative media content.
  • a client can switch between streams.
  • the method can transmit to a client an indication of which stream that client should switch to.
  • the method can transmit metadata about the alternative content streams which a client can use to select which stream to switch to. This metadata can be transmitted before the opportunity arises as the alternative streams may already be defined even if the opportunity to use them has not yet occurred.
  • the method transmits alternative media content for presentation during the opportunity.
  • a step 121 receives or generates the plurality of media content service representations for a media content service.
  • Each of the media content representations has a different bit rate.
  • the method divides each of the media content service representations into segments, wherein the segments of the plurality of media content service representations are aligned in time.
  • Figure 20 shows an example of apparatus at a client 20.
  • a communication interface 40 connects to a network, such as a subscriber loop.
  • a controller 42 controls operation of the client and performs the method shown in Figure 18.
  • Controller 42 comprises a content selection unit 46.
  • Content selection unit 46 selects between representations of the media content service as required, for example, by processing or bandwidth constraints.
  • Content selection unit 46 also selects alternative content for presentation during an opportunity.
  • Content selection unit 46 can also perform the selection logic 18 shown in Figure 12 in the case where the client determines which alternative content to present.
  • Content selection unit 46 receives inputs from an opportunity detection unit 45 and a burst end detection unit 47.
  • the opportunity detection unit 45 is responsive to indications 14, as shown in Figures 11, 12, of the start points of opportunities to present alternative content.
  • Burst end detection unit 47 can detect in-band signalling, or out-of-band signalling, which indicates the end of a burst and a start of the window period during which a change of the representation can be made.
  • a memory 50 is accessible by the content selection unit 46. Memory 50 stores data which can include data 51 about the currently selected representation per media content service. Memory 50 stores data 52 about available representations per service (e.g. data indicating that representations are available for service SI at bit rates of 2, 5, and 7 Mbit/s). Memory 50 can store data 16 about alternative content, such as the metadata 16 received in Figure 12. Memory 50 can store selection data 17 which is used by the content selection logic of unit 46.
  • the examples described above use multicast streams to distribute the alternative content. This is efficient in terms of network bandwidth usage.
  • the transmission scheme of bursts and window periods allows clients to switch between streams. If alternative content is only distributed to a small number of clients then it is possible to transmit the alternative content to those clients using a unicast stream.
  • the unicast streams require more bandwidth compared to the multicast streams described above. If alternative content is for presentation during a limited period during the main content service (e.g. period 103 in Figure 13) then the unicast transmission should transmit in overspeed form such that the alternative content will be received before resumption of the main content service S 1.
  • FIG 21 shows an exemplary processing apparatus 200 which may be implemented as any form of a computing and/or electronic device, and in which embodiments of the system and methods described above may be implemented.
  • Processing apparatus 200 can be provided at one of the distribution network nodes, or at a subscriber apparatus 41.
  • Processing apparatus may implement the method shown in Figures 18 or 19.
  • Processing apparatus 200 comprises one or more processors 201 which may be microprocessors, controllers or any other suitable type of processors for executing instructions to control the operation of the device.
  • the processor 201 is connected to other components of the device via one or more buses 206.
  • Processor- executable instructions 203 may be provided using any computer-readable media, such as memory 202.
  • the processor-executable instructions 203 can comprise instructions for implementing the functionality of the described methods.
  • the memory 202 is of any suitable type such as read-only memory (ROM), random access memory (RAM), a storage device of any type such as a magnetic or optical storage device. Additional memory 204 can be provided to store data 205 used by the processor 201.
  • the processing apparatus 200 comprises one or more network interfaces 208 for interfacing with other network entities.

Abstract

A client (20) receives a media content service (S1) across a delivery channel as part of a multicast stream of the media content service. The client (20) also receives an indication of an opportunity (103), during the media content service (S1), at which it is possible for the client (20) to switch to a stream carrying alternative media content (AC1, AC2). The client (20) receives a stream of the alternative media content (AC1, AC2) for presentation during the opportunity. The media content service (S1) is received as a burst and there is a window period (106) between an end of the burst of the media content service (S1) and the start of the alternative content (AC1, AC2). The window period (106) allows the client (20) to switch between the media content service (S1) and the alternative media content (AC1, AC2). The alternative media content (AC1, AC2) can be distributed as a multicast stream.

Description

DISTRIBUTING MEDIA CONTENT SERVICES AND ALTERNATIVE
MEDIA CONTENT
TECHNICAL FIELD
This invention relates to a method and apparatus for distributing a media content service.
BACKGROUND
There is considerable interest in receiving "streamed" services which deliver a stream of video and/or audio material to users. The content can be live content or it can be recorded content which is requested on demand. In an Internet Protocol Television (IPTV) system, video and audio content is delivered to users via Internet Protocol (IP) delivery mechanisms. These types of services require a continuous and uninterrupted flow of data. A premises may have multiple terminals which are capable of receiving media content. The demands placed on the delivery channel can vary according to how many terminals require content at a particular time.
Streamed media content services can be distributed as a unicast transmission or as a multicast transmission. Unicast provides the subscribing receiver with a direct and unique two-way path through the delivery network all the way back to the media server supplying the required data stream. The main streaming activity is managed on a one- to-one basis between the receiver and the source server. The network between the source server and receiver typically comprises a series of intermediate servers installed at network nodes which are not directly involved in the service but only support the transfer of a packet stream. Typically the protocols used to support the transmissions are simple forms of Internet Protocol (IP) itself augmented by one or more higher layer protocols to provide flow control. These protocols extend across the span of the link between the source server and a given receiver. This method of distribution is wasteful of network capacity because, at busy times and for popular media streams, many copies exist in the network simultaneously and this contributes to network congestion. Multicast makes more efficient use of bandwidth by sharing content streams among several receivers. Intermediate network routers are now more closely involved in the service delivery such that some control and management functions are delegated from the source server. This control is supported by more extensive protocols devised for this type of application such as Protocol Independent Multicast (PIM) and Internet Group Multicast Protocol (IGMP). When a new receiver requests a given media item, the network router system finds an existing stream of that content already in the network and directs a copy of it to that new receiver from an appropriately near network node. A new receiver has to be able to join this existing stream under controlled conditions that do not adversely affect existing receivers. Any receiver in this group also has to be able leave the stream, or pause its consumption, without affecting the others. There is now a clear separation of control and management from the content. This complicates the control function because several receivers will have different instantaneous bit rate and control needs and so the segmentation of the stream as it passes through a given network has to deal with the conflicting demands. These are managed directly between the receiving device itself and the nearest upstream router/server that will mediate control functions including any need to refer back to earlier network servers or even the original source server. One type of streaming is Adaptive Bit Rate Streaming (ABR). ABR allows rate adaptation. A unicast system can support ABR. A given service is encoded at a selection of different bit rates (known as representations), with synchronised boundary points at defined locations (e.g. every 50 frames). For each representation, content between successive boundary points is converted into a discrete file. Clients fetch a segment of one of the representations in turn. If a higher or a lower bit rate is required, the next segment is fetched from one of the other representations. The segments are constructed such that there is no discontinuity in decoded pictures/audio if the client switches between representations at the boundary points. This system requires the unicast two-way path between source and receiver to request files and deliver the requested files.
In summary, while unicast systems can support an adaptive bit rate of a streamed service over time, this comes at a significant cost in terms of resources of the delivery network to support a large number of unicast paths, and may require additional servers located near to clients of the network to maintain acceptable response times. Multicast systems can more efficiently use bandwidth resources of the network, but do not support adaptive bit rate needs of client devices.
It is known to insert advertisements into a content stream. Advertisements can be inserted by an intermediate node in the distribution network, such as by using Society of Cable Telecommunication Engineers (SCTE) SCTE 35 messages to instruct a node of splice points where an advert can be inserted. In the case of unicast transmission, the manifest of content segments sent to a client can be manipulated so that the client is instructed to retrieve segments of an advertisement during a period of time.
The present invention seeks to provide another way of distributing media content services, such as video services, and alternative content.
SUMMARY An aspect of the present invention provides a method of receiving a media content service at a client. The method comprises receiving the media content service across a delivery channel as part of a multicast stream of the media content service. The method also comprises receiving an indication of an opportunity, during the media content service, at which it is possible for the client to switch to a stream carrying alternative media content. The method also comprises receiving a stream of the alternative media content for presentation during the opportunity. The media content service is received as a burst and there is a window period between an end of the burst of the media content service and the start of the alternative content. The window period is for allowing the client to switch between the media content service and the alternative media content.
The step of receiving a stream of the alternative media content can comprise joining a multicast stream of the alternative media content.
The method can comprise sending a request to leave the multicast stream of the media content service and sending a request to join the stream of the alternative media content.
The alternative media content can be received as a burst. There can be a window period between an end of the burst of the alternative media content and the start of a burst of the media content service for allowing the client to switch between the alternative media content and the media content service. The media content service can be available in a plurality of representations having different bit rates. Each of the plurality of media content representations can be transmitted as a sequence of bursts, with the bursts of the plurality of media content service representations aligned in time. There can be window periods between successive bursts for allowing the client to switch between the plurality of representations. The alternative media content can be available in a plurality of representations having different bit rates. The representations can be transmitted as a sequence of bursts, with the bursts of the plurality of media content service representations aligned in time.
The method can comprise receiving information identifying sources of the alternative media content.
The information identifying sources of the alternative media content can identify multicast streams which carry the alternative media content.
The indication of the opportunity can identify the sources of the alternative media content available for presentation during the opportunity. The method can comprise receiving an indication of a stream carrying alternative content that the client should switch to during the opportunity.
The method can comprise receiving metadata associated with the alternative content and determining, using the received metadata, a stream of alternative content to switch to during the opportunity. The method can comprise storing selection data at the client for use in selecting between alternative media content. The step of determining which alternative content to present during the opportunity can use the selection data.
The method can comprise returning to the multicast stream of the media content service. The method can comprise setting a timer for returning to the multicast stream of the media content service and returning to the multicast stream of the media content service upon expiry of the timer. The method can comprise receiving an indication of an end of the alternative content and returning to the multicast stream of the media content service at the end of the alternative content. Another aspect of the invention provides a method of distributing a media content service. The method comprises transmitting the media content service as a multicast stream. The method also comprises transmitting an indication of an opportunity, during the media content service, at which it is possible for a client to switch to a stream carrying alternative media content. The method also comprises transmitting alternative media content for presentation during the opportunity. The media content service is transmitted as a burst and there is a window period between an end of the burst of the media content service and a start of the alternative media content.
The alternative media content can be transmitted as a multicast stream.
The method can comprise transmitting to a client an indication of which stream carrying alternative content the client should switch to during the opportunity.
The method can comprise transmitting metadata associated with the alternative media content available for presentation during the opportunity.
The indication of an opportunity can indicate a commercial break in the media content service. The step of transmitting the media content service can comprise receiving or generating a plurality of media content service representations for the media content service, each of the media content representations having a different bit rate. The step of transmitting the media content service can comprise dividing each of the media content service representations into segments, wherein the segments of the plurality of media content service representations are aligned in time. The step of transmitting the media content service can comprise transmitting the segments of each of the plurality of media content service representations as a sequence of bursts, wherein the bursts of the plurality of media content service representations are aligned in time. There are window periods between successive bursts during which media content is not transmitted. Each of the media content service representations is transmitted as a multicast stream. Each of the received or generated media content service representations has a respective bit rate and the transmitting comprises transmitting each of the segments at a higher bit rate to create the window periods between successive bursts. The step of transmitting the alternative media content can comprise receiving or generating a plurality of alternative media content representations, each of the alternative media content representations having a different bit rate. The step of ,
6 transmitting the alternative media content can comprise dividing each of the alternative media content service representations into segments, wherein the segments of the plurality of alternative media content representations are aligned in time. The step of transmitting the alternative media content can comprise transmitting the segments of each of the plurality of alternative media content representations as a sequence of bursts, wherein the bursts of the plurality of alternative media content representations are aligned in time, and wherein there are window periods between successive bursts during which media content is not transmitted. Each of the alternative media content representations is transmitted as a multicast stream. Each of the received or generated alternative media content representations has a respective bit rate and the transmitting comprises transmitting each of the segments at a higher bit rate to create the window periods between successive bursts.
Another aspect of the invention provides apparatus at a client for performing any of the claimed or described methods. An aspect provides apparatus for receiving a media content service across a delivery channel. The apparatus comprises a communication interface for interfacing with the delivery channel. The apparatus also comprises a controller coupled to the communication interface comprising a processor and a memory, said memory containing instructions executable by said processor. The controller is operative to receive the media content service across a delivery channel as part of a multicast stream of the media content service. The controller is operative to receive an indication of an opportunity, during the media content service, at which it is possible for the client to switch to a stream carrying alternative media content. The controller is operative to receive a stream of the alternative media content for presentation during the opportunity. The controller is operative to receive the media content service as a burst and to use a window period between an end of the burst of the media content service and the start of the alternative content to switch between the media content service and the alternative media content.
Another aspect of the invention provides apparatus at a network-side node, or nodes, for performing any of the claimed or described methods. An aspect provides apparatus for distributing a media content service. The apparatus comprises a processor and a memory, said memory containing instructions executable by said processor. The apparatus is operative to transmit the media content service as a multicast stream. The apparatus is operative to transmit an indication of an opportunity, during the media content service, at which it is possible for the client to switch to a stream carrying alternative media content. The apparatus is operative to transmit alternative media content for presentation during the opportunity. The apparatus is operative to transmit the media content service as a burst with a window period between an end of the burst of the media content service and a start of the alternative media content.
Distributing content in multicast form provides considerable bandwidth savings compared to the use of multiple unicast transmissions to different clients.
An advantage of at least one embodiment is that a range of possible alternative content can be distributed to clients, and the switch to the alternative content is made at the client. The determination of which alternative content is presented at a client can be made by a network-side node, or by the client. This contrasts with systems where alternative content (e.g. advertisements) is inserted upstream of clients, and clients all receive the same alternative content. Advantageously, the alternative content is distributed as a multicast stream.
This offers bandwidth savings in the distribution network compared to unicast distribution.
The term "client" can include an end device or a residential gateway which receives content on behalf of one or more end devices at a premises. The functionality described here can be implemented in hardware, software executed by a processing apparatus, or by a combination of hardware and software. The processing apparatus can comprise a computer, a processor, a state machine, a logic array or any other suitable processing apparatus. The processing apparatus can be a general-purpose processor which executes software to cause the general-purpose processor to perform the required tasks, or the processing apparatus can be dedicated to perform the required functions. Another aspect of the invention provides machine- readable instructions (software) which, when executed by a processor, perform any of the described methods. The machine-readable instructions may be stored on an electronic memory device, hard disk, optical disk or other machine-readable storage medium. The machine-readable medium can be a non-transitory medium. The machine-readable instructions can be downloaded to the storage medium via a network connection. „
o
BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments of the invention will be described, by way of example only, with reference to the accompanying drawings in which:
Figure 1 shows a system for delivering media content services and alternative media content to clients over a delivery channel;
Figure 2 shows processing performed on a media content stream to create a set of segmented representations;
Figure 3 shows processing performed on representations of a media content stream of different bit rates to form bursts; Figures 4 and 5 show time lines of an operation to change the bit rate of a media content stream received at a client;
Figure 6 shows apparatus in accordance with an embodiment of the invention;
Figure 7 shows part of the apparatus of Figure 6 in more detail;
Figure 8 shows packets used to carry media content data; Figure 9 shows a media content distribution network in more detail;
Figure 10 shows transmission of multicasts to a client;
Figures 11 and 12 show distribution of a media content service and alternative media content to a plurality of clients;
Figure 13 shows a time line of distributing a media content service and alternative media content;
Figure 14 shows a time line of distributing a media content service and alternative media content at a dynamic bit rate;
Figure 15 shows a time line of distributing a media content service and alternative media content, where content is carried by the media content service during an opportunity;
Figure 16 shows a time line of distributing a media content service and alternative media content, where content is not carried by the media content service during an opportunity; Figure 17 shows distribution of a media content service and alternative media content to a plurality of clients;
Figure 18 shows a method performed at a client;
Figure 19 shows a method performed at a network-side node; Figure 20 shows apparatus for use at a client;
Figure 21 shows processing apparatus for a computer-based implementation.
DETAILED DESCRIPTION
Figure 1 shows a system 60 for distributing media content services to clients 20. A distribution network 35 connects a head end 10 to clients 20. The network 35 can be a wide area network, a local area network, an access network such as a broadband access network, or any combination of these. Distribution network 35 comprises a network of routers and/or switches 36. Clients 20 can include, for example, computers, tablets, mobile phones (smart phones), set top boxes, digital video recorders, internet-equipped televisions. Multiple client devices 20 may be located within a single premises served by a residential gateway 22. The network 35 can be used to carry multiple communication services to clients, such as voice, data, television. Services can be carried using Internet Protocol (IP). The term "head end" is used to describe a node, or a collection of nodes, at the "head" of the system. It will be appreciated that the functions of the head end shown in the Figures can be performed at other nodes.
The head end 10 receives media content 5 for distribution to clients 20. Media content 5 can comprise, for example, video content (with or without audio) or audio content. The media content can comprise a live feed (e.g. a live television or radio service) or stored content which is played out from a server. A media content service is distributed to clients 20 in the form of a multicast stream. That is, a stream of the media content is simultaneously transmitted to multiple clients 20. Multiple clients 20 receive the same stream. This contrasts with unicast, where there is a dedicated stream between a server and a client. System 60 includes processing 12 to form multicast streams. A media content service can be distributed to clients 20 as a single representation (e.g. a single bit rate stream) or as a set of representations of the service at different bit rates. Where a set of 1 Q representations are provided, the representations differ in bit rate and allow a client to select a representation which is best suited to the needs of the client. For example, the selection of a representation may be based on screen size at the client 20, processing capabilities at the client 20, link bandwidth between the client 20 and the network 35. As described below, these representations are transmitted as a sequence of bursts with window periods between successive bursts which allow a client to switch between multicasts carrying different representations. The processing functions 12 can be performed by the distribution head end 10 or by any other node or combination of nodes. A media content service can be made available in a plurality of media content service representations, each having a different bit rate. For example, a video service SI can be made available in two video service representations SI a, Sib. In different embodiments, and for different video services, the number of video service representations available for selection may be greater than two. One or more other properties of the video service can vary among the representations, such as video resolution, frame rate. Audio rates (or number of audio channels) can also vary between representations. For example, consider representations Sla and Sib have progressively higher bit rates. The higher bit rate representation Sib can have a higher resolution than the lower bit rate representation Sla. In addition to the media content of the media content service, there is also alternative media content. The alternative media content can be presented at a client 20 during an opportunity in the media content service. The "opportunity" can be a commercial break in the media content service. Some other possibilities for an "opportunity" include a point at which multiple versions of content can be displayed, such as a scene of a movie, drama or other video content which is available in different versions. The head end 10 receives the alternative media content 6 for distribution to clients 20. Media content 6 can comprise, for example, video content (with or without audio) or audio content. The alternative media content 6 can comprise a live feed or stored content which is played out from a server. The alternative media content 6 can be made available in a single representation (e.g. a single bit rate version) or the alternative media content can be made available in multiple representations. The number of representations can be the same as, or different to, the number of representations of the main media content service. In Figure 1, there is alternative media content ACl, AC2. ACl or AC2 can be presented by a client during an opportunity in the media content service. Alternative media content ACl and AC2 are each available with two representations: ACla, AClb, AC2a, AC2b.
The following section describes how content can be transmitted in the form of bursts. Transmitting content as bursts allows window periods to be inserted into the stream. Content is not transmitted during window periods. During the window periods a client can switch between streams carrying a media content service and a stream carrying alternative content. In the case where a media content service is transmitted with multiple representations the window periods also allow a client can switch between streams carrying representations at different bit rates.
Figure 2 shows processing performed on a media content stream 85 to form a set of representations 80A, 80B at different bit rates. In this example embodiment the media content is video. Each video service 85 is coded as a set of representations 80A, 80B. For simplicity, Figure 2 shows Constant Bit Rate (CBR) rate streams but the coding does not have to be constant bit rate. For example, it could be variable bit rate (VBR) or variable bit rate with a particular peak or mean bit rate value, such as capped Variable Bit Rate (VBR). The values of 5Mbit/s and 7Mbit/s are example values, and it will be appreciated that a representation can be generated at any other desired value and that any number of representations may be generated. Each representation is divided into a sequence of segments 81 A, 8 IB. Segment boundaries 82 are aligned, such that the segment boundaries of one representation 80A are aligned in time with the segment boundaries of another representation 80B. A corresponding segment in each of the representations correspond to the same frames of video content. As will be explained, this allows a receiver to switch between representations at one of the segment boundaries 88 and perform a smooth transition between representations. Advantageously, a segment boundary 88 occurs at the end of a Group of Pictures (GOP) 83.
A feature of compressed video data stream syntax is the Group of Pictures (GOP) which comprises a sequence of complete and contiguous video pictures or frames. The Group of Pictures (GOP) begins with a frame selected to be a master frame, denoted as an" I" or Intra Frame for that sequence. This I Frame is coded without reference to any other frame in the sequence and exploits only spatial redundancy within the I frame. Since I frames may be decoded without reference to ^ picture information in any other frame, I frames can be relied upon as a starting point for a decoder.
The video service representations of a video service can have aligned segment boundaries 88 so that their GOP patterns are aligned. Data for the different bit rate representations 80A, 80B is packetised. Figure 2 shows a sequence of Transport Stream (TS) packets 84A, 84B for each representation. The number of packets per segment varies according to the bit rate of the representation. The higher bit rate stream 80B has more packets than the lower bit rate stream 80A.
Advantageously, segment boundaries are marked by introducing Boundary Points (BP) that mark the location of the segment boundaries in the segmented streams 80A, 80B where it is possible to switch cleanly between the representations and deliver the segments using multicast. These BPs can also act as reference points in the stream for any other purpose. The BP can be inserted in a continuous stream, for example as a short gap, or the segmented media data stream can be momentarily paused so that the absence of data allows time for receivers to adjust themselves to any changing circumstances including new receivers joining the stream or existing ones pausing or leaving it.
Conveniently, media data can be encoded according to Motion Pictures Experts Group MPEG-2 format and encapsulated into MPEG Transport Streams, but it will be appreciated that segments 81 A, 8 IB can also be coded and encapsulated in any other suitable format, such as the MPEG-4 File Format.
Figure 3 shows processing performed on segmented media content streams 80A, 80B, to form a set of bursts at different bit rates. As will be explained below, the segmented streams 80A, 80B are fed into a multicast playout block that makes each segment play out in less time than the interval between the boundary points. The purpose of this is to deliberately introduce a window period between transmitted bursts 82A, 82B. The duration of the window period 83 is sufficient for a multicast receiver to leave one representation of the stream and join a different representation at a different bit rate. The switching between multicasts can be achieved using multicast Leave and Join messages. The duration of the window period 83 is sufficient for a receiver to send requests to join and leave respective multicasts and for switches and routers in the distribution network 60 to action the requests. The multicast bursts 82A, ^
82B have a higher bit rate compared to the respective segmented representations 80A, 80B. The bit rate of the bursts is increased by a factor of a, where: segment duration
a =
(segment duration - window duration) ^
For example, a segment duration of 2 seconds and a window duration of 0.3 seconds gives a value of factor a = 2/(2-0.3) = 1.18. The burst can be considered an overspeed burst because content is transmitted at a higher bit rate compared to a continuous stream of the same content.
For clarity, Figure 3 shows the start point of the bursts 82A, 82B aligned in time with the start point of the segments 81 A, 8 IB of representations 80A, 80B, to illustrate the comparison in length of the segments 81 A, 8 IB compared to the bursts 82A, 82B. It will be appreciated that a short buffer period (of at least the length of the window period) is required before the burst can be played out, which would be represented in Figure 3 as an offset along the time axis between the start of segments 81 A, 8 IB and the start of bursts 82 A, 82B. The start of bursts of different content services can be aligned in time (i.e. all bursts of all services start at the same time) or the start times can be staggered with respect to one another. Aligning the start times of bursts of different services in time can have an advantage of allowing a quicker channel change between services.
One consequence of adding window periods 83 to the transmitted streams is that the flow of content becomes jittered beyond the level that normal packet transmission produces. This can be accommodated by buffering provided within the reception apparatus. The window period duration will influence the amount of jitter produced and so there is an optimum size that is related to the worst case response times of the chain of routers/servers delivering the content. This time is taken for switches to recognise and implement all those steps that are required to keep the stream flowing including the potential need for the multicast content to be found at or near the source server. For segment durations of the order of about 2 seconds, a possible value of the window period is around 330 milliseconds. The window size is a function of the responsiveness of the network to support multicast leave and join functions and it will be appreciated that the window period can be modified to a higher or lower value. More generally, the window period could have a value selected from the range of ^
0.1 ms and 10 seconds and, more advantageously, the range 10ms - 350ms. As switches and routers increase in performance, it is possible that the window duration can be reduced to the lower end of the ranges stated above.
Internet Group Management Protocol (IGMP)v3 provides an explicit LEAVE message, allowing multicast clients to signal they no longer require the multicast to be forwarded to them. This can be implemented in IP switches as "Fast Leave", where the multicast forwarding is stopped immediately when the LEAVE message is received. There is also an IGMP Join message to join a multicast.
Figures 4 and 5 show time lines of an operation to change the bit rate of a media content stream received at a subscriber apparatus. Figure 4 shows two multicast representations 87A, 87B of different bit rates which are transmitted across distribution network 60. A subscriber apparatus can select one of these representations by joining the multicast. The subscriber apparatus receives bursts 82B of representation 87B (high bit rate) during periods tl-t2 and t3-t4. At time t4 the subscriber apparatus sends signalling to leave the multicast of representation 87B (high bit rate) and to join the multicast of representation 87A (low bit rate). At time t6 the subscriber apparatus receives a burst 82 A of representation 87A (low bit rate). The switch between leaving multicast of representation 87B and joining the representation of multicast 87A occurs during the window period t4-t6. Thus, the subscriber apparatus receives a seamless flow of data for the media content service, even though a change in the delivery bit rate has occurred. The order of signalling can be reversed, such that the request to join the new multicast 87A is sent before sending the request to leave the existing multicast 87B. A worst case time for joining a multicast is longer than a worst case time for leaving a multicast, and so it is advantageous to issue the command to join first. Figure 5 shows further detail of the process to change the bit rate of a media content stream received at a subscriber apparatus. There are various ways in which a subscriber apparatus can detect the end of a burst and the start of the period when the apparatus can safely switch between representations. It is possible to configure a terminal to measure a "time out" period at the beginning of a window period, but this introduces an undesirable latency. It is more advantageous to send signalling which explicitly indicates an end of a burst, or which gives advance notice of when an end of burst will occur. This signals to the subscriber apparatus when it is possible to safely switch between representations, with minimal delay. Advantageously the locations in j the data stream where the switching between streams can safely occur are explicitly signalled within, or alongside, the multicasts, thus allowing a receive device to immediately be aware that a switching opportunity exists. Signalling can be provided, for example, in IP packets that share the same multicast destination address as the IP packets carrying the media content service, but different UDP destination port numbers, allowing simple detection and discrimination at the receive device. This has the advantage that whenever the multicast that carries the media content is routed (in response to IGMP joins) the signalling would also automatically follow. Alternatively, the signalling could be delivered in a separate multicast having a separate multicast destination address, with the subscriber apparatus joining/leaving both the multicast carrying the media content and the multicast carrying the end of burst signalling. Another possibility is to include a trailer indicating an end of burst in the media multicast. Examples include: adding trailer data at the end of the last UDP datagram, sending an empty datagram, or changing a parameter such as the sync byte (normally hexadecimal 47) to a different value. Other possibilities are to send an information element which gives advance notice of an end of a segment, such as a number of TS packets remaining in the current segment, an RTP sequence number of the last IP packet in the current segment, or some other suitable advance notice.
The scheme described above can be used when representations at different bit rates to minimise disruption to the delivery and presentation of media content. When a terminal first joins a service the joining could occur during the window or it may occur at any time.
Figure 6 shows apparatus 12 for creating a set of segmented representations and forming bursts. The apparatus 12 shown in Figure 6 can be provided at a distribution head end node 10. The apparatus receives an input feed 5 of content (e.g. video) per service. A set of encoders/transcoders 65 generate, in parallel, a set of representations of the content at a set of different bit rates. The representations can differ in another quantity, such as video resolution. A timing generator 64 outputs a signal that determines the boundary point of the segments. For example, this can output a signal once per 50 frames (2 seconds), or at any other suitable time interval. The signal output by generator 64 is applied to all of the parallel encoders 65 for that service. Advantageously, the set of coders 65 can close the GOP (see Figure 2) and a unit 76 can insert in-band signalling such as a Random Access Point (RAP) and a Boundary Λ ,
16
Point (BP). The outputs of the set of coders 65 are the set of representations 80A, 80B which have time-aligned segments. The representations 80A, 80B are applied to a burst generator unit 67 which creates the bursts (82A, 82B, Figure 4) separated by window periods (83, Figure 3). Unit 67 plays out data at a higher bit rate than the bit rate at which data was received to create the bursts. Unit 67 recognises the start and end of segments 81 A, 8 IB in the representations 80A, 80B by detecting signalling (e.g. the in-band BP signalling inserted by the encoders 65).
Alternative content 6 can be processed in the same manner as shown for the main content service. GOPs do not necessarily have to be closed at the boundary point. By default they are closed. However closed GOPs are slightly more inefficient than open GOPs, so it is possible that open GOPs could also be used. The use of open GOPs has a disadvantage that, when changing representations, there may be some visible impairment to the pictures for the first GOP of the new representation. If representation switches occur infrequently, then open GOPs may be acceptable.
Advantageously, multicast address information is added at the IP adaptation stage, which can occur at the head end 61, or at a node downstream of the head end. Multicast IP datagrams have a destination IP address is set to be in a range reserved for multicast. The apparatus shown in Figure 6 can operate on data at one of various possible levels. In one advantageous scheme, data is encoded into Transport Stream (TS) packets at a normal rate and the burst generator unit 67 operates on TS packets. Transport Stream packets can be adapted into IP packets 66 before burst generator unit 67, or after unit 67. An alternative is to form bursts before any packetisation (at TS or IP level), but this is less desirable.
Figure 6 shows several possible places where end of burst signalling can be added. Each encoder 65 can include an end of burst signal insertion unit 77 which adds an information element indicating the end of a burst into the encoded data, which includes a header of the TS packets. Alternatively, the burst generator unit 67 can include an end of burst signal insertion unit 78 which is arranged to insert an information element indicating the end of a burst into each of the bursts. Where end of j burst signalling is provided as a multicast (with same or different address), the multicast can be generated at apparatus 61.
Typically, a network operator will receive a media content service feed from a service provider and will then convert the feed to the right characteristics for the distribution network and end users of the network. Figure 6 shows a set of encoders/transcoders 65 which operate upon an input data stream 5 to form the multiple representations at different bit rates. However, for situations where a set of representations at different bit rates already exist, it is possible for the input 5 to be a set of representations at different bit rates. The multiple representations can be generated at a point of origin into the distribution network 60 or could be supplied by a service provider.
The multiple representations of a video service can include Standard Definition (SD) and High Definition (HD) representations of the same content. The distribution network may receive an SD feed and an HD feed of the content as inputs 5 or just one (SD or HD) feed with transcoding 65 to generate the other of the SD and HD representations. So, input 5 may be a high quality HD feed and encoders 65 transcode the HD feed to generate lower bit rate, lower resolution, versions of the content.
Figure 7 shows further detail of the playout unit 67 of the apparatus of Figure 6.
The burst generator unit 67 comprises a parallel set of units 70. Each unit 70 has an input 71 for receiving a segmented stream 80 A, 80B of one of the representations.
Data is applied to a buffer 72. The buffer operates according to a First In First Out
(FIFO) principle. Data is also applied to a detector 73 which detects signalling (e.g.
BP signalling) within the data stream indicating the start and end of a segment.
Detector 73 applies an output to a unit 74 which controls playout of data from the buffer 72. A segment of data is played out in one continuous block, which can be in the form of a sequence of TS or IP packets carrying TS packets. Unit 74 controls the playout rate, which is greater than the rate at which data was originally received. Data is output 75 in burst form, as explained above.
Figure 8 shows an example format of packets used to carry media content data. Video data comprises data representing GOPs. A GOP comprises one or more of I frames, B frames and P frames. GOPs are carried in Transport Stream (TS) packets. Other possible formats include MPEG Dynamic Adaptive Streaming over HTTP Λ
1 o
(MPEG-DASH). A TS packet has a length of 188 bytes, of which 4 (or more) bytes are header bytes. A header of a TS packet can include signalling which indicates a Boundary Point. The BP can be signalled within the adaptation header (AH) of a TS packet. For an IP-based distribution network, TS packets are carried within the payloads of IP packets. Typically, 7 TS packets are aggregated into one IP packet. Typically, a segment will comprise multiple IP packets. IP packets may be spaced by a short inter-packet gap, which is considerably shorter than the window period. Segments may start with one or more TS packets before the first TS packet carrying (video) content data. One example of this is where encryption is used. The TS packet immediately before the first packet carrying video content contains data needed for provisioning the correct decryption key.
Figure 9 shows distribution networks 35 that may be used to multicast media content data, and protocols used to carry the data and control data flows. The upper part of Figure 11 represents a distribution network for IPTV services using xDSL to subscriber premises. A distribution head end 91 receives inputs 30 from content (e.g. video) sources, which can be live or recorded sources. The distribution network between the head end 91 and a DSL access module comprises distribution nodes 92, which include IP routers. The subscriber loop 32 to a subscriber premises is terminated, at the subscriber side, by a customer premises router, which can also be called a Residential Gateway (RG). Data is carried over the distribution network using IP. The Internet Group Management Protocol (IGMP) is a communications protocol used on the IP distribution network to establish multicast group memberships. Protocols such as IGMP are used to support the communication between upstream routers/servers and support the Leave and Join actions described above. Protocol- Independent Multicast (PIM) is another protocol used within the distribution network. Within the customer premises, content can be distributed by wired network protocols (e.g. Ethernet) or wireless network protocols (e.g. IEEE 802.x). PIM is used between routers, whereas IGMP is layer 2 and is used by switches. The protocols register a destination's interest in receiving a multicast, either for itself, or to be forwarded to one or more next destinations. When there is a leave, the traffic stops if there is nothing else at that destination that is joined. The fast leave operation terminates that flow immediately, whereas without fast leave, a switch will respond to a leave command sending out a request to see if any destination is still interested, keeping the traffic ^ flowing until a timeout occurs. The fast leave operation is used in embodiments of the invention to switch between multicast representations.
The lower part of Figure 9 represents a wireless distribution network, and comprises a Mobile Network Access Portal 93, Distribution Network Nodes 94 and wireless Base Stations 95. There is a wireless delivery channel between a base station
95 and a receiving device 96, which can use a 3G or 4G wireless protocol. As before, the IGMP can be used to establish multicast group memberships, and Protocol- Independent Multicast (PIM) can be used within the distribution network. The mobile receiving device 96 can share content with other devices using a wired or wireless connection. In the wireless system, base station 95 can perform the join multicast/leave multicast functionality (equivalent to that performed at the customer premises router 40) to share the limited resource of the overall wireless network capacity of the cell between multiple mobile receiving devices 96. Alternatively, a mobile receiving device 96 can perform the join multicast/leave multicast functionality, to share the limited resource of the wireless connection between device
96 and the base station 95 between multiple services required by the device 96.
Figure 10 shows transmission of multicasts to a client 20. Nodes within the distribution network can comprise a headend, a network node (such as a Central Office, and a multi-cast capable DSLAM. The (S,G) notation denotes S=Source Address, G=Multicast Destination Address. G la, Gib are multicasts carrying different representations of one particular media content service. The multicasts are shown being sent in parallel from the headend 91 to node 92, because the multicasts are received by subscriber apparatus 41 at multiple premises within the network, but the multicasts are sent one at a time from the node 92 to the subscriber apparatus (RG) 41 based on the RG first requesting one of the representations (S, Gla) and then changing to the other of the representations (S, Gib) for a bit rate adjustment on that service.
Distribution of Alternative Media Content
Figures 1 1 and 12 show two possible schemes for distributing a media content service and alternative media content to clients 20. A simple case of two clients 20 is shown, but the number of clients 20 can be of the order of tens, hundreds, thousands, tens of thousands, or greater. In both schemes, a media content service SI is transmitted as a multicast stream to clients 20. 2Q
The service SI can comprise a single representation (i.e. a single bit rate version of the content) or it can comprise a set of multiple representations SI a, Sib at different bit rates. Each representation is transmitted as a separate multicast. A number of clients 20 can join the multicast of each representation. A client 20 receives one of the representations S 1 a or S lb.
The clients 20 also receive an indication 14 of an opportunity at which it is possible for the client to switch to a stream carrying alternative media content. In this example two alternative contents ACl, AC2 are transmitted. There may only be a single alternative content, or a higher number of alternative contents. Advantageously, each of the alternative contents ACl, AC2 is transmitted as a multicast. A client 20 receives one of the alternative contents, i.e. ACl or AC2, and presents the alternative content during an opportunity, such as a commercial break. For simplicity, each alternative content ACl, AC2 is shown as a single representation. However, each alternative content can itself comprise multiple representations at different bit rates, e.g. AC la, AC lb. Each representation is transmitted as a separate multicast stream. A number of clients 20 can join the multicast of each alternative content, or the multicast of each representation of alternative content. A client 20 receives one of the alternative contents ACl or AC2 (or one of the representations of ACl or one of the representations of AC2). A client 20 can leave a multicast of the main media content service SI and join a multicast of one of the alternative contents ACl, AC2 for a period of time. Subsequently, the client 20 may re-join the multicast of the main media content service SI . The process of switching between streams carrying the media content service SI and the alternative media content ACl, AC2 is the same as shown in Figures 4 and 5. A client sends a request to leave the multicast stream of the media content service SI and sends a request to join the stream of the alternative media content. The order of these requests may be reversed, so the request to join the new stream is sent before the request to leave the existing multicast.
The schemes of Figures 11 and 12 differ in how a selection of alternative media content is made. One possibility, shown in Figure 11, is that a client 20 can be instructed which alternative content (ACl or AC2) to present. Each instruction 15 sent from the head end (or other node) can be a dedicated to a particular client 20, or can be distributed to a set of clients. For example, the head end 10 or another node in system 60 may instruct a client 20 which alternative content (ACl or AC2) to present by sending an AC selection instruction 15 to the client 20. The AC selection instruction 15 may indicate a source of the alternative content, such as a multicast address of a multicast stream that the client can join to receive the alternative content.
Another possibility, shown in Figure 12, is that a client 20 can make the determination of which alternative content (AC1 or AC2) to present. The head end 10, or another node in the system 60, may send data (e.g. metadata 16) which describes what alternative content is available. The metadata 16 may comprise information which can be used by a client 20 to determine if that alternative content should be selected. The metadata 16 may indicate a source of the alternative content, such as a multicast address of a stream carrying the alternative content. A client 20 can store selection data 17 which is used by selection logic 18 at the client 20. The selection logic 18 uses the received metadata 16 (and the selection data 17) to determine which alternative content (AC1 or AC2) to present. Some possible examples of selection data are: data indicative of a geographic location/region of the client 20; data indicative of demography of a user (or users) of the client 20; parental control data, viewing habits, subscription information, online purchasing history. For example, consider the selection data 17 stored at the client 20 indicates the client is located in England. Metadata 16 indicates alternative content AC1 is available for clients located in England and alternative content AC2 is available for clients located in Wales. The selection logic 18 selects AC1. Operating in the manner of Figure 12 reduces the amount of signalling across the network 35 to manage the selection of alternative content, because clients 20 determine for themselves what content to select. It also reduces the amount of processing at a node in the network to determine what content each client 20 should be instructed to select. Some other possible ways of determining what alternative content to select are described below. The selection can be based on one or more of these criteria:
• Time of day. Selection logic selects alternative content based on time of day. For example, time of day might be used to determine whether alternative content is within a restricted viewing window, such as a pre- watershed period.
• Demographic based data. Selection data at the client identifies a demographic group that a user, or group of users of the client 20, belong to. Selection logic selects alternative content based on a match between the demographic group and metadata indicating what demographic groups the alternative content is aimed at. An alternative to demographic data is data indicating the likes (or dislikes) of the user, or users, of the client 20. The selection logic can select alternative content which best matches the likes, or avoids the dislikes, of a user.
• Parental control. Selection data at the client identifies an age group of the user, or users, of the client device 20. Selection logic selects alternative content based on the age group and metadata indicating what age group the alternative content is aimed at. In this manner, age appropriate alternative content is selected.
• Screen type. Selection data at the client identifies a screen type (e.g. screen resolution) of the client device. Selection logic selects alternative content based on the screen type and metadata indicating what screen type the alternative content is suitable for. For example, pharmaceutical adverts may need to have the disclaimers legible on the screen and may require a screen above a particular resolution.
• Viewing habits. Selection data at the client identifies viewing habits, e.g. types of content that a user consumes (drama, soap operas, childrens content). Selection logic selects alternative content based on a match between the viewing habits and received metadata about the available alternative content.
• Subscription information. Selection data at the client identifies what services the user subscribes to. Selection logic selects alternative content based on a match between the subscriptions and received metadata about the available alternative content.
• Purchase history. Selection data at the client identifies what services the user subscribes to. Selection logic selects alternative content based on a match between the purchase history of the user and received metadata about the available alternative content. For example, if the user has previously purchased clothing items, alternative content can be selected which advertises clothing items. ^
Figure 13 shows a time line of a media content service SI . Media content for the service SI is received during the period 101. As described above, the content is transmitted as a burst followed by a window period 106. During the burst data is transmitted at a higher rate than would be needed for a continuous stream of the same data. This creates the window period 106 during which no content is transmitted. The window period 106 can be one of the window periods 83 previously described, and can be created by the head end in the same way as previously described. Point 102 is a start of the window period 106 in the media content service SI when it is possible for the client to switch to a stream carrying alternative content. The time of point 102 can be signalled in advance of when it occurs. Point 102 can also be called a splice point (out). In one example, the "indication of an opportunity" described in this specification can comprise the time of point 102 at the start of the window period. In another example, the "indication of an opportunity" described in this specification can comprise the time of an end of the window period 106 at which the alternative content begins. Point 104 is a point in time, during the media content service SI, when a client can switch back to the main content service. Point 104 can be called a splice point (in). The period 103 between points 102, 104 represent a period during which the alternative content can be presented. Another name for period 103 is an "avail". The window period 106 between an end of the burst of the media content service SI and the start of the alternative content AC1/AC2 allows the client to switch between the media content service SI and the alternative media content AC1 or AC2. There is another window period 107 between an end of the burst of the alternative media content AC1/AC2 and the start of a burst 105 of the media content service SI for allowing the client to cleanly switch between the alternative media content and the media content service SI . The window period 107 can be one of the window periods 83 previously described, and can be created in the same way as previously described.
In the case where the media content service SI comprises a single bit rate representation, the stream of content may only have window periods 106, 107 at the points where there is an opportunity to switch from, or to, the media content service SI . The bit rate of the media content service S 1 can be altered dynamically. Referring to Figure 14, a burst may be formed by increasing the bit rate for a portion of the content, during period 108 preceding the point 102 at which the opportunity to switch streams occurs so as to create the window period 106. Similarly, the bit rate may increase for a portion of the alternative content, during a period 109 preceding the end of the alternative content so that the transmission duration of the alternative content is shorter than the presentation duration of the alternative content. This provides the window period 107 during which the client may switch between the stream carrying the alternative content AC1/AC2 and the stream carrying the media content service SI . If stream SI carries content during the period 103 then the bit rate may increase for a portion of the content, during a period 110 preceding the point 104 at which the opportunity to switch streams occurs so as to create the window period 107. As described above (see Figures 6 and 7), data is played out by a burst generator at a faster than normal rate to form a burst and a window period. Data is received at a client at a higher rate during each of the periods 108, 109, 110.
In the case where the media content service SI comprises a set of multiple bit rate representations, window periods 83 can occur at regular intervals during the transmission, in the same manner as shown in Figures 3, 4, 5. Window periods 83 provide periods where a client can cleanly switch between different representations without a risk of missing any of the content. The window periods 106, 107 when there is an opportunity to switch from, or to, the media content service SI occur at one of the regular window periods 83 in the representations.
In the case where the alternative media content AC1/AC2 comprises a set of multiple bit rate representations, window periods 83 can occur at regular intervals during the stream of the alternative media content, in the same manner as shown in Figures 3, 4, 5. Window periods 83 provide periods when a client can cleanly switch between different representations of the alternative content without a risk of missing any of the content. The bursts of the plurality of media content service representations are aligned in time.
The client 20 can return to the original media content service SI by one of several possible mechanisms. Point 104 can be explicitly indicated as part of the stream of the media content service SI . Point 104 be signalled in advance, e.g. before the start of an ad break. The client 20 can return to the media content service S 1 upon the expiry of a timer. For example, the length of the timer can be indicated (or derived from the time of point 104) as part of the information provided for the start point 102 of the opportunity. When the client reaches point 102 the timer is started. Upon expiry of the timer the client returns to the media content service SI . Another possibility is for the stream of the alternative content ACl, AC2 to carry signalling indicating when the client should return to the stream of the media content service S 1.
During period 103 the main content service SI may not carry any data. Alternatively, the multicast of the main content service SI can continue to carry content during the period 103. Advantageously, the content delivered during period 103 is the content that the majority of the clients 20 will present. This has an advantage of minimising the amount of switching between streams required by clients, and minimising the amount of additional signalling required between clients 20 and nodes of the network 35 to join and leave multicasts. Figure 15 shows the distribution of a media content service SI and alternative content ACl, AC2 for the situation of Figure 14. The media content service SI is available in two representations S I a, Sib. Alternative content ACl, AC2 is carried on separate streams. Alternative content ACl is available in two representations AC la, AC lb. Alternative content AC2 is available in two representations AC2a, AC2b. During the period 103 the stream of service SI carries content. In a simplest case of Figure 15, there may only be one additional stream carrying ACl . Each client can remain on SI and receive content during the opportunity period 103, or can switch to the stream carrying ACl during the opportunity period 103. The alternative content ACl, AC2 is transmitted such that a start of a burst carrying the alternative content is aligned in time with an end of the window period 106. Similarly, the alternative content ACl, AC2 is transmitted such that an end of a burst carrying the alternative content occurs at a point which is aligned in time, or occurs before, a start of the window period 107 before the resumption of service SI . Transmitting the alternative content ACl, AC2 in burst form (i.e. at overspeed) provides a time during which a client may cleanly switch between the alternative content ACl, AC2 and the main media content service SI without missing any of the media content service SI . The head end 10, or another node responsible for transmitting the alternative content, comprises a mechanism for controlling the time at which content is played out such that it is aligned in time with the window periods 106 in the media content service SI . The representations are transmitted in burst form with window periods 83. In Figure 15 the window periods 83 of all of the representations AC la, AC lb, AC2a, AC2b are time-aligned. In another example, the window periods 83 occurring during the duration of the alternative content (only one such window period is shown in Figure 15) of the representations AC la, AC lb can be time-aligned with each other. However, the window periods 83 occurring during the duration of the alternative content of the representations AC2a, AC2b can be time-aligned with each other, but offset in time from the window periods 83 of AC la, AC lb. A client which selected alternative content ACl can still cleanly switch between the representations AC la, AC lb. Similarly a client which selected alternative content AC2 can still cleanly switch between the representations AC2a, AC2b. The offset between the window periods of ACl and AC2 can help to reduce the overall bandwidth required to transmit the alternative content. Figure 16 shows the distribution of a media content service SI and alternative contents ACl, AC2 for a situation where no content is transmitted on SI during the period 103. Alternative content ACl (AC la, AC lb) and AC2 (AC2a, AC2b) is carried on separate streams. Each client selects one of the alternative content streams ACl,
AC2.
Some possible opportunities for switching to alternative content are described below.
Advertising. A commercial break is an opportunity during which one of several possible adverts can be presented. A client can be instructed to switch to a stream carrying a particular advert or a client can select one of the streams carrying an advert based on selection data stored at the client (e.g. age, demographic, geographic location). Adverts are each transmitted as a multicast stream.
Blackout. In a given region close to a live sporting event (e.g. football match) it is not permitted to show the match on live TV, unless the match is sold out. So, for that region, alternative content replaces the live match. The alternative content could be another match from outside the region. Clients within the blackout region switch to a multicast stream carrying the alternative content.
Emergency alert. This is used for warnings of bad weather, emergencies etc. The alternative content could be a video/audio loop advising of the nature of the emergency and any action that should be taken. If this occurs, it is jammed onto all channels within the affected region. Clients within the affected region switch to a multicast stream carrying the alternative content.
The indication of an opportunity to select alternative content can be signalled to a client in various ways. One possibility is to place the information in one of the burst trigger packets so that it is accessible at the datagram layer. Referring again to Figure 6, the burst trigger packets can be inserted by unit 77 at the encoder 65 or by unit 78 at the burst generator 67. Another possibility is to use Society of Cable Telecommunication Engineers (SCTE) 35 messages, or similar messages, which are added to the content stream. This is a form of in-band signalling. SCTE 35 is described in SCTE 35 2013a, "Digital Program Insertion Cueing Message for Cable". The client 20 inspects (parses) the received media for SCTE35, or equivalent, messages. The message indicates a point at which the client has an opportunity to switch to a stream carrying alternative content, such as a start time of a window period 106. A client 20 can receive an indication of an opportunity as part of a marker payload or within the payload of a media segment preceding the point of the opportunity.
Referring again to Figure 12, the metadata 16 indicating available alternative content can be provided in-band, i.e. data which is carried as part of the stream of packets carrying the main media content service SI, or out of band, i.e. data which is not part of the stream of packets carrying the main media content service SI . One possibility is that sources of the alternative content can be identified along with the indication of the opportunity.
Figure 17 shows an example of distributing a media content service and alternative media content to a larger number of clients 20. In Figure 13 a media content service SI is available with two different bit rate representations: SI a, Sib. Two types of alternative content AC1, AC2 are available. Each alternative content is available in two representations. Alternative content AC1 is available in representations AC la, AC lb and alternative content AC2 is available in representations AC2a, AC2b. A first group 23 of clients 20 select (or are instructed to select) alternative content AC1 for presentation during an opportunity and a second group 24 of clients 20 select alternative content AC2 for presentation during an opportunity. In each of Figures 13 and 14, clients 20 may be instructed which alternative content to select in the manner of Figure 11 , or clients may determine which 0 alternative content to select in the manner of Figure 12. The multicast streaming of the alternative content ACl, AC2 to multiple clients is efficient in terms of network bandwidth usage, as it avoids the need to form a separate unicast stream to each client 20. Only the multicast streams AC la, AC lb, AC2a, AC2b are required. A multicast stream can be joined by a group of clients who receive the same alternative content. The transmission scheme described comprising bursts and window periods allows a client 20 to switch between a stream carrying the media content service SI and one of the streams carrying the required alternative content ACl, AC2 during a window period. Figure 18 shows a method which can be performed at the client device 20. At step 111 the client receives a media content service. The media content service may be available in a plurality of representations having different bit rates. In that case step 111 receives one of the available representations of the media content service. The media content service (or each of the plurality of media content representations) are transmitted as a burst. The bursts of the plurality of media content service representations are transmitted substantially aligned in time. Packet-forwarding nodes of the distribution network may cause the representations to be slightly offset at the client, but advantageously the bursts of the different representations are substantially aligned. There is a window period between successive bursts during which media content is not transmitted. Optionally, at step 112, the client may select another representation of that media content service to receive the service at a higher or lower bit rate. The client may select another representation by joining a multicast of that other representation. Step 112 may occur multiple times. In this way, the client can operate in a similar manner as unicast ABR service. In a unicast ABR transmission scheme a client can receive segments encoded at one of a range of different bit rates and can vary between different bit rates while receiving segments of a particular item of content. In this way, the delivery can cope with network congestion, and reduces the amount of buffering at the client. For example, during a period of congestion in the distribution network or at the client device the client may receive segments encoded at a lower bit rate. In the present scheme, instead of retrieving ABR segments via a unicast connection with a server, the client switches between multicasts carrying segments encoded at different bit rates. At step 113 the client receives an indication of an opportunity to switch to a stream carrying alternative media content. This may be a commercial break in the media content service, or some other point at which there is a possibility to present alternative content. There is a window period during which the client can switch between an end of the burst of the media content service and the alternative media content.
Alternative ways of operating are shown in steps 114 and steps 115, 116. At step 114 the client receives an indication of a stream carrying alternative content that the client should switch to. Alternatively, at step 115 the client receives metadata which is used by the client at step 116 to determine which stream of alternative content to switch to. The metadata may be received earlier than shown in Figure 18. At step 117 the client switches to a stream carrying the required alternative media content. In a case where a first type of alternative content is carried on the same stream as the media content service, and the first type of alternative media content should be presented by the client, then no switch is required at step 117. At step 118 the client receives alternative media for presentation. Optionally, at step 119, the client may select another representation of the alternative media content to receive the content at a higher or lower bit rate. At step 120 the client returns to the stream of the media content service. Figure 19 shows a method which can be performed at one or more of the network-side nodes, such as the head end 10. At step 123 the method transmits the media content service as a burst with a window period during which media content is not transmitted. The media content service is transmitted as a multicast stream. The burst is created by playing out data at a higher bit rate (compared to a continuous transmission) to create the window period. Transmission of all, or part of, the stream may occur at the higher bit rate. At step 124 the method transmits an indication of an opportunity, during the media content service, at which a client can switch to a stream carrying alternative media content. There are two different ways in which a client can switch between streams. At step 125 the method can transmit to a client an indication of which stream that client should switch to. At step 126 the method can transmit metadata about the alternative content streams which a client can use to select which stream to switch to. This metadata can be transmitted before the opportunity arises as the alternative streams may already be defined even if the opportunity to use them has not yet occurred. At step 128 the method transmits alternative media content for presentation during the opportunity.
In the case where the media content service is available in a plurality of different bit rate representations, then a step 121 receives or generates the plurality of media content service representations for a media content service. Each of the media content representations has a different bit rate. At step 122 the method divides each of the media content service representations into segments, wherein the segments of the plurality of media content service representations are aligned in time.
Figure 20 shows an example of apparatus at a client 20. A communication interface 40 connects to a network, such as a subscriber loop. A controller 42 controls operation of the client and performs the method shown in Figure 18. Controller 42 comprises a content selection unit 46. Content selection unit 46 selects between representations of the media content service as required, for example, by processing or bandwidth constraints. Content selection unit 46 also selects alternative content for presentation during an opportunity. Content selection unit 46 can also perform the selection logic 18 shown in Figure 12 in the case where the client determines which alternative content to present. Content selection unit 46 receives inputs from an opportunity detection unit 45 and a burst end detection unit 47. The opportunity detection unit 45 is responsive to indications 14, as shown in Figures 11, 12, of the start points of opportunities to present alternative content. Burst end detection unit 47 can detect in-band signalling, or out-of-band signalling, which indicates the end of a burst and a start of the window period during which a change of the representation can be made. A memory 50 is accessible by the content selection unit 46. Memory 50 stores data which can include data 51 about the currently selected representation per media content service. Memory 50 stores data 52 about available representations per service (e.g. data indicating that representations are available for service SI at bit rates of 2, 5, and 7 Mbit/s). Memory 50 can store data 16 about alternative content, such as the metadata 16 received in Figure 12. Memory 50 can store selection data 17 which is used by the content selection logic of unit 46. The examples described above use multicast streams to distribute the alternative content. This is efficient in terms of network bandwidth usage. The transmission scheme of bursts and window periods (gaps) allows clients to switch between streams. If alternative content is only distributed to a small number of clients then it is possible to transmit the alternative content to those clients using a unicast stream. The unicast streams require more bandwidth compared to the multicast streams described above. If alternative content is for presentation during a limited period during the main content service (e.g. period 103 in Figure 13) then the unicast transmission should transmit in overspeed form such that the alternative content will be received before resumption of the main content service S 1.
Figure 21 shows an exemplary processing apparatus 200 which may be implemented as any form of a computing and/or electronic device, and in which embodiments of the system and methods described above may be implemented. Processing apparatus 200 can be provided at one of the distribution network nodes, or at a subscriber apparatus 41. Processing apparatus may implement the method shown in Figures 18 or 19. Processing apparatus 200 comprises one or more processors 201 which may be microprocessors, controllers or any other suitable type of processors for executing instructions to control the operation of the device. The processor 201 is connected to other components of the device via one or more buses 206. Processor- executable instructions 203 may be provided using any computer-readable media, such as memory 202. The processor-executable instructions 203 can comprise instructions for implementing the functionality of the described methods. The memory 202 is of any suitable type such as read-only memory (ROM), random access memory (RAM), a storage device of any type such as a magnetic or optical storage device. Additional memory 204 can be provided to store data 205 used by the processor 201. The processing apparatus 200 comprises one or more network interfaces 208 for interfacing with other network entities.
Modifications and other embodiments of the disclosed invention will come to mind to one skilled in the art having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of this disclosure. Although specific terms may be employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.

Claims

1. A method of receiving a media content service at a client, the method comprising:
receiving the media content service across a delivery channel as part of a multicast stream of the media content service;
receiving an indication of an opportunity, during the media content service, at which it is possible for the client to switch to a stream carrying alternative media content;
receiving a stream of the alternative media content for presentation during the opportunity;
wherein the media content service is received as a burst and there is a window period between an end of the burst of the media content service and the start of the alternative content, the window period for allowing the client to switch between the media content service and the alternative media content.
2. A method according to claim 1 wherein the step of receiving a stream of the alternative media content comprises joining a multicast stream of the alternative media content.
3. A method according to claim 1 or 2 further comprising:
sending a request to leave the multicast stream of the media content service; and
sending a request to join the stream of the alternative media content.
4. A method according to any one of the preceding claims wherein the alternative media content is received as a burst and there is a window period between an end of the burst of the alternative media content and the start of a burst of the media content service for allowing the client to switch between the alternative media content and the media content service.
5. A method according to any one of the preceding claims wherein the media content service is available in a plurality of representations having different bit rates, each of the plurality of media content representations being transmitted as a sequence of bursts, with the bursts of the plurality of media content service representations aligned in time, there also being window periods between successive bursts for allowing the client to switch between the plurality of representations.
6. A method according to any one of the preceding claims wherein the alternative media content is available in a plurality of representations having different bit rates, the representations transmitted as a sequence of bursts, with the bursts of the plurality of media content service representations aligned in time.
7. A method according to any one of the preceding claims further comprising receiving information identifying sources of the alternative media content.
8. A method according to claim 7 wherein the information identifying sources of the alternative media content identifies multicast streams which carry the alternative media content.
9. A method according to claim 8 wherein the indication of the opportunity identifies the sources of the alternative media content available for presentation during the opportunity.
10. A method according to any one of the preceding claims further comprising receiving an indication of a stream carrying alternative content that the client should switch to during the opportunity.
11. A method according to any one of the preceding claims further comprising: receiving metadata associated with the alternative content;
determining, using the received metadata, a stream of alternative content to switch to during the opportunity.
12. A method according to claim 11 further comprising storing selection data at the client for use in selecting between alternative media content and the step of determining which alternative content to present during the opportunity also uses the selection data.
13. A method according to any one of the preceding claims further comprising returning to the multicast stream of the media content service.
14. A method according to claim 13 further comprising one of:
setting a timer for returning to the multicast stream of the media content service and returning to the multicast stream of the media content service upon expiry of the timer;
receiving an indication of an end of the alternative content and returning to the multicast stream of the media content service at the end of the alternative content.
15. A method of distributing a media content service comprising:
transmitting the media content service as a multicast stream;
transmitting an indication of an opportunity, during the media content service, at which it is possible for a client to switch to a stream carrying alternative media content;
transmitting alternative media content for presentation during the opportunity; wherein the media content service is transmitted as a burst and there is a window period between an end of the burst of the media content service and a start of the alternative media content.
16. A method according to claim 15 wherein the alternative media content is transmitted as a multicast stream.
17. A method according to claim 15 or 16 further comprising transmitting to a client an indication of which stream carrying alternative content the client should switch to during the opportunity.
18. A method according to any one of claims 15 to 17 further comprising transmitting metadata associated with the alternative media content available for presentation during the opportunity.
19. A method according to any one of claims 15 to 18 wherein the indication of an opportunity indicates a commercial break in the media content service.
20. A method according to any one of claims 15 to 19 wherein the step of transmitting the media content service comprises:
receiving or generating a plurality of media content service representations for the media content service, each of the media content representations having a different bit rate;
dividing each of the media content service representations into segments, wherein the segments of the plurality of media content service representations are aligned in time;
transmitting the segments of each of the plurality of media content service representations as a sequence of bursts, wherein the bursts of the plurality of media content service representations are aligned in time, and wherein there are window periods between successive bursts during which media content is not transmitted, wherein each of the media content service representations is transmitted as a multicast stream, and wherein each of the received or generated media content service representations has a respective bit rate and the transmitting comprises transmitting each of the segments at a higher bit rate to create the window periods between successive bursts.
21. A method according to any one of claims 15 to 20 wherein the step of transmitting the alternative media content comprises:
receiving or generating a plurality of alternative media content representations, each of the alternative media content representations having a different bit rate;
dividing each of the alternative media content service representations into segments, wherein the segments of the plurality of alternative media content representations are aligned in time;
transmitting the segments of each of the plurality of alternative media content representations as a sequence of bursts, wherein the bursts of the plurality of alternative media content representations are aligned in time, and wherein there are window periods between successive bursts during which media content is not transmitted,
wherein each of the alternative media content representations is transmitted as a multicast stream, and wherein each of the received or generated alternative media content representations has a respective bit rate and the transmitting comprises transmitting each of the segments at a higher bit rate to create the window periods between successive bursts.
22. Apparatus for receiving a media content service across a delivery channel comprising:
a communication interface for interfacing with the delivery channel;
a controller coupled to the communication interface comprising a processor and a memory, said memory containing instructions executable by said processor whereby the controller is operative to:
receive the media content service across a delivery channel as part of a multicast stream of the media content service;
receive an indication of an opportunity, during the media content service, at which it is possible for the client to switch to a stream carrying alternative media content;
receive a stream of the alternative media content for presentation during the opportunity;
wherein the controller is operative to receive the media content service as a burst and to use a window period between an end of the burst of the media content service and the start of the alternative content to switch between the media content service and the alternative media content.
23. Apparatus for distributing a media content service comprising a processor and a memory, said memory containing instructions executable by said processor whereby the apparatus is operative to:
transmit the media content service as a multicast stream;
transmit an indication of an opportunity, during the media content service, at which it is possible for the client to switch to a stream carrying alternative media content;
transmit alternative media content for presentation during the opportunity; wherein the apparatus is operative to transmit the media content service as a burst with a window period between an end of the burst of the media content service and a start of the alternative media content.
24. A computer program product comprising a machine-readable medium carrying instructions which, when executed by a processor, cause the processor to perform the method of any one of claims 1 to 21.
PCT/EP2014/054749 2014-03-11 2014-03-11 Distributing media content services and alternative media content WO2015135576A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2014/054749 WO2015135576A1 (en) 2014-03-11 2014-03-11 Distributing media content services and alternative media content

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2014/054749 WO2015135576A1 (en) 2014-03-11 2014-03-11 Distributing media content services and alternative media content

Publications (1)

Publication Number Publication Date
WO2015135576A1 true WO2015135576A1 (en) 2015-09-17

Family

ID=50239664

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2014/054749 WO2015135576A1 (en) 2014-03-11 2014-03-11 Distributing media content services and alternative media content

Country Status (1)

Country Link
WO (1) WO2015135576A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018064283A1 (en) * 2016-09-30 2018-04-05 Amazon Technologies, Inc. Request-based encoding for streaming content portions

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0895420A2 (en) * 1997-08-01 1999-02-03 Victor Company of Japan, Ltd. A data transmission system and reproducing apparatus
US20070121629A1 (en) * 2005-11-30 2007-05-31 Microsoft Corporation Accelerated channel change
US20100070646A1 (en) * 2005-09-22 2010-03-18 Cheuk Chan System and method for transferring multiple data channels
WO2014063833A1 (en) * 2012-10-23 2014-05-01 Telefonaktiebolaget L M Ericsson (Publ) A method and apparatus for distributing media content services

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0895420A2 (en) * 1997-08-01 1999-02-03 Victor Company of Japan, Ltd. A data transmission system and reproducing apparatus
US20100070646A1 (en) * 2005-09-22 2010-03-18 Cheuk Chan System and method for transferring multiple data channels
US20070121629A1 (en) * 2005-11-30 2007-05-31 Microsoft Corporation Accelerated channel change
WO2014063833A1 (en) * 2012-10-23 2014-05-01 Telefonaktiebolaget L M Ericsson (Publ) A method and apparatus for distributing media content services

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018064283A1 (en) * 2016-09-30 2018-04-05 Amazon Technologies, Inc. Request-based encoding for streaming content portions
US10063612B2 (en) 2016-09-30 2018-08-28 Amazon Technologies, Inc. Request-based encoding for streaming content portions
US10616301B2 (en) 2016-09-30 2020-04-07 Amazon Technologies, Inc. Request-based encoding for streaming content portions
EP3979602A1 (en) * 2016-09-30 2022-04-06 Amazon Technologies Inc. Request-based encoding for streaming content portions

Similar Documents

Publication Publication Date Title
US9866886B2 (en) Method and apparatus for distributing a media content service
US20210352125A1 (en) Devices, systems, and methods for converting or translating dynamic adaptive streaming over http (dash) to http live streaming (hls)
US10158577B2 (en) Devices, systems, and methods for adaptive switching of multicast content delivery to optimize bandwidth usage
EP3192272B1 (en) Advertisement targeting scheme in a multicast abr environment based on ad caching
EP3183884B1 (en) Video quality of experience based on video quality estimation
US8996719B2 (en) System and method of adaptive transport of multimedia data
KR101699656B1 (en) Devices, systems, and methods for managing and adjusting adaptive streaming traffic
US8839340B2 (en) Method, system and device for synchronization of media streams
US8627390B2 (en) Method and device for providing programs to multiple end user devices
US7817672B2 (en) Method and device for providing programs to multiple end user devices
JP2010541384A (en) Unicast delivery of multimedia content
Uzunalioglu Channel change delay in IPTV systems
WO2015135576A1 (en) Distributing media content services and alternative media content
Joo et al. Fast/On-time Channel Zapping Scheme using a Cache Server over IPTV Multicast System
EP2912817B1 (en) A method and apparatus for distributing media content services
EP2645671A1 (en) Switching the playing out of information content beween end-user devices
WO2023052190A1 (en) Content delivery
WO2009095079A1 (en) Method and apparatus for distributing media over a communications network
Lee et al. Efficient Real-time Multimedia Streaming System Using Partial Transport Stream for IPTV Services

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: 14708921

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14708921

Country of ref document: EP

Kind code of ref document: A1