[go: up one dir, main page]

WO2008095314A1 - System and method for distributed and dynamic transcoding - Google Patents

System and method for distributed and dynamic transcoding Download PDF

Info

Publication number
WO2008095314A1
WO2008095314A1 PCT/CA2008/000265 CA2008000265W WO2008095314A1 WO 2008095314 A1 WO2008095314 A1 WO 2008095314A1 CA 2008000265 W CA2008000265 W CA 2008000265W WO 2008095314 A1 WO2008095314 A1 WO 2008095314A1
Authority
WO
WIPO (PCT)
Prior art keywords
transcoding
media
media streams
media stream
bit rate
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/CA2008/000265
Other languages
French (fr)
Inventor
Mathieu Giguere
Marc-André FORGET
Ronald Brisebois
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TECHNOLOGIES EZOOM EXPONENTIEL Inc
Original Assignee
TECHNOLOGIES EZOOM EXPONENTIEL Inc
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 TECHNOLOGIES EZOOM EXPONENTIEL Inc filed Critical TECHNOLOGIES EZOOM EXPONENTIEL Inc
Publication of WO2008095314A1 publication Critical patent/WO2008095314A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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 encoded video stream packets from an IP network
    • H04N21/4382Demodulation or channel decoding, e.g. QPSK demodulation
    • 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/643Communication protocols
    • H04N21/64307ATM
    • 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/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • 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/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • 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/81Monomedia components thereof
    • H04N21/8126Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts

Definitions

  • the present invention generally relates to transcoding in communication networks. More specifically, but not exclusively, the present invention is concerned with a system and method for distributed and dynamic transcoding.
  • IPTV Internet Protocol TV
  • IPTV Internet Protocol TV
  • video streaming over IP is becoming more and more attractive, with opportunities of offering interactive and personalized services. Therefore, this field is growing rapidly and constitutes a huge market for generating large potential revenues for the telecommunication companies.
  • major worldwide television broadcasters are now transmitting their broadcast signals over the Internet.
  • the streaming application can be also deployed over some private networks such as cable TV networks, or cellular networks, for example.
  • Streaming applications generally consist of streaming medias that are consumed, i.e. heard or viewed while they are being delivered to a consumer.
  • Each media stream (audio or video) is delivered to the consumer using the Internet Protocol (IP).
  • IP Internet Protocol
  • IP based protocols can be used when broadcasting to a large audience over a network: Unicast or Multicast.
  • Unicast protocols send a distinct copy of the media stream from the server to each client. This is simple, but can lead to a massive duplication of data or media streams in the network, which implies the use of many servers for providing a distinct copy of the media stream to each client.
  • Multicast protocols send only one copy of the media stream over any given network connection, i.e. along the path between any two network routers. This is a more efficient use of the network capacity and it keeps the number of servers to a minimum, but it is much more complex to implement. Furthermore, multicast protocols must be implemented in the network routers, as well as in the servers. Forwarding multicast traffic also requires a great deal of protocol complexity, particularly when knowing and satisfying in real-time the profile of each client of the audience, such as personalized content, interactions, billing, Quality-of-Service (QoS), etc. Thus, the multicast protocol suffers from deployment problems and complexity. Also, there is no efficient software to support such deployment and implementation.
  • the few networks that use multicast protocols are complex and expensive, and they are also difficult to install and maintain.
  • the infrastructure of the network offering those services must be stronger and larger so that it can support a growing number of remotely connected users, which are spread all over a country or continent.
  • the infrastructure must also accommodate a larger and increasing number of servers and other equipments, if the unicast protocol is used. Deployment of such infrastructure may be very expensive and complex to manage and maintain.
  • using the multicast protocol also poses a problem of deployment and complexity in the network.
  • IPTV broadcast is now available in High Definition TV (HDTV) format.
  • HDTV High Definition TV
  • a HDTV set can be connected to a computer.
  • IPTV broadcast can be received in third generation (3G) mobile phones or in standard TV (SDTV) sets.
  • 3G third generation
  • SDTV standard TV
  • An object of the present invention is therefore to provide a system and method for distributed and dynamic transcoding.
  • a system for real-time distributed transcoding of media streams, requested by end users, in a communication network using a unicast protocol comprises a first means for generating a set of first media streams and a plurality of second means, each in communication with the first means, for receiving at least one of the first media streams and for generating from the received at least one media stream, a set of second media streams to be delivered to the end users through the communication network using the unicast protocol.
  • the first means and at least one of the plurality of second means each comprise a dynamic media stream transcoding means, the transcoding means in the first means and the transcoding means in the at least one second means forming a distributed transcoding architecture.
  • a system for real-time distributed transcoding of media streams, requested by end users, in a communication network using a unicast protocol comprises a main media stream generator for generating a set of first media streams and a plurality of regional media stream generators, each in communication with the main media stream generator, for receiving at least one of the first media streams and for generating from the received at least one first media stream a set of second media streams to be delivered to the end users through the communication network and using the unicast protocol.
  • the main media stream generator and at least one of the plurality of regional media stream generators each comprise a dynamic media stream transcoder, the transcoder in the main media stream generator and the transcoder in the at least one regional media stream generator forming a distributed transcoding architecture.
  • a method for real-time distributed transcoding of media streams, requested by end users, in a communication network using a unicast protocol comprises a first generation, through a main media stream generator, of a set of first media streams delivered to a plurality of regional media stream generators each in communication with the main media stream generator, a second generation, from the first media streams and through the plurality of regional media stream generators, of a set of second media streams delivered to the end users through the communication network using the unicast protocol and a dynamic media stream transcoding in the main media stream generator and at least one of the regional media stream generators.
  • the transcoding through the main media stream generator and the at least one regional media stream generator forms a distributed transcoding architecture.
  • Figure 1 illustrates a schematic view of a broadcasting network, comprising a Streaming Accelerator (SA) according to a non- restrictive illustrative embodiment of the present invention
  • Figure 2 illustrates a schematic view of a broadcasting network, comprising a main Cooperative Streaming Accelerator (CSA) and a regional CSA, according to the non-restrictive illustrative embodiment of the present invention
  • CSA Cooperative Streaming Accelerator
  • Figure 3 illustrates a block-diagram of a regional CSA comprising a transcoder used in the broadcasting network of Figure 2;
  • FIG. 4 illustrates an example of a Real-Time Protocol (RTP) data packet header.
  • RTP Real-Time Protocol
  • RTP Real-Time Protocol
  • many other protocols such as some proprietary protocols can be used and are within the scope and nature of the present invention.
  • a streaming accelerator according to the non-restrictive illustrative embodiment of the present invention rationalizes and accelerates non-intrusively the delivery of streaming media to remote users while lowering deployment costs and operating expenses, improving streaming Quality-of-Service (QoS) and opening the feasibility of new TV and Audio related applications over an IP network.
  • the SA uses standard networking equipments and is compatible with the Internet Protocol.
  • the SA can duplicate, control and deliver media streams to an unlimited number of destinations using the unicast protocol. It also uses standard Internet Engineering Task Force (IETF) protocols and it is not bound to any streaming audio or video CODEC. Furthermore, it can also use proprietary protocols, specific to different elements in the network.
  • IETF Internet Engineering Task Force
  • the SA can be an embedded piece of software implemented directly in a network processor unit or can use a specially designed chip or a Field Programmable Gate Array (FPGA) or a network processor unit inside a switch.
  • FPGA Field Programmable Gate Array
  • a plurality of SAs can be implemented for handling a large network, and for duplicating and delivering media streams through the large network.
  • Such infrastructure comprising the plurality of streaming accelerators, allows for a huge deployment of a distributed media stream delivery network using a unicast infrastructure, such as for an IPTV private network that offers TV channels over DSL access.
  • each SA working with one another is referred to as a cooperative streaming accelerator (CSA).
  • CSA cooperative streaming accelerator
  • the streaming accelerators can duplicate the requested media streams a multitude of times and deliver the duplicated media streams to the end users, the streaming accelerators can be also referred to as media stream generators.
  • the broadcasting network 10 comprises a headend segment 12, a transport segment 14, an access segment 16 and a home end segment 18.
  • broadcast information and signals are received by a streamer 20 through digital and analog receivers 22, including for example antennas and satellites.
  • the streamer 20 which is, for example, a special streaming server such as a video server, is connected to a SA 24. Also connected to the SA 24 are some application servers 26 and other content sources 28 for integrating additional information to the broadcast signals.
  • the headend segment 12 is an improved version of a conventional headend segment.
  • the conventional headend segments usually include a plurality of streamers for providing a copy of the media stream to each user, according to the unicast protocol. Therefore, with a constantly increasing number of users, the infrastructure of such headend segment would be very complex. Instead, using the SA 24 for duplicating the media stream, one streamer, such as 20, is usually sufficient.
  • the SA 24 is furthermore connected to a switch 30 for forwarding the media streams, received from the streamer 20, the application servers 26 and/or the other content sources 28, to the public internet network 32 using the IP (Internet Protocol), in the transport segment 14.
  • IP Internet Protocol
  • the transport segment 14 can also use other types of networks for media stream transmission, such as a private network.
  • the media streams are generally composed of data packets in which is encapsulated a destination address such that the public internet network 32 knows where to send each data packet.
  • the media streams then enter each user's home 18 through the access segment 16.
  • the access segment 16 to the users' home may consist of a Digital Subscriber Line Access Multiplexer (DSLAM) 34 to which is connected a modem 46 such as a x Digital Subscriber Line (xDSL), a cable 36 to which is connected a cable modem 44, or antennas 38 to which is wirelessly connected a modem 42 such as a WiMaxTM modem.
  • DSLAM Digital Subscriber Line Access Multiplexer
  • xDSL x Digital Subscriber Line
  • cable 36 to which is connected a cable modem 44
  • antennas 38 to which is wirelessly connected a modem 42 such as a WiMaxTM modem.
  • the media streams finally arrive at each user's computer 40 through the different above-mentioned modems. Each user can start viewing or listening to the media streams as the media streams are received.
  • the network 60 comprises a main office 62 connected to a plurality of regional offices 64 (only one shown in Figure 2).
  • the main office 62 is also connected to different receiving systems for receiving broadcast media, such as a satellite 66 or an antenna 68.
  • the receiving systems can include analog and/or digital devices.
  • the main office 62 can be directly connected to a source server, such as an interactive content authority server 70.
  • a source server such as an interactive content authority server 70.
  • the main office 62 comprises a main CSA 72 and a plurality of elements connected thereto.
  • the CSA 72 may be viewed as a first means for generating a set of first media streams or a main media stream generator for generating the set of first media streams.
  • an encoder 74 is connected to an input of the main CSA 72, for converting analog media streams, received from the analog receiving systems such as 66 and 68, into digital media streams and for encoding them.
  • the media streams coming from the receiving systems 68 and 70 are first processed through a decoder 76 and a demodulator 78, respectively, which are both connected as input to the encoder 74.
  • the decoder 76 can be an integrated receive decoder for decoding the analog media streams coming from the satellite 66.
  • the demodulator 78 allows for demodulating the analog modulated media streams received from the antenna 68.
  • the main CSA 72 can receive directly digital media streams from the source server 70, through a streaming server 80, interposed between the server 70 and the main CSA 72.
  • the main CSA 72 Upon receiving the media streams from the analog and digital receiving systems, such as 66, 68 and 70, the main CSA 72 performs a first duplication of the media streams and then delivers those duplicated media streams, which correspond to the set of first media streams, to the regional offices 64 over a network 82, through a router 84 and a switch 86.
  • the router 84 can be a router of layer 3 of OSI (Open Systems Interconnections), using ATM (Asynchronous Transfer Mode) or Ethernet, for example.
  • the switch 86 can be an ATM switch which forwards, in layer 2 of OSI, the media streams to the regional offices 64, which will take care of a second duplication of the media streams.
  • the main CSA 72 includes a duplicator to allow for duplication of the media streams.
  • the router 84 can be also connected to a middleware server
  • the switch 86 is connected to the network 82, which uses Synchronous Optical networking (SONET) for example.
  • SONET Synchronous Optical networking
  • the network 82 allows the main office 62 to route the media streams and communicate with the regional offices 64.
  • the regional offices 64 are not necessarily directly connected to the main office 62.
  • Virtual Private Network (VPN) connections can be used between the main office 62 and the regional offices 64, if requested by an operator.
  • VPN Virtual Private Network
  • the main office 62 can implement different VPN tunneling technologies.
  • the main CSA 72 controls the whole system over the distributed network 60, meaning that all the configuration and key features are concentrated in the main CSA 72. Furthermore, the main CSA 72 has the responsibility of the path reservation between the main office 62 and each regional office such as 64 connected thereto. Indeed, a plurality of regional offices such as 64 can be connected to the main office 62 through the SONET network 82. Furthermore, the main CSA 72 can also perform transcoding when needed, as will be described hereinbelow.
  • the regional office 64 is now described. It includes a regional
  • the CSA 90 connected to a router 94.
  • the CSA 90 may be viewed as a regional media stream generator and belongs to a plurality of second means for receiving the first media streams from the main CSA 72.
  • the router 94 is connected to the network 82 through an ATM switch 92, for example.
  • the regional CSA 90 receives the requested media streams from the main CSA 72 of the main office 62, through the network 82, the ATM switch 92 and the router 94.
  • the regional CSA 90 duplicates the requested media streams and then forwards these duplicated requested media streams, which correspond to a set of second media streams to the users 96, through the router 94 and respective DSLAM 104, for example.
  • the regional CSA 90 includes a duplicator to allow for duplication of the media streams.
  • Each user's end includes, for example, a computer 98 and/or a television 100 for viewing or listening to the received requested broadcast media streams.
  • the computer 98 or television 100 is connected to a DSL modem 102 for accessing the duplicated media streams provided through the DSLAM 104 of the regional office 64.
  • DSLAM 104 of the regional office 64.
  • other types of connections are also possible, such as radio frequencies, wireless links, etc.
  • the television 100 of each user 96 can be a HDTV or SDTV.
  • the regional office 64 is responsible for authentication of the users 96 and final duplication of the requested media streams, which is performed by the regional CSA 90.
  • the regional office 64 is responsible for authentication of the users 96 and final duplication of the requested media streams, which is performed by the regional CSA 90.
  • transcoding at different points of the network 60 is necessary for enabling compatibility and bandwidth changes between different systems and devices. Therefore, a transcoder can be implemented at different points of the network 60.
  • transcoding means for example in the form of a transcoder is implemented in the main CSA 72, and in each of the regional CSA 90.
  • the plurality of transcoders do not necessarily have all the same functionalities as will be seen hereinbelow.
  • transcoding for lowering media streams' bit rate is generally performed at an early stage during the transmission of the media streams, i.e. at the main CSA 72 for example, so that lower bandwidth links can be used to deliver the media streams to the regional office 64 and to the users 96.
  • the main CSA 72 is therefore provided with a bit rate transcoder.
  • the regional CSA 90 may also be provided with a bit rate transcoder. The purpose of such transcoding is to save transmission bandwidth in the distributed network 60.
  • codec format transcoding is usually, but not necessarily, done in the regional CSA 90 for matching the codec format used by each user's end device and is therefore done at a later stage during the transmission of the media streams.
  • the regional CSA 90 is therefore provided with a codec transcoder, such as the codec transcoder 124 .
  • a codec transcoder such as the codec transcoder 124 .
  • the processing element 112 generally comprises a proxy 116 for handling users' requests and a communication driver 118 for communicating with the forwarding element 114, over a private network 115, such as a base channel.
  • the forwarding element 114 is responsible of receiving and then duplicating the media streams.
  • the communication driver 118 can be a Multiple Command
  • MVIF Virtual Interface
  • a transcoder 120 is implemented in the processing element 112 for transcoding purposes such as handling bit rate changes and/or enabling codec compatibilities, as mentioned hereinabove.
  • Figure 2 can receive from the streaming server 80 media streams in HDTV format. However, if a user 96, requesting the media streams, watches only SDTV channels, which require lower bit rate, this person does not need to receive the media streams with a high bit rate.
  • the main office 62 will then transcode the media streams from HDTV to SDTV and then send it to the regional office 64.
  • the regional office 64 receives the media streams in SDTV format and delivers the media streams in SDTV format to the users 96 belonging to its region. Therefore, since all the transmission of the media streams from the main office 62 to the user 96 is done in SDTV format, as opposed to higher bit rate format such as HDTV, bandwidth consumption is minimized.
  • the regional CSA 90 can subsequently transcode the received SDTV media streams from the main office 62 to even lower bit rates, for mobile TV or Internet TV, if some users 96 request the media stream in those formats.
  • the main CSA 72 receives High Definition TV format media streams.
  • the main CSA 72 then transcodes the media streams so as to distribute them at the bit rate which is really needed by the regional users 96.
  • transcoding is a dynamic operation. Indeed, in the example where the users 96 watch SDTV channels, the main office 62 forwards the SDTV media streams to the regional office 64, which then delivers the SDTV media streams to the users 96, located in its region. However, if ever during the transmission of the media streams, one user 96 upgrades to the HDTV channels and therefore requests HDTV media streams, the main CSA 72 will automatically synchronize and upgrade its media streams to HDTV format and forward them to the regional CSA 90. The CSA 90 then will deliver the HDTV format media streams to the specific user 96 having requested it. However, the CSA 90 will also transcode the HDTV to SDTV format in order to continue to supply SDTV media streams to the rest of the users 96, who have standard TV.
  • the media stream is disassembled via the duplicator of the CSA 90 and then pushed to the transcoder 120 from the forwarding element 114.
  • the disassembly and identification of the media stream is done in the forwarding element 114.
  • the transcoder 120 then takes care of re-assembling the data packets in the media stream with an intelligent jitter buffer (not shown).
  • the jitter buffer is able to, for example, counter jitter, which is generated by an abrupt and unwanted signal variation introduced by the data packets. Using such a jitter buffer can ensure a continuous playout of audio or video media stream delivered over the network 60.
  • - V refers to the version of the protocol; in this case, a version 2 is illustrated;
  • - P refers to padding; if it is set to 1 , it indicates that the data packet contains an additional byte for padding, which is not part of the payload;
  • - X refers to extension, which allows adding another byte for the header
  • CSRC distributed source
  • sequence number this number allows identifying the order of the packet in the media stream; the sequence number increments by one for each RTP data packet sent, and may be used by the receiver to detect packet loss and to restore packet sequence;
  • - timestamp refers to the sampling instant of the first byte in the RTP data packet.
  • the sampling instant must be derived from a clock (not shown) that generally increments monotonically and linearly in time to allow synchronization and jitter calculations, for example;
  • - SSRC synchronization source
  • This identifier is usually generated randomly, such that synchronization sources within a same RTP session will not have the same SSRC identifier;
  • - CSRC distributed source list allows for identifying the contributing sources for the payload contained in this packet.
  • the number of identifiers is given by the CC field.
  • the transcoder 120 comprises a stream synchronizer 122, which will synchronize both media streams.
  • the media stream synchronizer 122 changes the SSRC (Synchronization Source) field in the data packet header, as shown in Figure 4, so that a player in the TV 100 or in the computer 98 can re-synchronize the transcoded media stream thereto.
  • the stream synchronizer 122 does not re-use SSRC when delivering a transcoded media stream from the main office 62 to the regional office 64.
  • the timestamp of the original media stream should be also kept, so that the delay, introduced by processing of the media stream, can be corrected by a jitter buffer provided by the player at the user home.
  • the stream synchronizer 122 allows for keeping the time synchronized for each media stream coming from different time sources in the network 60. It further allows for transparently switching from different bit rates and user devices, such as a HDTV set, SDTV set or 3G mobile phones as above-mentioned.
  • the transcoder 120 further comprises the codec transcoder
  • users 96 may use a plurality of devices for "playing" the requested media streams, such as a 3G mobile phone, a computer, or a TV set. Therefore, since all those devices use different codecs and technologies, a need of dynamically transcoding from one kind to another kind of codec format is needed. It can be done through the codec transcoder 124.
  • codec transcoder 124 is implemented as close as possible to the users' device so as to avoid bandwidth consumption.
  • the transcoder 120 also includes a stream merger 125. Since the transcoder 120 can have access to the decoded media stream, it can then easily mix multiple streams together, through the stream merger 125.
  • the stream merger 125 allows for a real-time image and/or video insertion. This feature is very useful for personalizing information according to specificities of a local region. For instance, the regional office 64 can decide to enforce different information, which can be displayed on a bar at the bottom of the screen of the user's TV 100. Furthermore, in a similar way, different advertisements, such as related to a specific region, can be introduced in the border of the media stream and displayed on the user's TV 100. The insertion can be of fixed images or full videos.
  • the search will return some results with a list of hits and insertions of small videos corresponding to each hit.
  • the user uses the mouse to go over a particular video insertion, sound streams for that video can be heard immediately.
  • the user clicks on the video insertion the full video is played.
  • a transparent insertion moving from the bottom to the top of the screen every 5 to 10 minutes can be also possible, for example.
  • the transcoder 120 comprises a stream error corrector 126 for detecting and correcting stream errors. It should be noted that this functionality is only present and useful in a transcoder implemented in the regional CSA 90, since the stream error corrector 126 allows for detecting and correcting errors in the media streams coming from the main office 62.
  • a Quality of Service (QoS) function is implemented in the main CSA 72 and/or regional CSA 90 for validating the quality of the network links and connections.
  • QoS Quality of Service
  • the stream error corrector 126 can split the screen into 9 parts. The data packets corresponding to each part are then delivered through a different RTP media stream.
  • UDP User Datagram Protocol
  • the number of error correction streams available to each user depends on the packet dropping report generated, for example by the regional CSA 90 and/or the main CSA 72, for the users 96.
  • the stream error corrector 126 reassembles the media stream and pushes it to a player of the user's computer 98 or TV 100 in a normal RTP flow.
  • the timestamp of the error correction stream is set to the same timestamp of the targeted media stream, or the original media stream.
  • the transcoder 120 comprises an advanced stream modifier 128 for implementing additional functionalities and features.
  • moving images can be inserted in the media stream.
  • This feature allows for local publicity insertion related to a particular region, on pre-defined white panels, available on some F1 cars for example.
  • the advanced stream modifier 128 performs image analysis so as to detect a white rectangle, which will be then replaced by a local and customized publicity which is relevant to the users belonging to that particular region.
  • advanced image processing and texture mapping are involved in this functionality. It should be noted that in order to achieve this functionality in real-time, an adequate Central Processing Unit (CPU) power will be needed.
  • CPU Central Processing Unit
  • both the transcoder implemented in the main CSA 72 and in the regional CSA 90 can include the advanced stream modifier 128.
  • the advanced stream modifier 128 implemented in the main CSA 72 will provide for a more general image insertion, for example, an image related to a whole country.
  • the advanced stream modifier 128 implemented in the regional CSA 90 will provide fo a more local image insertion, for example, an image in relation to a particular region or a city.
  • the transcoder 120 When listening to and watching a main channel, it can be Victoria to have subchannels shown in small size. To achieve such functionality, the transcoder 120 lowers the bit rate of the media streams constituting the small size pictures, thus allowing those media streams to be delivered to the user's end with less bandwidth.
  • While displaying the programming guide the current streaming live feed of the channels present on the screen can be added in the programming guide screen.
  • the real stream can be shown.
  • the first feed receives automatically the sound.
  • the sound is then faded to the next entry when the mouse pointer goes over it.
  • media streams can be converted on the fly to match bandwidth requirements for other transport technologies.
  • the main office 62 can be connected to a plurality of regional offices, similar to 64, each of which can be in turn connected to a plurality of sub-regional offices, and so forth, so as to form a tree type of structure of the distributed network 60.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A method and system for real-time distributed transcoding of media streams, requested by end users, in a communication network using a unicast protocol comprise a main media stream generator for generating a set of first media streams and a plurality of regional media stream generators, each in communication with the main media stream generator, for receiving at least one of the first media streams and for generating from the received at least one first media stream a set of second media streams to be delivered to the end users through the communication network and using the unicast protocol. The main media stream generator and at least one of the plurality of regional media stream generators each comprise a dynamic media stream transcoder, the transcoder in the main media stream generator and the transcoder in the at least one regional media stream generator forming a distributed transcoding architecture.

