ITU-T Recommendation H.261

Slides:



Advertisements
Similar presentations
Introduction to H.264 / AVC Video Coding Standard Multimedia Systems Sharif University of Technology November 2008.
Advertisements

H.261: A Standard for VideoConferencing Applications Nimrod Peleg Update: Nov
MPEG-1: A Standard for Digital Storage of Audio and Video Nimrod Peleg Update: Dec
MPEG4 Natural Video Coding Functionalities: –Coding of arbitrary shaped objects –Efficient compression of video and images over wide range of bit rates.
Basics of MPEG Picture sizes: up to 4095 x 4095 Most algorithms are for the CCIR 601 format for video frames Y-Cb-Cr color space NTSC: 525 lines per frame.
Error Resilience for MPEG-4 Environment Nimrod Peleg Nov
Technion - IIT Dept. of Electrical Engineering Signal and Image Processing lab Transrating and Transcoding of Coded Video Signals David Malah Ran Bar-Sella.
MPEG-4 Objective Standardize algorithms for audiovisual coding in multimedia applications allowing for Interactivity High compression Scalability of audio.
Source Coding for Video Application
SWE 423: Multimedia Systems
H.264/AVC Baseline Profile Decoder Complexity Analysis Michael Horowitz, Anthony Joch, Faouzi Kossentini, and Antti Hallapuro IEEE TRANSACTIONS ON CIRCUITS.
H.264/Advanced Video Coding – A New Standard Song Jiqiang Oct 21, 2003.
Introduction to JPEG, MPEG 1/2, and H.261/H.263 Chuan-Yu Cho.
JPEG.
CS :: Fall 2003 MPEG Video (Part 2) Ketan Mayer-Patel.
H.264 / MPEG-4 Part 10 Nimrod Peleg March 2003.
Lecture06 Video Compression. Spatial Vs. Temporal Redundancy Image compression techniques exploit spatial redundancy, the phenomenon that picture contents.
CS :: Fall 2003 MPEG-1 Video (Part 1) Ketan Mayer-Patel.
Fundamentals of Multimedia Chapter 10 Basic Video Compression Techniques Ze-Nian Li & Mark S. Drew 건국대학교 인터넷미디어공학부 임 창 훈.
Fundamentals of Multimedia Chapter 11 MPEG Video Coding I MPEG-1 and 2
An Introduction to H.264/AVC and 3D Video Coding.
1 Video Compression 1: H 261 Multimedia Systems (Module 4 Lesson 2) Summary: r H 261 Coding Compress color motion video into a low-rate bit stream at following.
Video Compression Concepts Nimrod Peleg Update: Dec
Video Compression CIS 465 Spring 2013.
MPEG-2 Digital Video Coding Standard
MPEG-2 Scalability Support Nimrod Peleg Update: Dec.2000.
Image and Video Compression
Introduction to JPEG Alireza Shafaei ( ) Fall 2005.
Electrical Engineering National Central University Video-Audio Processing Laboratory Data Error in (Networked) Video M.K.Tsai 04 / 08 / 2003.
 Coding efficiency/Compression ratio:  The loss of information or distortion measure:
1 Image Compression. 2 GIF: Graphics Interchange Format Basic mode Dynamic mode A LZW method.
Page 19/15/2015 CSE 40373/60373: Multimedia Systems 11.1 MPEG 1 and 2  MPEG: Moving Pictures Experts Group for the development of digital video  It is.
Video Coding. Introduction Video Coding The objective of video coding is to compress moving images. The MPEG (Moving Picture Experts Group) and H.26X.
Video Concepts and Techniques
MPEG-1 and MPEG-2 Digital Video Coding Standards Author: Thomas Sikora Presenter: Chaojun Liang.
Windows Media Video 9 Tarun Bhatia Multimedia Processing Lab University Of Texas at Arlington 11/05/04.
Low Bit Rate H Video Coding: Efficiency, Scalability and Error Resilience Faouzi Kossentini Signal Processing and Multimedia Group Department of.
Image Processing and Computer Vision: 91. Image and Video Coding Compressing data to a smaller volume without losing (too much) information.
Codec structuretMyn1 Codec structure In an MPEG system, the DCT and motion- compensated interframe prediction are combined. The coder subtracts the motion-compensated.
Chapter 11 MPEG Video Coding I — MPEG-1 and 2
June, 1999 An Introduction to MPEG School of Computer Science, University of Central Florida, VLSI and M-5 Research Group Tao.
Compression video overview 演講者:林崇元. Outline Introduction Fundamentals of video compression Picture type Signal quality measure Video encoder and decoder.
Image Processing Architecture, © 2001, 2002 Oleh TretiakPage 1Lecture 15 ECEC-453 Image Processing Architecture 3/11/2004 Exam Review Oleh Tretiak Drexel.
Advances in digital image compression techniques Guojun Lu, Computer Communications, Vol. 16, No. 4, Apr, 1993, pp
MPEG-4: Multimedia Coding Standard Supporting Mobile Multimedia System -MPEG-4 Natural Video Coding April, 2001.
Chapter 10 Basic Video Compression Techniques 10.1 Introduction to Video Compression 10.2 Video Compression with Motion Compensation 10.3 Search for Motion.
JPEG Image Compression Standard Introduction Lossless and Lossy Coding Schemes JPEG Standard Details Summary.
Introduction to Image and Video Coding Algorithms
Page 11/28/2016 CSE 40373/60373: Multimedia Systems Quantization  F(u, v) represents a DCT coefficient, Q(u, v) is a “quantization matrix” entry, and.
Block-based coding Multimedia Systems and Standards S2 IF Telkom University.
Video Compression and Standards
Image Processing Architecture, © Oleh TretiakPage 1Lecture 7 ECEC 453 Image Processing Architecture Lecture 8, February 5, 2004 JPEG: A Standard.
JPEG. Introduction JPEG (Joint Photographic Experts Group) Basic Concept Data compression is performed in the frequency domain. Low frequency components.
MPEG CODING PROCESS. Contents  What is MPEG Encoding?  Why MPEG Encoding?  Types of frames in MPEG 1  Layer of MPEG1 Video  MPEG 1 Intra frame Encoding.
Introduction to MPEG Video Coding Dr. S. M. N. Arosha Senanayake, Senior Member/IEEE Associate Professor in Artificial Intelligence Room No: M2.06
6/9/20161 Video Compression Techniques Image, Video and Audio Compression standards have been specified and released by two main groups since 1985: International.
Principles of Video Compression Dr. S. M. N. Arosha Senanayake, Senior Member/IEEE Associate Professor in Artificial Intelligence Room No: M2.06
Video Compression Standards Trac D. Tran ECE Department The Johns Hopkins University Baltimore MD
MPEG Video Coding I: MPEG-1 1. Overview  MPEG: Moving Pictures Experts Group, established in 1988 for the development of digital video.  It is appropriately.
H. 261 Video Compression Techniques 1. H.261  H.261: An earlier digital video compression standard, its principle of MC-based compression is retained.
Introduction to H.264 / AVC Video Coding Standard Multimedia Systems Sharif University of Technology November 2008.
Present by 楊信弘 Advisor: 鄭芳炫
H.261 Video Compression Overview
JPEG Compression What is JPEG? Motivation
CSI-447: Multimedia Systems
Digital 3D Video: Chapter 9
ENEE 631 Project Video Codec and Shot Segmentation
Standards Presentation ECE 8873 – Data Compression and Modeling
MPEG4 Natural Video Coding
MPEG-1 MPEG is short for the ‘Moving Picture Experts Group‘.
Presentation transcript:

ITU-T Recommendation H.261 H.261 VClab 2008 2017/4/17 ITU-T Recommendation H.261

H.261 VClab 2008 2017/4/17 H.261 The Recommendation H.261 describes the video coding and decoding methods for the moving picture component of audiovisual services (videophone, videoconference, etc.) at the rates of p×64 kbit/s, where p is in the range 1 to 30.

H.261 Coder Video in DCT Q Inverse DCT Loop Filter Motion Compensation H.261 VClab 2008 2017/4/17 H.261 Coder Video in DCT Q Inverse DCT Loop Filter Motion Compensation

H.261 VClab 2008 2017/4/17 Motion Estimation For each 1616 macroblock (MB), ME searches the best match in the referenced frame, and returns a motion vector MV = (X,Y). Both X and Y have integer value not exceeding ±15. Only the difference (residuals) between the MB and the best match is DCT encoded

Coding of Motion Vectors H.261 VClab 2008 2017/4/17 MVD Code … … -7&25 0000 0111 -6&26 0000 1001 -5&27 0000 1011 -4&28 0000 111 -3&29 0001 1 -2&30 0011 -1 011 0 1 1 010 2&-30 0010 3&-29 0001 0 4&-28 0000 110 5&-27 0000 1010 6&-26 0000 1000 7&-25 0000 0110 Coding of Motion Vectors DPCM Example: 14 -13 12 … -1 -27 25 … 011 00001010 00000111 …

Scan Line Order, MB by MB Scan Line Order Search Range Frame n-1 H.261 VClab 2008 2017/4/17 Scan Line Order, MB by MB Scan Line Order Search Range Frame n-1 Frame n MV(1,0) MV(0,0) 2017/4/17 H.261 VClab 2008

Motion Compensation & Motion Estimation H.261 VClab 2008 2017/4/17 Motion Compensation & Motion Estimation MC is optional for each MB Only one MV for each MB The ME compares a 16x16 macroblock in the luminance block (Y) throughout a small search area of the previously transmitted frame Both horizontal and vertical components of these motion vectors have integer values not exceeding ±15. The MV is used for all 4 Y blocks. The MV for both Cb and Cr is derived by halving the component values of the MB MV. The displacement with the smallest absolute macroblock difference, determined by the sum of the absolute values of the pel-to-pel difference throughout the block, is considered the MV for the particular MB

H.261 VClab 2008 2017/4/17 Compare the difference between two blocks (one is in the current frame, and the other is in the reference frame) p = 1, sum of absolute difference p = 2, mean square error | - |p Candidate block Current block 2017/4/17 H.261 VClab 2008

H.261 VClab 2008 2017/4/17 Quantization Within a MB, the same quantizer is used for all coefficient excepts the INTRA dc one # of quantizers is 1 for INTRA dc coefficient and 31 for all other coefficients MB quantization factor, Q, sometimes termed MQUANT: C(u,v) = F(u,v) / 2Q if Q is odd C(u,v) = (F(u,v) ±1)/2Q if Q is even (F>0 +, F<0-) Quantization for INTRA dc term: C = (F+4) / 8 with inverse F = 8C =2,4, …, 62

H.261 VClab 2008 2017/4/17 Loop Filter (FIL) The filter is separable into one-dimensional horizontal and vertical functions. The function is non-recursive with coefficients of ¼, ½, ¼ except at block edges. The function has coefficients of 0, 1, 0 at block edges. The filter is switched on/off for all 6 blocks in a MB according to MTYPE. ×¼ ×½

H.261 Decoder Intra Inverse DCT Inter Loop Filter Motion Compensation H.261 VClab 2008 2017/4/17 H.261 Decoder Intra Inverse DCT Inter Loop Filter Motion Compensation

H.261 Video Formats Luminance (Y) Chrominance(Cb, Cr) CIF 352 288 176 H.261 VClab 2008 2017/4/17 H.261 Video Formats Video Format Luminance (Y) Chrominance(Cb, Cr) pixels/line lines/frame CIF 352 288 176 144 QCIF 88 72 Y pixel Cb, Cr pixel Block boundary

H.261 VClab 2008 2017/4/17 Arrangement of H.261 352 176 176 176 48 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 48 288 QCIF CIF

Arrangements of H.261 1 2 3 Y1 Y2 Y3 Y4 U V 176 176 1 2 3 4 5 6 7 8 9 H.261 VClab 2008 2017/4/17 Arrangements of H.261 176 176 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 1 2 3 144 48 GOB (Group Of Block) QCIF picture Y1 Y2 Y3 Y4 8 16 U 8 V 8 8 16 MB (Macro Block)

Positioning of luminance and chrominance samples H.261 VClab 2008 2017/4/17 Positioning of luminance and chrominance samples Y pixel Cb, Cr pixel Block boundary

Data Structure of Compressed Bitstream in H.261 H.261 VClab 2008 2017/4/17 Data Structure of Compressed Bitstream in H.261 Picture Layer Picture Header GOB data … GOB Layer GOB Header MB data … MB Layer MB Header Block data … Block Layer TCOEFF … EOB Fixed Length Code Variable Length Code

