1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of...

39
February 2000 1 School of Computing Science School of Computing Science Simon Fraser University, Canada Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda & ChengHsin Hsu 2 February 2007
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    1

Transcript of 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of...

Page 1: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

February 2000 1

School of Computing ScienceSchool of Computing ScienceSimon Fraser University, CanadaSimon Fraser University, Canada

Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences

Mohamed Hefeeda & ChengHsin Hsu

2 February 2007

Page 2: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

2

MotivationsMotivations

Multimedia streaming over the Internet is becoming very popular- More multimedia content is continually created

- Users have higher network bandwidth and more powerful computers

Users request more multimedia content

And they look for the best quality that their resources can support

Page 3: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

3

Motivations (cont’d)Motivations (cont’d)

Users have quite heterogeneous resources (bandwidth)- Dialup, DSL, cable, wireless, …, high-speed LANs

To accommodate heterogeneity scalable video coding:

Layered coded stream- Few accumulative layers

- Partial layers are not decodable

Fine-Grained Scalable (FGS) coded stream- Stream can be truncated at bit level

Page 4: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

4

Motivations (cont’d)Motivations (cont’d)

Goal: Optimize quality for heterogeneous receivers

In general setting- FGS-coded streams

- Multiple senders with heterogeneous bandwidth and store different portions of the stream

Why multiple senders?- Required in P2P streaming:

• Limited peer capacity and Peer unreliability

- Desired in distributed streaming environment:• Disjoint network path Better streaming quality

Page 5: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

5

Our Optimization ProblemOur Optimization Problem

Assign to each sender a rate and bit range to transmit such that the best quality is achieved at the receiver.

Consider a simple example to illustrate the importance of this problem

Page 6: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

6

Example: Different Streaming SchemesExample: Different Streaming Schemes

Non-scalable Layered

Page 7: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

7

Example: Different Streaming SchemesExample: Different Streaming Schemes

FGS Scalable Optimal FGS Scalable

Page 8: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

8

Problem FormulationProblem Formulation

First: single-frame case- Optimize quality for individual frames

Then: multiple-frame case- Optimize quality for a block of frames

- More room for optimization

Page 9: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

9

Input ParametersInput Parameters

T : fixed frame period

n : number of senders

bi : outgoing bandwidth of sender i

bI : incoming bandwidth of receiver

si : length of (contiguous) bits held by sender i

Assume s1 <= s2 <= …… <= sn

Page 10: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

10

Allocation: A = {(Δi , ri) | i=1, 2, ……, n}

- Δi : number of bits assigned to i

- ri : streaming rate assigned to i

Specifies:

- Sender 1 sends range [0, Δ1 -1] at rate r1

- Sender 2 sends range [Δ1 , Δ1+Δ2 -1] at rate r2

- …

- Sender i sends range at rate ri

