Error concealment techniques in H.264 video transmission over wireless networks

Similar documents
ERROR CONCEALMENT TECHNIQUES IN H.264

ERROR CONCEALMENT TECHNIQUES IN H.264 VIDEO TRANSMISSION OVER WIRELESS NETWORKS

Research Topic. Error Concealment Techniques in H.264/AVC for Wireless Video Transmission in Mobile Networks

ABSTRACT ERROR CONCEALMENT TECHNIQUES IN H.264/AVC, FOR VIDEO TRANSMISSION OVER WIRELESS NETWORK. Vineeth Shetty Kolkeri, M.S.

Chapter 2 Introduction to

Performance Evaluation of Error Resilience Techniques in H.264/AVC Standard

Project Proposal: Sub pixel motion estimation for side information generation in Wyner- Ziv decoder.

Module 8 VIDEO CODING STANDARDS. Version 2 ECE IIT, Kharagpur

ROBUST ADAPTIVE INTRA REFRESH FOR MULTIVIEW VIDEO

Selective Intra Prediction Mode Decision for H.264/AVC Encoders

University of Bristol - Explore Bristol Research. Peer reviewed version. Link to published version (if available): /ISCAS.2005.

Joint Optimization of Source-Channel Video Coding Using the H.264/AVC encoder and FEC Codes. Digital Signal and Image Processing Lab

Video Over Mobile Networks

The H.26L Video Coding Project

Contents. xv xxi xxiii xxiv. 1 Introduction 1 References 4

Fast MBAFF/PAFF Motion Estimation and Mode Decision Scheme for H.264

Robust 3-D Video System Based on Modified Prediction Coding and Adaptive Selection Mode Error Concealment Algorithm

Modeling and Optimization of a Systematic Lossy Error Protection System based on H.264/AVC Redundant Slices

Improved Error Concealment Using Scene Information

Skip Length and Inter-Starvation Distance as a Combined Metric to Assess the Quality of Transmitted Video

COMP 249 Advanced Distributed Systems Multimedia Networking. Video Compression Standards

A Study on AVS-M video standard

Video Compression - From Concepts to the H.264/AVC Standard

Video coding standards

FAST SPATIAL AND TEMPORAL CORRELATION-BASED REFERENCE PICTURE SELECTION

Comparative Study of JPEG2000 and H.264/AVC FRExt I Frame Coding on High-Definition Video Sequences

Overview: Video Coding Standards

Video Transmission. Thomas Wiegand: Digital Image Communication Video Transmission 1. Transmission of Hybrid Coded Video. Channel Encoder.

Error Resilient Video Coding Using Unequally Protected Key Pictures

Fast Mode Decision Algorithm for Intra prediction in H.264/AVC Video Coding

Performance of a H.264/AVC Error Detection Algorithm Based on Syntax Analysis

A Novel Approach towards Video Compression for Mobile Internet using Transform Domain Technique

Dual Frame Video Encoding with Feedback

International Journal for Research in Applied Science & Engineering Technology (IJRASET) Motion Compensation Techniques Adopted In HEVC

AN IMPROVED ERROR CONCEALMENT STRATEGY DRIVEN BY SCENE MOTION PROPERTIES FOR H.264/AVC DECODERS

AUDIOVISUAL COMMUNICATION

Study of AVS China Part 7 for Mobile Applications. By Jay Mehta EE 5359 Multimedia Processing Spring 2010

Systematic Lossy Forward Error Protection for Error-Resilient Digital Video Broadcasting

Advanced Computer Networks

The H.263+ Video Coding Standard: Complexity and Performance

Modeling and Evaluating Feedback-Based Error Control for Video Transfer

Content storage architectures

Systematic Lossy Error Protection of Video based on H.264/AVC Redundant Slices

ROBUST REGION-OF-INTEREST SCALABLE CODING WITH LEAKY PREDICTION IN H.264/AVC. Qian Chen, Li Song, Xiaokang Yang, Wenjun Zhang

STUDY OF AVS CHINA PART 7 JIBEN PROFILE FOR MOBILE APPLICATIONS

Robust Transmission of H.264/AVC Video using 64-QAM and unequal error protection

OL_H264MCLD Multi-Channel HDTV H.264/AVC Limited Baseline Video Decoder V1.0. General Description. Applications. Features

Wireless Ultrasound Video Transmission for Stroke Risk Assessment: Quality Metrics and System Design

Overview of the H.264/AVC Video Coding Standard

Adaptive Key Frame Selection for Efficient Video Coding

PERCEPTUAL QUALITY OF H.264/AVC DEBLOCKING FILTER

A Study of Encoding and Decoding Techniques for Syndrome-Based Video Coding

Motion Re-estimation for MPEG-2 to MPEG-4 Simple Profile Transcoding. Abstract. I. Introduction

Principles of Video Compression

MULTI-STATE VIDEO CODING WITH SIDE INFORMATION. Sila Ekmekci Flierl, Thomas Sikora

Robust Transmission of H.264/AVC Video Using 64-QAM and Unequal Error Protection

Error-Resilience Video Transcoding for Wireless Communications

MPEG-2. ISO/IEC (or ITU-T H.262)

SCALABLE video coding (SVC) is currently being developed

Visual Communication at Limited Colour Display Capability

Error Concealment for SNR Scalable Video Coding

FINAL REPORT PERFORMANCE ANALYSIS OF AVS-M AND ITS APPLICATION IN MOBILE ENVIRONMENT

PERFORMANCE OF A H.264/AVC ERROR DETECTION ALGORITHM BASED ON SYNTAX ANALYSIS

Video Compression. Representations. Multimedia Systems and Applications. Analog Video Representations. Digitizing. Digital Video Block Structure

Chapter 10 Basic Video Compression Techniques

Error Concealment of Data Partitioning for H.264/AVC

1. INTRODUCTION. Index Terms Video Transcoding, Video Streaming, Frame skipping, Interpolation frame, Decoder, Encoder.

A Cell-Loss Concealment Technique for MPEG-2 Coded Video

An Overview of Video Coding Algorithms

Motion Video Compression

COMPLEXITY REDUCTION FOR HEVC INTRAFRAME LUMA MODE DECISION USING IMAGE STATISTICS AND NEURAL NETWORKS.

Chapter 2 Video Coding Standards and Video Formats

Multimedia Communications. Video compression

PACKET-SWITCHED networks have become ubiquitous

Joint source-channel video coding for H.264 using FEC

H.264/AVC Baseline Profile Decoder Complexity Analysis

Concealment of Whole-Picture Loss in Hierarchical B-Picture Scalable Video Coding Xiangyang Ji, Debin Zhao, and Wen Gao, Senior Member, IEEE

Reduced complexity MPEG2 video post-processing for HD display

techniques for 3D Video

Constant Bit Rate for Video Streaming Over Packet Switching Networks

OL_H264e HDTV H.264/AVC Baseline Video Encoder Rev 1.0. General Description. Applications. Features

Evaluation of video quality metrics on transmission distortions in H.264 coded video

Introduction to Video Compression Techniques. Slides courtesy of Tay Vaughan Making Multimedia Work

A video signal consists of a time sequence of images. Typical frame rates are 24, 25, 30, 50 and 60 images per seconds.

Audio and Video II. Video signal +Color systems Motion estimation Video compression standards +H.261 +MPEG-1, MPEG-2, MPEG-4, MPEG- 7, and MPEG-21

An Efficient Low Bit-Rate Video-Coding Algorithm Focusing on Moving Regions

WE CONSIDER an enhancement technique for degraded

H.264/AVC. The emerging. standard. Ralf Schäfer, Thomas Wiegand and Heiko Schwarz Heinrich Hertz Institute, Berlin, Germany

Lecture 1: Introduction & Image and Video Coding Techniques (I)

Novel VLSI Architecture for Quantization and Variable Length Coding for H-264/AVC Video Compression Standard

CONTEXT-BASED COMPLEXITY REDUCTION

Module 8 VIDEO CODING STANDARDS. Version 2 ECE IIT, Kharagpur

Analysis of Video Transmission over Lossy Channels

Intra-frame JPEG-2000 vs. Inter-frame Compression Comparison: The benefits and trade-offs for very high quality, high resolution sequences

SHOT DETECTION METHOD FOR LOW BIT-RATE VIDEO CODING

Bit Rate Control for Video Transmission Over Wireless Networks

Parameters optimization for a scalable multiple description coding scheme based on spatial subsampling

Temporal Error Concealment Algorithm Using Adaptive Multi- Side Boundary Matching Principle

Performance Comparison of JPEG2000 and H.264/AVC High Profile Intra Frame Coding on HD Video Sequences

UC San Diego UC San Diego Previously Published Works

Transcription:

Error concealment techniques in H.264 video transmission over wireless networks M U L T I M E D I A P R O C E S S I N G ( E E 5 3 5 9 ) S P R I N G 2 0 1 1 D R. K. R. R A O F I N A L R E P O R T Murtaza Mustafa Zaveri murtaza.zaveri@mavs.uta.edu (1000671952)

Typical 3G/4G Wireless Architecture Land to Mobile[17] Mobile to Mobile[17]

Video Transmission over Wireless Networks Major categories for video services over the wireless systems: Multimedia messaging services (MMS) Packet-switched pre-coded streaming service Circuit-switched and packet-switched conversational services. When fading level or shadowing level is severe, up to 3% packets are lost Typical situation in 3G/4G cellular telephony [20]

Error Propagation Imperfections in the communication channel, often result in packet loss, which in turn lead to frame loss or corrupted areas in the decoded frame. As H.264 employs predictive coding, this kind of corruption spreads spatio-temporally to the current and consecutive frames H.264 is thus susceptible to error propagation due to channel noise leading to a considerable degradation in the video quality [1] Illustration of spatio-temporal error propagation [14]

Error Propagation Illustration of error propagation [17]

The H.264 Standard Newest entry in the series of international video coding standards. Developed by a Joint Video Team (JVT) consisting of experts from VCEG and MPEG Design provides the most current balance between the coding efficiency, implementation complexity, and cost Has improved coding efficiency by a factor of at least about two (on average) over MPEG-2 [6] Position of H.264/MPEG-4 AVC standard [9]

The H.264 Standard (contd.) The basic coding structure of H.264/AVC for a macroblock [7,14]

H.264 Encoder Profiles Seven prominent profiles : Baseline profile Main profile Extended profile High Profile High 10 Profile High 4:2:2 Profile High 4:4:4 Profile

H.264 Encoder Profiles The Baseline profile was targeted at applications in which a minimum of computational complexity and a maximum of error robustness [8]. The Main profile was aimed at applications that require a maximum of coding efficiency, with somewhat less emphasis on error robustness [8]. The Extended profile was designed to provide a compromise between the Baseline and Main profile capabilities with an additional focus on the specific needs of video streaming applications, and further added robustness to errors and packet losses [8].

H.264 Profiles Illustration of H.264/MPEG4-AVC profiles [8]

H.264 Encoder Profiles The common coding parts for the profiles are listed below [14]: I slice (Intra-coded slice): coded by using prediction only from decoded samples within the same slice. P slice (Predictive-coded slice) : coded by using inter prediction from previously decoded reference pictures, using at most one motion vector and reference index to predict the sample values of each block. CAVLC (Context-based Adaptive Variable Length Coding) for entropy coding.

H.264 Encoder baseline profile Primarily designed for Low processing power platforms Error prone transmission environments Features Low on coding efficiency I- and P- slice coding Enhanced error resilience coding such as flexible macroblock ordering. Context adaptive variable length coding (CAVLC). Features not included in baseline profile B- slices, SI- or SP- slices. Interlace coding tools. Context adaptive binary arithmetic coding (CABAC).

The H.264 Standard (contd.) Block diagram of a H.264 decoder[14]

Error Resilience For better coding efficiency, the H.264 standard gives strong emphasis to error resiliency and the adaptability to various networks H.264/AVC has adopted a two-layer structure design containing a video coding layer (VCL), which is designed to obtain highly compressed video data, and a network abstraction layer (NAL), which formats the VCL data and adds corresponding header information for adaptation to various transportation protocols or storage media [14]

Error Resilience (contd.) VCL/NAL layers of H.264 [14]

Error Resilient Video Coding To handle the errors, the following stages are required in an error resilient decoder [14]: Error detection and localization Resynchronization Error concealment Assumptions used in the implementation of error concealment techniques: The missing part of a video content is limited to one macroblock The location of the missing macroblock is known

Error Resilient Video Coding (contd.) Error detection is done with the help of video syntax and/or semantics When violation of video semantics/syntax is observed, decoder reports an error, and tries to resynchronize at the next start code H.264 test model is based on the assumption that the data recovery does not bring a significant advantage to the reconstructed frames. Therefore, the corrupted packets are simply discarded and the lost region of video frame is concealed The error concealment schemes try to minimize the visual artifacts due to errors

Error Resilient Video Coding Generation of errors[16] Modify the function decode_one_slice which can be found in the image.c file of the decoder source code. The purpose of this function is as its name suggests: to decode one slice. The function takes a slice, reads macroblocks successively from the bitstream and decodes them by calling the function decode_one_macroblock. When the flag end of slice gets the value TRUE it exits the function until the next slice needs to be decoded. When a new slice is detected and it needs to be treated as erroneous, instead of calling the function decode one macroblock, the selected error concealment method is used to conceal the slice.

Error Concealment The main task of error concealment is to replace missing parts of the video content by previously decoded parts of the video sequence in order to eliminate or reduce the visual effects of errors caused by corrupted areas in the decoded frame [2] Error concealment exploits the spatial and temporal correlations between the neighboring image parts within the same frame or from the past and future frames Typical parameters used to evaluate the quality of reconstruction include: peak signal to noise ratio (PSNR) and structural similarity index metric (SSIM)[18]

Error Concealment Metric used: PSNR[1] It is common to evaluate the quality of reconstruction of a frame by analyzing its peak signal to noise ratio (PSNR). One way is to analyze is through a representation of a frame-by-frame versus PSNR graph. Another to give the information about PSNR in a table or graph for the overall PSNR of the sequence. The latter is used here as it gives a reliable result when all frames of the sequence are of similar character (spatial and temporal information)[16].

Spatial domain error concealment Weighted Averaging Each missing pixel of the corrupted image part is interpolated from the intact surroundings pixels. [3] To implement spatial domain error concealment the pixel values within the damaged macroblock were interpolated from four next pixels in its four 1-pixel wide boundaries. This method is known as weighted averaging [21] Missing pixel values can be recovered by calculating the average pixel values from the four pixels in the four 1-pixel wide boundaries of the damaged macroblock weighted by the distance between the missing pixel and the four macroblocks boundaries (upper, down, left and right boundaries).[22]

Spatial domain error concealment

Temporal domain error concealment Copy-paste algorithm Replaces the missing image part with the spatially corresponding part inside a previously decoded frame, which has maximum correlation with the affected frame [4] It is easier to conceal linear movements in one direction because pictures can be predicted from previous frames (the scene is almost the same). If there are movements in many directions or scene cuts, finding a part of previous frame that is similar is going to be more difficult, or even impossible. The slower is the movement of the camera, the easier will be to conceal an error.

Temporal domain error concealment Copy Paste Algorithm: This method only performs well for low motion sequences but its advantage lies in its low complexity[22]

Temporal domain error concealment Boundary Matching Algorithm[16] Missing block of area B in the n th frame F n Area A is chosen in the n-1 th frame F n-1 with its centre corresponding to the centre of B

Temporal domain error concealment A block to conceal block B is found in block A by using the sum of absolute differences(sad) similarity metric The formula is as follows: where [ˆx, ˆy] is the best match for (x, y) in B according to SAD

Temporal domain error concealment Block Matching[16] It is a more refined way of using the SAD Search for the best match of the missing block (MB D ) among the neighboring top, bottom, left and right blocks where The final position of the best match is given by the average over the positions of the best matches

Temporal domain error concealment The equation for SAD is as follows: The equation for final positions is as follows:

CIF and QCIF formats Common Intermediate Format (CIF) and Quadrature Common Intermediate Format (QCIF) determine the resolution of the frame. The resolution of CIF is 352x288 and the resolution of QCIF is 1/4 of CIF, which is 176x144 [26]. Consider the YC b C r family of color spaces where Y represents the luminance, C b represents the blue-difference chroma component and C r represents the red-difference chroma component [25]. For QCIF and CIF, the luminance Y is equal to the resolution.

CIF and QCIF formats If sampling resolution 4:2:0 is used, then for CIF, the Cb and Cr are 176 x 144 lines QCIF, the Cb and Cr are 88 x 72 lines Common Intermediate Format (CIF) [14] Quadrature Common Intermediate Format (QCIF)[14]

YUV File 1: suzie_qcif.yuv Specifications: QCIF sequence: suzie_qcif.yuv Total number of frames: 150 Height: 176; Width: 144 Total number of frames used: 20 Frame rate: 30 frames/second

YUV File 1: suzie_qcif.yuv Quantization Parameter Bit Rate (Kbps) Average Original PSNR(dB) (No Errors) Average PSNR after weighted averaging (db) Average PSNR after copy paste (db) 28 69.92 37.064 33.194 30.23 24 138.05 39.531 33.502 30.783 20 291.98 42.707 34.948 31.984

PSNR in db YUV File 1: suzie_qcif.yuv Comparison between the Weighted averaging and Copy paste algorithms of Error Concealment 50 45 40 35 30 25 20 15 10 No errors 5 Weighted averaging Copy-paste 0 0 50 100 150 200 250 300 350 Bit rate in kbps

YUV File 2: foreman_qcif.yuv Specifications: QCIF sequence: foreman_qcif.yuv Total number of frames: 300 Height: 176; Width: 144 Total number of frames used: 20 Frame rate: 30 frames/second

YUV File 2: foreman_qcif.yuv Quantization Parameter Bit Rate (Kbps) Average Original PSNR(dB) (No Errors) Average PSNR after weighted averaging (db) Average PSNR after copy paste (db) 28 180.65 36.976 33.141 32.54 24 292.03 39.678 34.624 33.233 20 492.14 42.861 36.413 35.784

PSNR in db YUV File 2: foreman_qcif.yuv Comparison between the Weighted averaging and Copy paste algorithms of Error Concealment 50 45 40 35 30 25 20 15 10 No errors 5 Weighted averaging Copy-paste 0 100 150 200 250 300 350 400 450 500 550 Bit rate in kbps

Conclusions Spatial error concealment using the weighted averaging algorithm is generally more effective than the temporal error concealment technique using the copy-paste algorithm. If the screen cuts are slow and there are no fast movements between the frames then the difference in effectiveness between the two techniques is very small. The copy-paste algorithm may be more effective than the weighted averaging algorithm in rare cases such as when the error is contained in the background which does not change over a sequence of frames. A Hybrid error concealment technique which adaptively switches between the spatial and temporal error concealment techniques will be most effective at error concealment.

MSU Video Quality Measurement Tool [24]

Future Work Further enhancing error detection by locating random and burst errors. Implementation of a hybrid error concealment technique which combines the advantages of both the spatial and temporal techniques of error concealment. Implementation of temporal error concealment using motion vector estimation. Error concealment in other codecs like AVS China and Dirac Pro.

