Performance Evaluation of a Scene-based Model for ...

3 downloads 0 Views 512KB Size Report
An MPEG stream can be modelled at di erent layers (scene, GOP, frame or .... capture the behaviour of these applications in its tra c generation. The tra c ... the scene change e ects in all MPEG frame types (I, P and B). ..... mtv1 mtv2 news. 1.
Performance Evaluation of a Scene-based Model for VBR MPEG Trac A. Mashat and M. Kara ATM-Multimedia Group http://www.scs.leeds.ac.uk/atm-mm/ School of Computer Studies The University of Leeds, Leeds LS2 9JT, UK E-mail: fabdul,[email protected] Abstract

Variable Bit Rate (VBR) MPEG trac is expected to be one of the major trac sources for high speed networks. Compressed video trac (MPEG) exhibits complex patterns which vary from one stream to another. One of the most important reasons for these uctuations (or patterns) in the overall bit rate are the scene changes within a video stream. The aim of this paper is two-fold: (1) to explore the statistical characteristics of VBR video MPEG trac; (2) to propose a novel Scene-based model considering scene change characteristics. We analyse the scene changes within an MPEG stream in more detail including scene change identi cation techniques. An MPEG stream can be modelled at di erent layers (scene, GOP, frame or slide). At the GOP level, two simple Markovian models are introduced incorporating the Histogram-based model and the Detailed Markov Chain model (DMC). We show that the Histogram model does not approximate the dependency feature while DMC is only adequate to capture the Short Range Dependency (SRD) feature of the real MPEG stream. Compared to Markovian models, we show that the proposed model (Scene-based) provides a good approximation of the statistical characteristics behaviour of the real MPEG stream. We also show that the model is capable of capturing the Long Range Dependency (LRD) feature of such trac. To examine the appropriateness and limitations of these models, simulation experiments are conducted to study the performance over an ATM multiplexer using the generated (synthetic) sequence based on the presented models and the real trac. We then construct a synthetic VBR MPEG trac to emulate a realistic trac as input to the network for a workload model (as an application level trac generator).

1 Introduction For ecient trac management in a high speed network, it is important to know the basic characteristics of multimedia trac [Venturin95]. This information can be used either to study the network utilisation or to develop appropriate control schemes for handling multimedia trac. In order to achieve that, a trac source model should be developed based on the measurements of the existing multimedia applications. A stream of trac on a network channel could be generated from one call or a superposition of more than one individual call. A number of models have been proposed to approximate individual and/or aggregate trac sources [Frost94, Heyman92, Conti96]. There are many trac models that have been proposed, starting from a basic model to a more complex one [Izquierdo96, Heyman92, Doulamis96, Rose95b, Habib92, Daigle86, Frost94]. Generally, multimedia trac models are based on a stochastic process and most of the trac models use Markov Chain (MC) method because it can easily be used to characterise the alternating arrival process [Habib92]. The simplest and the most commonly used trac model is the simple Poisson model which assumes that the arrival process is a Poisson process. However, for a high speed network, the trac is more bursty than in a Poisson process [Liu92]. Complex trac models are useful only when their parameters can be estimated accurately. In some models, it is possible to achieve di erent classes of trac characterisation by varying the model parameters even when the 1

model is simple (for instance an On/O source). An overview of these models can be found in [Frost94, Rose95a, Izquierdo96]. Nowadays, video becomes an increasingly important component of multimedia communications because of the increasing user demand for video and rapid advances in coding algorithms. The focus of this paper is on a particular coding algorithm which has recently received a great attention, namely the Motion Picture Experts (MPEG) standard. We have focused on MPEG because it is widely available and it has been standardised by CCITT. In addition, MPEG is an example of Variable Bit Rate (VBR) video trac. One of the most important reasons for the uctuations in the over all bit rate are the scene changes within the video stream. In [Kara97] and [Mashat98a], we showed that the amount of activities within an MPEG stream a ects not only the trac model but also the queuing performance at an ATM multiplexer. Thus, the scene change should be incorporated at the characterisation process. Various models have been proposed for VBR MPEG trac [Kara97] [Rose95b] [Stamoulis94] [Heyman92] and [Frost94], but a few models incorporate scene changes [Krunz96] [Lazar93] and [Heyman96]. Typically, there are three approaches that can be used to model MPEG video trac:  Markov Chains [Daigle86, Chu95, Heyman92]: Video trac can be approximated by a twostate Markov chain, one state represents peak rate while the other represents minimum rate. A simulation result showed that the two-state Markov chain model is not accurate enough for statistical studies [Heyman92]. However, a detailed Markov chain model with more nite-states provides enough accuracy to be useful in trac studies [Chu95].  A video model based on Autoregressive processes (AR) [Doulamis96]: This type of model matches the features of video trac: distribution and autocorrelation. An autoregressive model of order 2 ts the data well in a statistical sense, but it does not produce enough large values to be good for trac studies [Hyman92].  Self-similar or fractal models [Izquierdo96]: These models are based on a self-similar process. Such a process is called self-similar if the samples for that process appear 'similar' regardless of the duration of the sampling interval. One of the important characteristics of this process are long range dependencies. The source model1 can not only be used for the trac characterisation, but also used to generate a synthetic trac with a similar behaviour of the real trac. There are many advantages from generating a synthetic video trac specially at performance studies. The performace studies can be carried out without providing the actual video traces. Furthermore, a stochastic model encompasses many realisations (sample path) which represent 'structurally' similar but not identical streams [Krunz96]. Therefore, generated streams are ideal for performance evaluation studies specially statistical multiplexing studies. Any study of high speed networks requires a workload model to test the performance of designs [Liu92]. Trac models which approximate the trac characteristics are used in these studies. A workload can be presented as generated trac with speci c characteristics. A more appropriate design for a realistic workload model is one that emulates multimedia applications. An example of such a tool has been under development at the University of Leeds, and is called an application level trac generator [Kara95]. This distinguishes itself from other trac generators because it aims to capture the behaviour of these applications in its trac generation. The trac characterisation and analysis could be used to develop a model which captures the main features of the trac. There are many trac models which have been constructed for use within the workload model as representative examples of multimedia trac. It is important to mention that for the workload model we need a simple and ecient model with a small number of parameters. More complex models require more accurate parameters. Therefore, the choice of the models to be used will depend on the performance measurements of the realistic trac. 1 In this paper, the terms \source model" and \trac model" will be used interchangeably.

2

This paper presents the analysis undertaken as well as the integration of MPEG sources for this workload model. The aim of our work is to provide a simple and ecient source model for VBR MPEG trac to generate synthetic trac for the application level trac generator. Our statistical approach di ers from other studies [Rose95a,Heyman92] in several aspects such as, examining a wide range of MPEG sequences with various amount of activity including sport, movie and video conference events. This means that we are considering not only the statistical characteristics but also the amount of scene changes within the MPEG sequence. Furthermore, we are considering the scene change e ects in all MPEG frame types (I, P and B). We are also analysing a higher level of modelling than frame based (scene and GOP levels). In order to ful ll the statistical analysis and the generation processes, three main tasks are performed (See Figure 1): 1. Analysing empirical data sets for various MPEG sequences to de ne the statistical characteristics. This includes de ning the characteristics of VBR MPEG streams in terms of their statistical behaviour. We will use three statistical measures: Distribution, AutoCorrelation Function (ACF) and Scene change. 2. We then formulate the statistical results using a suitable model which captures the statistical behaviour of the empirical data. In order to evaluate the model, we need to examine whether the model is able to approximate the statistical behaviour of the real MPEG sequences or not. We then compare a simulation result of the model with the real empirical data to examine the performance impact. 3. Lastly, we use the model to generate a synthetic trac with similar characteristics of the real trac. This process includes an integration of VBR MPEG sources to the workload model.

Traffic Characterisation Process

Statistical Modelling Process

Statistical Distribution Analysis

Dependency Autocorrelation Analysis

Histogram Model

DMC Model

Scene Change Analysis

Scene Based Model

Markovian Models

Synthetic Traffic Generation Process

1111111111111111111111111111111111111111111111111 0000000000000000000000000000000000000000000000000 GOP Sequence 0000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111 0000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111 0000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111 0000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111 Frame ’IPB’ Pattern 0000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111 Performacne Evaluation Process

Figure 1: The Statistical Analysis and the Generation Processes

This paper is organised as follows: In the next section, we analyse the statistical characteristics of various MPEG sequences to determine their statistical properties. In addition, we present two 3

methods to identify the scene changes within an MPEG stream. In section 3, we undertake the statistical modelling of an MPEG-Coded stream. Two simple Markovian based models and one scene based model for VBR MPEG trac are presented. We introduce the formulation process and parameterisation of the models using the statistical behaviour. Furthermore, a validation of the models is performed to assess its suitability to capture the statistical behaviour of the empirical sequence. Section 4 depicts the integration process of the MPEG sources onto the multimedia workload model including the frame generation process from GOP sequence. We conclude in Section 5.

2 Statistical Characterisation of MPEG-Coded Sequence This section characterises VBR MPEG streams in terms of their statistical behaviour. Three statistical measures are introduced to characterise various MPEG streams, namely distribution, autocorrelation function and scene change. These measures are the focus of our statistical study because the distribution parameters are important to describe and understand the main features of MPEG trac while the correlations have a great impact on the queuing performance of a statistical multiplexer [Sriram86]. Furthermore, one of the most important reasons for the uctuations in the over all bit rate are the scene changes within the video stream [Lazar93]. This section is organised as follows: Firstly, we present a brief description of an MPEG-I encoder. We then analyse the MPEG behaviour and examine some statistical characteristics of MPEG trac using the rst two measures (distribution and correlation). Lastly, two methods are introduced to identify the scene changes within an MPEG stream.

2.1 MPEG Encoder

The MPEG coding algorithm was developed initially to store a compressed video on digital-storage media [Pancha93]. MPEG is a exible coding scheme which makes this type of coding widely spread and most frequently used for video encoding [Bunzel94]. A variety of video applications (including video conferencing) use the MPEG coding scheme for reducing the required bandwidth [Rose95a]. There are two main types of MPEG coding schemes for video: MPEG-I and MPEG-II. Two more types are currently under development: MPEG-4, a standard for multimedia applications, and MPEG-7, a content representation standard for information search [ISO/IEC97]. The basic scheme of MPEG coding is to predict motion from frame to frame in the temporal direction, and then to use DCTs (Discrete Cosine Transforms) to organise the redundancy in the spatial directions. Thus, MPEG coding is a combination of interframe and intraframe coding techniques. Considering the output of an MPEG-I encoder, the reduction can be achieved by producing three types of frames I, P and B frames (see Figure 2):  I Frame (Intra frame): I frames are simply frames coded as a still image, not using any past history.  P Frame (Predictive frame): P frames are predicted from the most recently reconstructed I or P frame.  B Frame (Bidirectional predictive): B frames are predicted from the closest two I or P frames, one in the past and one in the future. As a result, MPEG-I can be distinguished from other encoding schemes by bi-directional temporal prediction [Conti96]. Each of these frames uses a di erent coding algorithm. An MPEG encoder repeats these frames periodically. Each frame contains a two dimensional array of picture elements called pels. The output of the encoded stream (the sequence of decoded frames) contains a deterministic periodic sequence of frames such as [IBBPBBPBBPBB] which is called Group Of Pictures (GOP). An MPEG video stream can be classi ed into three layers: scene layer (contains almost the same pictures), GOP layer (contains a deterministic periodic sequence of frames) and frame layer 4

(contains di erent types of frames). The duration of these layers varies from tens of milliseconds to several seconds. MPEG trac can be characterised using di erent levels: macroblock, slide, frame, GOP , or even the entire MPEG stream. However, we will be focusing on GOP level in our modelling because a GOP contains most of the picture's details (for our data trace, every GOP is composed of one 'I' frame which contains most of the picture information and three 'P' frames. In addition, there are 8 frames of type 'B' which contain information of any changes with the previous GOPs). GOP is also playing the most important role concerning autocorrelation e ects of an MPEG sequence because the GOP xes the periodic picture of the sequence. This could be seen when multiple MPEG streams are multiplexed [Mashat98a]. GOP I

B

B

P

B

B

P

B

B

P

B

B

I

B

Mpeg Frame

Figure 2: Encoded MPEG Video Stream

2.2 Statistical Analysis of an MPEG Pattern

It is dicult to characterise a video trac by using a short sequence of real data (few seconds). For our statistical analysis study, we use a long sequence of real MPEG video (about 30 min) which contains 40000 frames. Empirical data sets for MPEG video streams have been retrieved from the ftp site [Wurzburg95]. The video streams have been encoded at the Institute of Computer science, University of Wurzburg. These sets represent frame size traces from MPEG-I encoded video sequences with encoder input 384X288 pel (Berkeley MPEG-encoder ver. 1.3 has been used). The traced videos were captured in motion-JPEG format from VCR (VHS) with a captured rate between 19 to 25 fps. Table 1 shows the most important statistical moments (frame-based) that we have obtained for some video sequence classes, including movies, sport events, TV shows and video conferencing. The table gives a general picture of the video sequence in terms of the variation and burstiness features. From the table we observe that some events (such as 'Race') lead to an MPEG sequence with a high peak. Moreover, some other events (such as 'Star Wars') have high peak-to-mean ratio. The statistical properties of these video sequences are di erent depending on the moving activities of the sequence. For example, the size of B frames in the sport sequences has a large amount of change (in some cases it has the same size as P frames (see Figure 3(b))). This indicates a large number of movements in the input encoded sequence. The amount of activity within the video stream a ects the support and management of QoS quarantees. Therefore, the amount of activities has to be considered at the modelling process. Generally speaking , it is possible to classify an MPEG sequence into three classi cations according to the amount of movements during the video sequence: High, Moderate and Low activity classes. The behaviour of the video sequences for the same class is almost the same, therefore 'Race', 'Dino' and 'video conference' sequences have been chosen and they will be analysed in detail. 'Race' sequence represents the High activity class, 'Dino' sequence represents the Moderate activity class and 'video conference' represents the Low activity class.

5

Video Sequence

Sequence Type

Dino StarWars Race News Talk video Conference

Jurassic Park Movie Star Wars Movie Formula 1 car race TV News TV Talk show Set-top Conference

CoV(  )

Mean () Cell/frame 273 195 641 320 303 126

Stdev() Cell/frame 307 269 441 407 345 242

1.13 1.38 0.69 1.27 1.14 1.93

Peak Cell/frame 2493 2600 4217 3956 2225 963

Peak/Mean 9.14 13.4 6.58 12.36 7.34 7.66

Table 1 Where : CoV is the Coecient of Variation  And Stdev is standard deviation .

The size of GOP (Summation of the frame sizes for every 12 consecutive frames) is in uenced by the video activity within the same video sequence. For instance, If there are lots of movements within a scene, the GOP size will be high and vice versa. Figures 2 (a-c) show the time series gures for the three video sequence selected above to compare the frame sizes. In addition, a high activity causes large sizes of P and B frames. For instance, the frame size of type I is very large in the Race sequence (Figure 3(b)). In contrast, B and P frames in the video conferencing sequence are small compared to I frames. This is because the amount of movement in the video sequence is not large. In other words, there is a small amount of scene change. An MPEG sequence can be described by two main factors: statistical distribution of each frame type and the dependency between them. Time series graph shows frame sizes of ’Dino’ sequence

Time series graph shows frame sizes of ’Race’ sequence

80000

Time series graph shows frame sizes of ’Settop’ sequence

140000

45000

’dino_.IPB’ 40000

70000

120000 35000

60000 100000

40000

30000

Frame Size (Bits)

Frame Size (Bits)

Frame Size (Bits)

30000 50000

80000

60000

25000

20000

15000 40000 20000

10000 20000

10000

5000

0

0 0

50

100

150

200

Figure 3 (a)

250 Frame

300

350

400

450

500

0 0

50

100

150

200

250 Frame

300

350

400

450

500

Figure 3 (b)

0

50

100

150

200

250 Frame

300

350

400

450

500

Figure 3 (c)

In our previous studies, we discussed the statistical distribution of the empirical data sets in order to nd the ttest distribution [Kara97]. The statistical distribution parameters can be used in the process of approximating the frame or GOP sizes. We have shown that the frame or GOP size could be described by either a Gamma or a Lognormal distribution. However, in most cases, there is not yet a good agreement on the most tted distribution for all video trac due to the various coded schemes and the amount of movement within the video stream. We have also examined the dependencies feature of the MPEG sequence. This information is one of the most important features of an MPEG sequence [Izquierdo96]. The analysis of any video sequence shows dependencies between the frames and between the GOPs within the same video sequence. We have also measured the correlation between the summation of each frame type for each GOP within the same MPEG sequence (see [Kara97] for more detail). We showed that the dependency exists among the three frame types, and therefore they should not be represented with three independent processes. These dependencies can be measured by using the AutoCorrelation Function (ACF). We compute the autocorrelation of the frames sizes fZi : i = 1; 2; 3; :::g given by the following equation:

PNt=k+1 Zt?Z Zt?k?Z PNt=1 Zt?Z rk = (

)(

(

6

)

)

We plot the rk against lag k fk : k = 1:::N; where N is the number of data framesg. Figures 4 and 5 illustrate the correlation between I, P and B frames for Dino and video conferencing sequence. It is clear that 'I' frames cause a large positive peak followed by another smaller positive peak from P frames, while B frames cause the negative and the smallest peaks. In Figures 4 and 5, the shape of the curve is the result of the periodic coding pattern (the pattern [IBBPBBPBBPBB] is repeated) and the di erent mean sizes of the frame types. The pattern between two 'I' frame peaks is repeated with slow decaying behaviour. In addition, correlation exists between the GOPs within the same sequence. In the case of 'Dino' sequence (see Figure 6), the GOP correlation curve shows a slow decay behaviour for larger lags which means that there is a long-range dependency [Izquierdo96]. In contrast, the GOP correlation curve for video conferencing and Race sequences show fast decay behaviour for small lags. Therefore, they have a short-range dependency. Autocorrelation Function for ’Dino’ Sequence

Autocorrelation function of ’Settop’ sequence

1

Autocorrelation function of GOP

1

0.9 Settop I,P and B Data

Dino Data Settop Data Race Data

0.8 0.8

0.8 0.7

0.4

0.2

0.6

Coeff. of Autocorrelation

Coeff. of Autocorrelation

Coff. of Autocorrelation

0.6 0.6

0.4

0.2

0.5 0.4 0.3 0.2 0.1

0

0 0

-0.2

-0.2 0

20

40

60

80

100

-0.1 0

10

20

30

40 Lag

Lag

Figure 4

50

60

70

80

0

5

Figure 5

10

15 Lag

20

25

30

Figure 6

2.3 Scene Change Identi ers

This section presents two methods to detect and measure the amount of the overall bit rate

uctuations. We then use these methods to identify the amount of scene changes within an MPEG stream. Furthermore, a Scene Change Scale is presented to exhibit the amount (level) of the scene activity within an MPEG stream. In the visual sense, a scene can be de ned as a portion of the movie without sudden changes in view [Krunz96]. One of the most important reasons for the uctuations in the over all bit rate are the scene changes within the video stream. Thus, the scene change should be incorporated at the characterisation process. In an empirical data set for a traced MPEG trac, a signi cant change in the size of two consecutive GOPs is an indication of a scene change.

2.3.1 Scene Change Identi cation Using the Outlier Method

The basic idea of MPEG is that when a new scene starts, the size of the frames will be larger than the previous frame sizes. In other words, within the same data set, changes in the size of two consecutive GOPs could be an indicator for a scene change. The amount of change could be measured by using one of the most common used measures of data variation (variability), namely: the variance or the standard deviation. However, these parameters give only the overall measurement of the data variation and can not be used as a measurement of location relating to the rest of the data set. We will use another statistical parameter, called outlier, to describe each element relative to the other elements in the same data set [Mendenhall94]. The outlier is an element value which seems to be unusual (abnormal) compared with the other elements within the same data set. Within an empirical data set, outliers could be detected by using either a numerical method based on a z-score measure or a graphical technique called Box Plot [Groeneveld88]. The z-score measure can be used to describe the location of a Yi relative to the mean in units of the standard deviation. Let fYi ; 0  i  N ? 2g where Yi = Xi+1 ? Xi , Xi is the number of cells in the i-th GOP and N is the number of GOPs. Then, z-score can be calculated as follows: z? scorei = pYiV?arE [[YY]] 7

E[Y ] =  V ar[Y ] = 2 In the z-score de nition, negative z-score values indicate that Yi lies to the left of the mean and positive values indicate that Yi lies to the right of the mean. Therefore, if Yi is unusually large relative to the other within fY g in the empirical data set then Yi is called outlier. We use Rule of Thumb for detecting outliers within an empirical data set [Mendenhall94]. The rule states that if the z-score value is greater than a Threshold () ,usually   3, then an outlier is identi ed: z? scorei   Then Yi is considered to be an outier at location i

If

For the sake of brevity, we demonstrate the technique using only one empirical set ('Dino' sequence). However, this technique can be adopted on any empirical data set. We plot z-scores for 'Dino' sequence (see Figure 7). The Figure shows many spikes caused by large changes in the GOP sizes (large scene changes). Every spike over the  value is considered to be an outlier. Consequently, each outlier is a signi cant scene change. It is important to notice that smaller value of  capture more scene changes and vice versa. The following algorithm has been used to identify the starting point of a scene change within an MPEG sequence: START Let a Threshold value For i=1 To N-1 Let i in number of cells in i-th GOP,



X Yi = Xi+1 ? Xi

Calculate

z-score

z scorei  

If ? End Loop i

0 i  N ?1

E [Y ] (Yi )=) pYiV?ar [Y ]

