ERROR CONCEALMENT TECHNIQUES IN H.264/AVC, FOR VIDEO TRANSMISSION OVER WIRELESS NETWORKSOutlineIntroductionWhat is Error Concealment?Error Concealment ArchitectureOverview of H.264 / AVCOverview of H.264 / AVC (contd.)H.264/AVC ProfilesSpecific coding parts for the ProfilesSpecific coding parts for the Profiles (contd.)Slide 11H.264 Encoder (contd.)H.264 - TransformSlide 14Slide 15H.264 - Scaling and QuantizationDeblocking filter AdaptiveH.264 – Motion CompensationPrediction of variable block sizeSlide 20H.264 – Entropy CodingError Concealment AlgorithmSpatial Concealment – weighted averagingSpatial Concealment–weighted averaging (contd.)Spatial Concealment – weighted averaging (contd.)Slide 26Temporal Concealment – Frame CopyTemporal Concealment – MV InterpolationTemporal Concealment – MV Interpolation (contd.)Slide 30Motion Vector Interpolation (contd.)Error Concealment performance analysis test results (Foreman Sequence)Error Concealment performance analysis test results (contd.) (Foreman Sequence)Slide 34Slide 35Error Concealment performance analysis test results (contd.)Slide 37ConclusionsFuture ResearchSlide 40References (contd.)Slide 42ERROR CONCEALMENT TECHNIQUES IN H.264/AVC,FOR VIDEO TRANSMISSION OVERWIRELESS NETWORKSVineeth Shetty KolkeriUniversity of Texas, ArlingtonOutlineIntroductionWhat is Error Concealment?Error Concealment ArchitectureH.264/MPEG-4 AVC – OverviewError Concealment algorithmError Concealment performance analysis test resultsConclusionsFuture WorkReferencesIntroductionFigure 1: Typical Situation of 3G/4G cellular telephonyWhat 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.Error Concealment ArchitectureOverview of H.264 / AVCLatest Video coding standardBasic design architecture similar to MPEG-x or H.26xBetter compression efficiencyUpto 50% bitrate reduction from the preceding video codec standardSubjective quality is betterAdvanced functional elementWide 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 formatsOverview of H.264 / AVC (contd.)Uses hybrid block based video compression techniques such as:Transformation - reduction of spatial correlation Quantization - bit-rate control Motion compensated prediction - reduction of temporal correlationEntropy coding - reduction in statistical correlationIncludes the following features:Intra-picture prediction4x4 integer transformMultiple reference picturesVariable block sizesQuarter pel precision for motion compensation In-loop de-blocking filter Improved entropy codingH.264/AVC ProfilesProfiles and Levels for particular applicationsProfile : a subset of entire bit stream of syntax, different decoder design based on the ProfileFour profiles : Baseline, Main, Extended and HighStreaming Video ExtendedDigital Storage MediaTelevision Broadcasting MainVideo Conferencing Videophone BaselineApplications ProfileStudio editing HighSpecific coding parts for the ProfilesSpecific coding parts for the Profiles (contd.)Common coding parts for the ProfilesI 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 blockCAVLC (Context-based Adaptive Variable Length Coding) for entropy codingSpecific coding parts for the Profiles (contd.)Coding parts for Baseline ProfileCommon parts : I slice, P slice, CAVLCFMO 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 sliceH.264 Encoder (contd.)H.264 - Transform4x4 multiplier-free integer transform Transform coefficients perfectly invertibleHierarchical structure - 4 x 4 Integer DCT, Hadamard transformHadamard 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 formatsYUV 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. H.264 – Transform (contd.)Codec - A video codec is software 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 H.264 – Transform (contd.)H.264 - Scaling and QuantizationMultiplication operation for exact transform combined with multiplication of scalar quantizationScale 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-blockRate-control algorithm in encoder controls value of quantization parameterEncoder performs post-scaling and quantizationDeblocking filter AdaptiveTo reduce the blocking artifacts in the block boundary and prevent the propagation of accumulated coded noise. Filtering is applied to
View Full Document