1 / 47

ERROR CONCEALMENT TECHNIQUES IN H.264/AVC, FOR VIDEO TRANSMISSION OVER WIRELESS NETWORKS

ERROR CONCEALMENT TECHNIQUES IN H.264/AVC, FOR VIDEO TRANSMISSION OVER WIRELESS NETWORKS. Vineeth Shetty Kolkeri University of Texas, Arlington. Outline. Introduction What is Error Concealment? Error Concealment Architecture H.264/MPEG-4 AVC – Overview Error Concealment algorithm

Download Presentation

ERROR CONCEALMENT TECHNIQUES IN H.264/AVC, FOR VIDEO TRANSMISSION OVER WIRELESS NETWORKS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ERROR CONCEALMENT TECHNIQUES IN H.264/AVC,FOR VIDEO TRANSMISSION OVERWIRELESS NETWORKS Vineeth Shetty Kolkeri University of Texas, Arlington

  2. Outline • Introduction • What is Error Concealment? • Error Concealment Architecture • H.264/MPEG-4 AVC – Overview • Error Concealment algorithm • Error Concealment performance analysis test results • Conclusions • Future Work • References

  3. Introduction Typical Situation of 3G/4G cellular telephony

  4. What is Error Concealment? • The operation adopted to reconstruct lost information for video transmission over wireless networks. • Need: Compatible with all video streaming devices. • Applications: Recovery of lost information which is comparable with encoded video sequence with minimal complexity.

  5. Error Concealment Architecture

  6. Overview of H.264 / AVC • Latest Video coding standard • Basic design architecture similar to MPEG-x or H.26x • Better compression efficiency • Upto 50% bitrate reduction from the preceding video codec standard • Subjective quality is better • Wide variety of applications such as video broadcasting, video streaming, video conferencing, D-Cinema, HDTV. • Layered structure - consists of two layers: Network Abstraction Layer (NAL) and Video Coding Layer (VCL); supports 4:2:0 chroma sampling picture format including QCIF and CIF formats

  7. H.264 / AVC Encoder/Decoder Blocks(contd.)

  8. H.264 / AVC Encoder/Decoder Blocks • Transform: Int DCT and Hadamard • Quantization: Scalar quantization • Motion estimation: Hierarchical motion estimation • Motion compensation • Intra-Frame prediction • Entropy coding: Variable Length Coding • In-loop de-blocking filter

  9. Transform 4x4 multiplier-free integer transform Transform coefficients perfectly invertible Hierarchical structure - 4 x 4 Integer DCT, Hadamard transform Hadamard transform applied when (16x16) intra prediction mode is used with (4x4) integer DCT MB size for chroma depends on 4:2:0, 4:2:2 and 4:4:4 formats

  10. Transform (contd.) YUV different formats • 4:4:4 is full bandwidth YUV video, and each macroblock consists of 4 Y blocks, and 4 U/V blocks. Being full bandwidth, this format contains as much as data would if it were in the RGB color space. • 4:2:2 contains half as much chrominance information as 4:4:4 and 4:2:0 contains one quarter of the chrominance information.

  11. Transform (contd.) • Codec - A video codec is software/hardware that can compress a video source (encoding) as well as play compressed video (decompress). • CIF - Common Intermediate Format - a set of standard video formats used in videoconferencing, defined by their resolution. The original CIF is also known as Full CIF (FCIF). • QCIF - Quarter CIF (resolution 176x144) • SQCIF - Sub quarter CIF (resolution 128x96) • 4CIF - 4 x CIF (resolution 704x576) • 16CIF - 16 x CIF (resolution 1408x1152

  12. H.264 / AVC Encoder/Decoder Blocks • Transform: Int DCT and Hadamard • Quantization: Scalar quantization • Motion estimation: Hierarchical motion estimation • Motion compensation • Intra-Frame prediction • Entropy coding: Variable Length Coding • In-loop de-blocking filter

  13. Scaling and Quantization Multiplication operation for exact transform combined with multiplication of scalar quantization Scale factor for each element in each sub-block varies as a function of quantization parameter associated with macro-block that contains sub block; position of element within sub-block Encoder performs post-scaling and quantization

  14. H.264 / AVC Encoder/Decoder Blocks • Transform: Int DCT and Hadamard • Quantization: Scalar quantization • Motion estimation: Hierarchical motion estimation • Motion compensation • Intra-Frame prediction • Entropy coding: Variable Length Coding • In-loop de-blocking filter

  15. Motion Compensation Predicted rectangular arrays of pixels: 4x4, 4x8, 8x4, 8x8, 16x8, 8x16, and 16x16. Translation from other array positions in reference picture specified with quarter pixel precision.

  16. Motion Compensation (contd.) • A MB can be partitioned into smaller block sizes • 4 cases for 16 x 16 MB, 4 cases for 8 x 8 Sub-MB • Large partition size : homogeneous areas, small : detailed areas

  17. H.264 / AVC Encoder/Decoder Blocks • Transform: Int DCT and Hadamard • Quantization: Scalar quantization • Motion estimation: Hierarchical motion estimation • Motion compensation • Intra-Frame prediction • Entropy coding: Variable Length Coding • In-loop de-blocking filter

  18. M A B C D E F G H M A B C D E F G H I a b c d I a b c d mode 1 J e f g h J e f g h K i j k l mode 6 K i j k l mode 8 L m n o p L m n o p mode 3 mode 7 mode 4 mode 0 mode 5 Intra-Frame prediction • Exploits Spatial redundancy between adjacent macroblocks in a frame • 4 x 4 luma block • 9 prediction modes : 8 Directional predictions and 1 DC prediction (vertical : 0, horizontal : 1, DC : 2, diagonal down left : 3, diagonal down right : 4, vertical right : 5, horizontal down : 6, vertical left : 7, horizontal up : 8) samples a, b, …, p : the predicted ones for the current block, above and left samples A, B, …, M : previously reconstructed ones

  19. H.264 / AVC Encoder/Decoder Blocks • Transform: Int DCT and Hadamard • Quantization: Scalar quantization • Motion estimation: Hierarchical motion estimation • Motion compensation • Intra-Frame prediction • Entropy coding: Variable Length Coding • In-loop de-blocking filter

  20. Entropy Coding • All syntax elements other than residual transform coefficients are encoded by the Exp-Golomb codes (UVLC) • Scan order to read the residual data (quantized transform coefficients) : zig-zag, alternate • Context-based Adaptive Variable Length Coding (CAVLC) in All Profiles • Context-based Adaptive Binary Arithmetic Coding (CABAC) in Main Profile Alternate scan Zig-zag scan

  21. H.264 / AVC Encoder/Decoder Blocks • Transform: Int DCT and Hadamard • Quantization: Scalar quantization • Motion estimation: Hierarchical motion estimation • Motion compensation • Intra-Frame prediction • Entropy coding: Variable Length Coding • In-loop de-blocking filter

  22. Deblocking filter • To reduce the blocking artifacts in the block boundary and prevent the propagation of accumulated coded noise. • Filtering is applied to horizontal or vertical edges of 4 x 4 blocks in a macroblock, adaptively on the several levels (slice, block-edge, sample).

  23. H.264/AVC Profiles • Profiles and Levels for particular applications • Profile : a subset of entire bit stream of syntax, different decoder design based on the Profile • Four profiles : Baseline, Main, Extended and High Profile Applications Baseline Video Conferencing Videophone Main Digital Storage Media Television Broadcasting Streaming Video Extended High Studio editing

  24. Specific coding parts for the Profiles

  25. Specific coding parts for the Profiles (contd.) • Common coding parts for the Profiles • I slice (Intra-coded slice) : the coded slice by using prediction only from decoded samples within the same slice • P slice (Predictive-coded slice) : the coded slice by using inter prediction from previously-decoded reference pictures, using more than one motion vector and reference index to predict the sample values of each block • CAVLC (Context-based Adaptive Variable Length Coding) for entropy coding

  26. Specific coding parts for the Profiles (contd.) • Coding parts for Baseline Profile • Common parts : I slice, P slice, CAVLC • FMO Flexible macroblock order : macroblocks may not necessarily be in the raster scan order. The map assigns macroblocks to a slice group • ASO Arbitrary slice order : the macroblock address of the first macroblock of a slice of a picture may be smaller than the macroblock address of the first macroblock of some other preceding slice of the same coded picture • RS Redundant slice : This slice belongs to the redundant coded data obtained by same or different coding rate, in comparison with previous coded data of same slice

  27. Prediction of variable block size (contd.) Frame divided into multiple macroblocks of 16 x 16, 8 x 8, 4 x 4 variable size to represent coding profiles No. of bits in I and P frames I P I Graph shows the size of the different I and P frames obtained after encoding 19 frames of the Foreman QCIF video sequence. Green line shows the average values of the bit lost when it is passed through the lossy algorithm after encoding in a video sequence

  28. Error Concealment Algorithm • 1.Spatial Concealment – weighted averaging: • Estimate missing pixels by smoothly extrapolating surrounding pixels • Correctly recovering missing pixels is extremely difficult, however correctly estimating the DC (average) value is very helpful • 2.Temporal Concealment – copy algorithm: • Copy the pixels at the same spatial location in the previous frame • Effective when there is no motion, potential problems when there is motion • 3.Motion compensated temporal Concealment–motion vector interpolation: • Estimate missing block as motion-compensated block from previous frame • Can use coded motion vector, neighboring motion vector, or compute new motion vector

  29. Spatial Concealment – weighted averaging Block based weighted averaging

  30. Spatial Concealment–weighted averaging (contd.) Macroblock based weighted averaging

  31. Spatial Concealment – weighted averaging (contd.) Recovery of the damaged macroblock in Foreman and Akiyo video sequence (a) distorted image lying within a smooth area; b) macroblock based weighted averaging applied on a white smooth area; c) block based weighted averaging applied on a white smooth area.

  32. Spatial Concealment – weighted averaging (contd.) Recovery of the damaged macroblock in Foreman and Akiyo video sequence (a) distorted image lying within a smooth area; b) macroblock based weighted averaging applied on a white smooth area; c) block based weighted averaging applied on a white smooth area.

  33. Temporal Concealment – Frame Copy Frames# 5, 6 and 7 are the output of H.264 encoded frames after it is transmitted in the error prone wireless medium Frame# 5 is the decoded frame. Here Frame# 6 successfully copied lost information from Frame 5 by copy algorithm; Frame #7 is degraded (Because Frame#7 is reconstructed bycollecting the information from previous reference frames)

  34. Temporal Concealment – MV Interpolation Motion vector recovery by a) Using the motion vectors from the surrounding macroblocks after frame decoding b) Using the motion vectors from the surrounding macroblocks during macroblock decoding

  35. Temporal Concealment – MV Interpolation (contd.) Four Prior-decoded pictures Current Picture as references

  36. Motion Vector Interpolation (contd.) Recovery of the damaged macroblock in Foreman video sequence (a) original sequence b) Distorted Sequence c) Concealed Output using Motion Estimation.

  37. Error Concealment performance analysis test results (Foreman Sequence)

  38. Error Concealment performance analysis test results (contd.) (Foreman Sequence)

  39. Error Concealment performance analysis test results (contd.) (Foreman Sequence)

  40. Error Concealment performance analysis test results (contd.) (Foreman Sequence)

  41. Error Concealment performance analysis test results (contd.) Simulation results of different error concealment algorithms for Foreman QCIF176x144 video sequence.

  42. Error Concealment performance analysis test results (contd.) Simulation results of different error concealment algorithms for Stefan CIF 352x288 video sequence.

  43. Conclusions • Implementation of spatial concealment performed better in a video with constant background. • Implementation of temporal concealment (Copy) performed better in a video with linear motion between consecutive frames. • Implementation of temporal concealment (Motion Vector) performed better in a video with dynamic motion between consecutive frames. • At higher bit rates: spatial and temporal concealments achieved better results. • Complexity of implementation is negligible and does not degrade in the processor performance.

  44. Future Research • Implementing Error Concealment algorithm in H.264/SVC video codec as it does not support error concealment in current implementation. • Use forward and backward MVs. • Implementing Error Concealment algorithm in H.264 extended and High profiles. • Implementing Error Concealment model for real time application like video surveillance.

  45. References T. Stockhammer, M. M. Hannuksela and T. Wiegand, “H.264/AVC in Wireless Environments”, IEEE Trans. Circuits and Systems for Video Technology, Vol. 13, pp. 657- 673, July 2003. 2. Soon-kak 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. 3. S. Wenger, “H.264/AVC over IP”IEEE Trans. Circuits and Systems for Video Technology, vol. 13, pp. 645-656, July 2003. 4. M. Wada, “Selective Recovery of Video Packet Loss using Error Concealment,” IEEE Journal on Selected Areas in Communication, vol. 7, pp. 807-814, June 1989. 5. I.C.Todoli “Performance of Error Concealment Methods for Wireless Video”, Diploma Thesis, Vienna University of Technology, 2007 . 6. Video Trace research group at ASU, “YUV video sequences,” http://trace.eas.asu.edu/yuv/index.html. 7. A.B. Watson, "Toward a perceptual video quality metric", SPIE Human Vision, Visual Processing, and Digital Display VIII, vol. 3299, pp 139-147, 1998. 8. F. Xiao, “DCT-based video quality evaluation,” Final Project for EE392J Stanford Univ. 2000. http://compression.ru/video/quality_measure/vqm.pdf Z. Wang, “The SSIM index for image quality assessment,” http://www.cns.nyu.edu/zwang/files/research/ssim/. V. S. Kolkeri, J. H. Lee and K. R. Rao,” Error concealment techniques in H.264/AVC for wireless video transmission in mobile networks” submitted to International Conf. in Sinhgad Technical Education Society, Image Processing-2009.

  46. References (contd.) 11. Z. Wang, et al, “Image Quality Assessment: From Error Visibility to Structural Similarity”, IEEE Trans. Image Processing, vol. 13, pp.600-612, April 2004. 12. ISO/IEC JTC1, “Joint Draft 8 of SVC Amendment,” ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6, Doc. JVT-U201, Oct. 2006. 13. ISO/IEC JTC1, “Joint Scalable Video Model 8.0,” ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6, Doc. JVT-U202, Oct. 2006. 14. Yi-Hau Chen, et al, ’’ Bandwidth-efficient encoder framework for H.264/AVC scalable extension” Ninth IEEE International Symposium on Multimedia, pp 401-406, Dec 2007. 15. DSP Design Line article on SVC http://www.dspdesignline.com/products/206902239. 16. eInfochips HD Codecs - H.264 SVC - for Digital Media Processors From Texas Instruments 17. H.264/AVC Reference Software Download: http://iphome.hhi.de/suehring/tml/download/ 18. H.264/SVC Reference Software download: http://ip.hhi.de/imagecom_G1/savce/downloads/SVC-Reference-Software.htm 19. AVI to YUV converter: http://www.sunrayimage.com/

  47. Thanks for your attention! Q/A

More Related