i

Then a starting point of a new scene is identified at .

END

16 z-scores tau=3 tau=1.5

14

12

z-score

10

8

6 Median

4 Lower outer fence

Lower inner fence

Upper inner fence

Upper outer fence

2

0

-200000

-100000

0

100000 1.5(IQR)

-2 0

500

1000

1500 Index

2000

2500

3(IQR)

3000

Figure 7: z-score Plots for 'Dino' Sequence

200000 1.5(IQR)

IQR

3(IQR)

Figure 8: Box Plot for 'Dino' Sequence

A similar method could be used to detect an outlier by constructing the box plot of the empirical data set (see Figure 8). First, the method constructs two intervals based on a quantity value called the interquartile range (IQR). IQR = Qu ? Ql 8

where Qu and Ql are the upper and lower quartiles respectively. Next, we construct two sets of limits out of (IQR) called Inner fences (If) and Outer fences (Of). Inner fence values are located a distance of 1:5IQR below Ql and above Qu. Whereas Outer fence values are located a distance of 3IQR below the Ql and above Qu. Similarly, according to the statistical theory of the Rule of Thumb for detecting outliers, every fYi; i  0g which falls between the inner and outer fences is called suspect outlier. But, if Yi is located outside the outer fence it is called a highly suspect outlier. In other words, every suspect outlier could be a moderate scene change while every highly suspect outlier could be a signi cant scene change. Table 2 presents some statistical parameters of outliers for three MPEG sequences representing various level of activities. These two methods produce similar results. However, the presence of one or more outlier in a data set can in ate the value of the standard deviation () used to calculate the z-score. Consequently, it will be less likely to detect an element value with a high z-score. In contrast, the value of the quartiles used to calculate the fences for a box plot are not a ected by the presence of outliers. Sequence Dino Movie Video Conference