Description

TITLE
SYSTEM AND METHOD FOR DISTRIBUTED AND DYNAMIC TRANSCODING
FIELD
[0001] The present invention generally relates to transcoding in communication networks. More specifically, but not exclusively, the present invention is concerned with a system and method for distributed and dynamic transcoding.
BACKGROUND
[0002] For the past few decades, Internet has experienced an incredible boom in its growth and expansion. Technologies changed from centralized computing to personalized computing, to mobile computing and now to intelligent services with a convergence of networks, devices and services.
[0003] Many internet users are always connected and are asking for more. Personalized and intelligent services are required in order to satisfy the demands and expectations of these consumers. With the introduction of broadband Internet and high-speed Internet access, many new services have been offered to the consumers, such as real-time and streaming applications.
[0004] For example, Internet Protocol TV (IPTV), using video streaming over IP, is becoming more and more attractive, with opportunities of offering interactive and personalized services. Therefore, this field is growing rapidly and constitutes a huge market for generating large potential revenues for the telecommunication companies. Also major worldwide television broadcasters are now transmitting their broadcast signals over the Internet. However, the streaming application can be also deployed over some private networks such as cable TV networks, or cellular networks, for example.
[0005] Streaming applications generally consist of streaming medias that are consumed, i.e. heard or viewed while they are being delivered to a consumer. Each media stream (audio or video) is delivered to the consumer using the Internet Protocol (IP). Furthermore, two IP based protocols can be used when broadcasting to a large audience over a network: Unicast or Multicast.
[0006] Unicast protocols send a distinct copy of the media stream from the server to each client. This is simple, but can lead to a massive duplication of data or media streams in the network, which implies the use of many servers for providing a distinct copy of the media stream to each client.
[0007] Multicast protocols send only one copy of the media stream over any given network connection, i.e. along the path between any two network routers. This is a more efficient use of the network capacity and it keeps the number of servers to a minimum, but it is much more complex to implement. Furthermore, multicast protocols must be implemented in the network routers, as well as in the servers. Forwarding multicast traffic also requires a great deal of protocol complexity, particularly when knowing and satisfying in real-time the profile of each client of the audience, such as personalized content, interactions, billing, Quality-of-Service (QoS), etc. Thus, the multicast protocol suffers from deployment problems and complexity. Also, there is no efficient software to support such deployment and implementation. Usually, the few networks that use multicast protocols are complex and expensive, and they are also difficult to install and maintain. [0008] Especially, as the number of consumers using the streaming applications and services increases, the infrastructure of the network offering those services must be stronger and larger so that it can support a growing number of remotely connected users, which are spread all over a country or continent. The infrastructure must also accommodate a larger and increasing number of servers and other equipments, if the unicast protocol is used. Deployment of such infrastructure may be very expensive and complex to manage and maintain. However, using the multicast protocol also poses a problem of deployment and complexity in the network.
[0009] Furthermore, in the example of the constantly increasing popularity of IPTV, IPTV broadcast is now available in High Definition TV (HDTV) format. To view such video formats, a HDTV set can be connected to a computer. However, other formats are possible. For example, IPTV broadcast can be received in third generation (3G) mobile phones or in standard TV (SDTV) sets.
[0010] Since different receiving end devices are used to view/listen to IPTV broadcast media streams in a complex network, there is a need for transcoding the media streams from an initial codec format to a desired codec format, and from a higher bit rate to a lower bit rate, in a dynamic and real-time manner, offering flexibility according to different needs of transcoding and geographical distribution in the network.
[0011] Therefore, there is a need for overcoming the above discussed problems related to transcoding in large broadcasting networks and to both the unicast and multicast protocols. Accordingly, a method and system for distributed and dynamic transcoding in a distributed network, for delivering personalized streaming content to users using the unicast protocol are sought. OBJECTS
[0012] An object of the present invention is therefore to provide a system and method for distributed and dynamic transcoding.
SUMMARY
[0013] In accordance with a first illustrative aspect of the present invention, there is provided a system for real-time distributed transcoding of media streams, requested by end users, in a communication network using a unicast protocol. This system comprises a first means for generating a set of first media streams and a plurality of second means, each in communication with the first means, for receiving at least one of the first media streams and for generating from the received at least one media stream, a set of second media streams to be delivered to the end users through the communication network using the unicast protocol. The first means and at least one of the plurality of second means each comprise a dynamic media stream transcoding means, the transcoding means in the first means and the transcoding means in the at least one second means forming a distributed transcoding architecture.
[0014] According to a second illustrative aspect of the present invention, there is provided a system for real-time distributed transcoding of media streams, requested by end users, in a communication network using a unicast protocol. This system comprises a main media stream generator for generating a set of first media streams and a plurality of regional media stream generators, each in communication with the main media stream generator, for receiving at least one of the first media streams and for generating from the received at least one first media stream a set of second media streams to be delivered to the end users through the communication network and using the unicast protocol. The main media stream generator and at least one of the plurality of regional media stream generators each comprise a dynamic media stream transcoder, the transcoder in the main media stream generator and the transcoder in the at least one regional media stream generator forming a distributed transcoding architecture.
[0015] According to a third illustrative aspect of the present invention, there is provided a method for real-time distributed transcoding of media streams, requested by end users, in a communication network using a unicast protocol. This method comprises a first generation, through a main media stream generator, of a set of first media streams delivered to a plurality of regional media stream generators each in communication with the main media stream generator, a second generation, from the first media streams and through the plurality of regional media stream generators, of a set of second media streams delivered to the end users through the communication network using the unicast protocol and a dynamic media stream transcoding in the main media stream generator and at least one of the regional media stream generators. The transcoding through the main media stream generator and the at least one regional media stream generator forms a distributed transcoding architecture.
[0016] The foregoing and other objects, advantages and features of the present invention will become more apparent upon reading of the following non-restrictive description of any illustrative embodiments thereof, given by way of example only with reference to the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0017] In the appended drawings: [0018] Figure 1 illustrates a schematic view of a broadcasting network, comprising a Streaming Accelerator (SA) according to a non- restrictive illustrative embodiment of the present invention;
[0019] Figure 2 illustrates a schematic view of a broadcasting network, comprising a main Cooperative Streaming Accelerator (CSA) and a regional CSA, according to the non-restrictive illustrative embodiment of the present invention;
[0020] Figure 3 illustrates a block-diagram of a regional CSA comprising a transcoder used in the broadcasting network of Figure 2; and
[0021] Figure 4 illustrates an example of a Real-Time Protocol (RTP) data packet header.
DETAILED DESCRIPTION
[0022] In the following description, an illustrative embodiment of the present invention in the context of IPTV invention will be described. However, embodiments of the present invention are not restricted to IPTV applications and may be applied to any broadcasting networks.
[0023] In IPTV applications, the Real-Time Protocol (RTP) is generally used. However, many other protocols, such as some proprietary protocols can be used and are within the scope and nature of the present invention.
[0024] Generally stated, a streaming accelerator (SA) according to the non-restrictive illustrative embodiment of the present invention rationalizes and accelerates non-intrusively the delivery of streaming media to remote users while lowering deployment costs and operating expenses, improving streaming Quality-of-Service (QoS) and opening the feasibility of new TV and Audio related applications over an IP network. The SA uses standard networking equipments and is compatible with the Internet Protocol. The SA can duplicate, control and deliver media streams to an unlimited number of destinations using the unicast protocol. It also uses standard Internet Engineering Task Force (IETF) protocols and it is not bound to any streaming audio or video CODEC. Furthermore, it can also use proprietary protocols, specific to different elements in the network.
[0025] The SA can be an embedded piece of software implemented directly in a network processor unit or can use a specially designed chip or a Field Programmable Gate Array (FPGA) or a network processor unit inside a switch.
[0026] In addition, according to the non-restrictive illustrative embodiment of the present invention, a plurality of SAs can be implemented for handling a large network, and for duplicating and delivering media streams through the large network. Such infrastructure, comprising the plurality of streaming accelerators, allows for a huge deployment of a distributed media stream delivery network using a unicast infrastructure, such as for an IPTV private network that offers TV channels over DSL access.
[0027] Generally, the concept of a plurality of SAs working together is to better distribute and thus accelerate the streaming delivery over a large network. When only one SA duplicating media streams is used, all the duplicated media streams go through a same path in the network until the last segment of the network where it is delivered to the destination of each user. But when one main SA working in cooperation with some regional SA connected thereto are used, only the duplicated media streams requested by a whole region go through the main path between the main SA and a regional SA. When those media streams arrive to the regional SA, they are then duplicated for all the requested destinations included in that particular region. Therefore, efficiency of media stream delivery is increased. In such configurations, each SA working with one another is referred to as a cooperative streaming accelerator (CSA).
[0028] It should be noted that since the streaming accelerators can duplicate the requested media streams a multitude of times and deliver the duplicated media streams to the end users, the streaming accelerators can be also referred to as media stream generators.
[0029] Now, turning to Figure 1 , a network 10 for broadcasting media streams will be described. The broadcasting network 10 comprises a headend segment 12, a transport segment 14, an access segment 16 and a home end segment 18.
[0030] First, in the headend segment 12, broadcast information and signals are received by a streamer 20 through digital and analog receivers 22, including for example antennas and satellites. The streamer 20, which is, for example, a special streaming server such as a video server, is connected to a SA 24. Also connected to the SA 24 are some application servers 26 and other content sources 28 for integrating additional information to the broadcast signals.
[0031] It should be noted that the headend segment 12 is an improved version of a conventional headend segment. The conventional headend segments usually include a plurality of streamers for providing a copy of the media stream to each user, according to the unicast protocol. Therefore, with a constantly increasing number of users, the infrastructure of such headend segment would be very complex. Instead, using the SA 24 for duplicating the media stream, one streamer, such as 20, is usually sufficient.
[0032] The SA 24 is furthermore connected to a switch 30 for forwarding the media streams, received from the streamer 20, the application servers 26 and/or the other content sources 28, to the public internet network 32 using the IP (Internet Protocol), in the transport segment 14. It is to be noted that the transport segment 14 can also use other types of networks for media stream transmission, such as a private network.
[0033] As will be understood by one skilled in the art, the media streams are generally composed of data packets in which is encapsulated a destination address such that the public internet network 32 knows where to send each data packet.
[0034] The media streams then enter each user's home 18 through the access segment 16. The access segment 16 to the users' home may consist of a Digital Subscriber Line Access Multiplexer (DSLAM) 34 to which is connected a modem 46 such as a x Digital Subscriber Line (xDSL), a cable 36 to which is connected a cable modem 44, or antennas 38 to which is wirelessly connected a modem 42 such as a WiMax™ modem. The media streams finally arrive at each user's computer 40 through the different above-mentioned modems. Each user can start viewing or listening to the media streams as the media streams are received.
[0035] Now, turning to Figure 2, a distributed broadcasting network
60, comprising a plurality of CSAs, is described. As a non-limitative example, such broadcasting network can be an internet TV broadcasting network. [0036] The network 60 comprises a main office 62 connected to a plurality of regional offices 64 (only one shown in Figure 2).
[0037] The main office 62 is also connected to different receiving systems for receiving broadcast media, such as a satellite 66 or an antenna 68. The receiving systems can include analog and/or digital devices.
[0038] Furthermore, the main office 62 can be directly connected to a source server, such as an interactive content authority server 70.
[0039] The main office 62 comprises a main CSA 72 and a plurality of elements connected thereto. The CSA 72 may be viewed as a first means for generating a set of first media streams or a main media stream generator for generating the set of first media streams.
[0040] For example, an encoder 74 is connected to an input of the main CSA 72, for converting analog media streams, received from the analog receiving systems such as 66 and 68, into digital media streams and for encoding them. However, before entering the encoder 74, the media streams coming from the receiving systems 68 and 70 are first processed through a decoder 76 and a demodulator 78, respectively, which are both connected as input to the encoder 74. The decoder 76 can be an integrated receive decoder for decoding the analog media streams coming from the satellite 66. The demodulator 78 allows for demodulating the analog modulated media streams received from the antenna 68.
[0041] Also, the main CSA 72 can receive directly digital media streams from the source server 70, through a streaming server 80, interposed between the server 70 and the main CSA 72. [0042] Upon receiving the media streams from the analog and digital receiving systems, such as 66, 68 and 70, the main CSA 72 performs a first duplication of the media streams and then delivers those duplicated media streams, which correspond to the set of first media streams, to the regional offices 64 over a network 82, through a router 84 and a switch 86. The router 84 can be a router of layer 3 of OSI (Open Systems Interconnections), using ATM (Asynchronous Transfer Mode) or Ethernet, for example. The switch 86 can be an ATM switch which forwards, in layer 2 of OSI, the media streams to the regional offices 64, which will take care of a second duplication of the media streams. Accordingly, the main CSA 72 includes a duplicator to allow for duplication of the media streams.
[0043] The router 84 can be also connected to a middleware server
88 used for connecting together different software and/or applications implemented in the different, above-mentioned elements of the main office 62.
[0044] Finally, the switch 86 is connected to the network 82, which uses Synchronous Optical networking (SONET) for example. The network 82 allows the main office 62 to route the media streams and communicate with the regional offices 64. However, the regional offices 64 are not necessarily directly connected to the main office 62. Indeed, Virtual Private Network (VPN) connections can be used between the main office 62 and the regional offices 64, if requested by an operator. To facilitate integration of the VPN technologies, the main office 62 can implement different VPN tunneling technologies.
[0045] Generally stated, the main CSA 72 controls the whole system over the distributed network 60, meaning that all the configuration and key features are concentrated in the main CSA 72. Furthermore, the main CSA 72 has the responsibility of the path reservation between the main office 62 and each regional office such as 64 connected thereto. Indeed, a plurality of regional offices such as 64 can be connected to the main office 62 through the SONET network 82. Furthermore, the main CSA 72 can also perform transcoding when needed, as will be described hereinbelow.
[0046] The regional office 64 is now described. It includes a regional
CSA 90 connected to a router 94. The CSA 90 may be viewed as a regional media stream generator and belongs to a plurality of second means for receiving the first media streams from the main CSA 72. The router 94 is connected to the network 82 through an ATM switch 92, for example. The regional CSA 90 receives the requested media streams from the main CSA 72 of the main office 62, through the network 82, the ATM switch 92 and the router 94. The regional CSA 90 duplicates the requested media streams and then forwards these duplicated requested media streams, which correspond to a set of second media streams to the users 96, through the router 94 and respective DSLAM 104, for example. Accordingly, the regional CSA 90 includes a duplicator to allow for duplication of the media streams. Each user's end includes, for example, a computer 98 and/or a television 100 for viewing or listening to the received requested broadcast media streams. The computer 98 or television 100 is connected to a DSL modem 102 for accessing the duplicated media streams provided through the DSLAM 104 of the regional office 64. However, as mentioned hereinabove with respect to Figure 1 , other types of connections are also possible, such as radio frequencies, wireless links, etc.
[0047] The television 100 of each user 96 can be a HDTV or SDTV.
[0048] Generally stated, the regional office 64 is responsible for authentication of the users 96 and final duplication of the requested media streams, which is performed by the regional CSA 90. [0049] As media streams are delivered through the network 60, from the main CSA 72 to the regional CSA 90, to the end devices 98, 100 of the users 96, transcoding at different points of the network 60 is necessary for enabling compatibility and bandwidth changes between different systems and devices. Therefore, a transcoder can be implemented at different points of the network 60.
[0050] Generally stated, a plurality of transcoders can be implemented in different points of the distributed network 60, so that transcoding is distributed where it is needed. Preferably, transcoding means, for example in the form of a transcoder is implemented in the main CSA 72, and in each of the regional CSA 90.
[0051] However, the plurality of transcoders do not necessarily have all the same functionalities as will be seen hereinbelow.
[0052] Furthermore, transcoding for lowering media streams' bit rate is generally performed at an early stage during the transmission of the media streams, i.e. at the main CSA 72 for example, so that lower bandwidth links can be used to deliver the media streams to the regional office 64 and to the users 96. The main CSA 72 is therefore provided with a bit rate transcoder. The regional CSA 90 may also be provided with a bit rate transcoder. The purpose of such transcoding is to save transmission bandwidth in the distributed network 60. On the other hand, codec format transcoding is usually, but not necessarily, done in the regional CSA 90 for matching the codec format used by each user's end device and is therefore done at a later stage during the transmission of the media streams. The regional CSA 90 is therefore provided with a codec transcoder, such as the codec transcoder 124 . [0053] Now, more specifically, turning to Figure 3, a CSA 72 or 90 is described. It should be pointed out that whether a SA is used in a single mode or as a CSA working with other CSAs, the SA or CSA comprises the following main elements: a processing element 112 and a forwarding element 114 as shown in Figure 4.
[0054] The processing element 112 generally comprises a proxy 116 for handling users' requests and a communication driver 118 for communicating with the forwarding element 114, over a private network 115, such as a base channel. The forwarding element 114 is responsible of receiving and then duplicating the media streams.
[0055] The communication driver 118 can be a Multiple Command
Virtual Interface (MVIF) driver, providing the interface for data exchanges between the processing element 112 and the forwarding element 114.
[0056] Furthermore, according to different needs and services offered to the users 96, additional functionalities can be implemented in the processing element 112. As an example, a transcoder 120 is implemented in the processing element 112 for transcoding purposes such as handling bit rate changes and/or enabling codec compatibilities, as mentioned hereinabove.
[0057] Indeed, as a non-limitative example, the main office 62 of
Figure 2 can receive from the streaming server 80 media streams in HDTV format. However, if a user 96, requesting the media streams, watches only SDTV channels, which require lower bit rate, this person does not need to receive the media streams with a high bit rate. The main office 62 will then transcode the media streams from HDTV to SDTV and then send it to the regional office 64. The regional office 64 receives the media streams in SDTV format and delivers the media streams in SDTV format to the users 96 belonging to its region. Therefore, since all the transmission of the media streams from the main office 62 to the user 96 is done in SDTV format, as opposed to higher bit rate format such as HDTV, bandwidth consumption is minimized.
[0058] Furthermore, in order to save even more bandwidth, the regional CSA 90 can subsequently transcode the received SDTV media streams from the main office 62 to even lower bit rates, for mobile TV or Internet TV, if some users 96 request the media stream in those formats. In this case, only the main CSA 72 receives High Definition TV format media streams. The main CSA 72 then transcodes the media streams so as to distribute them at the bit rate which is really needed by the regional users 96.
[0059] In addition, transcoding is a dynamic operation. Indeed, in the example where the users 96 watch SDTV channels, the main office 62 forwards the SDTV media streams to the regional office 64, which then delivers the SDTV media streams to the users 96, located in its region. However, if ever during the transmission of the media streams, one user 96 upgrades to the HDTV channels and therefore requests HDTV media streams, the main CSA 72 will automatically synchronize and upgrade its media streams to HDTV format and forward them to the regional CSA 90. The CSA 90 then will deliver the HDTV format media streams to the specific user 96 having requested it. However, the CSA 90 will also transcode the HDTV to SDTV format in order to continue to supply SDTV media streams to the rest of the users 96, who have standard TV.
[0060] More specifically, when transcoding is needed, the media stream is disassembled via the duplicator of the CSA 90 and then pushed to the transcoder 120 from the forwarding element 114. The disassembly and identification of the media stream is done in the forwarding element 114. The transcoder 120 then takes care of re-assembling the data packets in the media stream with an intelligent jitter buffer (not shown). Furthermore, the jitter buffer is able to, for example, counter jitter, which is generated by an abrupt and unwanted signal variation introduced by the data packets. Using such a jitter buffer can ensure a continuous playout of audio or video media stream delivered over the network 60. Once the media stream is re-assembled and decoded, it is then re-encoded with the desired lower bit rate and re-packeted in a media stream similar to the original RTP media stream.
[0061] As an example, a RTP header format is illustrated in Figure 4.
It comprises at least the following fields:
- V refers to the version of the protocol; in this case, a version 2 is illustrated;
- P refers to padding; if it is set to 1 , it indicates that the data packet contains an additional byte for padding, which is not part of the payload;
- X refers to extension, which allows adding another byte for the header;
- CC refers to CSRC (contributing source) Count; the CSRC count contains the number of CSRC identifiers that follow the header;
- sequence number: this number allows identifying the order of the packet in the media stream; the sequence number increments by one for each RTP data packet sent, and may be used by the receiver to detect packet loss and to restore packet sequence;
- timestamp refers to the sampling instant of the first byte in the RTP data packet. The sampling instant must be derived from a clock (not shown) that generally increments monotonically and linearly in time to allow synchronization and jitter calculations, for example; - SSRC (synchronization source) allows identifying the synchronization source. This identifier is usually generated randomly, such that synchronization sources within a same RTP session will not have the same SSRC identifier; and
- CSRC (contributing source) list allows for identifying the contributing sources for the payload contained in this packet. The number of identifiers is given by the CC field.
[0062] It is to be noted that there are some other fields, which do not need to be explained herein and are believed to be well-known to those of ordinary skill in the art.
[0063] Returning to Figure 3, when transcoding, an interesting point to consider is to ensure synchronization between the transcoded media stream and the original media stream. For that purpose, the transcoder 120 comprises a stream synchronizer 122, which will synchronize both media streams. The media stream synchronizer 122 changes the SSRC (Synchronization Source) field in the data packet header, as shown in Figure 4, so that a player in the TV 100 or in the computer 98 can re-synchronize the transcoded media stream thereto. In addition, the stream synchronizer 122 does not re-use SSRC when delivering a transcoded media stream from the main office 62 to the regional office 64.
[0064] Furthermore, the timestamp of the original media stream should be also kept, so that the delay, introduced by processing of the media stream, can be corrected by a jitter buffer provided by the player at the user home.
[0065] Also, the stream synchronizer 122 allows for keeping the time synchronized for each media stream coming from different time sources in the network 60. It further allows for transparently switching from different bit rates and user devices, such as a HDTV set, SDTV set or 3G mobile phones as above-mentioned.
[0066] The transcoder 120 further comprises the codec transcoder
124, for enabling codec compatibilities. Indeed, users 96 may use a plurality of devices for "playing" the requested media streams, such as a 3G mobile phone, a computer, or a TV set. Therefore, since all those devices use different codecs and technologies, a need of dynamically transcoding from one kind to another kind of codec format is needed. It can be done through the codec transcoder 124.
[0067] It should be noted that, generally, such codec transcoder 124 is implemented as close as possible to the users' device so as to avoid bandwidth consumption.
[0068] The transcoder 120 also includes a stream merger 125. Since the transcoder 120 can have access to the decoded media stream, it can then easily mix multiple streams together, through the stream merger 125. The stream merger 125 allows for a real-time image and/or video insertion. This feature is very useful for personalizing information according to specificities of a local region. For instance, the regional office 64 can decide to enforce different information, which can be displayed on a bar at the bottom of the screen of the user's TV 100. Furthermore, in a similar way, different advertisements, such as related to a specific region, can be introduced in the border of the media stream and displayed on the user's TV 100. The insertion can be of fixed images or full videos.
[0069] As a non-limitative example, after a user does a search on his/her computer about some celebrities, for example, the search will return some results with a list of hits and insertions of small videos corresponding to each hit. Depending on the player used by the user, when the user uses the mouse to go over a particular video insertion, sound streams for that video can be heard immediately. When the user clicks on the video insertion, the full video is played.
[0070] Optionally, to attract the eye of the user, a transparent insertion moving from the bottom to the top of the screen, every 5 to 10 minutes can be also possible, for example.
[0071] In addition, the transcoder 120 comprises a stream error corrector 126 for detecting and correcting stream errors. It should be noted that this functionality is only present and useful in a transcoder implemented in the regional CSA 90, since the stream error corrector 126 allows for detecting and correcting errors in the media streams coming from the main office 62.
[0072] For private networks, generally a Quality of Service (QoS) function is implemented in the main CSA 72 and/or regional CSA 90 for validating the quality of the network links and connections. However, when using public networks, such as Internet, there is usually no QoS function. Therefore, the use of error stream correction can improve the "user experience". For example, the stream error corrector 126 can split the screen into 9 parts. The data packets corresponding to each part are then delivered through a different RTP media stream. Furthermore, to achieve additional robustness on random User Datagram Protocol (UDP) packet dropping, up to 3 error correction streams are provided. Each error correction stream can replace one original media stream. The number of error correction streams available to each user depends on the packet dropping report generated, for example by the regional CSA 90 and/or the main CSA 72, for the users 96. [0073] More specifically, the stream error corrector 126 reassembles the media stream and pushes it to a player of the user's computer 98 or TV 100 in a normal RTP flow. Obviously, the timestamp of the error correction stream is set to the same timestamp of the targeted media stream, or the original media stream.
[0074] Finally the transcoder 120 comprises an advanced stream modifier 128 for implementing additional functionalities and features. Once the transcoder 120 has access to the decoded media stream, moving images can be inserted in the media stream. This feature allows for local publicity insertion related to a particular region, on pre-defined white panels, available on some F1 cars for example. For that purpose, the advanced stream modifier 128 performs image analysis so as to detect a white rectangle, which will be then replaced by a local and customized publicity which is relevant to the users belonging to that particular region. Furthermore, advanced image processing and texture mapping are involved in this functionality. It should be noted that in order to achieve this functionality in real-time, an adequate Central Processing Unit (CPU) power will be needed.
[0075] It should be pointed out that both the transcoder implemented in the main CSA 72 and in the regional CSA 90 can include the advanced stream modifier 128. The advanced stream modifier 128 implemented in the main CSA 72 will provide for a more general image insertion, for example, an image related to a whole country. Instead, the advanced stream modifier 128 implemented in the regional CSA 90 will provide fo a more local image insertion, for example, an image in relation to a particular region or a city.
[0076] With a dynamic and real-time transcoder such as 120, which can lower bandwidth requirements at multiple points in the network, new functionalities and features from the user's end are possible, without paying for the high bandwidth price. As a non-exhaustive list of examples, the following features can be achieved:
-Picture in Picture:
When listening to and watching a main channel, it can be convivial to have subchannels shown in small size. To achieve such functionality, the transcoder 120 lowers the bit rate of the media streams constituting the small size pictures, thus allowing those media streams to be delivered to the user's end with less bandwidth.
-Programming guide:
While displaying the programming guide, the current streaming live feed of the channels present on the screen can be added in the programming guide screen.
-Advanced search results:
When using a search engine to find particular streams, the real stream can be shown. The first feed receives automatically the sound. The sound is then faded to the next entry when the mouse pointer goes over it.
-Internet/mobile TV:
Using the same feed, media streams can be converted on the fly to match bandwidth requirements for other transport technologies.
-Promotions/coupons:
Using the untouched original stream, clickable promotions at the bottom of the stream can be added. This stream will be always visible in any players.
[0077] Even though in the description of the present invention, only one regional office 64 has been described, it should be noted that the main office 62 can be connected to a plurality of regional offices, similar to 64, each of which can be in turn connected to a plurality of sub-regional offices, and so forth, so as to form a tree type of structure of the distributed network 60.
[0078] Although the present invention has been described in the foregoing specification by means of a non-restrictive illustrative embodiment, this illustrative embodiment can be modified at will within the scope, spirit and nature of the subject invention.

