scalable video coding

84
Scalable Video Coding Prof. V. M. Gadre Department of Electrical Engineering, IIT Bombay.

Upload: isabelle-whitfield

Post on 30-Dec-2015

65 views

Category:

Documents


1 download

DESCRIPTION

Prof. V. M. Gadre Department of Electrical Engineering, IIT Bombay. Scalable Video Coding. Scalable Video Coding. Video streaming over internet is gaining more and more popularity due to video conferencing and video telephony applications. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Scalable Video Coding

Scalable Video CodingProf. V. M. Gadre

Department of Electrical Engineering, IIT Bombay.

Page 2: Scalable Video Coding

Scalable Video Coding

• Video streaming over internet is gaining more and more popularity due to video conferencing and video telephony applications.

• The heterogeneous, dynamic and best effort structure of the internet, motivates to introduce a scalability feature as adapting video streams to fluctuations in the available bandwidths.

• Optimize the video quality for a large range of bit-rates. • A video bit stream is called scalable if part of the stream can be

removed in such a way that the resulting bit stream is still decodable.

• Scalability here implies:– Single encode

– Multiple possibilities to transmit and decode bitstream

Page 3: Scalable Video Coding

Scalable Video Coding

Page 4: Scalable Video Coding

H.264/AVC Simulcast vs. SVC

• Simulcast– Transmitting both (multiple) bit-streams

• SVC– Transmit a single bit-stream that can be adapted to get any of the bit-

stream

H.264 simulcast

SD

HD

SVC

HD+SD

Simulcast needs more bit rate to achieve the same quality

Page 5: Scalable Video Coding

H.264/AVC Simulcast vs SVC

H.264 Simulcast Vs. SVCManInRestaurent Sequence

37

38

39

40

41

42

43

44

45

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

Bitrate (KBPS)

Y-P

SN

R

1920x1080+960x540SIMULCAST

SVC with 2 spatial layers(1920x1080<->960x540)

Page 6: Scalable Video Coding

SIMULCAST Vs. SVCIceHockey Sequence

37

38

39

40

41

42

43

1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 12000 13000 14000 15000

Bitrate (KBPS)

Y-P

SN

R H.264 SIMULCAST(1920x1080p+960x540p)

SVC 2 layers (1920x1080p<->960x540p)

H.264/AVC Simulcast vs. SVC

Page 7: Scalable Video Coding

• Typical gains in quality by doing SVC spatial scalability (as opposed to Simulcast) may be in the range – of 0.5dB to 1.5dB PSNR gain

– Or equivalently 10 to 30% bit rate reduction

• This gap will be more if there are more than one SNR layer per spatial layer

H.264/AVC Simulcast vs. SVC

Page 8: Scalable Video Coding

Requirements from an SVC standard

• Superior coding efficiency compared to simulcasting the supported resolutions in separate bit-streams.

• Similar coding efficiency compared to single layer coding for each subset of bit-stream.

• Minimum increase in decoding complexity.

• Support for a backward compatible base layer.

• Support of simple bit-stream adaptations after encoding.

Page 9: Scalable Video Coding

Functionalities and Applications

• SVC has capability of reconstructing lower resolution or lower quality signals from partial bit streams.

• Partial decoding of the bit stream allows-– Graceful degradation in case part of bit stream is lost.

– Bit-rate adaptation

– Format adaptation

– Power adaptation

• Beneficial for transmission services with uncertainties regarding – Resolution required at the terminal.

– Channel conditions or device types.

Page 10: Scalable Video Coding

SVC Basics

• Straight forward extension to H.264 with very limited added complexity

• Layered approach– One base layer– One or more enhancement layers.

• Base layer is H.264/AVC compliant.• An SVC stream can be decoded by an H.264 decoder.• Enhancement layers enable Temporal, Spatial or Quality

(SNR) scalability.

Page 11: Scalable Video Coding

SVC Basics

• In Spatial scalability and Temporal Scalability the subset of the bit-stream represent the source content with reduced picture size (Spatial Resolution) or frame rate (Temporal Resolution).

• In case of quality scalability, also known as fidelity or SNR scalability, the subset of the bit-stream provides lower quality. (Lower SNR).

• In rare cases, “region-of-interest” and object based scalability is also required, wherein the subsets of the bit-stream represent spatially contiguous regions of original picture area.