Mean(GOP) cell

Number of Outliers

Max(outlier) cell

Mean(outlier) cell

408 242 1634 809 446 262 1777 963 188 39 373 266 Table 2: Outlier for Various MPEG Sequences (Scene based)

Stdev(outlier) cell 160 189 30

As a result, both methods can be used to identify the signi cant scene changes within an MPEG video stream. The scene change identifying process also helps to detect the most abnormal part of an MPEG video stream which may cause cell loss in most cases [Mashat98b]. This type of information can be used to classify MPEG streams in terms of the amount of activities within each stream (as we demonstrate later).

2.3.2 Scene Change Identi er Using Second Di erence Method

The previous method identi es the scene changes based on the di erences between only two consecutive GOP's. In order to impose more accuracy on the scene change identi cation result, it is desirable to compare the GOP with the previous and the next GOPs. Therefore, we will use a method which is based on the Second Di erence method. It has been used previously to analyse the frame variation in the case of broadcast-video sequence [Heyman96]. For VBR MPEG video stream, the method can be used for any MPEG sequence at GOP level to identify the scene changes within the sequence. Similarly, we shall use 'Dino' stream to demonstrate this method. The time series plot of GOP sizes (see Figure 9) shows several spikes (peaks) due to possible scene changes. In order to determine which spike represents a true scene change, we need to analyse its magnitude. This could be achieved by relating each GOP spike with its neighbours (GOPs) according to the amount of movement within the same stream. As described before, a scene change occurs when a GOP size is abnormally larger than its neighbours. Based on this fact, we can quantify the scene change in the following way:

9

Time Series of a Traced GOP MPEG Sequence (DIno)

2nd Difference of a traced GOP MPEG traffic

700000

500000 400000

600000 300000 500000

200000 100000

Bits

400000

0 300000

-100000 -200000

200000

-300000 100000 -400000 0

-500000 0

500

1000

1500

2000

2500

3000

3500

0

500

1000

1500

GOP

2000

2500

3000

3500

GOP

Figure 9: GOP Time Series (Dino)

Figure 10: Second Difference

Let us assume that fXi g is the size of a GOP: fXi : i = 1; 2; :::; N g. At a scene change, the second di erence (Diff2 ) will be large in magnitude and negative in sign [Hyman96]. The Second Di erence is given by: Diff2 = ((Xi+1 ? Xi ) ? (Xi ? Xi?1 )) Figure 10 shows the plot of the second di erence for 'Dino' stream. Every large negative spike could be an indicator for a scene change. In order to quantify P only the signi cant scene changes, we divide the second di erence by the GOP average ( 1t ij =i?t Xj ) of the past few seconds (t). The period of the last few seconds, t, might vary. We have tested various values for t, all of them gave similar results for fYi g: Yi = (Xi+1 ?1 XPi )i ? (Xi ? Xi?1 ) ; i = 2; 3; ; ::;N ? 1 t j =i?t Xj Division Result of a traced GOP MPEG traffic 2 Diff2 GOP Time Series

Threshold 1.5

1

0.5

Yi

0

-0.5

-1

-1.5

-2 0

500

1000

1500

2000

Figure 11: Scene Change Identifying GOP

2500

3000

3500

0

500

1000

1500

2000

2500

3000

3500

GOP

Figure 12: The Time Series Plot of GOP Associated With Diff2

A signi cant scene change can be identi ed with every negative large spike when we plot the division result Yi from the above equation. We chose a threshold (T) as a critical value, where 0 < j T j < MaxY . The number of spikes below the threshold indicates the amount of large movements within the same MPEG stream (see Figure 11). Lower values of the threshold , j T j, capture more scene changes. In order to capture only the large scene changes, it is more obvious when T is below the mean value of fY g. The following algorithm depicts the method which identi es the scene changes within an MPEG traced stream: 10

START READ i from a traced GOP file of size N Threshold = T FOR

X

i = 1 TO N Diff2 = (Xi+1 ? Xi ) ? (Xi ? Xi?1 ) CALCULATE  = 1t ii?tXi 2 Yi = Diff  IF Yi < T THEN Scene Change is identified

End Loop i END

In order to justify the criteria, (see Figure 12) we plot fXi g time series and the second di erence Diff2 . It is clear that there is a good match between the two series. Every large and negative spike in the Diff2 is associated with a large spike in the GOP time series plot.

2.3.3 The Scene Change Scale (SCS)

In the previous two sections, two methods were presented in order to give indications on the

uctuations in the overall bit rate of an MPEG video stream. These indications could vary from one stream to another due to the amount of activities within the stream. In addition, the scene change identi cation process analyses the magnitude of each scene change. Thus, this type of information plays an important part to achieve ecient modelling and then management of MPEG trac. In [Kara97] and [Mashat98a], we showed that the amount of activities within an MPEG stream a ects not only the trac model but also the queuing performance at an ATM multiplexer. In order to classify MPEG streams according to the amount of activity and movement within the stream, we map the output of the scene changes method to a scale which gives a more precise indication on the amount (level) and the strength of the bit rate variation. Either of the two scene change identi cation methods could be used as both give close results. However, the second di erence method gives more accurate results in terms of identifying only the signi cant scene changes. Thus, we use the second di erence method for our classi cation. Firstly, we scan the entire MPEG stream and detect all signi cant scene changes fSck ; k > 0g within the MPEG stream. We then analyse and quantify their magnitude. By scaling the scene changes fSck g with the entire sequence, it is possible to calculate a ratio (Scale) of the activities. Using the second di erence method, the scale for an MPEG sequence can be found as follows: SCS = PN ?1 i=1

Pn (Xi+1

k=1 Sck ? Xi ) ? (Xi

? Xi?1 )

Where n is the number of scene changes. We are able to obtain the amount of activities within the sequence. Based on the second di erence method, we have tested and scanned 21 traced MPEG-I streams using our method to de ne and classify the amount of activity for each stream. For a given threshold value, these streams are scaled to be presented in a 'Scene Change Scale' (SCS) which ranging from 0 to 1 (0 < SCS < 1). If the amount of activity within the stream is limited, then the stream will be allocated near to 0. But, if the stream is highly active then it will be allocated near to 1. Figure 13 shows these streams on the SCS with two di erent values for the threshold. It is important to notice that with a lower threshold value, the strength value of the stream on the SCS will be increased.

11

Scene Cha nge S cale Threshold

000 111 111 -0 .5000 -0 .4 000 111 000 111

1 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 0.9 0.8

1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0.6 0 1 0 1 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 0 0.5 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0.4 1 0 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 1 0 1 0 1 0.3 0 1 0 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 00 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 11 1 0 1 0 0 0 1 0 1 0 1 0 1 0 1 00 0 1 0 1 1 00 1 11 0 11 1 0.2 1 0 0 1 00 1 11 0 1 0 1 1 0 0 1 0 0 11 1 00 1 0 1 0 1 0 1 00 11 0 11 0 1 0 1 00 11 0 00 11 0 1 00 1 00 1 11 0 11 1 0 1 0 1 1 0 11 1 0 1 00 1 11 0 1 0 1 0 1 00 1 11 0 11 1 0 11 0 11 00 1 0 1 00 0 00 00 0 1 0 1 0 0 0 00 0 1 0 1 0 1 00 11 0 1 0 1 0 1 00 11 0 1 00 1 11 0 1 1 00 1 11 00 1 11 0 11 0 1 0 1 1 0 11 1 0 1 1 00 1 11 0 1 0 0 1 00 1 11 0 11 1 0 11 0 11 00 0 00 0 00 00 0 1 0 1 0 1 0 0 00 0 1 0 1 0 1 00 11 0 1 0 11 1 0 11 1 00 1 11 0.1 1 0 1 1 00 1 0 11 1 0 1 1 00 1 11 00 1 0 11 0 1 0 1 0 00 1 0 1 1 0 00 1 11 0 1 0 1 0 1 00 1 0 11 0 11 0 11 00 0 1 00 0 0 00 0 1 0 1 0 1 0 11 0 00 0 1 0 1 0 1 00 11 0 1 0 11 1 0 11 1 00 1 11 0 0 1 00 1 0 11 1 0 1 1 00 1 11 00 1 0 11 0 1 0 1 0 11 0 1 1 0 1 00 1 11 0 1 0 1 0 1 00 1 0 00 1 0 0 00 0 00 11 0 0 00 00 11 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 00 11 0 11 1 0 11 1 0 11 00 1 0 1 1 00 0 1 0 00 1 0 1 00 1 00 1 0 11 0 1 0 0 1 0 11 1 0 1 0 00 1 0 1 0 11 0 11 0 11 00 1 0 1 00 1 0 11 1 0 1 00 1 00 1 0 11 0 1 0 1 0 1 0 11