Claims

WHAT IS CLAIMED IS
1. A system for real-time distributed transcoding of media streams, requested by end users, in a communication network using a unicast protocol, the system comprising: a first means for generating a set of first media streams; and a plurality of second means, each in communication with the first means, for receiving at least one of the first media streams and for generating from the received at least one media stream, a set of second media streams to be delivered to the end users through the communication network using the unicast protocol; wherein the first generating means and at least one of the plurality of second means each comprise a dynamic media stream transcoding means, the transcoding means in the first generating means and the transcoding means in the at least one second means forming a distributed transcoding architecture.
2. A system for real-time distributed transcoding of media streams, requested by end users, in a communication network using a unicast protocol, the system comprising: a main media stream generator for generating a set of first media streams; and a plurality of regional media stream generators, each in communication with the main media stream generator, for receiving at least one of the first media streams and for generating from the received at least one first media stream a set of second media streams to be delivered to the end users through the communication network and using the unicast protocol; wherein the main media stream generator and at least one of the plurality of regional media stream generators each comprise a dynamic media stream transcoder, the transcoder in the main media stream generator and the transcoder in the at least one regional media stream generator forming a distributed transcoding architecture.
3. A system for transcoding as defined in claim 2, wherein the transcoder of the main media stream generator comprises a bit rate transcoder for reducing a bit rate of the first media streams for delivery to the plurality of regional media stream generators.
4. A system for transcoding as defined in claim 3, wherein the transcoder of the at least one regional media stream generator comprises a bit rate transcoder for reducing a bit rate of the second media streams for delivery to the end users.
5. A system for transcoding as defined in claim 2, wherein the transcoder of the at least one regional media stream generator comprises a codec transcoder for changing a codec format of the second media streams to be compatible with a codec used by the end users.
6. A system for transcoding as defined in claim 4, wherein the communication network comprises an Internet Protocol TV network.
7. A system for transcoding as defined in claim 6, wherein the bit rate of the first media streams comprises a High Definition TV bit rate.
8. A system for transcoding as defined in claim 6, wherein the bit rate of the second media streams comprises a Standard Definition TV bit rate.
9. A system for transcoding as defined in claim 2, wherein the main media stream generator and the plurality of regional media stream generators each comprise a duplicator for generating respectively the first and second sets of the media streams requested by the end users.
10. A system for transcoding as defined in claim 9, wherein the duplicator disassembles a media stream having a first bit rate into data packets, and the transcoder re-assembles and re-encodes the data packets into a media stream having a second bit rate.
11. A system for transcoding as defined in claim 10, wherein the transcoder further comprises a stream synchronizer which synchronizes the media stream having the second bit rate with the media stream having the first bit rate.
12. A system for transcoding as defined in claim 11 , wherein the stream synchronizer changes a synchronization source in a header of the disassembled data packets of the media stream having the first bit rate.
13. A system for transcoding as defined in claim 11 , wherein the stream synchronizer records a timestamp of the media stream having the first bit rate.
14. A system for transcoding as defined in claim 11 , wherein the stream synchronizer synchronizes a plurality of media streams coming from different sources of the communication network together with the requested media streams.
15. A system for transcoding as defined in claim 2, wherein the transcoder comprises a stream merger for mixing a plurality of media streams coming from different media sources of the communication network together with the requested media streams.
16. A system for transcoding as defined in claim 15, wherein the stream merger inserts real-time fixed images and videos in the requested media streams.
17. A system for transcoding as defined in claim 15, wherein the stream merger inserts relevant advertisement relative to a particular geographical area in the requested media streams.
18. A system for transcoding as defined in claim 15, wherein the stream merger inserts sound associated to a requested video stream.
19. A system for transcoding as defined in claim 2, wherein the transcoder of the at least one regional of media stream generator comprises a stream error corrector for correcting errors in at least one of the first and second media streams.
20. A system for transcoding as defined in claim 19, wherein the stream error corrector comprises up to three error correction streams.
21. A system for transcoding as defined in claim 2, wherein the transcoder comprises a stream modifier for inserting moving images in the requested media streams.
22. A system for transcoding as defined in claim 21 , wherein the stream modifier introduces publicity insertion in the requested media streams.
23. A system for transcoding as defined in claim 2, wherein the transcoder inserts promotions and coupons in the requested media streams.
24. A method for real-time distributed transcoding of media streams, requested by end users, in a communication network using a unicast protocol, the method comprising: a first generation, through a main media stream generator, of a set of first media streams delivered to a plurality of regional media stream generators each in communication with the main media stream generator; a second generation, from the first media streams and through the plurality of regional media stream generators, of a set of second media streams delivered to the end users through the communication network using the unicast protocol; and a dynamic media stream transcoding in the main media stream generator and at least one of the regional media stream generators, the transcoding through the main media stream generator and the at least one regional media stream generator forming a distributed transcoding architecture.
25. A method for transcoding as defined in claim 24, wherein the communication network comprises an Internet Protocol TV network.
26. A method for transcoding as defined in claim 25, wherein the transcoding through the main media stream generator comprises reducing a bit rate of the first media streams.
27. A method for transcoding as defined in claim 25, wherein the transcoding through the at least one regional media stream generator comprises reducing a bit rate of the second media streams.
28. A method for transcoding as defined in claim 26, wherein reducing the bit rate of the first media streams comprises changing the bit rate from a High Definition TV to Standard TV bit rate.
29. A method for transcoding as defined in claim 27, wherein reducing the bit rate of the second media streams comprising changing the bit rate from a Standard TV to mobile phone bit rate.
30. A method for transcoding as defined in claim 24, wherein the transcoding comprises changing a codec format of the second media streams to be compatible with a codec used by the end users.
31. A method for transcoding as defined in claim 24, wherein the transcoding comprises disassembling a media stream having a first bit rate into data packets.
32. A method for transcoding as defined in claim 31 , wherein transcoding comprises re-assembling and re-encoding the data packets into a media stream with a second bit rate.
33. A method for transcoding as defined in claim 32, wherein transcoding further comprises synchronizing the media stream having the second bit rate with the media stream having the first bit rate.
34. A method for transcoding as defined in claim 33, wherein synchronizing the media stream having the second bit rate with the media stream having the first bit rate comprises changing a synchronization source in a header of the data packets.
35. A method for transcoding as defined in claim 33, wherein synchronizing the media stream having the second bit rate with the media stream having the first bit rate comprises recording a timestamp of the media stream having the first bit rate.
36. A method for transcoding as defined in claim 33, wherein synchronizing the media stream having the second bit rate with the media stream having the first bit rate comprises synchronizing a plurality of media streams coming from different media sources of the communication network together with the synchronized media stream having the second bit rate.
37. A method as defined in claim 32, wherein transcoding further comprises mixing a plurality of media streams coming from different media sources of the communication network together with the requested media streams.
38. A method as defined in claim 37, wherein mixing the plurality of the media streams coming from the different media sources of the communication network together with the requested media streams comprises inserting realtime fixed images and videos in the requested media streams.
39. A method as defined in claim 37, wherein mixing the plurality of the media streams coming from the different media sources of the communication network together with the requested media streams comprises inserting relevant advertisement relative to a particular geographical area in the requested media streams.
40. A method as defined in claim 37, wherein mixing the plurality of the media streams coming from the different media sources of the communication network together with the requested media streams comprises inserting sound to an associated requested media video.
41. A method as defined in claim 24, wherein the transcoding comprises correcting errors in at least one of the first and second media streams.
42. A method as defined in claim 24, wherein the transcoding comprises inserting moving images in the requested media streams.
43. A method as defined in claim 24, wherein the transcoding comprises inserting publicity in the requested media streams.
44. A method as defined in claim 24, wherein the transcoding comprises inserting promotions and coupons in the requested media streams.
45. A method as defined in claim 26, wherein reducing the bit rate of the first media streams saves transmission bandwidth between the main media stream generator and said at least one regional media stream generator in the communication network.
PCT/CA2008/000265 2007-02-09 2008-02-08 System and method for distributed and dynamic transcoding Ceased WO2008095314A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US90035707P 2007-02-09 2007-02-09
US60/900,357 2007-02-09