• Multiple scalability features can be combined to support various spatio-temporal resolutions and bit rates within single bit-stream.

Page 12: Scalable Video Coding

SVC Profiles

• SVC Standard defines 3 profiles– Scalable Baseline profile

• Targeted for conversational and surveillance applications.• Support for Spatial Scalable coding is restricted to ratios 1.5 and 2,

between successive spatial layers.• Interlaced video not supported.

– Scalable High profile• Designed for broadcast, storage and streaming applications.• Spatial scalable coding with arbitrary resolution ratios supported.• Interlaced video supported

– Scalable High Intra profile• Designed for professional applications.• Contains only IDR pictures for all layers.• All other coding tools are same as Scalable High Profile.

Page 13: Scalable Video Coding

SVC – Principle – Single Encoding

Figure courtesy “Scalable Video Coding Scalable extension of H.264 / AVC” Vincent Botreau, Thomson

Page 14: Scalable Video Coding

SVC – Principle – Multiple Decoding

Figure courtesy “Scalable Video Coding Scalable extension of H.264 / AVC” Vincent Botreau, Thomson

Page 15: Scalable Video Coding

Temporal Scalability

Page 16: Scalable Video Coding

Temporal Scalability

• A bit-stream provides temporal scalability if,– The bit-stream obtained by removing the access units of all temporal

layer identifier Tx greater than k (k ∈ N) forms another valid bit-

stream. (x ∈ {0,1,2,…}) x=0 represents base layer.

• H.264/AVC provides high flexibility for Temporal Scalability, due to its Reference Picture Memory Control. – H.264 allows coding of pictures with arbitrary temporal dependencies,

restricted by maximum usable DPB size. (Use of hierarchical B- pictures)

Page 17: Scalable Video Coding

Temporal Scalability(Dyadic prediction structure)

• Group of Pictures (GOP)

– Key Picture: Typically Intra-coded

– Hierarchically predicted B Pictures: Motion-Compensated Prediction

Frame Rate = 3.75 fpsFrame Rate = 7.5 fpsFrame Rate = 15 fpsFrame Rate = 30 fps

PredictionGOP border GOP border

Key Picture Key Picture

T0T0T1T2

T2T3T3

T3T3

Tx : Temporal Layer Identifier

Structural Delay = 7 frames

Page 18: Scalable Video Coding

Hierarchical B-pictures

• Temporal scalability with dyadic temporal enhancement layers can be efficiently provided by concept of hierarchical B-pictures.

• The enhancement layer pictures are typically coded as B-pictures, where the reference picture lists 0 and 1 are restricted to temporally preceding and succeeding picture.– The temporal layer identifiers, T, of the reference pictures must be less

than that of the picture to be predicted.

• The hierarchical prediction structures are not restricted to dyadic case (as shown in previous slide), following slide shows non-dyadic prediction structure.

Page 19: Scalable Video Coding

Hierarchical B-pictures

• Above is a non-dyadic prediction structure, which provides 2 independently decodable subsequences with 1/9th and 1/3rd of full frame rate.

• Structural delay = 8 frames

Figure courtesy “Overview of Scalable Video Coding extension of H.264 / AVC” SCHWARZ et al., IEEE Transactions on circuits and Systems for Video Technology, Sept. 2007

Page 20: Scalable Video Coding

Hierarchical B-pictures

• Above is a non-dyadic prediction structure, which provides 0 structural delay, but low coding efficiency, compared to above examples.

• Any chosen prediction structure need not be constant over time. It can be arbitrarily modified, e.g., to improve coding efficiency.

Figure courtesy “Overview of Scalable Video Coding extension of H.264 / AVC” SCHWARZ et al., IEEE Transactions on circuits and Systems for Video Technology, Sept. 2007

Page 21: Scalable Video Coding

Group Of Pictures (GOP)

• The set of pictures between two successive pictures of the temporal base layer together with the succeeding base layer picture is referred to as GOP.

• Selection GOP size has direct effects on Coding Efficiency and structural delay.

Page 22: Scalable Video Coding

• IPP : GOP Size 1– No Temporal scalability – Only Temporal Level 0

• IBP : GOP Size 2– Temporal Levels 0, 1