Scale [0:1]

0.7

asteri atp

bond dino

fuss

lamb movi

mrbe mtv1 an

mtv2 news news race 1 2

sbow simp socc sons er

star2 talk_

talk2

term

video

MP EG Stream s

Figure 13: Scene Change Scale

3 Statistical Modelling of MPEG This section describes the statistical models which are used to characterise an MPEG sequence. The main objective is to nd a suitable and simple model to capture the statistical behaviour of a VBR MPEG sequence. The model will be used to generate a synthetic workload representing a VBR MPEG trac. First, we describe two Markovian models, namely Histogram-based and Detailed Markov Chain (DMC). These models are based on the results of the statistical analysis which have been obtained from the previous section. The models will be used to approximate the statistical behaviour of the MPEG sequence. Both models are well known. But with some modi cation and scene changes consideration, it is possible to be tuned for some type of VBR MPEG sequences to improve the actual trac approximation. Another improvement can be added to these models when they are used with the generation process (see section 4.2) to perform multiple level of correlations (GOP-by-GOP and frame-by-frame). Then, we present a scene change based model and its performance. The scene based model will be also used to approximate the behaviour of the MPEG sequence.

3.1 Markovian Based Models

This section presents two Markovian-based model, namely Histogram model and Detailed Markov Chain model (DMC). The Markov chain process has been used because its parameters can be found easily and it can be easily analysed. This could be helpful to nd the most appropriate model. The Markov chain method can be used to model di erent layers of an MPEG sequence (scene, GOP, frame or slide). It is very dicult to nd a model that covers all three types [Rose95b]. Therefore we have to decide which layer will be used. A higher layer will add more complexity to the model but it will also improve long-range dependencies behaviour. The GOP layer can be used for our models without modelling frame-by-frame correlation and the only correlation used is GOP-by-GOP (frame-by-frame correlation will be used at the trac generation process, see section 4.2). In addition, an experimental result showed that frame-by-frame correlation has no in uence on cell loss results [Rose95b]. Therefore, in some cases it could be enough to use only one level of correlation. For the histogram model, an 0-order Markov chain method has been used and n-order Markov chain for the DMC. Both models have a nite number of states and will be used to generate a GOP size process. For both models, the range of GOP sizes of the empirical MPEG sequence will be divided into several quantisation intervals fqi : i = 0; 1; 2; 3; :::; M ? 1g where M is the number of quantisation intervals and the number of the intervals depends on the formulated model. Each interval is related to a state of Markov chain. Therefore the number of states is equal to the number of GOP intervals. For each state, there is a Mean value (qi ) of the GOP interval associated with it. The Mean value of interval i , qi , represent the size of the quantisation interval qi. In the 12

Markov chain context, the transition from a state to another is controlled by a transition matrix. With each state transition (entrance from the current state into the next state) a GOP size will be generated according to the Mean value of the next state.

3.1.1 Histogram Model

The Histogram model can be described by a simple Markov chain with a nite number of states (M) which is equal to the number of the quantisation intervals. The number of quantisation intervals is based on the selected number of the histogram bins. It is possible to improve the distribution feature of the model by increasing the number of quantisation intervals (smaller size of bin interval), but this will lead to an increase in the number of states. Each state i is associated with the Mean value qi of ith interval (bin). Thus, with every transition from i to i+1 state, the qi value of next state is generated. We estimate and de ne the transition matrix of size 1  M as follows: of GOP 0s within interval i Pij = Number Total number of GOP 0s Thus, M ?1 X n i ni and ni = number of GOP 0s in qi Pij = N where N = i=1 It is very important to mention that the transition from a state to another is completely independent from the previous transition. The Histogram model can be used to estimate the empirical GOP size distribution but this model does not approximate the GOP correlation. This is because each GOP sample is generated according to the histogram bins which are independent from each other.

3.1.2 Detailed Markov Chain Model (DMC)

The DMC model di ers from the Histogram model in two main ways: the number of quantisation intervals (number of states) and the estimation of transition matrix. For long range dependency sequence the 0-order Markov chain is not adequate (as shown later). But, with some e orts it is possible to obtain a Markov chain model with a high coecient of autocorrelation even for large lags. This could be done by increasing the number of states to a reasonable number. In other words, by increasing the number of quantisation intervals. A larger number of states gives better results, but a larger number makes the model more complicated and needs more memory in the generating process. Therefore, a careful selection of the number of states should be achieved. Thus, the number of states (M) can be found as follows: Sizeq = MaxGOP ?k MinGOP

Where MaxGOP and MinGOP are the maximum and the minimum value of the GOP and k is a selected quantisation value. The rst quantisation interval q0 starts with the Minimum value of GOP (MinGOP ). The transition matrix of size M  M is de ned and estimated as follows : of transition from state i to state j Pij = Number Total transition out from interval i Therefore, n P P Pij = Niji where Ni = iM=0?1 nij and jM=0?1 Pij = 1 for i = 0; 1; :::;M ? 1 nij is the number of transitions from state i to state j ,Ni is the total number of transitions out from state i. It is very important to notice that the current state i depends on the previous state and not on neighbour states. Therefore, it is not necessary that the next state is the neighbour state. With every transition from state i to j , qi is generated. 13

3.1.3 Model Validation (Markovian Based)

In this section, we examine whether the previous two Markovian models are able to approximate the behaviour of the real MPEG sequences or not. In order to validate the models, the simulation results of the models should be compared with the empirical data in term of the statistical distribution and the sequence correlation [Izquierdo96]. We formulate the two Markovian models based on the three selected MPEG sequences from section 2. At the GOP level, we rst compare the distribution parameters for both models. Tables 3, 4 and 5 show that the parameters for both models have close values to that of the empirical data. However, the simulation results indicate that the DMC model is a good source model for approximating a sequence with a short range dependency feature even for large lags (about 15) such as Race and video conference sequence. This could be shown when we compared the autocorrelation function (see Figures 15 and 16). In contrast, we found that there is almost no correlation between the generated GOP's in the case of the Histogram model (see Figure 14). Therefore a model which is based on the distribution function only can not approximate the dependencies behaviour of a MPEG sequence. But a probability density function (pdf) can be used in other models such as Discrete Autoregressive (DAR) model [Heyman92]. DAR model requires to know the pdf of the source. It is very important to notice that the Histogram model could be useful when there is no agreement on the tted distribution. This is the case of VBR video trac due to the QoS requirements for the encoded scheme. In addition, Figure 14 shows that the DMC model has a poor approximation of the autocorrelation curve for the long range sequence such as Dino sequence. Data Sets

Mean() Cells 408 410 402

Real Sequence Histogram Model DMC Model

STDEV() Cells 164 166 162

Min Cells 120 173 152

Max (Peak) Cells 1634 1270 1634

Table 3: The simple statistical parameters for 'Dino' sequence and the models Data Sets

Mean() Cells 188 186

Real Sequence DMC Model

STDEV() Cells 32 29

Min Cells 144 162

Max(Peak) Cells 373 328

Table 4: The simple statistical parameters for 'Video conference' sequence and the model Data Sets Real Sequence DMC Model

Mean () Cells 961 969

STDEV () Cells 362 350

Min Cells 292 288

Max Cells 3470 3019

Table 5: The simple statistical parameters for 'Race' sequence and the model Autocorrelation function of GOP for ’Dino’ sequence

Autocorrelation function of GOP for ’Settop’ sequence

0.9

0.9

0.8 Real Data Histogram Model Markov Chain Model

0.8

Real Data Markov Chain Model

0.7

0.7

0.6 0.6

0.5 0.4 0.3

Coeff. of Autocorreleatio

Coeff. of Autocorrelation

0.6 Coeff. of Autocorrelation

Markov Chain Model Real Data

0.8

0.7

0.5

0.4

0.3

0.2

0.1

-0.1

0

-0.1 0

10