OutputsOutputs

]1,[1

1

1

i

tt

i

tt

Page 11: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

11

Integer Programming ProblemInteger Programming Problem

Minimize distortion

Subject to:

- on-time delivery

- assigned range is available

- assigned rate is feasible

- Aggregate rate not exceeds receiver’s incoming BW

Page 12: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

12

How do we Compute Distortion?How do we Compute Distortion?

Using Rate-Distortion (R-D) models- Map bit rates to perceived quality

- Optimize quality rather than number of bits

Approaches to construct R-D models- Empirical Models: Many empirical samples expensive

- Analytic Models: Quality is a non-linear function of bit rate, e.g., log model [Dai 06] and GGF model [Sun 05]

- Semi-analytic Models: A few carefully chosen samples, then interpolate, e.g., piecewise linear R-D model [Zhang 03]

Detailed analysis of R-D models in [Hsu 06]

Page 13: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

13

Within each bitplane, approximate R-D function by a line segment

Line segments of different bitplanes have different slopes

The Linear R-D ModelThe Linear R-D Model

Page 14: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

14

Visual Validation of Linear R-D ModelVisual Validation of Linear R-D Model

Mother & Daughter, frame 110

Foreman, frame 100

Page 15: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

15

Rigorous Validation of Linear R-D ModelRigorous Validation of Linear R-D Model

Average error is less than 2% in most cases

Page 16: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

16

Let yi be number of bits transmitted from bitplane i

Distortion is:

- d : base layer only distortion

- gi : slope of bitplane i

- z : total number of bitplanes

Using the Linear R-D ModelUsing the Linear R-D Model

z

hhh ygd

1

Page 17: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

17

Integer Linear Programming (ILP) ProblemInteger Linear Programming (ILP) Problem

Linear objective function

Additional constraints

- number of bits transmitted from bit plane h does not exceed its size lh

- bits assigned to senders are divided among bitplanes

Page 18: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

18

Solution of ILP is a Valid FGS StreamSolution of ILP is a Valid FGS Stream

Lemma 1: - An optimal solution for the integer linear program produces a

contiguous FGS-encoded bit stream with no bit gaps

Proof sketch- minimizing

- Since g1 < g2 < …… <gn<0 (line segment slopes),

- the ILP will never assign bits to yi+1 if yi is not full

z

hhh ygd

1

Page 19: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

19

Solving ILP problem is expensive

Solution: Transform it to Linear Programming (LP) problem - Relax variables to take on real values

Objective function and constraints remain the same

Linear Programming RelaxationLinear Programming Relaxation

Page 20: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

20

Solve LP

- Result is real values

Then, use the following rounding scheme for solution of the ILP

Efficient Rounding SchemeEfficient Rounding Scheme

Page 21: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

21

Correctness/Efficiency of Proposed RoundingCorrectness/Efficiency of Proposed Rounding

Lemma 2 (Correctness) - Rounding of the optimal solution of the relaxed

problem produces a feasible solution for the original problem

Lemma 3 (Efficiency: Size of Rounding Gap) - The rounding gap is at most nT + n, where n is the

number of senders and T is the frame period

- Example: T=30 fps, n=30, the gap is 32 bits

- Indeed negligible (frame sizes are in order of KBs)

Page 22: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

22

FGSAssign: Optimal Allocation AlgorithmFGSAssign: Optimal Allocation Algorithm

Solving LP (using Simplex method for example) may still be too much- Need to run in real-time on PCs (not servers)

Our solution: FGSAssign- Simple yet optimal allocation algorithm

- Greedy: Iteratively allocate bits to sender with smallest si (stored segment) first

Page 23: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

23

Pseudo Code of FGSAssignPseudo Code of FGSAssign

1. Sort senders based on si, s1 ≤ s2 ≤ …… ≤ sn;

2. x0 = …… = xn = 0; Δ1 = …… = Δn = 0; ragg = 0;

3. for i = 1 to n do

4. xi = min(xi−1 + biT, si);

5. ri = (xi − xi−1)/T ;

6. if (ragg + ri < bI ) then

7. ragg = ragg + ri;

8. Δi = xi − xi−1;

9. else

10. ri = bI − ragg;

11. Δi = T × ri;

12. return

13. endfor

Page 24: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

24

Optimality of FGSAssignOptimality of FGSAssign

Theorem 1- The FGSAssign algorithm produces an optimal

solution in O(n log n) steps, where n is the number of senders.

Proof: see paper

Experimentally validated as well.

Page 25: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

25

Multiple-Frame OptimizationMultiple-Frame Optimization

Solve the allocation problem for blocks of m frames each

Objective: minimize total distortion in block

Why consider multiple-frame optimization?- More room for optimization

- Less computation overhead: solve the problem less often

Page 26: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

26

Multiple-Frame Optimization: Why?Multiple-Frame Optimization: Why?

More room for optimization: higher quality and less quality fluctuation

Page 27: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

27

Multiple-Frame OptimizationMultiple-Frame Optimization

Formulation (in the paper): - Straightforward extension to single-frame with lager

number of variables and constraints

- Computationally expensive to solve

Our Solution: mFGSAssign algorithm - Heuristic (close to optimal results)

- Achieves two goals: • Minimize total distortion in a block

• Reduce quality fluctuations among successive frames

Page 28: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

28

mFGSAssign: High-Level DescriptionmFGSAssign: High-Level Description

1. Estimate a target distortion D that is feasible and achieves the two goals (binary search)

2. Compute for each frame f in the block its bit budget Bf

3. For each frame f, call FGSAssign to allocate Bf among senders

Page 29: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

29

Computing Target DistortionComputing Target Distortion

Is bit budget enough to transmit all frames at distortion level D ?

- Du : distortion upper bound

- Dl : distortion lower bound

- D : distortion estimate

Page 30: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

30

Efficiency of mFGSAssignEfficiency of mFGSAssign

Lemma 5- mFGSAssign terminates in O(m n log n) steps,

where n is the number of senders and m is the number of frames in a block

Much more efficient than linear programming approach

Page 31: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

31

Experimental SetupExperimental Setup

Software used - MPEG-4 Reference Software ver 2.5

• Augmented to extract R-D model parameters

Algorithms implemented (in Matlab)- LP solutions using Simplex for the single-frame and

multiple-frame problems

- FGSAssign algorithm

- mFGSAssign algorithm

- Nonscalable algorithm for baseline comparisons

Page 32: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

32

Experimental Setup (cont’d)Experimental Setup (cont’d)

Streaming scenarios- Four typical scenarios for Internet and corporate

environments

Testing video sequences - Akiyo, Mother, Foreman, Mobile (CIF)

- Sample results shown for Foreman and Mobile

Page 33: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

33

Single Frame: Quality (PSNR)Single Frame: Quality (PSNR)

Foreman, Scenario I Mobile, Scenario III

Quality Improvement: 1--8 dB

FGSAssign is optimal

Page 34: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

34

Multiple Frame: Quality (PSNR)Multiple Frame: Quality (PSNR)

Foreman, Scenario II Mobile, Scenario III

Scalable: higher improvement than single frame

mFGSAssign: almost optimal (< 1% gap)

Page 35: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

35

Fluctuation ReductionFluctuation Reduction

Foreman, Scenario II Mobile, Scenario III

Small quality fluctuations in successive frames

Page 36: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

36

Running TimeRunning Time

Foreman, Scenario I Foreman, Scenario IV

Small and stable running times for mFGSAssign, unlike mOPT (Simplex)

mFGSAssign can be used in real time

Page 37: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

37

Reconstructed PicturesReconstructed Pictures

Nonscalable

mFGSAssign

Page 38: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

38

ConclusionsConclusions

Formulated and solved the bit allocation problem for single and multiple frame cases

Nonlinear problem integer linear program- Using linear R-D model

Integer linear program linear program - Using simple rounding scheme

Efficient Algorithms - FGSAssign: Optimal and efficient

- mFGSAssign: close to optimal in terms of average distortion, reduces quality fluctuations, runs in real time

Significant quality improvements shown by our experiments

Page 39: 1 School of Computing Science Simon Fraser University, Canada Rate-Distortion Optimized Streaming of Fine-Grained Scalable Video Sequences Mohamed Hefeeda.

39

Thank You!Thank You!

Questions??

All programs/scripts/videos are available:

http://www.cs.sfu.ca/~mhefeeda