• GOP Size 4– Temporal Levels 0, 1, 2

• GOP Size 8– Temporal Levels 0, 1, 2, 3

Group Of Pictures (GOP)

Page 23: Scalable Video Coding

• Analysis of coding efficiency for hierarchical B-pictures without any delay constraint (High Delay Test Sequences) indicates that the coding efficiency can be continuously improved with increase in GOP size. – Increasing GOP size increases delay

• PSNR gains of about 1 db can be achieved using this.

• Maximum coding efficiency is achieved for GOP size between 8 and 32 pictures.

Coding efficiency of Hierarchical Prediction Structures

Page 24: Scalable Video Coding

Coding efficiency of Hierarchical Prediction Structures

Figure courtesy “Overview of Scalable Video Coding extension of H.264 / AVC” SCHWARZ et al., IEEE Transactions on circuits and Systems for Video Technology, Sept. 2007

Page 25: Scalable Video Coding

• Analysis of coding efficiency of hierarchical prediction structures for low delay test sequences indicate that the coding efficiency improvements are significantly smaller compared to those of high delay test sequences.

• From these observations it can be deduced that providing temporal scalability may result in minor losses in coding efficiency for low delay applications, but significant improvement in coding efficiency can be achieved for high delay applications.

Coding efficiency of Hierarchical Prediction Structures

Page 26: Scalable Video Coding

Effect of varying QP for Enhancement Layer

• The coding efficiency for hierarchical prediction structure depends on how QP is chosen for different temporal layers.– Pictures of Base Layer should be coded with highest fidelity, since

they are useful as references for motion-compensated prediction of pictures of pictures of further temporal layers.

– Pictures of temporal layer Tk should be coded with higher QP compared to temporal layer Tm (k > m)

– Though this sometime causes larger PSNR fluctuations inside a GOP, the overall subjective quality is improved.

Page 27: Scalable Video Coding

Temporal Scalability

• If B pictures are quantized heavily, – larger GOP size gives

larger PSNR improvement

Figure courtesy JVT-W132: “Scalable Video Coding” Thomas Wiegand, HHI

Page 28: Scalable Video Coding

Temporal Scalability

IPP : 2.2MBPS, YPSNR 30.71dB Frame 1 : 68208 bits, 30.70dB, average QP: 36

GOP Size 8: 2.1MBPS, YPSNR 31.47dBFrame 1: 33688 bits, 30.97dB, average QP: 37Subjective quality much better

Thus temporal scalability with Hierarchical-B coding comes with an improvement in subjective and objective quality

- However H-B has higher delay and bit rate fluctuation - May not be suitable for extreme low delay applications

Page 29: Scalable Video Coding

Spatial Scalability

Page 30: Scalable Video Coding

Spatial Scalability

Sub-sample and Encodeto form Base Layer

Decode and Up-sampleto original Resolution

Subtract Predicted from Original

Encode residueto form Enhancement Layer

The base layer contains a reduced-resolution version of each coded frame. Decoding the base layer alone produces a low-resolution output sequence and decoding the base layer with enhancement layer(s) produces a higher-resolution output.

Page 31: Scalable Video Coding

• A single-layer decoder decodes only the base layer to produce a reduced-resolution output sequence.

• A multi-layer decoder can reconstruct a full-resolution sequence.

• Decoding process– Decode the base layer and up-sample to the original resolution.

– Decode the enhancement layer.

– Add the decoded residual from the enhancement layer to the decoded base layer to form the output frame.

Spatial Scalability

Page 32: Scalable Video Coding

Spatial Scalability

• In each spatial layer, motion compensation, and intra-prediction are employed similar to that of single layer coding.

• To improve coding efficiency, inter-layer prediction mechanisms are employed.

Page 33: Scalable Video Coding

Spatial Scalability

• Inclusion of Inter layer prediction modes• Interlayer motion prediction• Interlayer Residual prediction etc.

Page 34: Scalable Video Coding

Interlayer Prediction in Spatial Scalability

• Main goal is to enable usage of as much lower layer information as possible, to improve coding efficiency of the enhancement layers.

• Traditionally the prediction signal is formed based on up-sampled reconstructed lower layer signal or by averaging such up-sampled signal with temporal prediction signal.

• The interlayer prediction does not work as well as temporal prediction especially in case of sequences with slow motion and high spatial detail.

