--- 1/draft-ietf-rmcat-video-traffic-model-01.txt 2017-01-08 20:13:08.737894489 -0800 +++ 2/draft-ietf-rmcat-video-traffic-model-02.txt 2017-01-08 20:13:08.769895248 -0800 @@ -1,20 +1,20 @@ Network Working Group X. Zhu Internet-Draft S. Mena Intended status: Informational Cisco Systems -Expires: January 9, 2017 Z. Sarker +Expires: July 12, 2017 Z. Sarker Ericsson AB - July 8, 2016 + January 8, 2017 Modeling Video Traffic Sources for RMCAT Evaluations - draft-ietf-rmcat-video-traffic-model-01 + draft-ietf-rmcat-video-traffic-model-02 Abstract This document describes two reference video traffic source models for evaluating RMCAT candidate algorithms. The first model statistically characterizes the behavior of a live video encoder in response to changing requests on target video rate. The second model is trace- driven, and emulates the encoder output by scaling the pre-encoded video frame sizes from a widely used video test sequence. Both models are designed to strike a balance between simplicity, @@ -29,25 +29,25 @@ Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference 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 (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. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as @@ -55,36 +55,36 @@ Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Desired Behavior of A Synthetic Video Traffic Model . . . . . 3 4. Interactions Between Synthetic Video Traffic Source and Other Components at the Sender . . . . . . . . . . . . . . . 4 5. A Statistical Reference Model . . . . . . . . . . . . . . . . 6 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.4. Rate range limit imposed by video content . . . . . . . . 8 - 6. A Trace-Driven Model . . . . . . . . . . . . . . . . . . . . 8 + 5.4. Rate range limit imposed by video content . . . . . . . . 9 + 6. A Trace-Driven Model . . . . . . . . . . . . . . . . . . . . 9 6.1. Choosing the video sequence and generating the traces . . 9 - 6.2. Using the traces in the syntethic codec . . . . . . . . . 10 - 6.2.1. Main algorithm . . . . . . . . . . . . . . . . . . . 10 + 6.2. Using the traces in the syntethic codec . . . . . . . . . 11 + 6.2.1. Main algorithm . . . . . . . . . . . . . . . . . . . 11 6.2.2. Notes to the main algorithm . . . . . . . . . . . . . 12 - 6.3. Varying frame rate and resolution . . . . . . . . . . . . 12 - 7. Combining The Two Models . . . . . . . . . . . . . . . . . . 13 - 8. Implementation Status . . . . . . . . . . . . . . . . . . . . 14 - 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 + 6.3. Varying frame rate and resolution . . . . . . . . . . . . 13 + 7. Combining The Two Models . . . . . . . . . . . . . . . . . . 14 + 8. Implementation Status . . . . . . . . . . . . . . . . . . . . 15 + 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 10.1. Normative References . . . . . . . . . . . . . . . . . . 15 10.2. Informative References . . . . . . . . . . . . . . . . . 15 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 1. Introduction When evaluating candidate congestion control algorithms designed for real-time interactive media, it is important to account for the characteristics of traffic patterns generated from a live video encoder. Unlike synthetic traffic sources that can conform perfectly to the rate changing requests from the congestion control module, a live video encoder can be sluggish in reacting to such changes. Output rate of a live video encoder also typically deviates from the @@ -254,90 +254,109 @@ modules at the sender 5. A Statistical Reference Model In this section, we describe one simple statistical model of the live video encoder traffic source. Figure 2 summarizes the list of tunable parameters in this statistical model. A more comprehensive survey of popular methods for modelling video traffic source behavior can be found in [Tanwir2013]. - +---------------+--------------------------------+----------------+ + +==============+===================================+================+ | Notation | Parameter Name | Example Value | - +--------------+---------------------------------+----------------+ + +==============+===================================+================+ | 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 | - | K_d | Burst duration during transient | 5 frames | - | K_r | Burst size during transient | 5:1 | + +--------------+-----------------------------------+----------------+ + | K_d | Burst duration during transient | 8 frames | + +--------------+-----------------------------------+----------------+ + | K_B | Burst frame size during transient | 13.5 KBytes* | + +--------------+-----------------------------------+----------------+ | R_e(t) | Error in output rate at time t | 0.2 Mbps | - | SIGMA | standard deviation of normally | 0.1 | - | | distributed relative rate error | | - | DELTA | upper and lower bound (+/-) of | 0.1 | - | | uniformly distributed relative | | - | | rate error | | + +--------------+-----------------------------------+----------------+ + | SIGMA_t | standard deviation of normalized | | + | | frame interval (t/t0) | 0.25 | + +--------------+-----------------------------------+----------------+ + | 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.5Mbps | | | 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 source model. 5.1. Time-damped response to target rate update While the congestion control module can update its target rate 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 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 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 be in transient. Based on observations from video encoder output data, we model the transient behavior of an encoder upon reacting to - a new target rate request in the form of largely varying output - sizes. It is assumed that the overall average output rate R_o during - this period matches the target rate R_v. Consequently, the + a new target rate request in the form of high variation in output + frame sizes. It is assumed that the overall average output rate R_o + during this period matches the target rate R_v. Consequently, the occasional burst of large frames are followed by smaller-than average encoded frames. This temporary burst is characterized by two parameters: 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 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 - typical ratio between I and P frames for a given video content. + packet losses. The values of K_d and K_B typically depend on the + 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 We model output rate R_o as randomly fluctuating around the target - rate R_v after convergence. There are two variants in modeling the - random fluctuation R_e = R_o - R_v: + rate R_v after convergence. There exist two sources of variations in + the encoder output: - o As normal distribution: with a mean of zero and a standard - deviation SIGMA specified in terms of percentage of the target - rate. A typical value of SIGMA is 10 percent of target rate. + o Fluctuations in frame interval: the intervals between adjacent + frames have been observed to fluctuate around the reference + 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 - typical value of DELTA is 10 percent of target rate. + o Fluctuations in frame size: size of the output encoded frames also + 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 - or DELTA) can be learned from data samples gathered from a live - encoder output. + Both values of SIGMA_t and SIGMA_B can be obtained via parameter + fitting from empirical data captured for a given video encoder. 5.4. Rate range limit imposed by video content 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 complexity of the captured video content. In our model, these parameters are specified by the application. 6. A Trace-Driven Model @@ -600,27 +619,28 @@ +------>| frame from | steady-state | trace | +---------------+ Figure 3: Hybrid approach for modeling video traffic As shown in Figure 3, the video traffic model operates in transient state if the requested target rate R_v(t) is substantially higher than the previous target, or else it operates in steady state. 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 - times larger than average frame size at the target rate) followed by - K_d-1 small frames. When operating in steady-state, the video - traffic model simply generates a frame according to the trace-driven - model given the target rate. One example criteria for determining - whether the traffic model should operate in transient state is - whether the rate increase exceeds 20% of previous target rate. + statistical model, resulting in 1 big burst frame with size K_B + followed by K_d-1 smaller frames. When operating at steady-state, + the video traffic model simply generates a frame according to the + trace-driven model given the target rate, while modulating the frame + interval according to the distribution specified by the statistical + model. One example criteria for determining whether the traffic + model should operate in transient state is whether the rate increase + exceeds 10% of previous target rate. 8. Implementation Status The statistical model has been implemented as a traffic generator module within the [ns-2] network simulation platform. More recently, both the statistical and trace-driven models have been implemented as a stand-alone traffic source module. This can be easily integrated into network simulation platforms such as [ns-2] and [ns-3], as well as testbeds using a real network. The stand-