This section is intended to provide a background or context to the invention that is recited in the claims. The description herein may include concepts that could be pursued, but are not necessarily ones that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, what is described in this section is not prior art to the description and claims in this application and is not admitted to be prior art by inclusion in this section.
Data delivery methods may be grouped, according to the used routing, scheme into unicasting, multicasting, and broadcasting depending on the number of the recipients and their subscriber relationship. Unicasting refers to the transmission of media content to one subscriber. In unicasting, the receiver usually requests the transmission of the media content from the sender. Multicasting is defined as the transmission of media content to a known group of subscribers. In multicasting, a user equipment, e.g. a communication device, usually joins a multicast session through a particular communication protocol. Broadcasting services transmit media content stream to an unknown and possibly indiscriminated group of subscribers. In broadcasting, a user equipment, e.g. a communication device, typically starts the reception of the broadcast transmission without any notification to the sender.
Streaming is a collective term for streaming delivery, streaming services, and streaming applications. Streaming delivery is also used in applications beyond streaming, such as video telephony. Streaming delivery is characterized by simultaneous reception and playback of the received data. Usually unreliable communication protocols, e.g. user datagram protocol (UDP), are used for streaming delivery in order to have a reasonable and relatively stable end-to-end transmission delay. Progressive downloading refers to transmission of a multimedia file over a reliable communication protocol, such as Hypertext Transfer Protocol (HTTP), and decoding and rendering the file while it is being received.
Streaming services are becoming more and more popular with the significant advances in network access technologies, e.g., providing sufficient bandwidth, and media coding technologies, e.g., achieving improved quality. In streaming, the content is played out shortly after the reception from the remote server starts. The playback delay may be in the range of couple of seconds, e.g., in client-server architecture, up to one or two minutes, e.g., for Peer-to-Peer streaming applications.
Streaming delivery is deployed in several different applications: e.g., video on demand, internet protocol television (IPTV), Mobile TV broadcast/multicast, peer-to-peer streaming and/or the like. Different protocols for the setup and control of a streaming session are available, depending on the target application. The 3rd Generation Partnership Project (3GPP) defines a unicast streaming service, the Packet-switched Streaming Service (PSS), which enables live and stored content streaming over wireless unicast bearers to mobile users. The Digital Video Broadcast (DVB) defines an IPTV service that delivers live and stored content over fixed bearers, e.g. DSL lines, to the home of the user. The delivery may be performed in a unicast or multicast mode.
The streaming services may utilize multimedia broadcast/multicast service (MBMS) defined by 3GPP. The MBMS utilizes a forward error correction (FEC) mechanism for protecting media streams against transmission errors and packet losses. The MBMS FEC code is a systematic block code that generates a set of repair data from original source data. The source data is partitioned into source blocks Source blocks comprise a set of source symbols, e.g. data packets or data units. A source block is then fed into the FEC encoder to generate repair symbols.
The FEC decoding operation is initiated at a communication device to recover from packet losses that occur during the transmission. For that purpose, the communication device buffers incoming packets of the current source block and the related repair data. FEC decoding may start whenever the reception of the source block and the related repair data is done.
In multicast and broadcast streaming delivery, scalable media coding may be used to provide different resolution levels for the different receivers. For the case of video streams, spatial, temporal, and quality scalability may be provided. The Scalable Video Coding (SVC) has been defined as an extension to the advanced video coding (H.264/AVC) standard. SVC allows for spatial, temporal, coarse-grain and medium-grain quality scalability. Temporal scalability is achieved using hierarchical B pictures, which is already possible with the H.264/AVC codec. Spatial scalability allows for the creation of two or more sub-sets of the bit-stream, where each subset results in a different picture resolution. Quality scalability enables the creation of bit-stream layers that improve the signal-to-noise ratio (SNR) of the video signal. SVC requires a single loop decoder, so that motion compensation is performed at a single layer. Audio scalability may have different types. SNR scalability denotes the procedure where extension layers improve the SNR of the audio signal. Bandwidth scalability is a type of scalability where extension layers increase the represented audio bandwidth. Channel scalability denotes the mode where extension layers provide additional audio channels.