Page 35: Scalable Video Coding

• To improve the coding efficiency for spatial scalable coding two additional interlayer prediction concepts are added.– Prediction of macroblock modes and associated motion parameters.

– Prediction of residual signal.

• Additionally one more mode ‘Inter layer Intra prediction’ is added to take care of the case when the co-located lower layer macroblock is intra coded.

Interlayer Prediction in Spatial Scalability

Page 36: Scalable Video Coding

Use of “base_mode_flag”

• For spatial enhancement layers SVC includes a new macroblock mode, which is signaled by “base_mode_flag”.

• For this macroblock type, only a residual signal (no additional side information such as intra prediction modes or motion parameters) is transmitted.

• When base_mode_flag = 1– The macroblock is predicted by “inter layer intra prediction” mode if co-

located 8x8 sub-block lies inside an Intra coded macroblock. (intra_BL)

– The macroblock is predicted by “interlayer motion prediction” mode, when reference layer macroblock is inter coded. (BL_skip)

• These modes are not used when the flag is zero.

Page 37: Scalable Video Coding

Inter Layer Motion Prediction

• The partitioning data of the enhancement layer macroblock together with the associated motion vectors are derived from the corresponding data of co-located 8x8 block in the reference layer.

• The macroblock partitioning is obtained by up-sampling the corresponding partitioning of co-located 8x8 block in reference layer.

• Each MxN sub macroblock partition in the 8x8 reference block corresponds to (2M)x(2N) macroblock partition in enhancement layer.

• The motion vectors are derived by scaling the reference layer motion vector by 2.

Page 38: Scalable Video Coding

Inter Layer Intra Prediction

• The corresponding reconstructed intra signal itself, of the reference layer is up-sampled.

• Luma component is up-sampled using one-dimensional 4-tap FIR filters in both horizontal and vertical direction.

• Chroma components are up-sampled by simple bilinear filters.

• In this way, it is avoided to reconstruct the inter coded macroblocks in the reference layer, and Single Loop Decoding is provided.

Page 39: Scalable Video Coding

Inter Layer Residual Prediction

• Can be employed for all inter coded macroblocks, irrespective of base_mode_flag.

• This is the mechanism that involves using the base layer prediction residual to predict the enhancement layer prediction residual.

• Permits an enhancement layer video stream to be decoded with only one motion compensation loop at the enhancement layer and no motion compensation needs to be done at base layer.

• Reduces decoder complexity.

• The up-sampled residual of the co-located reference layer block is subtracted from the enhancement layer residual and only the resulting difference is encoded.

Page 40: Scalable Video Coding

• Example: The EL macroblocks E,F,G, H, covered by only one up sampled macroblock, A,B,C,D.

• Without RP: EL macroblock G is predicted from EL macroblock E, written as PEG,

E(G) = O(G) – PEG

• With RP: The residual of BL macroblock C, i.e. O(C) – PAC is also used, to form a prediction for G.

E(G) = O(G) – P’EG – U(O(C) - PAC)

P’EG : Prediction formed from macroblock E under residual prediction mode.

Inter Layer Residual Prediction

O (·) : Original Pixels

E (·) : Prediction Residual

U (·) : Upsampling function

Page 41: Scalable Video Coding

Extended Spatial Scalability

• SVC also supports arbitrary downsampling factors and defines appropriate upsampling filers.

• This is required in many applications where different display sizes from broadcasting, communications and IT environments are commonly mixed, having different aspect ratios (like 4:3 or 16:9 etc).

• Cropping of appropriate layers is defined to take care of these.

• Non-integer scaling ratios lead to more complex relationships between macroblocks between layers and thus limiting the use of interlayer prediction.

Page 42: Scalable Video Coding

• JVT, MPEG and VCEG jointly release a reference software JSVM (Joint Scalable Video Model)

• JSVM supports 3 interlayer prediction options– No interlayer prediction

– Always interlayer prediction

– Adaptive interlayer prediction

Analysis of Interlayer Prediction

Page 43: Scalable Video Coding

Comparison of ILP modes

sIceHockey: Base layer: 960x540p En. Layer: 1920x1080p

36

37

38

39

40

41

42

43

44

45

0 5000 10000 15000 20000 25000

Bit Rate (KBPS)

Y-P

SN

R SINGLE LAYER

2 layers + interlayer prediction =0 (NO ILP)

2 layers + interlayer prediction =1 (ALWAYS)

2 layers + interlayer prediction = 2 (Adaptive)

Adaptive interlayer prediction give best results compared to others

Page 44: Scalable Video Coding

Comparison of ILP modessmaninrest: Base layer: 960x540p En. Layer: 1920x1080p

36

37

38

39

40

41

42

43

44

45

0 2000 4000 6000 8000 10000 12000 14000

Bitrate (KBPS)

Y-P

SN

R SINGLE LAYER

2 layers + interlayer prediction =0 (NO ILP)

2 layers + interlayer prediction =1(Always ILP)

2 layers + interlayer prediction = 2(Adaptive ILP)

Page 45: Scalable Video Coding

Adaptive ILP for diff. scalability ratios

sICeHockey: Performance of Adaptive ILP for different scalability ratiosEn. Layer: 1920x1080p

36

37

38

39

40

41

42

43

44

45

0 5000 10000 15000 20000 25000

Bit rate (KBPS)

Y P

SN

R

2 layers + interlayer prediction = 2(Adaptive) (BL:960x540)

2 layers + interlayer prediction = 2(BL:1280x720)

Adaptive interlayer prediction gave better results for scalability ratio 2 compared to 1.5

Scalability ratio = 2

Scalability ratio = 1.5

Page 46: Scalable Video Coding

sfish EL: 1920x816p

39

40

41

42

43

44

45

46

500 1500 2500 3500 4500 5500

Bitrate (KBPS)

Y-P

SN

R

2 layers + interlayer prediction = 2 (BL: 960x408)

2 layers + interlayer prediction = 2 (BL: 1280x544)

Adaptive interlayer prediction gave better results for scalability ratio 1.5 compared to 2

Scalability ratio = 1.5

Scalability ratio = 2

Adaptive ILP for diff. scalability ratios

Page 47: Scalable Video Coding

smaninrest EL: 1920x1080p

37

38

39

40

41

42

43

44

45

0 1000 2000 3000 4000 5000 6000 7000 8000 9000

Bitrate (KBPS)

Y-P

SN

R 2 layers + interlayer prediction = 2(Adaptive ILP) BL:960x540

2 layers + interlayer prediction = 2 BL: 1280x720

Adaptive interlayer prediction gave identical results for scalability ratio 1.5 and 2

Adaptive ILP for diff. scalability ratios

Page 48: Scalable Video Coding

• Performance of adaptive interlayer prediction varies based on the scalability ratio (1.5 or 2)– Reasons for this still need to be analyzed.

Adaptive ILP for diff. scalability ratios

Page 49: Scalable Video Coding

Interlayer Residual Prediction (RP)

crowdrun: Base Layer: 960x540p En. Layer:1920x1080p

24

24.5

25

25.5

26

26.5

27

27.5

28

28.5

29

29.5

30

2000 3000 4000 5000 6000 7000 8000 9000 10000 11000

Bitrate (KBPS)

Y-P

SN

R

2 layers + interlayerprediction = 2(Adaptive)

2 layers + Adaptiveinterlayer prediction +ALWAYS residualpred

2 layers + Adaptiveinterlayer prediction +NO residual pred

Page 50: Scalable Video Coding

sIceHockey: Base layer: 960x540p En. Layer: 1920x1080p

36

37

38

39

40

41

42

43

44

45

0 5000 10000 15000 20000 25000

Bit Rate (KBPS)

Y-P

SN

R

2 layers + interlayerprediction = 2(Adaptive)

2 layers + Adaptiveinterlayer prediction+ ALWAYS residualpred

2 layers + Adaptiveinterlayer prediction+ NO residual pred

Interlayer Residual Prediction (RP)

Page 51: Scalable Video Coding

smaninrest: Base layer: 960x540p En. Layer: 1920x1080p

36

37

38

39

40

41

42

43

44

45

0 2000 4000 6000 8000 10000 12000

Bitrate (KBPS)

Y-P

SN

R

2 layers + Adaptiveinterlayer prediction

2 layers + Adaptiveinterlayer prediction +ALWAYS residual pred

2 layers + Adaptiveinterlayer prediction + NOresidual pred