Structure of picture layer H.261 VClab 2008 2017/4/17 Structure of picture layer PSC TR PTYPE PEI PSPARE … GOB data Picture start code (PSC) (20 bits) 0000 0000 0000 0001 0000 Temporal reference (TR) (5 bits) It is formed by incrementing its value in the previously transmitted picture header by one plus the number of non-transmitted pictures since that last transmitted one. (Only the five LSBs used)

Structure of picture layer H.261 VClab 2008 2017/4/17 Structure of picture layer PSC TR PTYPE PEI PSPARE … GOB data Type information (PTYPE) (6 bits) Bit 1 Split screen indicator Bit 2 Document camera indicator, “0” off, “1” on; Bit 3 Freeze picture release, “0” off, “1” on; Bit 4 Source format, “0” QCIF, “1” CIF; Bit 5 Optional still image model HI_RES, “0” on, “1” off Bit 6 Spare where Bit 1 is MSB Extra insertion information (PEI) (1 bit) “1” signals the presence of the following optional data field.

GOB Layer Group of blocks start code (GBSC) (16 bits) H.261 VClab 2008 2017/4/17 GOB Layer GBSC GN GQUANT GEI GSPARE … MB data Group of blocks start code (GBSC) (16 bits) 0000 0000 0000 0001 (if “0000” followed, then it is treated as a PSC) Group number (GN) (4 bits) GN indicates the position of the group of blocks. 13, 14 and 15 are reserved for future use. 0 (0000) is used in the PSC.

GOB Layer Quantizer information (GQUANT) (5 bits) H.261 VClab 2008 2017/4/17 GOB Layer GBSC GN GQUANT GEI GSPARE … MB data Quantizer information (GQUANT) (5 bits) The quantizer to be used in the GOB until overridden by any subsequent MQUENT. Extra insertion information (GEI) (1 bit) “1” signals the presence of the following optional data field. Spare information (GSPARE) (0/8/16… bits) If GEI = “1”, then the following 8-bits data is GSPARE.

MB Layer Macroblock address(MBA) (Variable length: TABLE 1) H.261 VClab 2008 2017/4/17 MB Layer MBA MTYPE MQUANT MVD CBP Block data Macroblock address(MBA) (Variable length: TABLE 1) MBA indicates the position of a MB within a GOB. It is the difference between the absolute addresses of the MB and the last transmitted MB. Type information (MTYPE) (Variable length: TABLE 2)

MB Layer Quantizer (MQUANT) (5 bits) H.261 VClab 2008 2017/4/17 MB Layer MBA MTYPE MQUANT MVD CBP Block data Quantizer (MQUANT) (5 bits) MQUANT is present only if so indicated by MTYPE (1, 3, 6, 9).

MB Layer Motion vector data (MVD) (Variable length: TABLE 3) MBA MTYPE H.261 VClab 2008 2017/4/17 MB Layer MBA MTYPE MQUANT MVD CBP Block data Motion vector data (MVD) (Variable length: TABLE 3) MVD is obtained from the MV (for the MB) by subtracting the vector of the preceding MB. The vector of the preceding MB is regarded as zero in the following three situations: 1) evaluating MVD for MB 1, 12, 23. 2)evaluating MVD for MBs in which MBA does not represent a difference of 1 3) MTYPE of the previous MB was not MC. Only one of the pair will yield a MV falling within the permitted range.

MB Layer Coded block pattern (CBP) (Variable length: TABLE 4) 1 2 3 4 H.261 VClab 2008 2017/4/17 MB Layer MBA MTYPE MQUANT MVD CBP Block data Coded block pattern (CBP) (Variable length: TABLE 4) CBP is present if indicated by MTYPE (2, 3, 5, 6, 8, 9). The codeword gives a pattern number signifying those blocks in the MB for which at least one transform coefficient is transmitted. CBP = 32P1 + 16P2 + 8P3 + 4P4 + 2P5 + P6 where Pn = 1 if any coefficient is present for block n, else 0. 1 2 3 4 Cb 5 Cr 6 Y

