Claypool

Courses

Publications

Students

Projects

Service

Downloads

Misc


WPI Worcester Polytechnic Institute

Computer Science Department
------------------------------------------

Demonstration of Adjusting Forward Error Correction with Temporal Scaling For TCP-Friendly Streaming MPEG

(Technical Demonstration)

Huahui Wu, Mark Claypool, Robert Kinicki

Computer Science Department
Worcester Polytechnic Institute
Worcester, MA 01609, USA

Overview

Results

Demonstration

Contact

Overview

As the number of active Internet users continues to grow and streaming media applications become more commonplace, the number of users and volume of data traversing the Internet is increasing in explosive proportions. The sheer number of possible users and applications at any point in time raises the probability of streaming multimedia flows encountering congestion.

To overcome short-term congestion and avoid long-term congestion collapse, there is a growing consensus that all Internet applications must be TCP-Friendly. In fact, there are proposed approaches to detect and restrict the bandwidth of non-TCP friendly flows. Thus, many new streaming media protocols are TCP-friendly, but do not use TCP's retransmissions to avoid excessive delay and delay jitter, leaving the media flow susceptible to quality degradation from packet loss.

While multimedia applications can tolerate some data loss, excessive packet loss during congestion yields unacceptable media quality. Since video encoding involves interframe dependencies to achieve high compression rates, the random dropping of packets by routers can seriously degrade video quality. In MPEG, for example, dropping packets from an independently encoded I frame causes the following dependent P and B frames to not be fully decodable. In practice, interframe dependencies have been shown to cause a 3% packet loss rate to result in a 30% frame loss rate.

Streaming media flows often utilize lower latency repair approaches, such as Forward Error Correction (FEC), in conjunction with TCP-Friendly protocols to deliver streaming applications over the Internet. However, FEC requires additional repair data to be added to the original video data. If a streaming video is to operate within TCP-Friendly bandwidth limits, the additional FEC data will reduce the effective transmission rate of the original video content.

Selecting the best distribution of FEC packets within video frames with inherent interframe encoding dependencies can be cast as a constrained optimization problem that attempts to optimize the quality of the video stream. Current approaches use either apriori, static FEC choices or adapt FEC to perceived packet loss on the network without regard to TCP-Friendly data rate constraints.

To preserve real-time streaming media playout, multimedia servers must scale back their streaming data rate to match the TCP-Friendly data rate, an approach called media scaling. Temporal scaling is a widely used form of media scaling whereby the multimedia server selectively discards frames prior to transmission. Armed with knowledge about the relative importance of specific frame types and interframe dependencies, a multimedia application can discard the least significant packets with respect to perceived quality, while a congested router can only randomly drop packets.

We derive an analytic model that characterizes the performance of temporally scaled MPEG video with Forward Error Correction in the presence of packet loss. Given parameters to represent network loss, and MPEG frame types and sizes, our model allows specification of the number of FEC packets per MPEG frame type and temporal scaling pattern and computes the total playable frame rate. We represent a presentation layer network protocol by using our model to exhaustively search all possible combinations of FEC and temporal scaling patterns to find the combination of FEC and temporal scaling that yields the maximum playable frame rate under the TCP-Friendly bandwidth constraint. The analytic calculations required by the search can be done in real-time, making the determination of optimal choices for adaptive FEC feasible for most streaming multimedia connections.

For details on our approach, including extensive evaluation, see the following papers:

Overview

Results

Demonstration

Contact

Results in Brief

To provide a brief look at the possible benefits of our approach, we compare the playable frame rate for four FEC choices:

  1. Fixed FEC (1/0/0): Each I frame receives 1 FEC packet. This simple FEC pattern protects the most important frame, the I frame. Repairing the I frame is a scheme used by other researchers.
  2. Fixed FEC (4/2/1): The sender protects each I frame with 4 FEC packets, each P frame with 2 FEC packets and each B frame with 1 FEC packet. This FEC pattern provides strong protection to each frame and roughly represents the relative importance of the I, P and B frames. For typical MPEG movies, this adds approximately 15\% overhead for each type of frame, which is typical for many fixed FEC approaches.
  3. Adjusted FEC: Before transmitting, the sender uses our approach to determine the FEC and temporal scaling patterns that produce the maximum playable frame rate and uses these for the entire video transmission.
  4. Non-FEC: The sender adds no FEC to the video.

In all cases, the total bandwidth used by the MPEG video plus FEC is temporally scaled to meet TCP-friendly bandwidth constraints.

a. Comparison of Playable Frame Rates (Small Frame Sizes)

b. Comparison of Playable Frame Rates (Medium Frame Sizes)

c. Comparison of Playable Frame Rates (Large Frame Sizes)

The figures depict the playable frame rates for each FEC choice. For all figures, the x-axes are the packet loss probabilities, and the y-axes are the playable frame rates. For frame rate targets: 24-30 frames per second is full-motion video, 15 frames per second can approximate full motion video for some video content, 7 frames per second appears choppy, and at 3 frames per second or under a video becomes a series of still pictures.

From the Figure, adjusted FEC provides the highest playable frame rate under all network and video conditions. For the typical video size (b), the benefits of adjusted FEC over non-FEC is substantial, more than doubling the frame rate at 1% loss, and still surpassing the minimum 3 fps at 4% loss. The two fixed FEC approaches usually improve playable frame rates over non-FEC video, and FEC(4/2/1) even achieves the playable frame rate provided by adjusted FEC for a few loss rates, such as 2.5%.

For the smaller video frame sizes (a), created by halving the frame sizes and doubling the round-trip time in order to provide an available bandwidth that allows for visual comparison between graphs, FEC(1/0/0) does substantially better, coming closer to the maximum frame rate achieved by adjusted FEC. FEC(4/2/1) does worse even than non-FEC, since the fixed number of FEC packets added is a larger fraction of overhead for the smaller video frames.

For the larger video frame sizes (c), created by doubling the frame sizes and halving the round-trip time, FEC(4/2/1) does substantially better, providing close to the maximum frame rate achieved by adjusted FEC. FEC(1/0/0) does significantly worse since it does not provide enough protection for the larger frame sizes, with frame rates well below that of adjusted FEC, but still provides improvement over non-FEC.

Additional analysis and evaluation of our adjusted FEC approach and other fixed FEC schemes can be found in the papers listed at the end of the introduction.

Overview

Results

Demonstration

Contact

Demonstration

Original Clip (30 fps)
Non-FEC 2% loss (8.4 fps) 3% loss (4.0 fps) 4% loss (1.6 fps)
Fixed FEC (1,0,0) 2% loss (12.5 fps) 3% loss (6.6 fps) 4% loss (3.1 fps)
Fixed FEC (4,2,1) 2% loss (12.4 fps) 3% loss (7.5 fps) 4% loss (2.5 fps)
Ajusted FEC 2% loss (16.6 fps) 3% loss (9.5 fps) 4% loss (3.9 fps)

Overview

Results

Demonstration

Contact

Contact Information

For questions or comments, please send email to: