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/ |