draft-ietf-rmcat-video-traffic-model-01.txt   draft-ietf-rmcat-video-traffic-model-02.txt 
Network Working Group X. Zhu Network Working Group X. Zhu
Internet-Draft S. Mena Internet-Draft S. Mena
Intended status: Informational Cisco Systems Intended status: Informational Cisco Systems
Expires: January 9, 2017 Z. Sarker Expires: July 12, 2017 Z. Sarker
Ericsson AB Ericsson AB
July 8, 2016 January 8, 2017
Modeling Video Traffic Sources for RMCAT Evaluations Modeling Video Traffic Sources for RMCAT Evaluations
draft-ietf-rmcat-video-traffic-model-01 draft-ietf-rmcat-video-traffic-model-02
Abstract Abstract
This document describes two reference video traffic source models for This document describes two reference video traffic source models for
evaluating RMCAT candidate algorithms. The first model statistically evaluating RMCAT candidate algorithms. The first model statistically
characterizes the behavior of a live video encoder in response to characterizes the behavior of a live video encoder in response to
changing requests on target video rate. The second model is trace- changing requests on target video rate. The second model is trace-
driven, and emulates the encoder output by scaling the pre-encoded driven, and emulates the encoder output by scaling the pre-encoded
video frame sizes from a widely used video test sequence. Both video frame sizes from a widely used video test sequence. Both
models are designed to strike a balance between simplicity, models are designed to strike a balance between simplicity,
skipping to change at page 1, line 40 skipping to change at page 1, line 40
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 9, 2017. This Internet-Draft will expire on July 12, 2017.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
skipping to change at page 2, line 20 skipping to change at page 2, line 20
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Desired Behavior of A Synthetic Video Traffic Model . . . . . 3 3. Desired Behavior of A Synthetic Video Traffic Model . . . . . 3
4. Interactions Between Synthetic Video Traffic Source and 4. Interactions Between Synthetic Video Traffic Source and
Other Components at the Sender . . . . . . . . . . . . . . . 4 Other Components at the Sender . . . . . . . . . . . . . . . 4
5. A Statistical Reference Model . . . . . . . . . . . . . . . . 6 5. A Statistical Reference Model . . . . . . . . . . . . . . . . 6
5.1. Time-damped response to target rate update . . . . . . . 7 5.1. Time-damped response to target rate update . . . . . . . 7
5.2. Temporary burst/oscillation during transient . . . . . . 7 5.2. Temporary burst and oscillation during transient . . . . 8
5.3. Output rate fluctuation at steady state . . . . . . . . . 8 5.3. Output rate fluctuation at steady state . . . . . . . . . 8
5.4. Rate range limit imposed by video content . . . . . . . . 8 5.4. Rate range limit imposed by video content . . . . . . . . 9
6. A Trace-Driven Model . . . . . . . . . . . . . . . . . . . . 8 6. A Trace-Driven Model . . . . . . . . . . . . . . . . . . . . 9
6.1. Choosing the video sequence and generating the traces . . 9 6.1. Choosing the video sequence and generating the traces . . 9
6.2. Using the traces in the syntethic codec . . . . . . . . . 10 6.2. Using the traces in the syntethic codec . . . . . . . . . 11
6.2.1. Main algorithm . . . . . . . . . . . . . . . . . . . 10 6.2.1. Main algorithm . . . . . . . . . . . . . . . . . . . 11
6.2.2. Notes to the main algorithm . . . . . . . . . . . . . 12 6.2.2. Notes to the main algorithm . . . . . . . . . . . . . 12
6.3. Varying frame rate and resolution . . . . . . . . . . . . 12 6.3. Varying frame rate and resolution . . . . . . . . . . . . 13
7. Combining The Two Models . . . . . . . . . . . . . . . . . . 13 7. Combining The Two Models . . . . . . . . . . . . . . . . . . 14
8. Implementation Status . . . . . . . . . . . . . . . . . . . . 14 8. Implementation Status . . . . . . . . . . . . . . . . . . . . 15
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 15
10.1. Normative References . . . . . . . . . . . . . . . . . . 15 10.1. Normative References . . . . . . . . . . . . . . . . . . 15
10.2. Informative References . . . . . . . . . . . . . . . . . 15 10.2. Informative References . . . . . . . . . . . . . . . . . 15
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16
1. Introduction 1. Introduction
When evaluating candidate congestion control algorithms designed for When evaluating candidate congestion control algorithms designed for
real-time interactive media, it is important to account for the real-time interactive media, it is important to account for the
characteristics of traffic patterns generated from a live video characteristics of traffic patterns generated from a live video
encoder. Unlike synthetic traffic sources that can conform perfectly encoder. Unlike synthetic traffic sources that can conform perfectly
to the rate changing requests from the congestion control module, a to the rate changing requests from the congestion control module, a
live video encoder can be sluggish in reacting to such changes. live video encoder can be sluggish in reacting to such changes.
Output rate of a live video encoder also typically deviates from the Output rate of a live video encoder also typically deviates from the
skipping to change at page 7, line 5 skipping to change at page 7, line 5
modules at the sender modules at the sender
5. A Statistical Reference Model 5. A Statistical Reference Model
In this section, we describe one simple statistical model of the live In this section, we describe one simple statistical model of the live
video encoder traffic source. Figure 2 summarizes the list of video encoder traffic source. Figure 2 summarizes the list of
tunable parameters in this statistical model. A more comprehensive tunable parameters in this statistical model. A more comprehensive
survey of popular methods for modelling video traffic source behavior survey of popular methods for modelling video traffic source behavior
can be found in [Tanwir2013]. can be found in [Tanwir2013].
+---------------+--------------------------------+----------------+ +==============+===================================+================+
| Notation | Parameter Name | Example Value | | Notation | Parameter Name | Example Value |
+--------------+---------------------------------+----------------+ +==============+===================================+================+
| R_v(t) | Target rate request at time t | 1 Mbps | | R_v(t) | Target rate request at time t | 1 Mbps |
| R_o(t) | Output rate at time t | 1.2 Mbps | +--------------+-----------------------------------+----------------+
| tau_v | Encoder reaction latency | 0.2 s | | R_o(t) | Output rate at time t | 1.2 Mbps |
| K_d | Burst duration during transient | 5 frames | +--------------+-----------------------------------+----------------+
| K_r | Burst size during transient | 5:1 | | tau_v | Encoder reaction latency | 0.2 s |
| R_e(t) | Error in output rate at time t | 0.2 Mbps | +--------------+-----------------------------------+----------------+
| SIGMA | standard deviation of normally | 0.1 | | K_d | Burst duration during transient | 8 frames |
| | distributed relative rate error | | +--------------+-----------------------------------+----------------+
| DELTA | upper and lower bound (+/-) of | 0.1 | | K_B | Burst frame size during transient | 13.5 KBytes* |
| | uniformly distributed relative | | +--------------+-----------------------------------+----------------+
| | rate error | | | R_e(t) | Error in output rate at time t | 0.2 Mbps |
| R_min | minimum rate supported by video | 150 Kbps | +--------------+-----------------------------------+----------------+
| | encoder or content activity | | | SIGMA_t | standard deviation of normalized | |
| R_max | maximum rate supported by video | 1.5Mbps | | | frame interval (t/t0) | 0.25 |
| | encoder or content activity | | +--------------+-----------------------------------+----------------+
+--------------+---------------------------------+----------------+ | SIGMA_B | standard deviation of normalized | 0.1 |
| | frame size (B/B0) | |
+--------------+-----------------------------------+----------------+
| R_min | minimum rate supported by video | 150 Kbps |
| | encoder or content activity | |
+--------------+-----------------------------------+----------------+
| R_max | maximum rate supported by video | 1.5 Mbps |
| | encoder or content activity | |
+==============+===================================+================+
* Example value of K_B for a video stream encoded at 720p and 30 frames
per second, using H.264/AVC encoder.
Figure 2: List of tunable parameters in a statistical video traffic Figure 2: List of tunable parameters in a statistical video traffic
source model. source model.
5.1. Time-damped response to target rate update 5.1. Time-damped response to target rate update
While the congestion control module can update its target rate While the congestion control module can update its target rate
request R_v(t) at any time, our model dictates that the encoder will request R_v(t) at any time, our model dictates that the encoder will
only react to such changes after tau_v seconds from a previous rate only react to such changes after tau_v seconds from a previous rate
transition. In other words, when the encoder has reacted to a rate transition. In other words, when the encoder has reacted to a rate
change request at time t, it will simply ignore all subsequent rate change request at time t, it will simply ignore all subsequent rate
change requests until time t+tau_v. change requests until time t+tau_v.
5.2. Temporary burst/oscillation during transient 5.2. Temporary burst and oscillation during transient
The output rate R_o during the period [t, t+tau_v] is considered to The output rate R_o during the period [t, t+tau_v] is considered to
be in transient. Based on observations from video encoder output be in transient. Based on observations from video encoder output
data, we model the transient behavior of an encoder upon reacting to data, we model the transient behavior of an encoder upon reacting to
a new target rate request in the form of largely varying output a new target rate request in the form of high variation in output
sizes. It is assumed that the overall average output rate R_o during frame sizes. It is assumed that the overall average output rate R_o
this period matches the target rate R_v. Consequently, the during this period matches the target rate R_v. Consequently, the
occasional burst of large frames are followed by smaller-than average occasional burst of large frames are followed by smaller-than average
encoded frames. encoded frames.
This temporary burst is characterized by two parameters: This temporary burst is characterized by two parameters:
o burst duration K_d: number frames in the burst event; and o burst duration K_d: number frames in the burst event; and
o burst size K_r: ratio of a burst frame and average frame size at
steady state. o burst frame size K_B: size of the initial burst frame which is
typically significantly larger than average frame size at steady
state.
It can be noted that these burst parameters can also be used to mimic It can be noted that these burst parameters can also be used to mimic
the insertion of a large on-demand I frame in the presence of severe the insertion of a large on-demand I frame in the presence of severe
packet losses. The values of K_d and K_r are fitted to reflect the packet losses. The values of K_d and K_B typically depend on the
typical ratio between I and P frames for a given video content. type of video codec, spatial and temporal resolution of the encoded
stream, as well as the video content activity level.
5.3. Output rate fluctuation at steady state 5.3. Output rate fluctuation at steady state
We model output rate R_o as randomly fluctuating around the target We model output rate R_o as randomly fluctuating around the target
rate R_v after convergence. There are two variants in modeling the rate R_v after convergence. There exist two sources of variations in
random fluctuation R_e = R_o - R_v: the encoder output:
o As normal distribution: with a mean of zero and a standard o Fluctuations in frame interval: the intervals between adjacent
deviation SIGMA specified in terms of percentage of the target frames have been observed to fluctuate around the reference
rate. A typical value of SIGMA is 10 percent of target rate. interval of t0 = 1/FPS. They roughly follow a Gaussian
distribution, and can be modelled with the parameter SIGMA_t,
which denotes the standard deviation of the normalized frame
interval (ratio between actual and reference frame interval).
o As uniform distribution bounded between -DELTA and DELTA. A o Fluctuations in frame size: size of the output encoded frames also
typical value of DELTA is 10 percent of target rate. tend to fluctuate around the reference frame size B0=R_v/8/FPS.
They can also be modelled via a Gaussian distribution, with the
SIGMA_B denoting the standard deviation of the normalized frame
size (ratio between actual and reference frame size).
The distribution type (normal or uniform) and model parameters (SIGMA Both values of SIGMA_t and SIGMA_B can be obtained via parameter
or DELTA) can be learned from data samples gathered from a live fitting from empirical data captured for a given video encoder.
encoder output.
5.4. Rate range limit imposed by video content 5.4. Rate range limit imposed by video content
The output rate R_o is further clipped within the dynamic range The output rate R_o is further clipped within the dynamic range
[R_min, R_max], which in reality are dictated by scene and motion [R_min, R_max], which in reality are dictated by scene and motion
complexity of the captured video content. In our model, these complexity of the captured video content. In our model, these
parameters are specified by the application. parameters are specified by the application.
6. A Trace-Driven Model 6. A Trace-Driven Model
skipping to change at page 14, line 25 skipping to change at page 14, line 47
+------>| frame from | +------>| frame from |
steady-state | trace | steady-state | trace |
+---------------+ +---------------+
Figure 3: Hybrid approach for modeling video traffic Figure 3: Hybrid approach for modeling video traffic
As shown in Figure 3, the video traffic model operates in transient As shown in Figure 3, the video traffic model operates in transient
state if the requested target rate R_v(t) is substantially higher state if the requested target rate R_v(t) is substantially higher
than the previous target, or else it operates in steady state. than the previous target, or else it operates in steady state.
During transient state, a total of K_d frames are generated by the During transient state, a total of K_d frames are generated by the
statistical model, resulting in 1 big burst frame (on average K_r statistical model, resulting in 1 big burst frame with size K_B
times larger than average frame size at the target rate) followed by followed by K_d-1 smaller frames. When operating at steady-state,
K_d-1 small frames. When operating in steady-state, the video the video traffic model simply generates a frame according to the
traffic model simply generates a frame according to the trace-driven trace-driven model given the target rate, while modulating the frame
model given the target rate. One example criteria for determining interval according to the distribution specified by the statistical
whether the traffic model should operate in transient state is model. One example criteria for determining whether the traffic
whether the rate increase exceeds 20% of previous target rate. model should operate in transient state is whether the rate increase
exceeds 10% of previous target rate.
8. Implementation Status 8. Implementation Status
The statistical model has been implemented as a traffic generator The statistical model has been implemented as a traffic generator
module within the [ns-2] network simulation platform. module within the [ns-2] network simulation platform.
More recently, both the statistical and trace-driven models have been More recently, both the statistical and trace-driven models have been
implemented as a stand-alone traffic source module. This can be implemented as a stand-alone traffic source module. This can be
easily integrated into network simulation platforms such as [ns-2] easily integrated into network simulation platforms such as [ns-2]
and [ns-3], as well as testbeds using a real network. The stand- and [ns-3], as well as testbeds using a real network. The stand-
 End of changes. 20 change blocks. 
59 lines changed or deleted 79 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/