1 / 36

Video Coding

Video Coding. Introduction. Video Coding The objective of video coding is to compress moving images. The MPEG (Moving Picture Experts Group) and H.26X are the major standards for video coding. Basic Concept Use interframe correlation for attaining better rate-distorion performance.

ephraim
Download Presentation

Video Coding

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. Video Coding

  2. Introduction • Video Coding The objective of video coding is to compress moving images. The MPEG (Moving Picture Experts Group) and H.26X are the major standards for video coding. • Basic Concept Use interframe correlation for attaining better rate-distorion performance.

  3. Chronological Table of Video Coding Standards ITU-T VCEG H.263 (1995/96) H.263++ (2000) H.263+ (1997/98) H.261 (1990) H.264 ( MPEG-4 Part 10 ) (2002) MPEG-2 (H.262) (1994/95) MPEG-4 v1 (1998/99) ISO/IEC MPEG MPEG-4 v2 (1999/00) MPEG-1 (1993) MPEG-4 v3 (2001) 1990 1992 1994 1996 1998 2000 2002 2003

  4. Features of Moving Pictures • Moving images contain significant temporal redundancy • successive frames are very similar

  5. Intraframe and Interframe Coding • Video coding algorithms usually contains two coding schemes : • Intraframe coding • Interframe coding.

  6. Intraframe Coding • Intraframe coding does not exploit the correlation among adjacent frames; Intraframe coding therefore is similar to the still image coding.

  7. Interframe Coding • The interframe coding should include motion estimation/compensation process to remove temporal redundancy.

  8. Motion Estimation and Compensation • The amount of data to be coded can be reduced significantly if the previous frame is subtracted from the current frame.

  9. Block-Matching • The MPEG and H.26X standards use block-matching technique for motion estimation /compensation. In the block-matching technique, each current frame is divide into equal-size blocks, called source blocks. Each source block is associated with a search region in the reference frame.

  10. The objective of block-matching is to find a candidate block in the search region best matched to the source block. • The relative distances between a source block and its candidate blocks are called motion vectors.

  11. Video Sequence X: Source block for block-matching Bx:Search area associated with X MV: Motion vector The current frame The reconstructed reference frame

  12. The reconstructed previous frame The current frame The predicted current frame Results of block-matching

  13. Predicted Current Frame Displaced Frame Difference (DFD,估測誤差)

  14. Motion vector and search area Search Area Source block Candidate block Search Area: Motion vector: (u, v)

  15. Full-search algorithm Candidate Block u Search Area v If p=7, then there are (2p+1)(2p+1)=225 candidate blocks.

  16. Three-step algorithm

  17. The first step involves block-matching based on 4-pel resolution at the nine location. The second step involves block-matching based on 2-pel resolution around the location determined by the first step. The third step repeats the process in the second step (but with resolution 1-pel).

  18. Video Coding Based on Block-Matching Assume frame f-1 has been encoded and reconstructed, and frame f is the current frame to be encoded.

  19. Encoder side 1. Divide frame f into equal-size blocks. 2. For each source block obtained in step1, (2.1) Find its motion vector using the block-matching algorithm based on the reconstructed frame f-1. (2.2) Compute the DFD of the block.

  20. 3. Transmit the motion vector of each block to decoder. 4. Compress DFD’s of each block. 5. Transmit the encoded DFD’s to decoder.

  21. Coder Control Control Data Transform/Quantizer - Decoder Deq./Inv. Transform Entropy Coding 0 Motion- Compensated Predictor Intra/Inter Motion Estimator The block diagram of an encoder based on block-matching DFD Video in Encoded DFD Predicted current frame Reconstructed DFD Reconstructed current frame Motion Vector

  22. Decoder side 1.Receive motion vector of each block from encoder. 2.Based on the motion vector ,find the best-matching block from the reference frame. That is, find the predicted current frame from the reference frame.

  23. 3.Receive the encoded DFD of each block from encoder. 4.Decode the DFD. 5.Each reconstructed block in the current frame = Its decompressed DFD + the best-matching block.

  24. The block diagram of a decoder based on block-matching Encoded DFD Predicted current frame Reconstructed DFD Encoded bitstream in Reconstructed current frame Motion vector

  25. Bidirectional Prediction • The block-matching operations can be extended for bi-directional prediction, where a block in the current frame is estimated from a block in: (a) Previous frame (b) Future frame

  26. Each block in a bi-directional frame is the average of a block in the previous frame and a block in the future frame.

  27. A video sequences therefore may contain three • different types of frames: • Intra frames, (I-frames) • Predicted frames (P-frames), • Bi-directional frames (B-frames)

  28. The MPEG standards uses all the three types of frames as shown below. Encoding order: I0, P3, B1, B2, P6, B4, B5, I9, B7, B8. Playback order: I0, B1, B2, P3, B4, B5, P6, B7, B8, I9.

  29. Video Structure • Video standards such as MPEG and H.26X code video sequences in hierarchy of layers. • There are usually 5 layers: 1. GOP (Group of pictures) 2. Picture 3. Slice 4. Marcoblock 5. Block

  30. A GOP usually started with I frame, followed by a sequence of P and B frames. A Picture is indeed a frame in the video sequence. A Slice is a portion in a picture. Some standards do not have slices. Some view a slice as a row. Each slice in H.264 is not necessary to be a row. It can be any shape containing integral number of macroblocks.

  31. A Macroblock is a 16×16 block. Many standards use Marcoblocks as the basic unit for block-matching operations. A Block is a 8×8 block. Many standards use the Blocks as the basic unit for DCT.

  32. Scalable Video Coding • Three classes of scalable video coding techniques: • Temporal Scalability • Spatial Scalability • SNR Scalability

  33. Temporal Scalability • We can use B frames for attaining temporal • scalability. • B frames depend on other frames. • No other frames depend on B frames. • We can discard B frames without affecting • other frames.

  34. Spatial (Resolution) Scalability Here the base layer is the low resolution version of the video sequence.

  35. SNR Scalability The base layer uses coaser quantizer for DFD coding. The residuals in the base layer is refined in the enhancement layer.

More Related