Block Layer Transform coefficients (TCOEFF) (Variable length: TABLE 5) H.261 VClab 2008 2017/4/17 Block Layer Transform coefficients (TCOEFF) (Variable length: TABLE 5) TCOEFF is always present for all six blocks in a MB when MTYPE indicates INTRA. In other cases MTYPE and CBP signal which blocks have coefficient data transmitted for them. The most commonly occurring combination of successive zeros (RUN) and the following value (LEVEL) are encoded with variable length codes in TABLE 5. Other combinations of (RUN, LEVEL) are encoded with a 20-bit word consisting of 6 bits ESCAPE, 6 bits RUN and 8 bits LEVEL. (Run, Level)

Block Layer There are two code tables in TABLE 5: H.261 VClab 2008 2017/4/17 Block Layer There are two code tables in TABLE 5: 1) Being used for the first transmitted LEVEL in INTER, INTER+MC, and INTER+MC+FIL blocks. (EOB is not included). 2) Being used for all other LEVELs (EOB is included) except the first one in INTRA blocks which is fixed length coded with 8 bits. Coefficients after the last non-zero one are not transmitted. EOB is always the last item in blocks for which coefficients are transmitted.

Structure of H.261 Bitstream H.261 VClab 2008 2017/4/17 Structure of H.261 Bitstream PSC TR PTYPE PEI PSPARE … GOB data GBSC GN GQUANT GEI GSPARE MB data MBA MTYPE MQUANT MVD CBP Block data

Coding of H.261 Bitstream Picture Layer PSC TR PTYPE PEI PSPARE H.261 VClab 2008 2017/4/17 Coding of H.261 Bitstream Picture Layer PSC TR PTYPE PEI PSPARE GOB Layer GOB Layer GBSC GN GQUANT GEI GSPARE MB Layer

Coding of H.261 Bitstream MBA MTYPE MQUANT MB Layer MVD CBP H.261 VClab 2008 2017/4/17 Coding of H.261 Bitstream MBA MTYPE MQUANT MB Layer MVD CBP Block Layer MBA stuffing TCOEFF EOB Fixed length Variable length

H.263 H.263 = (H.261) + (MPEG-like features) Compared to H.261 H.261 VClab 2008 2017/4/17 H.263 H.263 = (H.261) + (MPEG-like features) Compared to H.261 More allowable picture formats Half-pixel motion estimation, no loop filter Different VLC tables at macroblock and block levels Four negotiable options 3~4 dB better PSNR than H.261 at <64 kbps

H.263 Video Formats Sub-CIF QCIF CIF 4CIF 16CIF Pels/line 128 176 352 H.261 VClab 2008 2017/4/17 H.263 Video Formats Sub-CIF QCIF CIF 4CIF 16CIF Pels/line 128 176 352 704 1408 Lines 96 144 288 576 1152

Four Negotiable Options H.261 VClab 2008 2017/4/17 Four Negotiable Options Unrestricted Motion Vector: motion vectors can point outside the picture, -31.5 to 31.5 instead of –16 to 15.5 Advanced Prediction Mode: 8  8 motion vectors, overlapped block motion compensation, and motion vectors can point outside the picture Syntax-based Arithmetic Coding (about 5% decreasing in bit-rate) PB-frame

H.261 VClab 2008 2017/4/17 H.263+ 12 Optional Modes Annex D: New Unrestricted Motion Vector (mv range up to +/- 256) Annex I: Advanced Intra Coding Annex J: Deblocking Filter Annex M: Improved PB-Frame Annex O: Temporal, Spatial, and SNR Scalability Annex P: Reference Picture Resampling Annex Q: Reduced Resolution Update

H.263+ Optional Modes Annex S: Alternative Inter VLC H.261 VClab 2008 2017/4/17 H.263+ Optional Modes Annex S: Alternative Inter VLC Annex I: Modified Quantization Error Resilience Annex K: Slice Structured Annex R: Independent Segment Decoding Annex N: Reference Picture Selection

Codec Implementation Issues H.261 VClab 2008 2017/4/17 Codec Implementation Issues Fast algorithm for motion estimation Fast algorithm for DCT/IDCT Huffman table implementation Program design Program diagram Memory assess (frame stores) Register assignment Program redundancy

Supplemental Enhancement Information H.261 VClab 2008 2017/4/17 Supplemental Enhancement Information Enhanced features Picture freeze and release Tagging information Snapshot Video segment start/end Progressive refinement start/end Chroma key Can be discarded by decoders that do not understand