44
Error Control and Concealment for Video Communication CMPT820 Summer 2008 Michael Jia

Error Control and Concealment for Video Communication

  • Upload
    faunia

  • View
    83

  • Download
    3

Embed Size (px)

DESCRIPTION

Error Control and Concealment for Video Communication. CMPT820 Summer 2008 Michael Jia. Reference. “Error Control and Concealment for Video Communication : A Review”. YAO WANG, Member, IEEE QIN-FAN ZHU, Member, IEEE. Outline. Introduction Error Detection Error Concealment at Coder - PowerPoint PPT Presentation

Citation preview

Page 1: Error Control and Concealment for Video Communication

Error Control and Concealment for Video Communication

CMPT820

Summer 2008

Michael Jia

Page 2: Error Control and Concealment for Video Communication

“Error Control and Concealment for Video Communication : A

Review”

YAO WANG, Member, IEEEQIN-FAN ZHU, Member, IEEE

Reference

Page 3: Error Control and Concealment for Video Communication

Introduction

Error Detection

Error Concealment at Coder

Error Concealment at Decoder

Interactive Error Concealment

Conclusion

Outline

Page 4: Error Control and Concealment for Video Communication

2 Types of Transmission Errors

Random Bit Errors

Bit inversion, bit insertion, bit deletion

Erasure Errors

Packet loss, burst errors, system failures

More destructive

Common usage of VLC makes them no differences in video

streaming

Introduction

Page 5: Error Control and Concealment for Video Communication

Lossless recovery

FEC (Forward Error Correction)

ECC (Error Control Coding)

ARQ (Automatic Retransmission Request)

Not necessary for video transmission, human eyes can

tolerate a certain degree of distortion

Focus on signal-reconstruction and error-concealment

techniques

Introduction

Page 6: Error Control and Concealment for Video Communication

Typical structure of a video communication system

Introduction

Page 7: Error Control and Concealment for Video Communication

3 groups of error-concealment techniques Forward error concealment

Encoder plays the primary role Error concealment by post-processing

Decoder fulfills the task Interactive error concealment

Main concerns Effectiveness Required delay Bit-rate overhead Processing complexity

Introduction

Page 8: Error Control and Concealment for Video Communication

Introduction

Error Detection

Error Concealment at Coder

Error Concealment at Decoder

Interactive Error Concealment

Conclusion

Outline

Page 9: Error Control and Concealment for Video Communication

At transport layer

Adding header information (sequence number)

H.223

FEC (Forward Error Correction)

H.223, H.261

More reliable

Need more bandwidth

Error Detection

Page 10: Error Control and Concealment for Video Communication

At decoder Based on characteristics of natural video signals

Pixel value differences of neighboring lines (compare to a threshold) Differences between boundary pixels in a block and its four neighbor

blocks Obvious false value of quantization step size or DCT coefficients Insert synchronization code word at the end of line of blocks

No additional bits or very few Rely on smoothness of signal

Error Detection

Page 11: Error Control and Concealment for Video Communication

Introduction

Error Detection

Error Concealment at Coder

Error Concealment at Decoder

Interactive Error Concealment

Conclusion

Outline

Page 12: Error Control and Concealment for Video Communication

Layered Coding with Transport Prioritization Most popular and effective (MPEG-2)

Error Concealment at Coder (1)

Page 13: Error Control and Concealment for Video Communication

Layered Coding Base layer – most important layer, with acceptable quality

Transport prioritization Deliver base layer with higher degree of error protection High priority channel Re-transmission and/or FEC

No explicit bit-rate overhead Complicate structure and coding overhead H.264 AVC/SVC

Redundant pictures Data Partitioning

Error Concealment at Coder (1)

Page 14: Error Control and Concealment for Video Communication

Multiple-Description Coding (MDC)

Several parallel channels Independent error events Small probability of “all channels down”

Multiple “Descriptions” Several coded bit streams Transmitted over separate channels Any one will work

Error Concealment at Coder (2)

Page 15: Error Control and Concealment for Video Communication

Multiple-Description Coding (MDC)

Error Concealment at Coder (2)

Page 16: Error Control and Concealment for Video Communication

Joint Source and Channel Coding

Source-channel interaction at a lower level

Given channel error characteristics, design quantizer and entropy

coder for to minimize the effect of errors

For general sources, noisy channel coarse quantizer is better

For image signals, noisy channel

fewer bits to high-frequency coefficients

more bits to low-frequency coefficients

Error Concealment at Coder (3)

Page 17: Error Control and Concealment for Video Communication

Robust Waveform Coding

Intentionally keep some redundancy in source-coding

Layered coding and MDC both belong to this category

Adding auxiliary information in waveform coder

MPEG-2: sending motion vectors for microblocks in I-frames

Restricting prediction domain

H.263/H.264: prediction is confined within each slice

Error Concealment at Coder (4)

Page 18: Error Control and Concealment for Video Communication

Robust Entropy Coding

Add redundancy in entropy-coding

To help detect bit errors and prevent error propagation

Self-Synchronizing entropy coding

Add a synchronization code word

H.261, H.263, MPEG-4

Error-Resilient entropy coding (EREC)

MPEG-4 uses RVLC (reversible VLC)

Error Concealment at Coder (5)

Page 19: Error Control and Concealment for Video Communication

Transport-Level Control

Add redundancies at transport level

Prioritized transport for layered coding

Robust packetization

Spatial block interleaving

Dual transmission of important information

H.264 AVC/SVC

NAL unit syntax structure

Parameter Sets

Error Concealment at Coder (7)

Page 20: Error Control and Concealment for Video Communication

Error Concealment at Coder (Summary)

Page 21: Error Control and Concealment for Video Communication

Introduction

Error Detection

Error Concealment at Coder

Error Concealment at Decoder

Interactive Error Concealment

Conclusion

Outline

Page 22: Error Control and Concealment for Video Communication

Preview

Perform error concealment at the decoder

Can be used in conjunction with the auxiliary information provided

by the source coder

Low frequency components dominate images of natural scenes

Color values of adjacent pixels vary smoothly except sharp edges

Human eyes tolerate more distortion to high-frequency

components

Error Concealment at Decoder

Page 23: Error Control and Concealment for Video Communication

Motion-Compensated Temporal Prediction

Replace damaged MB with the motion compensated block

Very effective when all the motion information in the base layer

Widely used (MPEG-2)

What if motion information or coding mode is lost?

Will discuss in next slide

Error Concealment at Decoder (1)

Page 24: Error Control and Concealment for Video Communication

Recovery of Motion Vectors and Coding Modes What if we lost motion vectors or coding modes?

Interpolated from spatially and temporally adjacent blocks Estimation of coding modes

Simple: treat as ‘intracoded’ More sophisticate: MPEG-2 (See tables)

Error Concealment at Decoder (2)

Page 25: Error Control and Concealment for Video Communication

Estimation of motion vectors

Set to zeros (works well for low motion video)

Use MV of the corresponding block in the previous frame

Use the average of MVs from spatially adjacent blocks

Use the median of MVs from spatially adjacent blocks

Select one of the above methods depending on least boundary

matching error

Error Concealment at Decoder (2)

Page 26: Error Control and Concealment for Video Communication

Maximally Smooth Recovery

A constrained energy minimization approach

Minimize a measure of spatial and temporal variation between

adjacent pixels in this block and its spatially and temporally

neighboring blocks

Measure differences in 3 domains

Spatial – adjacent blocks

Temporal – prediction block in previous frame

Frequency – received coefficients for this block

Error Concealment at Decoder (3)

Page 27: Error Control and Concealment for Video Communication

Maximally Smooth Recovery 2 sample spatial smoothness measures

Error Concealment at Decoder (3)

