in the name of allah
play

In the name of Allah the compassionate, the merciful Digital Video - PowerPoint PPT Presentation

In the name of Allah the compassionate, the merciful Digital Video Systems S. Kasaei S. Kasaei Room: CE 307 Department of Computer Engineering Sharif University of Technology E-Mail: skasaei@sharif.edu Webpage: http://sharif.edu/~skasaei


  1. In the name of Allah the compassionate, the merciful

  2. Digital Video Systems S. Kasaei S. Kasaei Room: CE 307 Department of Computer Engineering Sharif University of Technology E-Mail: skasaei@sharif.edu Webpage: http://sharif.edu/~skasaei Lab. Website: http://mehr.sharif.edu/~ipl

  3. Acknowledgment Most of the slides used in this course have been provided by: Prof. Yao Wang (Polytechnic University, Brooklyn) based on the book: Video Processing & Communications written by: Yao Wang, Jom Ostermann, & Ya-Oin Zhang Prentice Hall, 1 st edition, 2001, ISBN: 0130175471. [SUT Code: TK 5105 .2 .W36 2001].

  4. Chapters 9 & 11 Video Coding using Motion Compensation

  5. Outline Block-Based Hybrid Video Coding � Overview of Block - B a sed Hybrid Video Coding � Overlapped Block Motion Compensation � Coding Mode Selection & Rate Control � Loop Filtering � Scalable Video Coding � Motivation for Scalable Coding � Basic Modes of Scalability � Scalability in MPEG - 2 � Fine Granularity Scalability in MPEG - 4 � Kasaei 6

  6. Characteristics of Typical Videos Frame t-1 Frame t Adjacent frames are similar & changes are due to object or camera motion. Kasaei 7

  7. Key Ideas in Video Compression Predicts a new frame from a previous frame & only � codes the prediction error. Prediction error cab be coded using the DCT method. � Prediction errors have smaller energy than the � original pixel values & can be coded with fewer bits. Those regions that cannot be predicted well will be � coded directly using DCT. Works on each macroblock (MB) ( 16x16 pixels) � independently to reduce the complexity. Motion compensation is done at the MB level. � DCT coding of error is done at block level ( 8x8 pixels). � Kasaei 8

  8. Different Coding Modes Kasaei 9

  9. Temporal Prediction No Motion Compensation: � Works well in stationary regions. � $ ( , f t m n , ) f t ( − 1 , m n , ) = Uni - d irectional Motion Compensation: � Does not work well for uncovered regions by object motion. � $ ( , f t m n , ) f t ( 1 , m d , n d ) = − − − x y Bi - d irectional Motion Compensation: � Can better handle covered/uncovered regions. � $ ( , f t m n , ) w f t ( 1 , m d , n d ) = − − − b b x , b y , w f t ( 1 , m d , n d ) + + − − f f x , f y , Kasaei 10

  10. Temporal Prediction � Although bi-directional prediction can improve prediction accuracy & consequently coding efficiency, it incurs encoding delay & is typically not used in real-time applications. � H.261/H.263 use only uni-directional prediction & a restricted bi-directional prediction (PB-mode). � MPEG employs both uni- & bi-directional prediction. Kasaei 11

  11. Encoder Block Diagram of a Block-Based Hybrid Video Coder [Hybrid: a combination of motion-compensated temporal prediction + transform coding.] Kasaei 12

  12. Decoder Block Diagram Kasaei 13

  13. Block-Based Hybrid Video Coding The encoder must emulate the decoder � operation to deduce the same reconstructed frame as the decoder. Frame types: � When a frame is coded entirely in the intra-mode � � I-frame. When a previous frame is used for prediction in the � inter-mode � P-frame. When a weighted sum of previous & following frame � is used for prediction in the inter-mode � B-frame. The mode information, MVs, & other side � information (picture format, block location, …) are coded using VLC. Kasaei 14

  14. Block-Based Video Partitions Kasaei 15

  15. MB Structure in 4:2:0 Color Format 4 of 8x8 Y blocks. 1 of 8x8 Cb blocks. 1 of 8x8 Cr blocks. Kasaei 16

  16. Block Matching Algorithm for Motion Estimation MV Search Region Frame t-1 Frame t (reference frame) (predicted frame) Kasaei 17

  17. Macroblock Coding in I-Mode DCT transform each 8x8 DCT block. Quantize DCT coefficients (with properly chosen quantization matrices). Zig - z ag order & run - l ength code quantized DCT coefficients. Kasaei 18

  18. Macroblock Coding in P-Mode Estimate one MV for each macroblock ( 16x16 ). Depending on the motion compensation error, determine the coding mode (intra, inter - w ith - n o - MC, inter - with - MC, etc.) Original values (for intra - mode) or motion compensation errors (for inter - mode) in each of the DCT blocks ( 8x8 ) are DCT transformed, quantized, zig - z ag/alternate scanned, & run- length coded. Kasaei 19

  19. Macroblock Coding in B-Mode Same as for the P - m ode, except a macroblock can � be predicted from a previous frame, a following one, or both. v f v b Kasaei 20

  20. Overlapped Block Motion Compensation (OBMC) Conventional block motion compensation: � One best matching block is found from a reference � frame. The current block is replaced by the best matching � block. OBMC: � Each pixel in the current block is predicted by a � weighted average of several corresponding pixels in the reference frame. The corresponding pixels are determined by the � MVs of the current as well as adjacent MBs. The weights for each corresponding pixel depends � Kasaei 21 on the expected accuracy of the associated MV.

  21. OBMC using 4-Neighboring MBs weight assigned to estimated value based on MV ( d m,k ). should be inversely proportional to the distance between x & the center of ([h m,1 & h m,4 ] > [h m,2 & h m,3 ]) Kasaei 22

  22. Optimal Weighting Design Convert to an optimization problem: � Minimize: � Subject to: � Optimal weighting functions: � autocorrelation Kasaei 23 cross-correlation

  23. How to Determine MVs with OBMC Option 1: using conventional BMA, minimize the � prediction error (MAD) within each MB independently. Option 2: minimize the prediction error � assuming OBMC: � Solve the MV for the current MB while keeping the MVs for the neighboring MBs found in the previous iterations. Kasaei 24

  24. How to Determine MVs with OBMC Option 3: Using a weighted error criterion over � a larger block: window function Kasaei 25

  25. Weighting Coefficients used in H.263 Kasaei 26

  26. Window Function Corresponding to H.263 Weights for OBMC Kasaei 27

  27. Coding Parameter Selection Coding modes: � Intra vs. inter, quantization parameter (QP) for � each MB, ME method ( � different rates). Rate-distortion optimized selection, given a � target rate: Minimize the distortion, subject to the target rate � constraint: simplified version: The optimal mode is such that each MB works at the same R-D slope:

  28. Rate Control Rate control: � How to code a video so that the resulting bit � stream satisfies a target bit rate? For pleasant visual perception, video should have � a constant quality. But, the coding method necessarily yields variable � bit rate. So, at least the bit rate should be constant when � averaged over a short period. Rate control is also necessary when the video is to � be sent over a constant bit rate (CBR) channel. The fluctuation within the period can be smoothed � by a buffer at the encoder output. Kasaei 29

  29. Rate Control � Rate control accomplished steps: Step 1) Determine the target average bit rate at � the frame, GOB, & MB level, based on the current buffer fullness. Step 2) Satisfy frame level target rate by varying � frame rate (skip frames when necessary). Step 3) Satisfy GOB/MB level target rate by � varying the coding mode & QP at each MB. (= Rate-distortion optimized mode selection.) Kasaei 30

  30. Loop Filtering Errors in previously reconstructed frames � accumulate over time with motion compensated temporal prediction. Error propagation leads to: � Reduction of prediction accuracy. � Increase of the bitrate needed for coding new � frames. Kasaei 31

  31. Loop Filtering Loop filtering: � Filters the reference frame before using it for � prediction. Can be embedded in the motion compensation � loop. Half-pel motion compensation. � OBMC. � Loop filtering can significantly improve coding � efficiency. For theoretically optimal design of loop filters � see text. Kasaei 32

  32. Scalable Coding (Ch. 11) Scalability refers to the capability of recovering � physically meaningful image (or video) information by decoding only partial compressed bit stream. It is used when users try to access the same video � through different communication links (bandwidth scalability). A scalable stream can also offer adaptivity to � varying channel error characteristics & computing power at the receiving terminal. This includes: quality, spatial, temporal, & � frequency scalability. Kasaei 33

  33. Scalable Coding Motivation: � Real networks are heterogeneous in rate. � Streaming video from home ( 56 kbps) using � modem vs. corporate LAN ( 10-100 mbps). Scalable video coding: � Ideal goal (embedded stream): creating a bit � stream that can be accessed at any rate. Practical video coder: � layered coder: base-layer provides basic quality, � successive layers refine the quality incrementally. Coarse granularity: (typically known as layered � coder). Kasaei 34 Fine granularity (FGS). �

  34. Combined Spatial/Quality Scalability Kasaei 35

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend