WO2013160042A1 - System for packet loss recovery - Google Patents

System for packet loss recovery Download PDF

Info

Publication number
WO2013160042A1
WO2013160042A1 PCT/EP2013/056206 EP2013056206W WO2013160042A1 WO 2013160042 A1 WO2013160042 A1 WO 2013160042A1 EP 2013056206 W EP2013056206 W EP 2013056206W WO 2013160042 A1 WO2013160042 A1 WO 2013160042A1
Authority
WO
WIPO (PCT)
Prior art keywords
local
retransmission
module
client
receiver
Prior art date
Application number
PCT/EP2013/056206
Other languages
French (fr)
Inventor
George MIKELADZE
Davit MISHELASHVILI
Levan NATROSHVILI
Original Assignee
Qarva Ltd.
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 Qarva Ltd. filed Critical Qarva Ltd.
Publication of WO2013160042A1 publication Critical patent/WO2013160042A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1059End-user terminal functionalities specially adapted for real-time communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • 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/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42607Internal components of the client ; Characteristics thereof for processing the incoming bitstream
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4383Accessing a communication channel
    • H04N21/4384Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1868Measures taken after transmission, e.g. acknowledgments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/418External card to be used in combination with the client device, e.g. for conditional access

Definitions

  • the present invention is directed at a system and method for packet loss recovery in a streaming media connection between a sender and receiver, as described in the preamble of the independent patent claims enclosed herewith.
  • the tolerable latency of the application has to be taken into account.
  • the end-to-end delay has to be at most a few hundred milliseconds in order to guarantee interactivity, which usually excludes the use of retransmission.
  • the efficiency of the repair scheme can be increased.
  • the sender may use the receiver feedback in order to react to losses before their play out time at the receiver.
  • sequence number preservation In order to support the largest variety of payload formats, a receiver must be able to derive how many and which packets were lost as a result of a gap in received sequence numbers. This requirement is referred to as sequence number preservation.
  • Another approach may be to multiplex original packets and retransmission packets in the same stream using different payload type values. With such an approach, the original packets and the retransmission packets would share the same sequence number space. As a result, the receiver would not be able to infer how many and which original packets and which sequence numbers were lost.
  • the original and retransmission packets may be sent in two separate streams. These two streams may be multiplexed either by sending them in two different sessions, i.e. session-multiplexing, or in the same session using different Synchronization Source (SSRC) values, i.e., SSRC-multiplexing.
  • SSRC Synchronization Source
  • Whether or not a receiver chooses to request a packet is an implementation issue.
  • An actual receiver implementation must take into account such factors as the tolerable application delay, the network environment, and the media type.
  • the receiver should generally assess whether the retransmitted packet would still be useful at the time it is received.
  • the timestamp of the missing packet can be estimated from the timestamps of packets preceding and/or following the sequence number gap caused by the missing packet in the original stream. In most cases, some form of linear estimate of the timestamp is used.
  • a receiver should compute an estimate of the round-trip time (RTT) to the sender. This can be done, for example, by measuring the retransmission delay to receive a retransmission packet after a request has been sent for that packet. This estimate may also be obtained from past observations.
  • RTT round-trip time
  • the receiver should not send a retransmission request as soon as it detects a missing sequence number but should add some extra delay to compensate for packet reordering. This extra delay may, for example, be based on past observations of the experienced packet reordering.
  • the receiver may add extra delay to group the packet retransmission requests, thus request retransmission of multiple lost packets with a single command. It helps to reduce communication overheads, especially in environments with a "stable" packet loss.
  • a possible implementation of a system and method for packet loss recovery in a streaming media connection between a sender and receiver is a minimal receiver implementation. With this implementation, it is possible to retransmit lost packets, detect efficiently the loss of retransmissions, and perform multiple retransmissions, if need be. With such a minimal receiver implementation most of the necessary processing is done at the server.
  • the required receiver processing to handle retransmission is kept to a minimum.
  • the receiver detects packet loss from the gaps observed in the received sequence numbers. It signals lost packets to the sender, while taking into account the signaled sender retransmission buffer length in order to dimension its own reception buffer. It also derives from the buffer length the maximum number of times the retransmission of a packet can be requested.
  • the sender then retransmits the packets selectively. It chooses whether to retransmit a requested packet depending on the packet importance, the observed Quality of Service (QoS), and congestion state of the network connection to the receiver.
  • QoS Quality of Service
  • a system and method for packet loss recovery in a streaming media connection between aa sender and receiver including a Retransmission Server is proposed, wherein a Local Retransmission Module is provided at the receiver side, which can be either a software package that runs in the Set Top Box or a hardwired device to which the Set Top Box, or any other client application, may be connected.
  • the Local Retransmission Agent or Module is an autonomous module that can be implemented and embedded into the client device as a software or hardware.
  • the Retransmission Server is a software/hardware implementation of a packet cache that can be used by the client for streaming data pre fetch and lost packet recovery.
  • the communication between the client may be accomplished by a connection oriented protocol, such as TCP, or by other protocols, such as UDP, IP, etc.
  • the communication between the client Application and Local Retransmission Module may be done in many ways.
  • a HTTP protocol and the TCP based custom text protocol is used.
  • any other protocols and IPC (inter-process communications) techniques may be used for this purpose.
  • Such communication may even be implemented without an explicit protocol, with the Local Retransmission Module tracing (on OS or IGMP level) multicast join/leave requests from a client application and consider them as implicit commands, thus providing a 100% transparent system.
  • the Local Retransmission Module or Agent is a transparent service, handling packet loss recovery and data prefetch for fast channel change, and sends a UDP stream to the local network/loopback interface of the Set Top Box.
  • the Local network/loopback interface is a local network interface (real or simulated) that resides on the STB and can be accessed by the Client Application (for example: lo, ethO, ethl ). Because the interface is local, there is practically no packet loss, and the stream can be reliably passed from the Local Retransmission Module to the Client Application.
  • the Client Application running on the Set Top Box will be able to receive and play streams without any need to integrate an external library for packet loss recovery into the application itself, as all packet loss recovery tasks are being taken over by the Local Retransmission Agent.
  • this new “Transparent” technology enables integration of Fast Channel Change into existing IPTV ecosystems without the problems, connected with involving vendors of existing IPTV components. It means no software modification is needed because the transparent FCC is invisible for existing software components that run on STB - they just think they are working the usual way by joining network multicasts etc.
  • the client software on the Set Top Box communicates with the Local Retransmission Module for example via a TCP connection using custom text based protocol, or standard HTTP protocol, which could be simply accomplished for example using JavaScript.
  • the client can send various stream related or configuration commands to the Local Retransmission Module, such as: tune, stop etc.
  • the Local Retransmission Module works with the Retransmission Server, establishing a reliable TCP connection to handle lost packet recovery, and data prefetch for fast channel change.
  • the typical channel change time is about 0.4 - 0.6 seconds, wherein the actual time depends on stream bitrate and encoding options, player video decoder settings, and line bandwidth.
  • the client application or Set Top Box simply receives the UDP stream from the Local Retransmission Module, with no need to interact with the UDP Retransmission Server directly.
  • FIG. 1 a schematic diagram of a system according to the invention
  • Fig. 2 a schematic flow diagram of the method steps on the side of the client module of the system according to Fig. 1, and
  • Fig. 3 a schematic flow diagram of the method steps on the side of the Local Retransmission Module of the system according to Fig. 1.
  • Fig. 1 shows a schematic view of a preferred embodiment of the proposed system according to the present invention.
  • RRLA RTP/UDP Local Retransmission Agent
  • STB set top box
  • RTP/UDP Retransmission Server 8 which is a software/hardware implementation of a packet cache, that can be used by the client device 4 and more particularly the Local Retransmission Agent 2 for stream data prefetch and lost packet recovery.
  • the communication between the Local Retransmission Agent 2 and the Server 8 is accomplished by a connection oriented protocol (such as TCP) or by other protocols (UDP, IP, etc.)
  • the client module 6 in the embodiment as shown, is an application that plays a RTP/UDP stream.
  • the RTP/UDP in this embodiment is not received from the RTP/UDP Server 8 directly, however, but from the Local Retransmission Agent (RRLA) 2, which adds the capability of fast channel change and lost packet recovery to the Client module 6 in a transparent manner.
  • RRLA Local Retransmission Agent
  • the RTP/UDP Local Retransmission Agent (RRLA) 2 of the embodiment as shown is a transparent service, designed to run on client side, as for example a set top box device. It handles RTP packet loss recovery and data prefetch for fast channel change, and sends the UDP stream to the local network/loopback interface of the client module 6.
  • the client module 6 will be able to receive and play RTP/UDP streams without any need to integrate an external library into the client application.
  • the client software of the module 6 communicates with the RRLA module 2 via a TCP connection using custom text based protocol, or standard HTTP protocol, which can be simply accomplished even with a high level language such as JavaScript.
  • the client module 6 can send various stream related or configuration commands to the RRLA module 2, such as tune, stop etc.
  • the RRLA module 2 works with RTP/UDP Retransmission Server 8. It establishes a reliable TCP connection to handle lost RTP/UDP packet recovery, and data prefetch for fast channel change. Channel change time is dramatically reduced by using data prefetch and video stream key-frame indexing (MPEG2/MPEG4-H264) implemented in the RTP/UDP Retransmission Server 8.
  • the typical channel change time is about 0.4 - 0.6 seconds, while the actual time depends on the stream bitrate and encoding options, player video decoder settings, and line bandwidth.
  • Fig. 2 shows a flow diagram of the method steps as performed by the client module 6 of the set top box 4, when a user requests a channel change in Step 10, the client module 6 sends a command to the RRLA 2 in step 12, so that in step 14 the client module 6 receives and plays a UDP stream from the RRLA module 2 on a loopback interface or local network interface.
  • step 16 the Local Retransmission Module 2 establishes a connection with the RTP/UDP Retransmission Server 8 (if applicable).
  • step 20 the Local Retransmission Module 2 listen for the commands issued by the Client module 6.
  • step 22 when a tune command is received from the client module, the media stream data prefetch/multicast receiving/lost packet recovery (in conjunction with the RTP/UDP Retransmission Server 8) is performed.
  • step 26 the processed/corrected stream is send to the loopback interface or local network interface of the client module 6, thus making it available for the client module 6.

Abstract

The application discloses a system for packet loss recovery in a streaming media connection between aa sender and receiver, including a Retransmission Server, wherein a Local Retransmission Module, being adapted to handle packet loss recovery and data prefetch for fast channel change, is provided at the receiver side, communicating with the Retransmission Server, to which a client application, running on the receiver side, is connectable to receive a corrected stream.

Description

Description
Title: System for packet loss recovery
[0001] The present invention is directed at a system and method for packet loss recovery in a streaming media connection between a sender and receiver, as described in the preamble of the independent patent claims enclosed herewith.
[0002] It is a known problem that packet loss in a streaming media connection between a sender and receiver may significantly degrade the quality of the media received at the client, where the streamed media is being consumed. Several techniques, such as Forward Error Correction (FEC), retransmissions, or interleaving, have been considered to increase packet loss resiliency.
[0003] When choosing a repair technique for a particular application, the tolerable latency of the application has to be taken into account. In the case of multimedia conferencing, the end-to-end delay has to be at most a few hundred milliseconds in order to guarantee interactivity, which usually excludes the use of retransmission. With sufficient latency, the efficiency of the repair scheme can be increased. The sender may use the receiver feedback in order to react to losses before their play out time at the receiver.
[0004] On the other hand, in the case of multimedia streaming, the user might tolerate an initial latency as part of the session set-up and thus an end-to-end delay. However, with an increasing number of customers consuming TV or other Multimedia over networks such as the Internet, even in this area, and in particular with respect to switching channels, there is a strong desire to reduce the initial latency during session set-up and the end-to-end delay, in particular, when customers expect a Fast Channel Change (FCC), as is the usual case these days.
[0005] In order to support the largest variety of payload formats, a receiver must be able to derive how many and which packets were lost as a result of a gap in received sequence numbers. This requirement is referred to as sequence number preservation.
[0006] Without such a requirement, it would be impossible to use retransmission with payload formats, such as conversational text or most audio/video streaming applications, that use the sequence number to detect lost packets. [0007] When designing a solution for retransmission, several approaches may be considered for the multiplexing of the original packet and the retransmitted packets. One approach may be to retransmit the packet with its original sequence number and send original and retransmission packets in the same stream. The retransmission packet would then be identical to the original packet, with the same header, the same sequence number, and the same payload. Such an approach could corrupt the statistics, however, which, for example in the case of Real Time Transport Control Protocol (RTCP), require that for every RTP packet within the RTP stream, the sequence number be increased by one.
[0008] Another approach may be to multiplex original packets and retransmission packets in the same stream using different payload type values. With such an approach, the original packets and the retransmission packets would share the same sequence number space. As a result, the receiver would not be able to infer how many and which original packets and which sequence numbers were lost.
[0009] Furthermore, the original and retransmission packets may be sent in two separate streams. These two streams may be multiplexed either by sending them in two different sessions, i.e. session-multiplexing, or in the same session using different Synchronization Source (SSRC) values, i.e., SSRC-multiplexing.
[0010] Whether or not a receiver chooses to request a packet is an implementation issue. An actual receiver implementation must take into account such factors as the tolerable application delay, the network environment, and the media type. The receiver should generally assess whether the retransmitted packet would still be useful at the time it is received. The timestamp of the missing packet can be estimated from the timestamps of packets preceding and/or following the sequence number gap caused by the missing packet in the original stream. In most cases, some form of linear estimate of the timestamp is used.
[0011] Furthermore, a receiver should compute an estimate of the round-trip time (RTT) to the sender. This can be done, for example, by measuring the retransmission delay to receive a retransmission packet after a request has been sent for that packet. This estimate may also be obtained from past observations.
[0012] The receiver should not send a retransmission request as soon as it detects a missing sequence number but should add some extra delay to compensate for packet reordering. This extra delay may, for example, be based on past observations of the experienced packet reordering.
[0013] It should be noted that, in environments where packet reordering is rare or does not take place, e.g., if the underlying data link layer affords ordered delivery, the delay may be extremely low or even take the value zero. In such cases, an appropriate "reorder delay" algorithm may not actually be timer based, but packet based. For example, if a number of packets are received after a gap is detected, then it may be assumed that the packet was truly lost rather than out of order.
[0014] Furthermore, the receiver may add extra delay to group the packet retransmission requests, thus request retransmission of multiple lost packets with a single command. It helps to reduce communication overheads, especially in environments with a "stable" packet loss.
[0015] A possible implementation of a system and method for packet loss recovery in a streaming media connection between a sender and receiver is a minimal receiver implementation. With this implementation, it is possible to retransmit lost packets, detect efficiently the loss of retransmissions, and perform multiple retransmissions, if need be. With such a minimal receiver implementation most of the necessary processing is done at the server.
[0016] In this implementation example, the required receiver processing to handle retransmission is kept to a minimum. The receiver detects packet loss from the gaps observed in the received sequence numbers. It signals lost packets to the sender, while taking into account the signaled sender retransmission buffer length in order to dimension its own reception buffer. It also derives from the buffer length the maximum number of times the retransmission of a packet can be requested.
[0017] The sender then retransmits the packets selectively. It chooses whether to retransmit a requested packet depending on the packet importance, the observed Quality of Service (QoS), and congestion state of the network connection to the receiver.
[0018] Obviously, the sender processing increases with the number of receivers as information and processing load must be allocated to each receiver. [0019] The main problem with such a monolithic solution is that multimedia streaming environments, such as IPTV ecosystems, are rarely monolithic but evolve over time with different evolution speeds in different sectors.
[0020] The reality is that at some moment the decision is taken for example by a telecom operator to introduce/integrate Fast Channel Change (FCC) technology into an existing IPTV ecosystem, such as a telecom operator's ecosystem of interconnected and integrated components that form the IPTV service.
[0021] In this case the need arises to integrate set top box (STB) software, Middeware, etc. with the FCC Solution, which requires participation of the vendors of corresponding components, and software modifications, bringing with it all kinds of requirements for resources, time and cost, as everything is integrated at the lower level FCC API (library).
[0022] This does not post a problem, when IPTV is introduced into the entire network of a provider for the first time, with all the necessary integrations that take place anyway. It is much harder to achieve at a later phase, however, when some time has passed already, and a "legacy" system is in place already. In this kind of situation it is impossible sometimes to integrate Fast Channel Change at all.
[0023] Furthermore, in some cases, when the Set Top Box or the client chip is hardwired to do all the work, i.e. joining multicast, rerouting traffic from network to decoder, decoding, etc., no software modification is possible by any software developer other than the chipmaker itself, which would make any modifications, and thus any improvements regarding packet loss recovery, virtually impossible.
[0024] Accordingly, there is a need for a system and method for packet loss recovery in a streaming media connection between a sender and receiver that overcomes the above mentioned problems, which can be introduced even in legacy IPTV environments with as little effort and software modification during installation and operation as possible.
[0025] To solve the above mentioned problems, a system and method for packet loss recovery in a streaming media connection between aa sender and receiver including a Retransmission Server is proposed, wherein a Local Retransmission Module is provided at the receiver side, which can be either a software package that runs in the Set Top Box or a hardwired device to which the Set Top Box, or any other client application, may be connected.
[0026] The Local Retransmission Agent or Module according to the invention is an autonomous module that can be implemented and embedded into the client device as a software or hardware.
[0027] The Retransmission Server is a software/hardware implementation of a packet cache that can be used by the client for streaming data pre fetch and lost packet recovery. In an actual implementation, the communication between the client may be accomplished by a connection oriented protocol, such as TCP, or by other protocols, such as UDP, IP, etc.
[0028] The communication between the client Application and Local Retransmission Module may be done in many ways. In a preferred implementation a HTTP protocol and the TCP based custom text protocol is used. However, any other protocols and IPC (inter-process communications) techniques may be used for this purpose. Such communication may even be implemented without an explicit protocol, with the Local Retransmission Module tracing (on OS or IGMP level) multicast join/leave requests from a client application and consider them as implicit commands, thus providing a 100% transparent system.
[0029] The Local Retransmission Module or Agent is a transparent service, handling packet loss recovery and data prefetch for fast channel change, and sends a UDP stream to the local network/loopback interface of the Set Top Box.
[0030] The Local network/loopback interface is a local network interface (real or simulated) that resides on the STB and can be accessed by the Client Application (for example: lo, ethO, ethl ...). Because the interface is local, there is practically no packet loss, and the stream can be reliably passed from the Local Retransmission Module to the Client Application.
[0031] Accordingly, the Client Application running on the Set Top Box will be able to receive and play streams without any need to integrate an external library for packet loss recovery into the application itself, as all packet loss recovery tasks are being taken over by the Local Retransmission Agent.
[0032] Now, this new "Transparent" technology enables integration of Fast Channel Change into existing IPTV ecosystems without the problems, connected with involving vendors of existing IPTV components. It means no software modification is needed because the transparent FCC is invisible for existing software components that run on STB - they just think they are working the usual way by joining network multicasts etc.
[0033] The client software on the Set Top Box communicates with the Local Retransmission Module for example via a TCP connection using custom text based protocol, or standard HTTP protocol, which could be simply accomplished for example using JavaScript. The client can send various stream related or configuration commands to the Local Retransmission Module, such as: tune, stop etc.
[0034] The Local Retransmission Module works with the Retransmission Server, establishing a reliable TCP connection to handle lost packet recovery, and data prefetch for fast channel change.
[0035] Providing the Local Retransmission Module on the side of the receiver dramatically reduces channel change time, if data prefetch and video stream keyframe indexing (MPEG2/MPEG4-H264) implemented in the Retransmission Server is used.
[0036] The typical channel change time is about 0.4 - 0.6 seconds, wherein the actual time depends on stream bitrate and encoding options, player video decoder settings, and line bandwidth.
[0037] Summing up, the advantages of using an approach as disclosed herein are:
• Transparency. The client application or Set Top Box simply receives the UDP stream from the Local Retransmission Module, with no need to interact with the UDP Retransmission Server directly.
• Easy integration. There is no need to link the client application running on a set top box with an external library.
• Simple command interface. Standard HTTP protocol, or custom TCP text based protocol may be used for the client application to communicate with the Local Retransmission Module.
[0038] Further features and advantages may be taken from the following description of a preferred embodiment of the invention with reference to the figures enclosed herewith, showing in: [0039] Fig. 1 a schematic diagram of a system according to the invention,
[0040] Fig. 2 a schematic flow diagram of the method steps on the side of the client module of the system according to Fig. 1, and
[0041] Fig. 3 a schematic flow diagram of the method steps on the side of the Local Retransmission Module of the system according to Fig. 1.
[0042] Fig. 1 shows a schematic view of a preferred embodiment of the proposed system according to the present invention.
[0043] What can be seen in Fig. 1 more specifically is a RTP/UDP Local Retransmission Agent (RRLA) 2, which is an autonomous module, that can be implemented and embedded into the client device 4 as a software or, as in the embodiment shown, hardware component in the form of a set top box (STB), which comprises the client module 6 as such.
[0044] What can be taken from Fig. 1 as well is RTP/UDP Retransmission Server 8, which is a software/hardware implementation of a packet cache, that can be used by the client device 4 and more particularly the Local Retransmission Agent 2 for stream data prefetch and lost packet recovery. In the actual implementation as shown in Fig. 1, the communication between the Local Retransmission Agent 2 and the Server 8 is accomplished by a connection oriented protocol (such as TCP) or by other protocols (UDP, IP, etc.)
[0045] The client module 6 in the embodiment as shown, is an application that plays a RTP/UDP stream. The RTP/UDP in this embodiment is not received from the RTP/UDP Server 8 directly, however, but from the Local Retransmission Agent (RRLA) 2, which adds the capability of fast channel change and lost packet recovery to the Client module 6 in a transparent manner.
[0046] The RTP/UDP Local Retransmission Agent (RRLA) 2 of the embodiment as shown is a transparent service, designed to run on client side, as for example a set top box device. It handles RTP packet loss recovery and data prefetch for fast channel change, and sends the UDP stream to the local network/loopback interface of the client module 6. Thus the client module 6 will be able to receive and play RTP/UDP streams without any need to integrate an external library into the client application. The client software of the module 6 communicates with the RRLA module 2 via a TCP connection using custom text based protocol, or standard HTTP protocol, which can be simply accomplished even with a high level language such as JavaScript. The client module 6 can send various stream related or configuration commands to the RRLA module 2, such as tune, stop etc. The RRLA module 2 works with RTP/UDP Retransmission Server 8. It establishes a reliable TCP connection to handle lost RTP/UDP packet recovery, and data prefetch for fast channel change. Channel change time is dramatically reduced by using data prefetch and video stream key-frame indexing (MPEG2/MPEG4-H264) implemented in the RTP/UDP Retransmission Server 8. The typical channel change time is about 0.4 - 0.6 seconds, while the actual time depends on the stream bitrate and encoding options, player video decoder settings, and line bandwidth.
[0047] As can be taken from Fig. 2, which shows a flow diagram of the method steps as performed by the client module 6 of the set top box 4, when a user requests a channel change in Step 10, the client module 6 sends a command to the RRLA 2 in step 12, so that in step 14 the client module 6 receives and plays a UDP stream from the RRLA module 2 on a loopback interface or local network interface.
[0048] In Fig. 3 the method steps as performed by the Local Retransmission Module 2 are described. In step 16 the Local Retransmission Module 2 establishes a connection with the RTP/UDP Retransmission Server 8 (if applicable). In step 20 the Local Retransmission Module 2 listen for the commands issued by the Client module 6. In step 22, when a tune command is received from the client module, the media stream data prefetch/multicast receiving/lost packet recovery (in conjunction with the RTP/UDP Retransmission Server 8) is performed. In step 26 the processed/corrected stream is send to the loopback interface or local network interface of the client module 6, thus making it available for the client module 6.

Claims

Claims
1. System for packet loss recovery in a streaming media connection between a sender and receiver, including a Retransmission Server, wherein a Local Retransmission Module, being adapted to handle packet loss recovery and data prefetch for fast channel change, is provided at the receiver side, communicating with the Retransmission Server, to which a client application, running on the receiver side, is connectable to receive a corrected stream.
2. System according to claim 1, wherein the Local Retransmission Module is a software package.
3. System according to claim 1, wherein the Local Retransmission Module is a hardwired device.
4. System according to any of claims 1 to 3, wherein the Local Retransmission Module is an autonomous module.
5. System according to claim 4, wherein the Local Retransmission Module is implemented and embedded into the client device.
6. System according to claim 5, wherein the Local Retransmission Module is implemented as a software or hardware.
7. System according to any of the preceding claims, wherein the communication between the client and the Local Retransmission Module is accomplished by a connection oriented protocol.
8. System according to any of the preceding claims, wherein the Local Retransmission Module is adapted to send a stream to a local network/loopback interface of the client application.
9. System according to any of the preceding claims, wherein the client application runs on a Set Top Box.
10. System according to claim 8, wherein the local network/loopback interface is a local network interface, residing on a Set Top Box, being accessible by the Client Application.
PCT/EP2013/056206 2012-04-23 2013-03-25 System for packet loss recovery WO2013160042A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1207046.2 2012-04-23
GB1207046.2A GB2501474A (en) 2012-04-23 2012-04-23 Supporting Fast-Channel Changing (FCC) at a client receiver