References [1] Y. Xu and Y. Zhou, H.264 Video Communication Based Refined Error Concealment Schemes, IEEE Transactions on Consumer Electronics, vol. 50, issue 4, pp. 1135 1141, November 2004. [2] M. Wada, Selective Recovery of Video Packet Loss using Error Concealment, IEEE Journal on Selected Areas in Communication, vol. 7, issue 5, pp. 807-814, June 1989. [3] Y. Chen, et al, An Error Concealment Algorithm for Entire Frame Loss in Video Transmission, Microsoft Research Asia, Picture Coding Symposium, December 2004. [4] H. Ha, C. Yim and Y. Y. Kim, Packet Loss Resilience using Unequal Forward Error Correction Assignment for Video Transmission over Communication Networks, ACM digital library on Computer Communications, vol. 30, pp. 3676-3689, December 2007. [5] X. Xiu, L. Zhuo and L. Shen, "A hybrid error concealment method based on H.264 standard", 8th International Conference on Signal Processing, vol. 2, April 2006. [6] G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions", SPIE Conference on Applications of Digital Image Processing XXVII, vol. 5, pp. 454-474, November 2004. [7] R. Schafer, T. Wiegand and H. Schwarz, The emerging H.264/AVC standard, EBU Technical Review, Special Issue on Best of 2003, January 2003. [8] T. Wiegand, et al, Overview of the H.264/AVC Video Coding Standard IEEE Transactions on Circuits and Systems for Video Technology, vol. 13, pp. 560-576, June 2003. [9] S. K. Bandyopadhyay, et al, An error concealment scheme for entire frame losses for H.264/AVC, IEEE Sarnoff Symposium, pp. 1-4, March 2006. [10] Y. Xu and Y. Zhou, "Adaptive Temporal Error Concealment Scheme for H.264/AVC Video Decoder", IEEE Transactions on Consumer Electronics, vol. 54, issue 4, pp. 1846 1851, November 2008. [11] D. Levine, W. Lynch and T. Le-Ngoc, "Observations on Error Detection in H.264", 50th Midwest Symposium on Circuits and Systems, pp. 815-818, August 2007.

References (contd.) [12] B. Hrušovský, J. Mochná and S. Marchevský, "Temporal-spatial Error Concealment Algorithm for Intra-Frames in H.264/AVC Coded Video", 20th International Conference Radioelektronika, pp. 1-4, April 2010. [13] W. Kung, C. Kim and C. Kuo "Spatial and Temporal Error Concealment Techniques for Video Transmission Over Noisy Channels", IEEE Transactions on Circuits and Systems for Video Technology, vol. 16, issue 7, pp. 789-803, July 2006. [14] S. Kwon, A. Tamhankar and K.R. Rao, Overview of H.264 / MPEG-4 Part 10, J. Visual Communication and Image Representation, vol. 17, pp. 186-216, April 2006. [15] S. Kumar, et al, Error Resiliency Schemes in H.264/AVC Standard, IEEE Military Communications Conference, pp. 1-6, October 2006. [16] Ignacio Cort Todoli, Performance of Error Concealment Methods for Wireless Video, Diploma Thesis, Vienna University of Technology, 2007. [17] M.S. Koul, Error Concealment And Performance Evaluation Of H.264/AVC Video Streams In A Lossy wireless Environment, Department of Electrical Engineering, University of Texas at Arlington, May 2008. [18] Z. Wang, A. C. Bovik, H. R. Sheikh and E. P. Simoncelli, "Image quality assessment: From error visibility to structural similarity," IEEE Transactions on Image Processing, vol. 13, no. 4, pp. 600-612, Apr. 2004. [19] H.264/AVC Reference Software Download: http://iphome.hhi.de/suehring/tml/download/ [20] L. Liu, S. Zhang, X. Ye and Y. Zhang, Error Resilience Schemes of H.264/AVC for 3G Conversational Video, Proc. IEEE Conf. Computer and Information Technology, pp. 657-661, Sept. 2005

References (contd.) [21] M.T. Sun, and A.R. Reibman, Compressed Video over Networks, Marcel Dekker, New York, 2001. [22] V.S. Kolkeri "Error Concealment Techniques In H.264/AVC,for Video Transmission Over Wireless Networks", M.S. Thesis, Department of Electrical Engineering, University of Texas at Arlington, December 2009 [23] YUV video sequences; website: http://trace.eas.asu.edu/yuv/ [24] MSU video quality measurement tool : http://compression.ru/video/quality_measure/video_measurement_tool_en.html [25] JVT Draft ITU-T recommendation and final draft international standard of joint video specification (ITU-T rec. H.264 ISO/IEC 14496-10 AVC), March 2003, JVT-G050 available on http://ip.hhi.de/imagecom_g1/assets/pdfs/jvt- G050.pdf.