Publications (1)

Publication Number Publication Date
WO2008095314A1 true WO2008095314A1 (en) 2008-08-14

Family

ID=39681226

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CA2008/000265 Ceased WO2008095314A1 (en) 2007-02-09 2008-02-08 System and method for distributed and dynamic transcoding

Country Status (1)

Country Link
WO (1) WO2008095314A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2409240A4 (en) * 2009-03-18 2014-07-23 Juniper Networks Inc VARIABLE RATE MEDIA DELIVERY SYSTEM
CN108156464A (en) * 2017-12-19 2018-06-12 青岛海信网络科技股份有限公司 A kind of method and device of multipath concurrence transcoding

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030189589A1 (en) * 2002-03-15 2003-10-09 Air-Grid Networks, Inc. Systems and methods for enhancing event quality
US20030229900A1 (en) * 2002-05-10 2003-12-11 Richard Reisman Method and apparatus for browsing using multiple coordinated device sets
US20030236904A1 (en) * 2002-06-19 2003-12-25 Jonathan Walpole Priority progress multicast streaming for quality-adaptive transmission of data
US20040223464A1 (en) * 2003-03-10 2004-11-11 Meetrix Corporation Media based collaboration using mixed-mode PSTN and Internet networks
US20070233889A1 (en) * 2006-03-31 2007-10-04 Guo Katherine H Method and apparatus for improved multicast streaming in wireless networks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030189589A1 (en) * 2002-03-15 2003-10-09 Air-Grid Networks, Inc. Systems and methods for enhancing event quality
US20030229900A1 (en) * 2002-05-10 2003-12-11 Richard Reisman Method and apparatus for browsing using multiple coordinated device sets
US20030236904A1 (en) * 2002-06-19 2003-12-25 Jonathan Walpole Priority progress multicast streaming for quality-adaptive transmission of data
US20040223464A1 (en) * 2003-03-10 2004-11-11 Meetrix Corporation Media based collaboration using mixed-mode PSTN and Internet networks
US20070233889A1 (en) * 2006-03-31 2007-10-04 Guo Katherine H Method and apparatus for improved multicast streaming in wireless networks

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2409240A4 (en) * 2009-03-18 2014-07-23 Juniper Networks Inc VARIABLE RATE MEDIA DELIVERY SYSTEM
EP2409241A4 (en) * 2009-03-18 2014-07-23 Ankeena Networks Inc VARIABLE DYNAMIC MULTIMEDIA DISTRIBUTION SYSTEM
CN108156464A (en) * 2017-12-19 2018-06-12 青岛海信网络科技股份有限公司 A kind of method and device of multipath concurrence transcoding