Publications (1)

Publication Number Publication Date
WO2013160042A1 true WO2013160042A1 (en) 2013-10-31

Family

ID=46261684

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2013/056206 WO2013160042A1 (en) 2012-04-23 2013-03-25 System for packet loss recovery

Country Status (2)

Country Link
GB (1) GB2501474A (en)
WO (1) WO2013160042A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9847852B2 (en) 2015-12-15 2017-12-19 At&T Intellectual Property I, L.P. System and method to request a portion of a media content item
CN112511277A (en) * 2020-11-24 2021-03-16 广州技象科技有限公司 Data processing method and device
CN114095796A (en) * 2020-07-30 2022-02-25 中国移动通信集团终端有限公司 Invalid retransmission packet reduction method, device, equipment and computer storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1811780A1 (en) * 2006-01-24 2007-07-25 Alcatel Lucent Access node with caching function for video channels
WO2009095078A1 (en) * 2008-01-31 2009-08-06 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for obtaining media over a communications network
US20100083328A1 (en) * 2008-09-24 2010-04-01 Alcatel-Lucent Client configuration and management for fast channel change of multimedia services

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7142255B2 (en) * 2003-10-08 2006-11-28 Silicon Laboratories Inc. Transport stream and channel selection system for digital video receiver systems and associated method
US7562375B2 (en) * 2003-10-10 2009-07-14 Microsoft Corporation Fast channel change
CA2679951A1 (en) * 2007-03-12 2008-09-18 Citrix Systems, Inc. Systems and methods for dynamic bandwidth control by proxy
EP2169954A1 (en) * 2008-09-24 2010-03-31 Alcatel Lucent Service configuration and management for fast channel change and reliable delivery of multimedia services
US8806551B2 (en) * 2008-12-03 2014-08-12 Alcatel Lucent Prioritized retransmission of internet protocol television (IPTV) packets
US8286217B2 (en) * 2009-09-18 2012-10-09 Espial Group Inc. Method and system for fast channel change
KR20120082416A (en) * 2009-10-07 2012-07-23 톰슨 라이센싱 An efficient application-layer automatic repeat request retransmission method for reliable real-time data streaming in networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1811780A1 (en) * 2006-01-24 2007-07-25 Alcatel Lucent Access node with caching function for video channels
WO2009095078A1 (en) * 2008-01-31 2009-08-06 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for obtaining media over a communications network
US20100083328A1 (en) * 2008-09-24 2010-04-01 Alcatel-Lucent Client configuration and management for fast channel change of multimedia services

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9847852B2 (en) 2015-12-15 2017-12-19 At&T Intellectual Property I, L.P. System and method to request a portion of a media content item
US10284341B2 (en) 2015-12-15 2019-05-07 At&T Intellectual Property I, L.P. System and method to request a portion of a media content item
CN114095796A (en) * 2020-07-30 2022-02-25 中国移动通信集团终端有限公司 Invalid retransmission packet reduction method, device, equipment and computer storage medium
CN112511277A (en) * 2020-11-24 2021-03-16 广州技象科技有限公司 Data processing method and device

Also Published As

Publication number Publication date
GB2501474A (en) 2013-10-30
GB201207046D0 (en) 2012-06-06

Similar Documents

Publication Publication Date Title
EP2719144B1 (en) On-demand adaptive bitrate management for streaming media over packet networks
US8718094B2 (en) Network optimized distribution
US8935736B2 (en) Channel switching method, channel switching device, and channel switching system
US8588077B2 (en) Retransmission-based stream repair and stream join
US20050254508A1 (en) Cooperation between packetized data bit-rate adaptation and data packet re-transmission
US8612620B2 (en) Client capability adjustment
EP2521298B1 (en) Method and apparatus for ensuring quality of service of internet protocol television live broadcast service
US8990407B2 (en) Fast setup response prediction
US9003050B2 (en) Distributed and scalable content streaming architecture
US8966559B2 (en) Method and device for ensuring reliability during transmission of television data in a television system based on internet protocol
US9647951B2 (en) Media stream rate reconstruction system and method
WO2013160042A1 (en) System for packet loss recovery
Begen et al. Reducing channel-change times with the real-time transport protocol
US20090257447A1 (en) Bit rate control
CN106792216B (en) Streaming media reading method in distributed file system and server
CN117041226A (en) Streaming media multi-channel transmission method based on multicast and QUIC protocol
GB2500406A (en) Providing rapid channel changes, with client itself assessing technical environment and network connection parameters

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

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

Country of ref document: EP

Kind code of ref document: A1