20

30 Lag

Figure 14

40

50

60

0.3

0.1

0

0

0.4

0.2

0.2 0.1

0.5

-0.1 0

5

10

15 Lag

Figure 15

14

20

25

30

0

5

10

15

20

25 Lag

Figure 16

30

35

40

45

50

3.2 Scene Change Based Model

The Markovian Models were not adequate to capture the long range dependency feature. In this section, a new form for scene-based model is introduced based on characterising MPEG trac as a collection of scenes. The model is used to capture the lone range dependency feature of MPEG trac. As shown previously (see section 2.3), the main reason for the overall bit rate variation is scene change, which leads to a dramatic increase in the queue length statistics of the multiplexer. Consequently, scene changes should be incorporated in such trac modelling approach. In order to model VBR MPEG trac based on the scene change, we need a functional de nition of scene duration based on the bit rate variations. From section 2.3, we are able to identify and quantify scene changes within an MPEG sequence. As illustrated in Figure 17, an MPEG stream can be characterised using two processes namely: scene length fSli ; i > 0g and the scene uctuations process fSci ; i > 0g. 0.06

Bits {Sl} S1 {Sc}

S3

MPEG Stream Bit Rate Variations

Probability Density Function

0.05

0.04

0.03

Fitted Curve 0.02

Si

S2 Mean Bit Rate S4

0.01

Starting point of a Scene Change

0 0

Figure 17: Scene Change Model GOP Index

20

40

60

80

100 120 Scene Length

140

160

180

200

Figure 18: The Fitted Curve for Scene Length Distribution

The rst process fSli ; i = 1; 2; 3; :::;ng can be de ned as the scene length duration within the MPEG sequence, where n is the number of scene changes. In other words, Sli is the number of GOPs in the ith scene. The scene length can be easily calculated by summing-up the number of GOP's between the starting points of two consecutive scenes. The statistical characteristics of the scene length were examined. Then, the tted curve for the histogram of the scene change length process was drawn in Figure 18. The gure shows that the scene length can be modelled by a geometric distribution. The shape of the probability density function (pdf) in the gure was also observed on all other analysed MPEG sequences. In [Lazar93], it has also been con rmed that scene length for VBR video trac can be modelled as a geometric distribution. Therefore, we use the pdf with a parameter q for this distribution as the basis for our model. The scene length process can be described as follows: PrfSli = ng = qn?1p ; p = 1 ? q for n = 1; 2; 3; ::: E[Sli ] = p1 Sequence Number of Scenes Mean (GOP) Dino 569 11.27 Race 579 13.41 Movie 670 5.3 Video Conference 65 20.2 Table 6: Statistical Parameters of Scene Change Durations

The average size of the scene changes could be used as another indicator of the stream activities. Table 6 presents the number of scenes within MPEG sequence and the mean value of the scene change duration for various MPEG sequence. For our analysed trace (Dino), the average of the 15

scene length is about 12 GOP's (6 seconds). In addition, we calculate the autocorrelation function (ACF) for scene lengths. Figure 19 shows that the shape of the ACF for fSlg alternates very closely on either sides around the 0-line. In other words, these is a very weak presence of correlations among scene lengths (we could say it is uncorrelated). Therefore, the main issue is characterising only the distribution of the scene change. Consequently, the scene lengths constitute a sequence of idd random variables with a geometric distribution. 1

Autocorrelation Funcation Plot for (Dino) Sequence

0.9 Real Data 0.8

Scene-Based Model

0.8 0.6

0.7

Coeff. of Autocorrelation

0.4

0.6

0.2

0.5

0

0.4 ACF

-0.2

0.3

-0.4

0.2

-0.6

0.1

-0.8

0

-1

-0.1 0

10

20

30

40

50 Lag

60

70

80

90

Figure 19: Autocorrelation Function of The Scene Length

100

0

10

20

30 Lag

40

50

60

Figure 20: ACF for Real and Scene-based Sequence (Dino Stream)

The second process fSci g based on the fact that a signi cant di erence between two consecutive GOPs is an indication of a scene change. Hence, we model the GOP variation using fSci g and the mean value of GOPs for the previous scene (gg opk ; k > 0). From our observation of the fScg histogram (not shown here), we have found that the GOP variation could be modelled using a histogram-based model (with a transition matrix [P] and M states). Thus, the i-th GOP size (within the k-th scene) can be found as follows: Xi = gg opk?1 + Sci ; 0 < i < N and k = 1; 2; :::;n

where N is the number of GOPs in the sequence and n is the number of scenes within the sequence

3.2.1 Model Validation (Scene Based)

A synthetic GOP sequence has been generated using the scene-based model. The generated sequence was based on the tting of the original 'Dino' sequence2 . Firstly, a scene length is determined using a given geometric distribution. Then, GOPs are generated using the scene variation process. The following algorithm describes the method which generates a GOP sequence of size N : START N = number of scenes Scene varaition fScg  Histogram(qt ; 1  t  M ) For i = 1 To N Get Scenei length = sl For k = 1 To sl fScg = Histogram(qt ) GOPi+k = gf opi?1 + fScg End Loop k End Loop i END 2 The Dino sequence has been selected due to its long range dependency feature.

16

Video Sequence Real Sequence Model-Based

Mean () Cell/GOP 408 408

CoV(  ) 0.40 0.42

Stdev() Cell/GOP 164 173

Peak Cell/GOP 1634 1845

Peak/Mean 4.001 4.5

Table 7: Simple Statistical Parameters For The Real and Model-Based Sequences (GOP-Based) Where : CoV is the Coefficient of Variation  And Stdev is Standard deviation .

As we did before, we need to compare the most important statistical behaviour of the original and the generated sequence: distribution and dependency feature. Table 7 shows some statistical parameters for both sequences. By comparing the statistical behaviour of the model-based sequence and the original sequence, we see that the model captures the main statistical parameters of the original sequence. We also examine the ACF of the generated sequence and the original one to explore the long range dependency feature of the model (see Figure 20). By comparing the ACF curves, it is clear that the model captures the ACF of the actual sequence even for large lags. However, ACF values (only for the rst lags) in the model are slightly less than the ACF values in the original sequence, mainly because of simpli cation in the model. Apart from that, the model gives a good approximation of the long range dependency feature.

3.3 The Overall Model's Comparison

In this section, we summarise the overall comparison of the three presented MPEG models to examine whether the models are able to approximate the long range dependency behaviour of the real MPEG sequences or not. In other words, we consider the strength and the limitations of the model with respect to several statistical properties and the ability to capture ACF of VBR MPEG trac. In order to validate a model, the statistical analysis result of the model should be compared with empirical data in term of the statistical distribution and the sequence correlation (ACF). We select Dino for our comparison because it has a long range dependency feature. Table 8 shows the comparison of the most important moments of GOP sizes. It is interesting to observe that Scene-based model match exactly the Real sequence in terms of mean value. However, for network dimensioning purpose it is more convenient to use a model which behaves worse than the real trac [Rose95b]. This is the case for scene based model which overestimates the Peak value. Thus, it gives higher value of Burstiness parameter. Mean() STDEV() Cells Cells Real Sequence (Dino) 408 164 Histogram Model 410 166 DMC Model 402 162 Scene Based Model 408 173 Data Sets

CoV Max (Peak) Peak/Mean (  ) Cells Burstiness 0.401 1634 4.00 0.404 1270 3.09 0.402 1634 4.06 0.420 1845 4.52

Table 8: The simple statistical parameters for 'Dino' sequence and the models

The main di erence of the models is their capability to approximate the autocorrelation function (dependences feature) of the original MPEG sequence (empirical MPEG data set). Figure 21 plots the ACF of the generated sequence using the three proposed models at the GOP level. Comparing the plots of the three models lead to the conclusion that the scene based model with multiple level of modelling shows better agreement with the empirical (real) data sets, whereas the simpler models are unable to model the correlation feature of the data sets over a larger period of time (lags).

17

Autocorrelation Funcation Plot for (Dino) Sequence 0.9 Real Data Histogram Model Scene-Based Model DMC Model

0.8 0.7