Page 28: Error Control and Concealment for Video Communication

Spatial- and Frequency-Domain Interpolation

A coefficient in a damaged block is likely to be close to the

corresponding coefficients in spatially adjacent blocks

Interpolate from four neighbor blocks

Maybe not accurate (8-pixel is too far)

Interpolate from four 1-pixel-wide boundaries

2 pixels in 2 nearest boundaries

4 pixels in all 4 boundaries

See picture in next slide

Error Concealment at Decoder (4)

Page 29: Error Control and Concealment for Video Communication

Spatial- and Frequency-Domain Interpolation Interpolate from four 1-pixel-wide boundaries

Error Concealment at Decoder (4)

Page 30: Error Control and Concealment for Video Communication

Error Concealment at Decoder (Summary)

Page 31: Error Control and Concealment for Video Communication

Introduction

Error Detection

Error Concealment at Coder

Error Concealment at Decoder

Interactive Error Concealment

Conclusion

Outline

Page 32: Error Control and Concealment for Video Communication

Preview

If a backward channel is available, can achieve better performance

by cooperation

Based on the feedback

At source coder – coding parameters can be adapted

At transport level – adjust the portion of bandwidth used for error control

Decoding delay issue

Interactive Error Concealment

Page 33: Error Control and Concealment for Video Communication

Selective Encoding for Error Concealment

Simple – code next frame in intramode

Error stopped in about one round-trip time

Will cause bit-rate increase

Send identity info back, perform error concealment at the same

time

Continue encode without using the affected area

Perform same error concealment procedure (need a prediction frame

buffer)

See picture in next slide

Interactive Error Concealment (1)

Page 34: Error Control and Concealment for Video Communication

Selective Encoding for Error Concealment

Interactive Error Concealment (1)

Page 35: Error Control and Concealment for Video Communication

Selective Encoding for Error Concealment

Interactive Error Concealment (1)

Page 36: Error Control and Concealment for Video Communication

H.263 uses more prediction frame buffers (reference picture selection mode)

Interactive Error Concealment (1)

Page 37: Error Control and Concealment for Video Communication

Adaptive Transport for Error Concealment

Retransmission is unacceptable for real-time video applications?

Not always

For one-way video broadcast, we may tolerate a few seconds delay

For multipoint video conferencing, use MCU (multipoint control unit)

If retransmission is controlled properly, end-to-end quality can be

improved

Both H.323 and H.324 defined such mechanisms

Interactive Error Concealment (2)

Page 38: Error Control and Concealment for Video Communication

Retransmission Without Waiting

Wait for the retransmission data

Not good, may freeze the display

Cause transit delay and accumulation delay

Without waiting

Request the retransmission

Conceal the error

Track the affected pixels

Correct them upon the arrival of the retransmission data

Interactive Error Concealment (3)

Page 39: Error Control and Concealment for Video Communication

Prioritized, Multi-copy Retransmission

Effective in very lossy channels

Video streaming via PSTN

Are you kidding me?

Send multiple copies of a lost packet

Use layered coding

# of retransmission trials and # of copies are proportional to the

importance of the layer

Interactive Error Concealment (4)

Page 40: Error Control and Concealment for Video Communication

Interactive Error Concealment (Summary)

Page 41: Error Control and Concealment for Video Communication

Introduction

Error Detection

Error Concealment at Coder

Error Concealment at Decoder

Interactive Error Concealment

Conclusion

Outline

Page 42: Error Control and Concealment for Video Communication

Conclusion

Real-time video communication doesn’t require lossless

delivery; signal-reconstruction and error-concealment

techniques are more effective.

Add redundancy when encoding or delivering

Estimate missing information when decoding

Inform sender what is lost

Burstiness has a significant impact on the choice of algorithms

Page 43: Error Control and Concealment for Video Communication

Questions?

Page 44: Error Control and Concealment for Video Communication

Thank You