Interlayer Residual Prediction (RP)

Page 52: Scalable Video Coding

• Adaptive residual prediction is required as ALWAYS Residual Prediction does not guarantee good performance

Interlayer Residual Prediction (RP)

Page 53: Scalable Video Coding

Performance of RP in BL_skip modePerformance of RP in BL_skip

smotionvipertraffic 1920x1080p

38

39

40

41

42

43

44

2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 12000

Bitrate (KBPS)

Y-P

SN

R

2 layers + Adaptive interlayer prediction

2 layers + Adaptive interlayer prediction +ADAPTIVE residual pred in BL_SKIP

2 layers + Adaptive interlayer prediction +ALWAYS residual pred IN BL_SKIP

2 layers + Adaptive interlayer prediction +NO residual pred but ALL MODESALLOWED

Page 54: Scalable Video Coding

smaninrest: Base layer: 960x540p En. Layer: 1920x1080p

37

38

39

40

41

42

43

44

0 1000 2000 3000 4000 5000 6000 7000

Bitrate (KBPS)

Y-P

SN

R

2 layers + interlayerprediction = 2(Adaptive ILP)BL: 960x540

2 layers + Adaptiveinterlayer prediction +ADAPTIVE residual pred inBL_SKIP + NO RP in ALLInter Modes

2 layers + Adaptiveinterlayer prediction +ALWAYS residual pred INBL_SKIP + NO RP in ALLInter Modes

2 layers + Adaptiveinterlayer prediction + NOresidual pred

Performance of RP in BL_skip mode

Page 55: Scalable Video Coding

sfish BL: 1280x544 EL: 1920x816

41

42

43

44

45

46

47

0 2000 4000 6000 8000 10000 12000

Bitrate (KBPS)

Y-P

SN

R

2 layers + interlayer prediction= 2 (BL: 1280x544)

2 layers + Adaptive interlayerprediction + ADAPTIVEresidual pred in BL_SKIP + NORP in ALL Inter Modes

2 layers + Adaptive interlayerprediction + ALWAYS residualpred IN BL_SKIP + NO RP inALL Inter Modes

2 layers + Adaptive interlayerprediction + NO residual predbut ALL MODES ALLOWED

Performance of RP in BL_skip mode

Page 56: Scalable Video Coding

• Adaptive residual prediction in BL_skip mode and Always residual prediction in BL_skip mode give good results even after disabling the residual predictions in ALL the inter modes, thus reducing a large amount of complexity

Performance of RP in BL_skip mode

Page 57: Scalable Video Coding

Spatial + SNR Scalability Encoding

Quantization, Entropy coding

Multiplex

SVC Bitstream

ME, MC and Intra Prediction,

Interlayer Prediction

UpsamplingDownsampling

ME, MC and Intra Prediction,

Interlayer Prediction

ME, MC and Intra Prediction,

Interlayer Prediction

ME, MC and Intra Prediction,

Interlayer Prediction

SVC base layer (H.264 encoding) D=0, Q=0

SVC enhancement layer D=0, Q=1

SVC enhancement layer D=1, Q=0

SVC enhancement layer D=1, Q=1

Quantization, Entropy coding,

Deblocking

Quantization, Entropy coding

Quantization, Entropy coding,

Deblocking

Page 58: Scalable Video Coding

SNR (Quality) Scalability

Page 59: Scalable Video Coding

SNR Scalability

• Types– Coarse Grain Scalability (CGS)

– Medium Grain Scalability (MGS)

– Fine Grain Scalability (FGS)• Not supported by SVC standard because of very poor enhancement layer

coding efficiency.

• Bit rate adaptation at same spatial/temporal resolution

• Provides graceful degradation of quality

• Error resilience

Page 60: Scalable Video Coding

SNR (Quality) scalability

SNR Layer 0 SNR Layer 1 SNR Layer 2

Quality Level 0

Quality Level 1

Quality Level 2

SVC supports up to 16 SNR layers for each spatial layer

Page 61: Scalable Video Coding

• Coarse Grain Scalability– Can be considered as a special case of Spatial scalability except for

identical picture sizes at the enhancement layer.

– Enhancement layer coded with lower quantization parameter.

– Only allows few selected bit rates to be supported in the scalable bit

stream.

CGS SNR Scalability

Page 62: Scalable Video Coding

MGS SNR Scalability

• Medium Grain Scalability (MGS)– Throwing away an entire SNR enhancement layer results in rapid loss in

quality– The enhancement layer SNR packets can be removed in any order to reduce

bit rate• Removing the right packets can provide a graceful degradation in quality

– Example: • The (dotted) blue packets could be removed first to achieve a slight

reduction in bit rate • If we still need some more reduction in bit rate, dotted red/green packets

could also be removed.

SNR Layer 0

SNR Layer 1

Page 63: Scalable Video Coding

SNR Scalability and Drift

• Drift: Effect of lack of synchronization between motion-compensated prediction loops at encoder and decoder.– The synchronization loss may occur due to removal of quality

refinement packets from the bit stream at decoder.

• There is a tradeoff between enhancement layer coding efficiency and drift.

Page 64: Scalable Video Coding

• BL only control

• No Drift propagation

• Efficient BL , in-efficient EL

• MPEG4 FGS

SNR Scalability and Drift

• EL only control

• Drift propagation in Both BL and EL

• In-Efficient BL , efficient EL

• MPEG2 FGS

• Two-loop control

• No Drift in BL

• Drift propagation in EL only

• High complexity

• Efficient BL, medium efficient EL

• H.262,H.263, MPEG4

• Previously used concepts for trading off Enhancement layer coding efficiency and Drift

Page 65: Scalable Video Coding

“Key Pictures” in SVC

• SVC can use a combination of the three schemes described earlier– Using Key pictures to close the drift

• Key Pictures for containing the drift– Normal pictures : Uses highest quality level reconstruction for MCP

– Key Pictures (Closed loop Pictures) : Uses lowest quality level reconstruction for MCP

– Drift doesn’t propagate beyond the key picture

Page 66: Scalable Video Coding

• Requires both lowest quality and highest quality to be reconstructed at key pictures

• In order to limit decoding overhead for Key pictures, SVC do not allow change of motion parameters between base and enhancement layer representations of Key pictures.

• This means enhancement quality levels are not allowed motion refinement for key pictures

• Only one Motion Compensation is sufficient

• Single loop decoding is possible in key pictures too!

“Key Pictures” in SVC

Page 67: Scalable Video Coding

• The drift propagates only until the next key picture.

• The base layer key frame needs to be de-blocked twice.– The fully decoded base layer

key frame as reference for next key frame

– The partially decoded key frame used for interlayer prediction

Example: Drift due to intermediate picture

Example: Drift due to first EL picture itself

“Key Pictures” in SVC

Page 68: Scalable Video Coding

SVC Encoder

Page 69: Scalable Video Coding

SVC: Combined Scalability

Spatio-Temporal-Quality Cube

Page 70: Scalable Video Coding

Mode Decision Algorithms

Page 71: Scalable Video Coding

Mode Decision

• Multiple coding modes in H.264– Variable block size ranging from 16x16 to 4x4– Inter and intra coding

• SVC extension adds more modes.– Advantage of layered structure

• Best coding mode is selected by trade-off between rate and distortion performance of each mode.– Computationally expensive if exhaustively searched

through all the coding modes.

• Fast Mode Decision algorithms are required.

• Key:– Some how try to reduce the candidate modes before

finding the rate distortion cost

Page 72: Scalable Video Coding

Fast Mode Decision for Adaptive GOP structure

• Adaptive GOP structure• Adaptively changes the size of the GOPs according to temporal

characteristics of video.

• Early terminate the mode decision based on• Average motion vector magnitude and

• Number of Intra coded macroblocks

• Larger motion vectors and large number of intra coded macroblocks high temporal activity smaller GOP size (and vice versa)

Chih- Wei Chiou et al., “Fast mode decision Algorithms for Adaptive GOP structure in Scalable Extension of H.264/AVC”

• If we put it in simple words• Compute the average motion vector magnitude (|MV|) and number of

intra coded macroblocks (numIntra) for full sized GOP.

• If |MV|<THMV or if numIntra<THnumIntra then stop

• Else continue the routine computation

Page 73: Scalable Video Coding

Mode History Map based Mode Decision

• Explores the property of most natural videos which tends to have a homogenous motion.