Coeff. of Autocorrelation

0.6 0.5 0.4 0.3 0.2 0.1 0 -0.1 0

10

20

30 Lag

40

50

60

Figure 21: ACF for Real and The Three Models for Dino Stream

To conclude this brief outline on video trac models, we point out that all trac models have their pros and cons, and that some care has to be taken on what type of model is chosen for the performance analysis.

4 Integrating MPEG Stream into the Workload Model In this section, we rst present brie y the rationale and architecture for the realistic workload model. Then, we describe the software engineering process required to integrate the MPEG sources onto the multimedia workload model. In order to link an MPEG statistical behaviour to the workload model, we have to use a trac model that is able to describe the statistical behaviour of the empirical data sets. In addition, we describe the process of generating the frame sizes from GOP. Then, the statistical model will be validated in terms of a frame level simulation.

4.1 Workload Model

Several proposals for resource scheduling algorithms and protocols are currently emerging, or under development to provide guaranteed performance communication support for these distributed platforms (the guarantee being statistical or deterministic). An important factor in the performance evaluation process of these resource scheduling algorithms and protocols is the input workload selected. This latter is made up of trac ows generated by sources of di erent media types (audio, video, text, etc.) with di erent characteristics determining their behaviour and QoS requirements. Choosing the right workload for the performance evaluation of algorithms and protocols is crucial as di erent workloads will lead to selecting di erent algorithms and protocols (as well as their internal parameters). Most performance experiments tend to select trac sources without considering pro les generated by applications, hence obtaining results from system-level sources. While the best algorithms and protocols would have been selected for the particular workload selected, it remains to be seen how these will perform under the workload generated by real applications. The application level trac generator is a tool which has been designed to be more appropriate for a realistic workload model and emulates distributed multimedia applications [Kara95]. Two key design issues addressed in the trac generator are calibration and validation. The calibration process determines the pro le and patterns of the di erent media types required by an application. Validation is the process of comparing the trac generated by scenarios from the trac generator with those of real applications. Consequently, the important part of this application-level trac generator is the availability of multimedia trac sources. The trac generator operates by specifying: the con guration of the network (i.e. the participating nodes), a pro le of the scenarios, and a set of libraries of the algorithms and protocols to be tested. For more detail see [Kara95]. A workload can be presented as generated trac with speci c characteristics. Generally, two di erent approaches to generate a trac for measurement and simulation may be identi ed: 18

 Replay of saved trac: This is a storage based generation, where a pre-recorded or prede ned

trac sequence is reproduced during the measurement. This approach is suitable for initial functional testing because of its determinism and simplicity. However, this approach is limited due to the availability of reasonable memory. Therefore, this approach is unsuitable for validation.  Stochastic based: This approach can be regarded as a 'Black Box' approach. The trac is generated according to the class of the stochastic process (e.g. renewal) or source (e.g. on-o ). The trac is generated based on the process or source parameters. By using this approach, it is possible to generate a long trac with various behaviours. However, the quality of the generated trac depends on the how well the selected trac parameters are. In this paper, we generate a synthetic VBR video trac based on the approximation of the MPEG trac behaviour.

4.2 Synthetic MPEG Trac Generation Process

This section presents a full process of generating a synthetic MPEG sequence (pattern) including I, P and B frames. Following the generation process of GOP sequence using one of the trac models (see section 3), we present a method to produce an MPEG pattern using a GOP-based model. As an application level trac generator, it is important to notice that we have used simple models to characterise an MPEG sequence and the models have been parameterised to generate synthetic workloads that closely match the empirical data sets. The integration of the MPEG source process starts with an empirical data set of an MPEG sequence and ends with a synthetic sequence representing an MPEG stream. For the integration of the statistical model to our workload model, we need to produce a sequence of frame sizes. In order to produce a synthetic sequence of MPEG frame sizes (I, P and B) similar to a real MPEG frame sequence, we could use the following method : the frame sizes could be derived from GOP sizes by scaling the frame sizes of di erent types with GOP sizes (Figure 22 depicts the overall picture of the process). This process uses a scaling parameter called Scaling Factor (f). The parameter f is calculated by dividing the mean value for the frame type by the mean value of GOP: E [fP g] E [fBg] [fI g] fI = E [EfGOP g] fP = E [fGOP g] fB = E [fGOP g] Generated GOPs

I,P and B Lists

Using the scaling factors for I, P and B frame

Generated I,P,B sequence

Agrregate the three lists into one sequence with pattern [IBBPBBPBBPBB]

Figure 22: Scaling Factor Process

For each generated GOP, a frame of type I, P or B is multiplied by the corresponding f parameter. This method has been used in our previous work. It has been observed that this method gives a good approximation of deriving the frame sizes (I, P and B) from GOP sizes (see [Kara97] for more details). In section 3, we have validated the statistical model at GOP level. In this section, we validate the model at the frame level. A synthetic sequence has been generated emulating real MPEG video sequence. We have calculated the correlation between the generated 19

sequence and the empirical sequence (actual sequence). Table 9 shows a strong correlation for both Markovian models while a stronger one for the scene-based model. On the other hand, we plot the autocorrelation function of IPB frames for both the generated and the actual data. Figures 23 shows the ACF curves for actual Dino sequence and the generated sequences using the three presented models. The top points represent I frames, the middle points represent P frames and the bottom points represent B frames. In the case of DMC and scene based models, there is a good agreement between the ACF curves of the three frame types (IPB) for the generated and the actual sequence. In contrast, a weaker agreement can be shown in the case of Histogram model. Model Scene-based DMC Histogram

fI = 0:351 fP = 0:092 fB = 0:047 Corr(Empirical,Generated) 0.864 0.768 0.771

Table 9: Correlation factor between the generated and actual sequence 1 DMC Scene-Based Real Histogram

Coeff. of Autocorrelation

0.8

0.6

0.4

0.2

0

-0.2 0

20

40

60

80

100

Lag

Figure 23: ACF for IPB frames (Generated and Actual Sequence)

To demonstrate the impact of the generated sequence and the actual sequence on the system performance, simulation experiments are conducted to study the performace of an ATM multiplexer using the generated (synthetic) sequence based on the proposed models. The multiplexer is modelled as a nite capacity queueing system with bu er size B and one server with service rate C (see Figure 24). A FIFO service discipline is assumed. The input to the multiplexer consists of MPEG sequences (frame level). Two simulation experiments are conducted. The simulation uses the actual MPEG sequence and the second experiment uses the generated sequence based on the proposed models. In both experiments, the trac source (multiplexing input) consists of a large number of frames arranged according to the compression pattern [IBBPBBPBBPBB]. Bits in each frame are packetised into ATM cells (in addition to 5 bytes as a cell header) and the cells are distributed over the frame period. The service rate is adjusted to obtain a 80% system load. Figure 25 shows the cell loss ratio (CLR) versus the bu er size for both sequences (actual, generated). For the sake of brevity, we introduce only the simulation result for the video conference sequence only. It is clear that there is improvement in the CLR performance with a larger bu er size. Another observation is agreement between the result obtained using the model and the result obtained from the actual sequence.

20

Cell Loss Ratio for the Generated and Real Traffic of Video Conference stream 0.1 Generated Traffic Real Traffic

0.09 0.08 0.07

CLR

0.06 0.05 0.04

CellCellCellCellCell

Service Rate C

0.03 0.02

Buffer size B

0.01 0 100

Figure 24: Simulation Model

200

300

400

500 600 Buffer Size (Cells)

700

800

900

1000

Figure 25

As an application level trac generator, a frame rate (for instance 25 frames/sec) could be generated to represent an MPEG source. For our case, we could have three trac sources which represent the three classes of an MPEG sequence: A sequence with a large number of movements (high activity sequence), another sequence with an average number of movements (Moderate activity sequence) and a third sequence with a small number of movements (low activity sequence). These three types of trac will be integrated into our workload model for video trac representation. For the trac generation process, there are two ways to transmit trac units: either they could be transmitted at maximum rate of the input link or they could be transmitted with a constant inter-arrival time. Heyman et al. [Heyman92] used the rst one while Rose at al. [Rose95b] used the second.