Similar Documents

Publication Publication Date Title
US11800200B2 (en) Low latency media ingestion system, devices and methods
US11317164B2 (en) Methods, apparatus, and systems for providing media content over a communications network
US10887647B2 (en) Apparatus and methods for personalized content synchronization and delivery in a content distribution network
US9185151B2 (en) Device, method and system for media packet distribution
EP1842337B1 (en) Multicast distribution of streaming multimedia content
CN102123304B (en) Method and device for reception of video contents and services broadcast with prior transmission of data
JP2004531955A (en) Method and apparatus for optimizing distribution of multiple advertisements and other program segments by bandwidth trade-off
WO2007079672A1 (en) System for receiving and displaying network tv programs and method thereof
US20060130112A1 (en) Streaming or real-time data television programming
KR100860464B1 (en) IP service system that provides news contents, method of transmitting news contents, method of receiving news contents, and recording medium recording program for receiving news contents
KR101829064B1 (en) Method and apparatus for deliverying dash media file over mmt delivery system
WO2008095314A1 (en) System and method for distributed and dynamic transcoding
CN101405714A (en) Methods, apparatus, and systems for providing media content over a communications network
KR20090019094A (en) Personalized Wake-up Service System and Method
TWI384801B (en) Ip-based hometown tv program delivery system
US20070157280A1 (en) Multimedia in-band gateway
Bakare et al. An Overview of Internet Protocol Television (IPTV) Broadcasting in Nigeria, Prospects and Challenges
Brassil et al. Large-scale personalized video streaming with program insertion proxies
Kim et al. An efficient hybrid delivery technology for a broadcast TV service
Bradbury A scalable distribution system for broadcasting over IP networks
Henten et al. New developments of network technologies and their influence on business models and contents of traditional broadcasters
CN101009526A (en) DMB system and method for downloading BIFS stream and DMB terminal
Choi et al. Practical Implementation of Interactive Data Broadcasting Services in IPTV over the NGN
IE20020486A1 (en) A method of broadcasting television quality programming in real time

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

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

Country of ref document: EP

Kind code of ref document: A1