• Frames in a GOP shows similar distribution of Motion vectors• Utilizes stored information of frames inside a GOP of lower

layer for decision of Mode at higher level.• The mode information of referenced frame is stored in MHM.• Further the MHM is refined by considering the motion vector

magnitude.

Sunhee Lim et al., “Fast coding mode decision for Scalable Video Coding”

Page 74: Scalable Video Coding

Early skip scheme

• Takes advantage of relation between levels in GOP

• When a macroblock at reference frame of low level has the SKIP mode, the macroblock at higher level also tends to have a SKIP mode.

• If macroblock mode of references is all SKIP modes, it is reasonable to consider only SKIP and P16x16 modes as candidate mode.

Sunhee Lim et al., “Fast coding mode decision for Scalable Video Coding”

Page 75: Scalable Video Coding

Mode decision at Enhancement layer from Base Layer

• Uses the mode prediction at the base layer for prediction at enhancement layer.

• The candidate modes at enhancement layer are reduced based on the actual mode at base layer.

He Li et al., “Fast mode decision for Spatial Scalable Video Coding”

Base Layer Mode Enhancement layer mode set

Intra 4x4 BL_Pred and Intra 4x4

Intra 16x16 BL_Pred and Intra 16x16

Inter 16x16 BL_Pred and Inter 16x16 and SKIP

Inter 16x8,8x16 or 8x8

Choose Best two modes, BL_pred, SKIP

Page 76: Scalable Video Coding

Mode decision in inter-layer prediction using zero motion blocks

• Considers motion vectors as well as integer transform coefficients of the residual for mode prediction at enhancement layer.

• For non-zero motion blocks, the integer transform coefficients of the residual between current macroblock and motion compensated macroblock by predicted motion vectors from base layer, is considered.

• For ZMB or ZCB, inter 16x16 mode is used.

• For others, RD costs are computed for a number of candidate modes.

Bumshik Lee et al., “A Fast mode selection scheme in Interlayer Prediction of H.264 Scalable Extension coding”

Page 77: Scalable Video Coding

Mode decision based on Psycho-Visual Characteristics

• Explores the psycho-visual characteristics to decide the mode.– Moving objects usually attract more human attention than static ones.

• Defines a motion attention model, which generates a motion attention map based on the motion vectors estimation scheme.

• Visually more attended regions of the frame, undergo the usual exhaustive search scheme.

• For visually less attended regions of the frame, fast mode decision algorithm is applied similar to the one proposed by He Li et al.

Yun-Da Wu et al., “The Motion Attention Directed Fast mode decision for Spatial and CGS Scalable Video Coding”

Page 78: Scalable Video Coding

Layer adaptive mode decision

• Explores the correlation between base and enhancement layers.

• Mode of next layer is predicted from previous layer.

• The subordinate layer is divided in two regions with QP<33 and QP>33

• If QP of reference layer is >33 then inter layer prediction is skipped, since the reference layer would be of lower quality.

• If QP of reference layer is < 33 then all the modes with interlayer prediction are considered for testing.

Hung-Chih Lin et al., “Layer Adaptive Mode decision and Motion Search for Scalable Video Coding with Combined CGS and Temporal scalability”

Page 79: Scalable Video Coding

Research Areas

• Mode decision is computationally most expensive process in video coding, as described in the previous slides, efforts are made in reducing these computation and predict the modes faster.

• Coding of Enhancement layer can be done more effectively if, the base layer is coded sub-optimally such that it can be maximally utilized in interlayer prediction.

• Investigate the effect of various rate distortion algorithms.

Page 80: Scalable Video Coding

Thank You

Page 81: Scalable Video Coding

No ILP

• Following modes are evaluated– Inter 16x16

– Inter 16x8

– Inter 8x16

– Inter 8x8

– BL_skip

– All intra modes

All without Residual Prediction

Back

Page 82: Scalable Video Coding

Always ILP

• Only BL_skip (with residual prediction) mode is evaluated

Back

Page 83: Scalable Video Coding

Adaptive ILP

• Following modes are evaluated– Inter 16x16

– Inter 16x8

– Inter 8x16

– Inter 8x8

– BL_skip

– All intra modes

All with and without Residual Prediction

Back

Page 84: Scalable Video Coding

H.264/AVC Encoder

Decoder