5 Conclusions In this paper, we described the statistical analysis and modelling of MPEG sources. First, we characterised the statistical behaviour of VBR MPEG trac in order to formulate the statistical results using simple models. Our study is based on long and various video streams obtained from real Movies, News and Sports events. The work involved a statistical trac modelling for VBR MPEG streams using three statistical measures to characterise various MPEG streams, namely Distribution, Autocorrelation Function (ACF) and Scene changes consideration. We have shown that a high activity in the sequence results in large sizes of P and B frames. We have also shown that the GOP structure introduce a strong correlation between the frames within the same stream. The scene change measure is analysed in more detail because the scene change is an important reason for the uctuations in the overall bit rate within the video stream. We also explored the behaviour and the impact of scene changes within an MPEG sequence. The paper then presented a comprehensive scene change characterisation and described a technique to classify MPEG streams using the amount of activity within each stream. We also presented two methods and algorithms to identify the scene changes within the MPEG stream. Based on the results of the statistic analysis, we then used two Markovian models (Histogram based model and Detail Markov chain model (DMC)) to approximate the statistical behaviour of the MPEG sequence. We showed that the DMC model can be used to approximate two classes of MPEG sequence (High activity and Low activity sequences). However, the Markovian model showed a limitation in capturing the long range dependency of an MPEG stream. Then, we introduced a novel scene based model which describes an MPEG sequence as a collection of scenes. We showed that scene based model approximates not only the statistical behaviour but also captures the dependencies feature of the original sequence including the long range dependency feature. We also explored the integration process of the MPEG trac model within the multimedia workload model. We presented a method to constract a frame level sequence (contains a deter21

ministic periodic sequence of I, P and B frames) from the generated GOP sequence. The aim of this analysis and modelling is to devise trac models to be generated by programs (library of trac model functions). In turn, these programs are used for a multimedia workload model. In statistical analysis and modelling, we have used several MPEG data sets (e.g. Dino, Race, video conference) to cover a wide ranging scenario types and to ensure that the workload model can deliver realistic scenarios. We conducted simulation experiments to study the performace of an ATM multiplexer using the generated (synthetic) sequence based on the proposed models. We showed that the constructed sequence (I,P and B) gives close impact on the the system performance when multiple streams are multiplexed at an ATM multiplexer.

Acknowledgement: We would like to thank O. Rose for providing the data sets for the MPEG video sequences. We wish to thank M. Rahin, K. Djemame, R. Wade and S. Hassan for useful discussions during the preparation of this manuscript.

References

[Bunzel94 ]M. Bunzel and S. Morris , 'Multimedia applications development', McGraw Hill Inc,

1994. [Chu95 ]P. Chu, 'ATM Burst Trac Generator', Proceeding of 5th Great Lakes Symposium on VLSI, Mar 1995. [Conti96 ]M. Conti, E. Gregori and A. Larsson, 'Study of the Impact of MPEG-I Correlations on Video Sources Statistical Multiplexing', IEEE Journal on Selected Areas in Communications, Vol 14, No. 7, September 1996. [Daigle86 ]J. Daigle and J. Langford, 'Models for Analysis of Packet Voice Communications Systems', Journal on selected areas in communication, Vol. Sec-4, No. 6, September 1986. [Danzig92 ]P. Danzig, S. Jamin, R. Cacerest, D. Mitzel and D. Estrin, 'An Empirical Workload Model for Driving Wide-Area TCP/IP Network Simulations', Journal of interworking, 1992. [Doulamis96 ]A. Doulamis, N. Doulamis and G. Konstantoulakis, 'Trac Characterisation and Modelling of VBR Coded MPEG Sources', 4th IFIP workshop on Performance Modelling and Evaluation of ATM Networks, July 1996. [Frost94 ]V. Frost and B. Melamed, 'Trac Modelling For Telecommunications Networks', IEEE Communications Magazine, March 1994. [Groeneveld88 ]R. Groeneveld, 'Introductory Statistical Methods: An Integrated Approach Using Minitab', PWS-KENT, 1988. [Habib92 ]I. Habib and T. Saadawi, 'Multimedia Trac Characteristics in Broadband Networks', IEEE Communications Magazine, July 1992. [Heyman92 ]D. Heyman, A. Tabatabai and T. Lakshman, 'Statistical Analysis and Simulation Study of Video Teleconference Trac in ATM Networks', IEEE Transactions on Circuits and Systems for Video Technology, Vol. 2, No. 1, March 1992. [Heyman96 ]D. Heyman and T. Lakshman, 'Source Models for VBR Broadcast-Video Trac', IEEE/ACM Transaction s on Networking, Vol. 4, No. 1, February 1996. [ISO/IEC97 ]ISO/IEC working group, http://drogo.cselt.stet.it/mpeg/ . 22

[Izquierdo96 ]M. Izquierdo and D. Reeves, 'A survey of Source Models for Variable Bit Rate

Encoded Video', Multimedia Systems Journal, August 1996. [Kara95 ]M. Kara and P. Dew, 'A Con gurable Trac Generator the Performance Evaluation of Resource Scheduling Algorithms and Protocols in ATM Networks', 3rd IFIP workshop on Performance Modelling and Evaluation of ATM Networks, July 1995. [Kara97 ]M. Kara and A. Mashat, 'Statistical Analysis and Modelling of MPEG Sources for Workload Characterisation of Distribution Multimedia Application', 5th IFIP workshop on Performance Modelling and Evaluation of ATM Networks, July 1997. [Krunz96 ]M. Krunz and s. Tripathi, 'scene-Based Characterization of VBR MPEG-Compressed Video Trac", Technical Report TR-3573, Institute for Advance Computer Studies, Department of Computer Science, University of Maryland, 1996. [Lazar93 ]A. Lazar, G. Paci ci and D. Pendarakis, 'Modeling Video Sources for Real-time Scheduling, Technical Report 324-93-03, Columbia University, Department of Electrical Engineering and Center for Telecommunications Research, April 1993. [Liu92 ]H. Liu, 'Trac Shaping for Congestion Control in High speed ATM Networks', Msc Thesis, Department of Computation of Science, University of Saskatchewan, Saskatoon, August 1992. [Mashat98a ]A. Mashat and M. Kara, 'The Impact of Synchronising MPEG Streams on Bandwidth Allocation', The 14th UK Performance Engineering Workshop, July, 1998. [Mashat98b ]A. Mashat and M. Kara, ' Scene Change Scale: An Indecator of A CLR of Multiplexing MPEG Streams Over ATM Networks', 6th IFIP workshop on Performance Modelling and Evaluation of ATM Networks, July 1998. [Pancha93 ]P. Pancha and M. El Zarki, 'Bandwidth Allocation Schemes for Variable Bit Rate MPEG Sources in ATM Networks', IEEE Transactions on Circuits and Systems For Video Technology, Vol 3, No. 3, June 1993. [Perros96 ]H. Perros and K. Elsayed, 'Call Admission Control Schemes:A Review', IEEE Communications Magazime, November 1996. [Rose95a ]O. Rose, 'Statistical properties of MPEG video trac and their impact on trac modelling in ATM systems', Report No. 101, Institute of Computer Science, University of Wurzburg, February 1995. [Rose95b ]O. Rose, 'Simple and Ecient Models for Variable Bit Rate MPEG Video Trac', Report No. 120, Institute of Computer Science, University of Wurzburg, July 1995. [Stamoulis94 ]G Stamoulis, M Anagnostou, ' Trac source models for ATM networks: a survey', Computer Communications Vol 17, number 6, June 1994. [Sriram86 ]K Sriram and W. Whitt, 'Characterization superposition arrival processes in packet multiplexers for voice and data', IEEE Journal on Selected Areas in Communications, Vol 4(6), september 1986. [Venturin95 ]R. Venturin, ' Trac Source Modelling of Multimedia Application for ATM', Informacija Telekomnni Kacije Automati, Vol 14, Iss 1-3, 1995. [Wurzburg95 ]ftp://ftp-info3.informatik.uni-wuerzburg.de/pub/MPEG/

23

Suggest Documents