Part II Video. General Concepts MPEG1 encoding MPEG2 encoding MPEG4 encoding

Similar documents
Video coding standards

An Overview of Video Coding Algorithms

COMP 249 Advanced Distributed Systems Multimedia Networking. Video Compression Standards

Motion Video Compression

Multimedia Communications. Video compression

PAL uncompressed. 768x576 pixels per frame. 31 MB per second 1.85 GB per minute. x 3 bytes per pixel (24 bit colour) x 25 frames per second

Video compression principles. Color Space Conversion. Sub-sampling of Chrominance Information. Video: moving pictures and the terms frame and

Video Compression. Representations. Multimedia Systems and Applications. Analog Video Representations. Digitizing. Digital Video Block Structure

Chapter 10 Basic Video Compression Techniques

Multimedia Communications. Image and Video compression

Advanced Computer Networks

MULTIMEDIA TECHNOLOGIES

Overview: Video Coding Standards

Audio and Video II. Video signal +Color systems Motion estimation Video compression standards +H.261 +MPEG-1, MPEG-2, MPEG-4, MPEG- 7, and MPEG-21

H.261: A Standard for VideoConferencing Applications. Nimrod Peleg Update: Nov. 2003

Introduction to Video Compression Techniques. Slides courtesy of Tay Vaughan Making Multimedia Work

MPEG-2. ISO/IEC (or ITU-T H.262)

Digital Media. Daniel Fuller ITEC 2110

06 Video. Multimedia Systems. Video Standards, Compression, Post Production

A video signal consists of a time sequence of images. Typical frame rates are 24, 25, 30, 50 and 60 images per seconds.

Chapter 2 Introduction to

Module 8 VIDEO CODING STANDARDS. Version 2 ECE IIT, Kharagpur

ELEC 691X/498X Broadcast Signal Transmission Fall 2015

Module 8 VIDEO CODING STANDARDS. Version 2 ECE IIT, Kharagpur

Ch. 1: Audio/Image/Video Fundamentals Multimedia Systems. School of Electrical Engineering and Computer Science Oregon State University

Video 1 Video October 16, 2001

Contents. xv xxi xxiii xxiv. 1 Introduction 1 References 4

Principles of Video Compression

Implementation of an MPEG Codec on the Tilera TM 64 Processor

Part1 박찬솔. Audio overview Video overview Video encoding 2/47

Digital Image Processing

Content storage architectures

So far. Chapter 4 Color spaces Chapter 3 image representations. Bitmap grayscale. 1/21/09 CSE 40373/60373: Multimedia Systems

Chapter 3 Fundamental Concepts in Video. 3.1 Types of Video Signals 3.2 Analog Video 3.3 Digital Video

Lecture 2 Video Formation and Representation

ATSC vs NTSC Spectrum. ATSC 8VSB Data Framing

Video (Fundamentals, Compression Techniques & Standards) Hamid R. Rabiee Mostafa Salehi, Fatemeh Dabiran, Hoda Ayatollahi Spring 2011

Multimedia. Course Code (Fall 2017) Fundamental Concepts in Video

OVE EDFORS ELECTRICAL AND INFORMATION TECHNOLOGY

Intra-frame JPEG-2000 vs. Inter-frame Compression Comparison: The benefits and trade-offs for very high quality, high resolution sequences

Video coding. Summary. Visual perception. Hints on video coding. Pag. 1

MPEGTool: An X Window Based MPEG Encoder and Statistics Tool 1

Information Transmission Chapter 3, image and video

Midterm Review. Yao Wang Polytechnic University, Brooklyn, NY11201

ITU-T Video Coding Standards

The H.263+ Video Coding Standard: Complexity and Performance

Module 1: Digital Video Signal Processing Lecture 5: Color coordinates and chromonance subsampling. The Lecture Contains:

The Multistandard Full Hd Video-Codec Engine On Low Power Devices

Lecture 23: Digital Video. The Digital World of Multimedia Guest lecture: Jayson Bowen

Research Topic. Error Concealment Techniques in H.264/AVC for Wireless Video Transmission in Mobile Networks

MPEG-1 and MPEG-2 Digital Video Coding Standards

MPEG + Compression of Moving Pictures for Digital Cinema Using the MPEG-2 Toolkit. A Digital Cinema Accelerator

To discuss. Types of video signals Analog Video Digital Video. Multimedia Computing (CSIT 410) 2

A Novel Approach towards Video Compression for Mobile Internet using Transform Domain Technique

complex than coding of interlaced data. This is a significant component of the reduced complexity of AVS coding.

The H.26L Video Coding Project

Motion Re-estimation for MPEG-2 to MPEG-4 Simple Profile Transcoding. Abstract. I. Introduction

FLEXIBLE SWITCHING AND EDITING OF MPEG-2 VIDEO BITSTREAMS

AUDIOVISUAL COMMUNICATION

In MPEG, two-dimensional spatial frequency analysis is performed using the Discrete Cosine Transform

yintroduction to video compression ytypes of frames ysome video compression standards yinvolves sending:

SUMMIT LAW GROUP PLLC 315 FIFTH AVENUE SOUTH, SUITE 1000 SEATTLE, WASHINGTON Telephone: (206) Fax: (206)

Implementation of MPEG-2 Trick Modes

MPEG has been established as an international standard

Multimedia Systems Video I (Basics of Analog and Digital Video) Mahdi Amiri April 2011 Sharif University of Technology

COMP 9519: Tutorial 1

Chrominance Subsampling in Digital Images

Video Compression - From Concepts to the H.264/AVC Standard

HDTV compression for storage and transmission over Internet

5.1 Types of Video Signals. Chapter 5 Fundamental Concepts in Video. Component video

Digital Video Telemetry System

ITU-T Video Coding Standards H.261 and H.263

Introduction to image compression

Rounding Considerations SDTV-HDTV YCbCr Transforms 4:4:4 to 4:2:2 YCbCr Conversion

Transitioning from NTSC (analog) to HD Digital Video

Digital Television Fundamentals

Part II Video. General Concepts MPEG1 encoding MPEG2 encoding MPEG4 encoding

AN MPEG-4 BASED HIGH DEFINITION VTR

Lecture 1: Introduction & Image and Video Coding Techniques (I)

Video signals are separated into several channels for recording and transmission.

Joint Optimization of Source-Channel Video Coding Using the H.264/AVC encoder and FEC Codes. Digital Signal and Image Processing Lab

Multimedia Systems. Part 13. Mahdi Vasighi

MPEG-2. Lecture Special Topics in Signal Processing. Multimedia Communications: Coding, Systems, and Networking

Analysis of MPEG-2 Video Streams

Analog and Digital Video Basics

Essentials of DisplayPort Display Stream Compression (DSC) Protocols

Chapter 6 & Chapter 7 Digital Video CS3570

INTERNATIONAL TELECOMMUNICATION UNION. SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS Coding of moving video

Improvement of MPEG-2 Compression by Position-Dependent Encoding

ISO/IEC ISO/IEC : 1995 (E) (Title page to be provided by ISO) Recommendation ITU-T H.262 (1995 E)

CHROMA CODING IN DISTRIBUTED VIDEO CODING

10 Digital TV Introduction Subsampling

Video Coding IPR Issues

A Digital Video Primer

Understanding IP Video for

Understanding Compression Technologies for HD and Megapixel Surveillance

HEVC: Future Video Encoding Landscape

Video Demystified. A Handbook for the Digital Engineer. Fifth Edition. by Keith Jack

Television History. Date / Place E. Nemer - 1

RECOMMENDATION ITU-R BT.1203 *

Transcription:

Part II Video General Concepts MPEG1 encoding MPEG2 encoding MPEG4 encoding

Video General Concepts

Video generalities Video is a sequence of frames consecutively transmitted and displayed so to provide a continuum of actions. This is obtained by adjusting the frequency of frames to the properties of the visual human system. Video follows different modes of being formed and delivered, namely analog and digital, and consequently different standards. Distinguishing aspects of video are: Color spaces Color encoding Color sampling rate Video bandwidth

Analog and digital video Analog video is a video signal transferred by analog signal. It contains the luminance (brightness) and chrominance (color) of the image. No more in use in Italy from 2012. Digital video was initially obtained in the late 1970s by digitizing a standard analog video input to enhance the video signal and add effects to the video. Digital video was introduced commercially in 1986 with the Sony D1 format, which recorded an uncompressed video signal in digital form, hence followed by cheaper systems using compressed data, most notably Sony's Digital Betacam. With computers, digital video content creation tools initially required an analog video source to be digitized to a computer-readable format. Digital video increased rapidly in quality with the introduction of MPEG-1 and MPEG-2 standards (adopted for use in television transmission and DVD media), and then of the DV tape format allowing recording direct to digital data and simplifying the editing process.

Video color spaces Video color is displayed in RGB (monitors use RGB). Although RGB color components could be used to represent color information in video however these signals are expensive to record, process and transmit. Video is therefore transmitted and stored using color spaces that distinguish instead brightness and chrominance information. Color spaces for analog video are YUV or YIQ. Digital video is coded in YCrCb. Colors are distorted passing from RGB to YCrCb color space: Brightness Y is obtained as a combination of R G and B signals. Chrominance information is obtained instead subtracting Y from R and B signals. YUV e YCrCb are similar but differ in the range of Y component values: - YUV: from 0 to 255 - YCrCb: from 16 to 235/240

Video encoding Brightness and chrominance of images can be carried either combined in one channel as in composite encoding (brightness and chrominance information are mixed together in a single signal) or in separate channels as component encoding. Analog video signal is either transferred with composite or component encoding. Quality of component is usually better than composite. Digital video uses component color encoding.

Video sampling Sampling is a mechanism for data compression in video. It applies to luminance and chroma information in each video frame. Because the human visual system is less sensitive to the position and motion of color than luminance, bandwidth can be optimized by storing more luminance detail than color detail. Sampling is expressed with three values: x,y,z x = relative number of luma (Y) samples (sampling reference usually 4) y = number of chroma (CrCb) samples for odd lines (in the first row of x pixels) z = number of chroma (CrCb) samples for even lines (in the second row of x pixels) Es. 4:2:2 means that every 4 samples of luma, there are 2 chroma samples both in the odd and the even lines. It compresses frames as it drops data. 4:2:0 provides higher compression Video compression algorithms are also available like MPEG1, MPEG2 For each line

Video bandwidth and bitrate Bandwidth is the frequency range of the video signal measured in MHz. The higher the bandwidth is the more information is carried on. Standard TV signal has about 5.5 MHz bandwidth. Bandwidth is directly related to video resolution. For digital video we use the term bitrate (the number of bits that are conveyed or processed per unit of time, measured in bits per second) as the equivalent of bandwidth: 16 Kbit/s videophone quality (talking heads) 128-364 Kbit/s videoconferencing quality with video compression 1.25 Mbit/s video CD quality with MPEG1 compression 5 Mbit/s DVD quality with MPEG2 compression 8-16 Mbit/s HDTV quality with MPEG4 compression 29.4 Mbit/s HD DVD quality A theoretical upper bound for the bitrate in bits/s for a certain spectral bandwidth in Hertz is given by the Nyquist law for low-pass and bandpass cases: Low-pass: Band-pass: Bitrate Nyquist rate = 2 bandwidth Bitrate Bandwidth

Example Suppose we have a video with a duration of 1 hour (3600sec), a frame size of 640x480 (WxH) pixels at a color depth of 24bits (8bits x 3 channels) and a frame rate of 25fps. This example video has the following properties: pixels per frame = 640 * 480 = 307,200 bits per frame = 307,200 * 24 = 7,372,800 = 7.37Mbits bit rate = 7.37 * 25 = 184.25Mbits/sec video size = 184Mbits/sec * 3600sec = 662,400Mbits = 82,800Mbytes = 82.8Gbytes When compressing video we aim at reducing the average bits per pixel (bpp): with chroma subsampling we reduce from 24 to 12-16 bpp with JPEG compression we reduce to 1-8 bpp with MPEG we go below 1 bpp

Video formats

Analog video formats: PAL, NTSC, SECAM, S-VIDEO. There are three main systems of anolog color video broadcast transmission (television): NTSC (North America, Japan) PAL (most Europe, Australia, South Africa) SECAM (France, Eastern Europe and Middle East) Standard for analog video cable transmission are: S-Video. Standard for analog video registration are: VHS, Betacam

Interlace and progressive scan A television or recorded video image is basically made up of scan lines or pixel rows displayed across a screen starting at the top of the screen and moving to bottom. These lines or pixel rows can be displayed in two ways: By interlaced scan: is to split the lines into two fields in which all of the odd numbered lines or pixel rows are displayed first and then all of the even numbered lines or pixel rows are displayed next, in essence, producing a complete frame. By progressive scan: allows the lines to displayed sequentially. This means that both the odd and even numbered lines are displayed in numerical sequence (720 or 1080 pixels).

By applying progressive scanning rather than "interlacing" alternate lines a smoother, more detailed image can be produced on the screen Video fields Fields have been used historically due to the limited bandwidth of the TV signal (5,5 MHz). Fields are displayed interlaced i.e. first the odd, then the even lines Frequency is such that two fields are perceived as a single image. Data in a video field are distinguished both spatially and temporally. At each time instant one half of the information is lost.

PAL, NTSC, SECAM PAL (Phase Alternate Line) uses 625 horizontal lines at a field rate of 50 fields per second (or 25 frames per second). For Au, NZ, UK, Europe: 312 lines (290 active) per field, 576 pixels per line (625 lines in total) NTSC (National Television Standards Committee) is a black-and-white and color compatible 525-line system that scans interlaced television picture frames at ~60 field/sec (nominal 29.97 frames per second). For USA, Canada, Japan: 262 lines (242 active) per field, 483 pixels per line (525 lines in total) SECAM, (Sequential Couleur avec Memoire or sequential color with memory) uses the same bandwidth as PAL but transmits the colour information sequentially. (France, East Europe )

NTSC, PAL, SECAM are known as composite video because the brightness and color information are mixed together into a single signal. Color information of composite analog signals is coded in YUV (PAL) and YIQ (NTSC). Chrominance information is given in UV (IQ) and combined in a chroma signal, that is in its turn combined with luma Y. Having a composite signal is troublesome when the analog video is digitized in that it is difficult to separate the two signals. S-Video, Super-video and S-VHS transmit separate luminance Y and chroma C ( Y/C component color). Y/C is commonly used to transmit video via cable between devices. It was developed by the VTR industry to support higher quality for video professionals. It is recommended that S-video is used instead of composite video.

Digital video formats: HDTV HDTV (High Definition TeleVision) was finalized in the 90 s with Recomm.709: High resolution: digital video format 1125 x 660 pixels per frame Aspect ratio: 16:9 instead of 4:3 of NTSC and PAL With HDTV, the foundation of how frames are displayed still have their roots in the original NTSC and PAL analog video formats: Using NTSC as a foundation for HDTV, a unique high definition frame is displayed every 30th of a second. Using PAL as a foundation for HDTV, a unique high definition frame is displayed every 25th of a second.

HDTV broadcast systems are identified with three major parameters: Frame size: defined as number of horizontal pixels number of vertical pixels. Scanning system: both progressive and interlaced pictures are supported. It is identified with the letter p for progressive scanning or i for interlaced Frame rate: identified as number of video frames per second or number of fields per second (for interlaced systems) Today HDTV includes different frame sizes: 720p (HD ready) 921.600 pixel (1280 720) with progressive scan, (720 lines per scan) 1080i 2.073.600 pixel (1920x1080) with interlaced scan (540 lines per scan) 1080p 2.073.600 pixel (1920x1080) with progressive scan (1080 lines per scan)

Video sampling 4:4:4 (Cb/Cr Same as Luma) Cb and Cr are sampled at the same full rate as the luma. MPEG-2 supports 4:4:4 coding. When video is converted from one color space to another, it is often resampled to 4:4:4 first. 4:2:2 (1/2 the Luma Samples) Cb and Cr are sampled at half the horizontal resolution of Y. Co-sited means that Cb/Cr samples are taken at the same time as Y. It is considered very high quality and used for professional digital video recording, including DV, Digital Betacam and DVCPRO 50. It is an option in MPEG-2. 4:1:1 (1/4 the Luma Samples) Cb and Cr are sampled at one quarter the horizontal resolution. Co-sited means that Cb/Cr samples are taken at the same time as the Y. It is used in DV, DVCAM and DVCPRO formats. 4:2:0 (1/4 the Luma Samples) The zero in 4:2:0 means that Cb and Cr are sampled at half the vertical resolution of Y. MPEG-1 and MPEG-2 use 4:2:0, but the samples are taken at different intervals. H.261/263 also uses 4:2:0.

Digital video formats: ITU-R BT.601 Standard ITU-R BT.601 for digital video (also referred as CCIR Recommendation 601 or Rec. 601) defines, independently from the way in which the signal is transmitted, the color space to use, the pixel sampling frequency Distinct modes of color sampling are defined: - 4:4:4 a pair of Cr Cb every Y - 4:2:2 a pair of Cr Cb every two Y - 4:2:0 a pair of Cr Cb every two Y in alternate lines 4:2:2 is used in: D1, Digital Betacam, DVCPRO 50

Digital video formats: MPEG 1 Bitrate: ~ 1.5 Mbit/s, non interlaced Frame size: 352x240 or 352x288 4:2:0 sampling In MPEG1 lines are dropped so to make data divided by 8 and 16. In comparison with CCIR 601 NTSC 4:2:2 sampling: 2:1 in horizontal luminance; 2:1 in time; 2:1 in vertical chrominance.

Digital video formats: MPEG 2 MPEG2 bitrate 4 Mbit/s. MPEG2 was defined to provide a better resolution than MPEG1 and manage interlaced data. Based on fields instead of frames. Used for DVD and HDTV: Frame sixe: 720x480 4:2:0 sampling

Digital video formats: DV DV standard is used for registration and transmission of digital video over cables. It employs digital video component format to separate luminance and chrominance. Color sampling (typical): 4:1:1 (NTSC, PAL DVC PRO) Digital connectivity follows IEEE 1394 ( Firewire or i.link Sony). Horizontal resolution for luminance is 550 for DV. Horizontal resolution for chroma is about 150 lines (about ¼)

DV25 has 25 Mb/sec data rate. Audio is not compressed with data rate equal to 3.5 Mb/sec. 1 Hour of DV25 requires approx 13 GB DV50 has 50 Mb/sec data rate DV100 is used for HDTV. The audio, video, and metadata are packaged into 80-byte Digital Interface Format (DIF) blocks. DIF blocks are the basic units of DV streams and can be stored as files in raw form or wrapped in file formats as AVI and QuickTime.

Other digital video formats Other formats for (professional) digital video are: D1 (CCIR 601, 8bit, uncompressed) D2 (manages 8 bit color) D3 (used by BBC ) D5 (10bit, uncompressed) / D5 HD D9 Digital BetaCam (HDCAM / HDCAM SR for HD format, with 4:2:2 and 4:4:4 RGB)

From analog to digital: fields Computers use frames instead of fields (all the lines are sent together) and video formats for computer are not interlaced (noninterlaced or progressive scan). This can create problems when transferring analog video to computers as in figure. Software tools are needed to reconstruct the full frame.

From analog camera to computer Many cameras both have analog (S-VHS or RCA) and digital (DV) connection. To connect a analog camera film to a computer you need: A DV camera that supports DV pass-through An IEEE 1394 cable (FireWire cable) An IEEE 1394 port on your computer An Audio/Video (A/V) cable An S-Video cable With Windows Vista import video using Windows Import Video With Mac, Mac should automatically launch imovie.

Frame aspect ratio Aspect ratio: is the ratio between image width and image height PAL and NTSC aspect ratio: 4:3 (1.33) HDTV Panorama format: 16:9 (1.77) Film USA: 1.85 Film Europe: 1.66

Video compression methods

Video compression Due to the large amount of data included in a video stream, compression algorithms have main relevance for video. Video compression algorithms can be lossy and lossles but typically are lossy, starting with color subsampling. Compression can be spatial or/and temporal: remove spatially redundant data (as in JPEG) remove temporally redundant data (the basis for good video compression)

MPEG MPEG is a lossy compression method for video developed by the Moving Picture Expert Group defined according to ISO standard. It is based on the principle that an encoding of the differences between adjacent still pictures is a fruitful approach to compression. It assumes that: A moving picture is simply a succession of still pictures. The differences between adjacent still pictures are generally small Main features of MPEG are: Transform-domain-based compression i.e intra-frame coding (similar to JPEG with 2D DCT, quantization and run-length encoding) Block-based motion compensation (similar blocks of pixels common to two or more successive frames are replaced by a pointer i.e. a motion vector that references one of the blocks). Predictive Encoding is done with reference to an anchor frame according to interpolative techniques, i.e. Inter-frame coding. MPEG distinguishes: MPEG1, MPEG2, MPEG4.

What MPEG defines Video Encoder Bitstream Decoder Video Encoder is not specified by MPEG except that it produces compliant bitsream MPEG defines this Compliant decoder must interpret all legal MPEG bitstreams Not this MPEG defines the protocol of the bitstream between the encoder and the decoder The decoder is defined by implication. The encoder is left to the designer 34

Progress of MPEG standards (1990-2010) MPEG-1: Coding of moving pictures and associated audio for digital storage media VHS Quality at 1.5 MBits/s Basis of Video-CD MP3 (MPEG-1 Layer 3) MPEG-2: Generic coding of Moving Pictures and Associated Audio Broadcasting and storage Bitrates: 4-9 MBits/s Satellite TV, DVD MPEG-3? Aimed to do High Definition TV (HDTV) Folded into MPEG-2 MPEG-4: Coding of audio-visual objects Started as very low-bitrate project Turned out to be much more: - Coding of media objects - 64kbps to 240Mbps (Part 10/H.264) - Synthetic/Semi-synthetic objects - Intellectual Property Management

Video file formats

A video file format is like an envelop that contains video data. It might support several algorithms for compression. A file in some format can be transcoded into another format: in this case the header is changed and the other data (if possible) are simply copied. Most common video formats: Apple Quicktime (multiplatform).mov Microsoft AVI.avi Windows Media Video.wmv MPEG (multiplatform).mpg o.mpeg Streaming video formats (for live video): RealMedia (RealAudio e RealVideo) Microsoft Advanced System Format.asf Flash Video

MPEG1, MPEG2 file formats MPEG1 and MPEG2 compression standards have defined the Program Stream (PS). MPEG-PS is a container format for multiplexing digital audio, video. It was designed for reliable media, such as disks (like DVDs). MPEG2 has defined the Transport Stream (TS). MPEG-TS is a standard format for transmission and storage of audio, video, and data, and is used in broadcast systems such as DVB and ATSC. MPEG-TS specifies a container format encapsulating packetized elementary streams, with error correction and stream synchronization features for maintaining transmission integrity when the signal is degraded.

MPEG 4 file format MPEG4 file format was inspired by the QuickTime format, and may contain different streams and media. Can contain metadata. Audio-only MPEG-4 files generally have extension.m4a. MPEG4 files can be streamed or used for progressive download Supports very low bit rates: ~ 64 Kb/sec Mobile phones use 3GP, an implementation of MPEG-4 Part 12 (a.k.a MPEG-4/ JPEG2000 ISO Base Media file format), similar to MP4.

Part II - MPEG 1

MPEG1 MPEG1 is an ISO standard (ISO/IEC 11172) developed to support VHS quality video at bitrate of ~1.5 Mbps. MPEG1 defines the syntax of encoding a stream video and the method for decoding. However the encoder can be implemented in different ways. MPEG1 was developed for progressive video (non interlaced) so it manages only frames (progressive scan): input is given according to SIF Standard Image Format and is made of 1 field If we have interlaced video, two fields can be combined into a single frame, and hence encoded with MPEG1; they are separated when decoding. However in this case there are artifacts due to the motion of the objects. MPEG2 is a better choice in this case, since it manages fields natively.

CPB Constrained Parameters Bitstream MPEG1 can provide compressed video at broadcast quality with a bandwidth up to 4 Mbps - 6 Mbps. Similar quality is obtained in MPEG-2 with 4 Mbps bandwidth, thanks to fields. MPEG1 specifications: One macroblock is composed by 16x16 pixel (396 macroblocks = However the usual MPEG1 video resolution is 352x240 (30 fps) or 320x240 101.376 (24 fps) pixel) at a bitrate of ~1.5 Mbps. This modality is also referred to as Constrained Parameters Bitstream or CPB (1 bit of the stream indicates if CPB is used) and is the minimum video specification for a decoder to be MPEG compliant.

6 layers The MPEG1 video stream comprises 6 distinct layers: Sequence: unit for random access GOP: unit for video random access. The smallest unit of independent coding Picture (frame): primary coding unit Slice: syncronizzation unit Macroblock: motion compensation unit Block: unit for DCT processing

GOP A video sequence is decomposed in Groups of Pictures (GOPs). Within GOPs, frames have different typology: I (intra-coded), P (Predictive), B (Bi-directional), D (DC) frame. Distance between I, P e B frames can be defined when coding. The smaller GOP is the better is fidelity to motion and the smaller compression. A GOP is closed if can be decoded without information from frames of the preceding GOP (ends with I,P or B with past prediction). Max GOP lenght are 14-17 Typically m=3, n=9: m m n n

Frames I-frames contain the full image and are JPEG compressed P-frames are based on preceding I o P-frame according to Motion prediction B-frames use past or future I o P frames according to Motion prediction D frames are similar to I frames but are only DC encoded (no AC coefficients). They are low quality representations used as thumbnails in video summaries Frame types: I, P, B occur in repetitive patterns within a GOP; there are predictive relationships between I, P and B frames.

I-frames Intra coded frames are so called because they are decoded independently from any other frames. They are identical to JPEG frames. Intra-Coded frame are coded with no reference to other frames (anchor). Minimize propagation of errors and permit random access. I-frame compression is very fast but produces large files (three times larger than normally encoded MPEG video)

P-frames Predictive-Coded frame are coded with forward motion prediction from preceding I o P frame. Improve compression by exploiting the temporal redundancy. They store the difference in image from the frame immeditely preceding it. The difference is calculated using motion vectors.

In the case in which an object moves in front of a fixed background, P-frames can code the object but can t code the revealed background as well. Answer is use of B-frames

B-frames Bi-directional-Coded frame are coded with bidirectional (past and future) motion compensation using I and P frame (no B frame). Motion is inferred by averaging past and future predictions. Harder to encode introduces delay in coding. The player must first decode the next I or P frame sequentially after the B frame before it can be decoded and displayed. This makes B frames computationally complex and requires large data buffers.

Relative number of (I), (P), and (B) pictures can be arbitrary. It depends on the nature of the application. It may depend on fast access and compression ratio requirements: relatively smaller amount of compression is expected to be achieved at (I) pictures compared to (P) and (B) pictures. the (B) pictures are expected to provide relatively the largest amount of compression under favorable predict

Frames and macroblocks Each video frame contains macroblocks that is the smallest independent unit of video considered by MPEG. Macroblocks are set of 16x16 pixels and are necessary for purposes of the calculation of motion vectors and error blocks for motion compensation. I and D frames contain Intra-coded (I) macroblocks with direct encoding from the image samples P and B frames contain encoding of residual error after prediction: P frames contain Intra-coded (I) macroblocks or forward-predicted (P) macroblocks B frames contain Intra-coded (I), forward or/and backward-predicted (P or B) macroblocks B Frame with macroblocks I P I I I B I I I I I P I

Main types of macroblocks: I encoded independently of other macroblocks (by 2D Discrete Cosine Transform as in JPEG blocks) P encode not the region but the motion vector and error block of the previous frame (forward predicted macroblock) B same as above except that the motion vector and error block are encoded from the previous (forward predicted macroblock) or next frame (backward predicted macroblock) Macroblocks P B

Macroblock components Each macroblock is encoded separately. The component of a macroblock for motion compensation is luminance Y component. Cr and Cb are chrominance components. Y component 4:2:0 sampling Cr component Cb component

Macroblocks. are organized into slices Slices

Encoding macroblocks YCrCb YCrCb The block diagram of the MPEG encoder

I-macroblock coding YCrCb YCrCb

I-macroblock coding I-macroblock coding is performed according to JPEG encoding YCrCb

I-macroblock coding in more detail Intra blocks are processed through DCT 8x8 (lossless) DCT coefficient quantization (lossy) zig-zag scanning DC (DPCM) and AC (RLE) coding Entropy coding (Huffman)

Spatially-Adaptive Quantization Spatially-adaptive quantization is made possible by the scale factor quantizer scale. This parameter is allowed to vary from one macroblock to another within a picture to adaptively adjust the quantization on a macroblock basis. The default quantization matrix can be changed for each sequence. MPEG1 default quantization matrix zig-zag scanning is used to create a 1D stream

AC coefficients are encoded losslessly according to run length encoding and Huffman coding (VLC: variable length coding). Run length and level tables are formed on a statistical basis. Different tables for Y and CbCr. DC coefficients encode differences between blocks of the macroblock (see below)

P/B macroblock coding

Block motion compensation P and B macroblock coding is based on block motion compensation. This is the process of replacing blocks with a motion vector and the error block. A motion vector describes the transformation between the same (similar) blocks in adjacent frames in a video sequence. The encoder must decide whether a macroblock is encoded as I o P. A possibile mechanism compares the variance of luminance of the original macroblock with the error macroblock. If variance is above a threshold a I macroblock is encoded. 60

Motion vector calculation Macroblock F Macroblock X MV F (reference frame) Calculation of motion vectors is performed by matching similar blocks of pixels common to two or more successive frames and replacing them by a pointer. Motion vectors are assumed to be constant over a macroblock Instead of sending quantized DCT coefficients of macroblock X: Finds the best-matching block in the reference frame, by searching an area in the reference frame and compare. Each block can be assigned a match from either a backward (B) or forward (F) reference Sends quantized DCT coefficients of X-F (prediction error). If prediction is good, error will be near zero and will need few bits. Encodes and sends the motion vector MV F. This will be differentially coded with respect to its neighboring vector, and will code efficiently. With predictive video encoding the data transmitted is reduced by detecting the motion of objects. This will typically result in 50% - 80% savings in bits.

Motion vector representation A motion vector is specified with two components (horizontal and vertical offset ). Absence of motion vector is indicated with (0,0). Offset is calculated starting from the top left pixel : Positive values indicate top and right. Negative values indicate bottom and left. Set to 0,0 at the start of the frame or slice or I-type macroblock. P Macroblock have always a predictive base selected according to the motion vector. If motion vector is (0,0) the predictive base is the same macroblock in the reference frame Example: the match of the shaded macroblock of the current frame in the previous frame is in position (24,4). Then the forward predicted motion vector for the current frame is (8, -4) Block motion compensation

Error blocks The error block is obtained as the difference between two motion compensated blocks in adjacent frames. It is encoded as a normal block. For a P macroblock:

For a B macroblock:

For P/B error blocks a different quantization matrix is used wrt I-blocks: 16 value is set in all the matrix positions as error blocks have usually high frequency information Zig-zag scanning, RLE encoding and Huffman encoding follow. DC component and AC component are managed in the same way (there is no differential encoding as in I blocks) When a new P/B block is found DC component are reset. Motion vectors are reset when a new I macroblock is found.

Motion estimation by block matching Motion estimation is performed by applying block matching algorithms. Motion estimation can be performed in different ways depending on: Different block matching techniques: Mean Squared error (MSE). Mean Absolute Error (MAE) Sum of Squared Differences (SSD) Sum of Absolute Errors (SAE) Different search methods. Search methods often limit the search area for matching:

Mean Squared Error block matching Mean Squared Error (MSE) (for N x N block): where C ij is the sample in the current block and R ij the sample in the reference block Example: MSE is: block centered in MSE value: minimum value

Mean Absolute Error block matching Mean absolute error / difference (MAE/MAD) Easier wrt MSE:

Sum of Squared Differences block matching Sum of Squared Differences (SSD): SSD (C ij R ij ) 2 Sensitive to outliers

Sum of Absolute Errors block matching Sum of absolute errors / differences (SAE/SAD): Less sensitive wrt outliers wrt SSD

Search methods Full search methods check all the positions within the window with a pre-defined order criterion: Raster Spiral Full search detects the global minimum. It is computationally expensive, and only suited for hardware implementation. Several methods employ a reduced number of comparisons wrt full search. Fast search methods may fall into local minima: Three step Search Logarithmic Search One-at-a-Time Search Nearest Neighbours Search

Raster, Spiral full search

Three step reduced search (TSS) 1. Start search from (0, 0). 2. Set S = 2 N-1 (step size). 3. Look within 8 locations at +/-S pixel distance around (0, 0). 4. Select minimum SAE/SAD location between the 9 that have been analyzed 5. This location is the center for the new search 6. Set S = S/2. 7. Repeat from 3 to 5 until S = 1.

Logarithmic reduced search 1. Start search from (0, 0). 2. Search in the 4 adjacent positions in the horizontal and vertical directions, at S pixel distance from (0,0) (S search step). The 5 positions model a +. 3. Set the new origin at the best match. If best match is in the central position of + then S = S/2, otherwise S is not changed. 4. If S = 1 go to 5, otherwise go to 2. 5. Look for the 8 positions around the best match. Final result is the best match between the 8 positions and the central position

One-at-a-Time reduced search 1. Start from (0, 0). 2. Search at the origin and in the nearest positions horizontally 3. If origin has the lowest SAE/SAD then go to 5, otherwise.... 4. Set origin at the lowest SAE/SAD horizontally and search in the nerest position not yet checked and go to 3. 5. Repeat from 2 to 4 vertically.

Nearest Neighbours reduced search Assumes that near macroblocks have similar motion vectors. Motion vectors are predicted by the near vectors already coded: 1. Start from (0, 0). 2. Set origin in the position of the predicted vector and start from there 3. Search in the nearest +. 4. If the origin is the best then take this position as the correct one. Otherwise take the best match and proceed 5. Stop when the best match is at the center of + or at the border of the window. Used in H.263 e MPEG-4

Search algorithms comparison Logarithmic search and one-at-a-time have low computational complexity and low matching performance as well. Nearest-neighbours search, has good performance, similar to full search, and moderate computational complexity

Sub pixel motion estimation In some cases matching is improved if search is performed in a (artificially generated) region that is obtained by interpolating the pixels of the original region. In this case accuracy is sub-pixel. Searching is performed as follows: 1. Pixels are interpolated in the image search area so that a region is created with higher resolution than the original. 2. Best match search is performed using both pixel and subpixel locations in the interpolated region 3. Samples of the best matched region (full- o sub-pixel) are subtracted from the samples of the current block to obtain the error block. Half pixel interpolation

As sub-pixel interpolation grows a better block matching performance is obtained at the expense of higher computational cost. Usually best matching is searched at integer position (full pixel) and hence refined at sub-pixel in the neighbourhood Motion compensation with half-pixel accuracy is supported in H.263, MPEG-1 e MPEG-2 standard Half pixel interpolation is used in MPEG-4. Higher interpolation (>1/4 pixel) is proposed for H.26L/H.264 standard.

MPEG encoding decoding In MPEG pictures are coded and decoded in a different order than they are displayed. This is due to bidirectional prediction for B pictures. The encoder needs to reorder pictures because B-frames always arrive late. Example: (a 12 picture long GOP) Source order and encoder input order: I(1) B(2) B(3) P(4) B(5) B(6) P(7) B(8) B(9) P(10) B(11) B(12) I(13) Encoding order and order in the coded bitstream: I(1) P(4) B(2) B(3) P(7) B(5) B(6) P(10) B(8) B(9) I(13) B(11) B(12) Decoder output order and display order : I(1) B(2) B(3) P(4) B(5) B(6) P(7) B(8) B(9) P(10) B(11) B(12) I(13)

The MPEG encoder P macroblock B macroblock

Frame N to be encoded Frame at t= N-1 used to predict content of frame N

Prediction error without motion compensation. Prediction error with motion compensation

Macroblock coding Macroblock information is encoded into a string: Luminance Blocks Block Pattern (3-9 bit) Motion Vector (variabile) Q Scale (5 bit) Macroblock Type (1-6 bit) Macroblock Address Increment (variabile) U Block V Block

Address Increment Q Scale (5 bit) Macroblock Type (1-6 bit) Luminance Blocks U Block V Block Block Pattern (3-9 bit) Motion Vector (variabile) Macroblock Address Increment (variabile) Every macroblock has its own address: MB_ADDR = MB_ROW * MB_WIDTH + MB_COL MB_WIDTH = luminance width / 16 MB_ROW = # row top left pixel/ 16 MB_COL = # column top left row / 16 Decoder maintains the address of the preceding macroblock PREV_MBADDR. Set to -1 at the start of each frame Set to (SLICE_ROW * MB_WIDTH-1) at the start of each slice. The increment address is summed up to PREV_MBADDR to obtain the address of the current macroblock

Address Increment is encoded with Huffman, based on a predefined table (the same used for I frame): 33 codes (1-33). 1the smallest (1-bit) 33 the largest (11-bit) 1 ESCAPE code ESCAPE: add 33 to the following increment address (several ESCAPE can be used)

Macroblock Type Luminance Blocks Block Pattern (3-9 bit) Motion Vector (variabile) Q Scale (5 bit) Macroblock Type (1-6 bit) Macroblock Address Increment (variabile) U Block V Block Macroblock Type indicated whether macroblock is Intra or not if Q Scale, Motion Vector, and Block Pattern exist. It is coded with Huffman. 8 possible macroblock type (1-6 bit).

Quantization Scale Luminance Blocks Block Pattern (3-9 bit) Motion Vector (variabile) Q Scale (5 bit) Macroblock Type (1-6 bit) Macroblock Address Increment (variabile) U Block V Block Quantization scale has value 1-31 that are interpreted as 2-62 (only even values). 5 bit. Decoder uses the current Q-scale unless specified

Motion Vector Luminance Blocks Block Pattern (3-9 bit) Motion Vector (variabile) Q Scale (5 bit) Macroblock Type (1-6 bit) Macroblock Address Increment (variabile) U Block V Block Motion Vector is used to define a predictive base for the current macroblock from the reference image. Prediction is used to determine motion vectors. Difference between the predicted value and the actual value is encoded with Huffman

Block Pattern Luminance Blocks Block Pattern (3-9 bit) Motion Vector (variabile) Q Scale (5 bit) Macroblock Type (1-6 bit) Macroblock Address Increment (variabile) U Block V Block Block Pattern indicates which blocks have high error wrt the reference block so to be compensated. Block compensation is necessary to have a predictive base that is as much similar as possible to the current macroblock. If block pattern is not present then matching between the current block and its corresponding block is sufficiently good and there is non need for coding

Part II - MPEG 2

MPEG2: why another standard MPEG-1 was suitable for storage media. Was aimed at VHS quality at 1.5 Mbps. MPEG2 was designed as a superset of MPEG1 with support for broadcast video at 4-9 Mbps, HDTV up to 60 Mbps, CATV, S etc. Broadcast quality is obtained using fields instead of frames. MPEG-2 is widely used as the format of digital television signals that are broadcast by terrestrial, cable, and direct broadcast satellite TV systems. It also specifies the format of movies and other programs that are distributed on DVD and similar discs. MPEG-2 Video is similar to MPEG-1, but also provides support for interlaced video format used by analog broadcast TV systems. MPEG-2 video is not optimized for low bit-rates (less than 1 Mbit/s), but outperforms MPEG-1 at 3 Mbit/s and above

MPEG2 supports higher bit rates and a larger number of applications: Interlaced and progressive video (PAL and NTSC) Different color sampling modes: 4:2:0, 4:2:2, 4:4:4 Predictive and interpolative coding (as in MPEG1) Flexible quantization schemes (can be changed at picture level) Scalable bit-streams Profiles and levels

Color subsampling MPEG2 supports different color subsamplings: 4:2:0 (as MPEG1) In MPEG1 chrominance samples are horizontally and vertically positioned in the center of a group of 4 luminance samples. In MPEG-2 chrominance samples co-located on luminance samples 4:2:2, 4:4:4 Allow professional quality Use different macroblocks Different quantization matrices for Y and CrCb can be used with 4:2:2 and 4:4:4 sampling

I, P, B frame encoding Same as MPEG1. I, P and B frames (pictures) are encoded on a macroblock basis. DCT coding is used. P-pictures have interframe predictive coding Macroblocks may be coded with forward prediction from references made from previous I and P pictures or may be intra coded (no prediction). For each macroblock the motion estimator produces the best matching macroblock. The prediction error is encoded using a block-based DCT B-pictures have interframe interpolative coding The motion vector estimation is performed twice (forward and backward). Macroblocks may be coded with: forward (backward) prediction from past (future) I or P references; interpolated prediction from past and future I or P references; or may be intra coded (no prediction). Backward prediction is done by storing pictures until the desired anchor picture is available before encoding the "current" (stored) frames. The encoder forms a prediction error macroblock from either or their average. The prediction error is encoded using a block-based DCT No D pictures

The MPEG2 stream Sequence (Display Order) GOP (Display Order, N=12, M=3) B B I B B P B B P B B P Picture Y Cr Cb 4:2:0 color subsampling Slice Y = Luma Cr = Red-Y Cb = Blue-Y MacroBlock 16x16 0 1 2 3 8x8 8x8 4 5 Y Blocks Cr Block Cb Block

Discrete Cosine Transform and quantization scale Image Spatial domain 8x8 pixels 8 x 8 DCT Transform domain 8x8 coefficients 8 x 8 DCT -1 Spatial domain 8x8 pixels Reconstructed Image Non linear quantization scale is also available

Multiple scanning options zig-zag scanning is accompanied with a different scanning that is better suited for interlaced frames

Frame vs field-based coding MPEG2 supports both progressive and interlaced video. Progressive frames are encoded as frame pictures with frame-based DCT coded macroblocks only and the 8x8 four blocks that compose the macroblock come from the same frame of video Interlaced frames may be coded as either a frame picture or as two separately coded field pictures. The encoder may decide on a frame by frame basis to produce a frame picture or two field pictures. Field-based DCT coding can be applied only to interlaced sequences. In the case of a frame picture is produced, frame or field-based DCT macroblock coding can be used (on a macroblock-by-macroblock basis) In the case of field pictures are produced, field-based DCT macroblock coding is used and all the blocks come from one field Frame-based DCT is suited for macroblocks with little motion and high spatial activity. Field-based DCT is suited for high motion macroblocks. Picture types in MPEG-2 Progressive video Interlaced video Frame Picture I, P, or B type Frame Picture I, P, or B type Field Picture I, P, or B type Frame picture vs field pictures

Interlaced frame production: frame and field-based prediction For interlaced sequences with frame production it is possible to use either frame-based or field-based prediction: Frame prediction for frame-pictures: Identical to MPEG-1 prediction methods. Frame-based prediction uses a single motion vector for each 16x16 macroblock. Field prediction for frame-pictures: the top-field and bottom-field of a framepicture are treated separately. The size of 16 16 in the Field picture covers a size of 16 32 in the Frame picture. It is too big size to assume that behavior inside the block is homogeneous. Therefore, 16 8 size prediction was introduced in Field picture. Two Motion Vectors are used for each macroblock and come from the two most recent fields: the first is applied to the 16 8 block in the field 1 and the second is applied to the 16 8 block in field 2.

Interlaced field production: field-based prediction For interlaced sequences, when field-production is selected at the encoder, field-based prediction must be used based on a macroblock of size 16 16 from field-pictures. Like macroblocks in frame-coded pictures 16x8 predictions can also be used (the upper and lower 8 lines of the macroblock have different predictions). This compensate for the reduced temporal prediction precision of field picture macroblocks as a result of the fact that fields possess half of the lines of frames.

Interlaced frame/field production: dual-prime prediction The idea of Dual Prime adaptive motion prediction is to send minimal differential Motion Vector information for adjacent field Motion Vector data Dual-Prime Prediction is a prediction mode in which two forward field-based predictions are averaged. The predicted block size is 16x16 luminance samples. Only one motion vector is encoded with a small differential motion correction It is only used in interlaced P-pictures when there have been no B-pictures between the P-picture and its reference frame. This is the only mode that can be used for either frame-pictures or field-pictures. It avoids the frame re-ordering needed for bi-directional prediction but achieves similar coding efficiency.

Half pixel interpolation for motion estimation MPEG2 uses half-pixel interpolation for motion vector estimation. Searching is performed as follows: Pixels are interpolated in the image search area so that a region is created with higher resolution than the original. Best match search is performed using both pixel and subpixel locations in the interpolated region Samples of the best matched region are subtracted from the samples of the current block to obtain the error block. Half pixel interpolation

MPEG2 Enhancements Frame and Field Pictures Frame and Field-based DCT Frame Memory Pre processing Input Predictive frame Inter and Intra Frame + - DCT Motion Compensation Regulator Quantizer (Q) Q -1 IDCT + Frame Memory Motion vectors VLC Encoder Buffer Output Linear and Non-linear Q Alternate zigzag and VLC coding Motion Estimation Frame and Field-based Prediction

Scalability Scalability is the ability of decoding only part of the stream to obtain a video of the resolution desired. It is possible to have: SNR scalability, Spatial scalability Temporal scalability Scalability mode permits interoperability between different systems (f.e. a HDTV stream is also visible with SDTV). A system that does not reconstruct video at higher resolution (spatial or temporal) can simply ignore data refinement and take the base version.

SNR scalability (2 layers) Suited for applications that require different degrees of quality All layers have the same spatial resolution. The base layer provides the base quality, the enhancement layer provides quality improvements (with more precise data for DCT) Permits graceful degradation

Spatial scalability (2 layer) Base layer at lower spatial resolution (MPEG1 can be used to encode the base layer) Enhancement layer at higher resolution (obtained by spatial interpolation) Upscaling is used to predict coding of the high resolution version. Prediction error is encoded in the enhancement layer bitstream Temporal scalability Similar to spatial scalability, but referred to time Base Layer : 15 fps Enhancement layer : Supplements the remaining frames to achieve higher fps

Profiles and Levels In MPEG2 profiles and levels (profile@level) define the minimum capability required for the decoder: Profiles: specify syntax and algorithms (define the compression rate and decoding complexity) Levels: define parameters such as resolution, bitrate, etc. Simple Profile (4:2:0) For videoconferencing Corrisponds to MPEG1 Main profile without B frame Main profile (4:2:0) For videoprofessional SDTV (bitrate at 50 Mbps) The most important; of general applicability Multiview profile For multiple cameras filming the same scene. 4:2:2 profile For video professional SDTV and HDTV (bitrate at 50 Mbps) SNR and Spatial Scalable profile (4:2:0) Add SNR / spatial scalability SNR with different quality levels High 4:2:0 profile Suitable for HDTV Low Level MPEG1 CPB (Constrained Parameters Bitstream): max. 352x288 @ 30 fps Main Level MPEG2 CPB (720x576 @ 30 fps) High-1440 and High Levels Typical of HDTV

Profiles@levels

MPEG2: Structure of the bit-stream Sequence layer: picture dimensions, pixel aspect ratio, picture rate, minimum buffer size, DCT quantization matrices GOP layer: will have one I picture, start with I or B picture, end with I or P picture, has closed GOP flag, timing info, user data Picture layer: temporal ref number, picture type, synchronization info, resolution, range of motion vectors Slices: position of slice in picture, quantization scale factor Macroblock: position, H and V motion vectors, which blocks are coded and transmitted GOP-1 GOP-2 I B B B P B B.. Slice-1 Slice-2 Slice-N GOP-n Sequence layer GOP layer Slice layer mb-1 mb-2 mb-n Macroblock layer Picture layer 0 1 2 3 4 5 8x8 block

MPEG2 criticals There are several conditions that are critical for MPEG2 compression: Zooming Rotations determine mosquito noise Non-rigid motion Dissolves and fades determines blockiness Shadows Smokes Scene cuts Panning across crows determine wavy noise Abrupt brightness changes.

Part III - MPEG 4

MPEG4 MPEG4 standard has been designed for: Real-time communication (videoconferencing) Digital television Interactive graphic applications (DVD, ITV) World Wide Web applications Provides effective solutions for authors, service providers, final users. To this end it: adopts a object-based coding allows higher compression ratio, but also supports digital video composition, manipulation, indexing, and retrieval enables Spatial, Temporal and Fidelity scalability covers a wide range of bitrates and resolution: Mobile Video: Low rates (from 5kbps) and resolutions (128 96) Professional: High rates (> 1 Gbps) and resolutions (4k x 4k pixels) 113

Distinguishing elements MPEG4 distinguishes: Video-object Sequence (VS): delivers the complete MPEG-4 visual scene, which may contain 2D natural or 3D synthetic objects Video Object (VO): an object in the scene, which can be of arbitrary shape corresponding to an object or background of the scene (must be tracked) Video Object Layer (VOL): facilitates a way to support (multilayered) scalable coding. A Video Object can have multiple VOLs under scalable coding or have a single VOL under non-scalable coding Video Object Plane (VOP): a snapshot of a Video Object at a particular moment Group of Video Object Planes (GOV): groups Video Object Planes together (optional level) 114

Distinguishing elements 115

Main features on client and server sides MPEG4 includes technologies to support: Server side Encoding based on and audio-visual objects. When a VOP is the rectangular frame it corresponds to MPEG2 Audio-visual objects manipulation Hierarchical scene composition (audio-visual objects local coordinates, temporal synchronization.. described as an acyclic graph) Multiplexing and synchronization of audio-visual objects and audiovisual objects transfer with appropriate QoS Client side Audio-visual objects manipulation: display primitives to represent natural and artificial objects (2D and 3D, color, contrast change, talking 3D heads, head moving, 3D body animation..), synthesized speech from text, add objects, drop objects User interactivity (viewpoint change, object clicking ) 116

The audio-visual scene An audiovisual scene can be composed of multiple audiovisual object (AVO) organised hierarchically For example: Background 2D Image of one person talking (without background) Voice associated with the person Synthetic object (table and globe) Synthetic sound (ex. jingle or TTS) Etc. MPEG standard defines an ensemble of AVO primitives to represent natural and artificial objects 2D and 3D 117

Scene composition (server side) Scene Composition permits to: Drop, change the position of audio-visual objects in a scene Cluster audio-visual objects and form composite audio-visual objects that can be manipulated as a single audio-visual object Associate parameters (motion, appearance) to audio-visual object and modify their attributes in a personalized way Change the viewpoint of a scene 118

Binary Format for Scene description Binary language derived from VRML Scene description is encoded separately from the rest of the stream. Does not include parameters that are referred to audio-visual objects (like motion ) 119

Space and Time positioning In the MPEG4 model, every audiovisual object (AVO) has a spatial and temporal span Every AVO has a local coordinate system The local coordinate system is defined at a fixed scale, where the AVO has a spatio-temporal position The local coordinate system enables manipulation of the AVO in both space and time AVO are positioned in a scene by defining a coordinate transform from the local coordinate system to a global coordinate system defined by one or several nodes in the visual scene hierarchy Synchronised Streaming Each element can be time stamped to synchronise with other objects in the frame Flexi Time: The viewer can vary the time for playback 120

Manipulating VOs Augmented reality: Merge together virtual images (computer generated) with real moving images (video) to create improved visualization Transformation/animation of synthetic objects: Replace a natural video object by another video object. The new video object may be extracted from another video or can be a single image transformed using the motion information from the object to be replaced (require a continuous representation of the motion). Spatio-temporal interpolation: motion modelling of a mesh enables a more robust motion compensation interpolation 121

MPEG4 encoding MPEG4 provides algorithms and tools to: Compress images and video Compress textures to be mapped onto 2D and 3D meshes Compress geometric streams that change through time for 2D mesh animation Access to any visual object Manipulation of images and video sequences Object-based coding of image and video content Scalability based on content of textures of images and video Spatial, temporal and quality scalability MPEG4 makes use of local processing power to recreate sounds and images This makes it one of the most efficient compression systems 122

Compression MPEG4 compression is the same as MPEG1 and MPEG2 compression. Rectangular frames at different: Bitrate Frame rate Input format Quality Scalability Spatial Scalability Temporal Scalability Specifically it supports: Progressive and interlaced video SQCIF/QCIF/CIF/4*CIF/CCIR 601, up to 4k*4k YCbCr/Alpha 4:2:0 color quantization (4:2:2 e 4:4:4 for studio quality) Continuous variable frame rate 123

Object Types MPEG4 is an object based system: using Natural and/or Synthetic objects Photos: JPEG, GIF, PNG, Video. MPEG-2, Divx, AVI, H.264, QuickTime Speech: CELP, HVXC, Text to Speech Music: AAC, MP3, surround,synthetic music Graphics: Mesh Animated objects, e.g., talking heads Text 124

MPEG-4 Object Coding Main Program (Newscast) Studio Home Ordinary TV OTS Graphic (Story Intro) + Studio/ Post-production MPEG-4 Decoder TC 29.41.03 PHG 25.17.76 SNE 58.68.02 MSFT 69.18 Composited Image Station Bug (Sponsor) MPEG-4 + TC 29.41.03 PHG 25.17.76 SNE 58.68.02 MSFT 69.18 Graphic Overlay (Stock Ticker) TC 29.41.03 PHG 25.17.76 SNE 58.68.02 MSFT 69.18 Client-side editing

Object-based coding: 2D natural audiovisual objects In MPEG4 video is regarded as a composition of 2D objects (they can be placed in a 3D space). In object-oriented coding 2D objects can be of any arbitrary shape and texture. Both shape and texture must be encoded If shape is not considered, MPEG4 encoder is based on motion compensation as in MPEG1 and MPEG2, using macroblocks but with different sizes 126

Hierachical motion compensation Difference with different macroblock sizes for motion compensation 16x16 8x8 4x4 127

Hierachical motion compensation 16x16 16x8 8x16 8x8 8x4 4x8 4x4 Smallest block size 4x4 pixels 128

Fine grained motion compensation 129

MPEG4 allows up to 32 reference images Motion coding 130

Shape and texture coding Shape coding Shape coding is still based on blocks. The object bounding box is used for shape encoding. It is eventually divided in 16x16 macroblocks. Shape can be encoded as 8 bit alpha channel or bitmask Macroblocks inside object must be treated differently than boundary blocks (padding, different DCT etc) Algorithms to detect the object shape are not defined (only the bitstream is defined); there can be used several algorithms (either automatic or assisted) Texture coding Texture coding based on motion compensation and 8x8 DCT standard or shape adaptive

Comparison between block-based and object-based coding

Global motion compensation Background objects must be separated from foreground objects: to separate the foreground object from the background, sprite panorama images are considered i.e. a still image that describes the static background over a sequence of video frames. Sprite panorama is encoded and sent to the decoder only once at the beginning of the video sequence When the decoder receives foreground objects (separately coded) and parameters of the camera movements, it can reconstruct the scene Mosaiced panorama image (camera panning) F1 F2 F3 F4 F5 F F

Server side Global motion compensation for background images Compression can be adapted for each object DCT coding Client side

Object-based coding: synthetic 3D Audio Visual Objects MPEG4 supports coding of 3D synthetic audiovisual objects: Animated faces (Talking heads) Animated bodies 2D meshes with animation It allows special compression algorithms for 3D mesh compression and 2D texture mesh compression

Face animation A face is an AVO that can be visualized and animated The shape, texture and expression of a face are controlled by a data stream containing together the Facial Definition Parameters (FDPs) and the Facial Animation Parameters (FAPs). When created, AVO is a generic face with a neutral expression (gaze is in direction of Z-axis, all face muscles are relaxed)

Face animation The Facial Definition Parameters (FDP) are 88 feature points that can be used to morph a face model according to specific characteristics

Face animation A face can be animated through the Face Animation Parameters (FAP) that control 66 feature points. Closely related to human facial muscle movements

Face Animation Parameters (FAPs) FAPs can be used for: Speech recognition can use FAPs to increase recognition rate Animating face models by text to speech systems HCI to communicate speech, emotions, etc, in particular noisy environment The end user can also interact with the face model E.g. increase the lips motion to ease lips reading 139

Visemes Visemes are: pre-defined FAP combination used for speech to represent 56 phonemes. 35 visemes 37 consonants 19 vowels/diphthongs

Expressions Expressions are used to express feeling and emotions: Joy: eyebrows are relaxed, the mouth is open and mouth corners pulled back toward ears. Sadness: the inner eyebrows are bent upward, the eyes are slightly closed, the mouth is relaxed. Anger: inner eyebrows pulled downward and together, eyes wide open, lips pressed against each other or opened to expose teeth. Fear: the eyebrows are raised and pulled together, the inner eyebrows are bent upward. The eyes are tense and alert. Disgust: The eyebrows and eyelids are relaxed. The upper lip is raised and curled, often asymmetrically. Surprise: the eyebrows are raised. The upper eyelids are wide open, the lower relaxed. The jaw is open.

Body animation The body is an AVO that can be visualized and animated Shape, texture and body pose are controlled by a data stream composed of Body Definition Parameters (BDP) and Body Animation Parameters (BAP). The BDP can be used to personalized the body characteristics (height, shoulder width etc.). When created, a body is represented standing with the arms along the torso. A body can be animated through the BAP (196 parameters) BAPs are the angles of rotation of body joints connecting different body parts. These joints include: toe, ankle, knee, hip, spine, shoulder, clavicle, elbow, wrist, and the hand fingers.

Animated Mesh 2D A 2D mesh is a tessellation of a planar polygonal regions The vertices of the polygons are named node points The MPEG4 standard enables only the use of triangles the application of a texture on a mesh A 2D mesh can be rendered dynamic through the definition of an initial mesh and motion vector of node points within a temporal window: useful to model animated textures

Animated Mesh 2D The texture of every triangle elements is modified according to a parametric mapping that warps the texture to ensure validity in the new vertices position

Animated Mesh 2D Texture can be transmitted only for selected key-frame(s) and rely on animation for the intermediate frames The mesh representation enables the creation of key-frames for the visual synthesis of the objects motion The mesh representation gives a accurate information on the trajectory of an object that can be used to retrieve VOs with specific motion The mesh shape representation based on vertices is more efficient than the bitmap representation as it enables shape based object search

Speech and Natural Audio Speech (2-24 K bit/sec): HVXC - Harmonic Vector Excitation Coding CELP - Code Excited Linear Prediction Synthesised speech: Text to speech synthesis, 200-1200 bit/sec Very low delay, 20 ms, for video phone use MP3 takes too long to encode/decode Natural Audio (6-380 K bit/sec): MPEG - AAC (Advanced Audio Coding) MP3, AAC, 5.1 surround

Structured and Interactive Audio SAOL - Structured Audio Orchestra Language (pronounced sail) Down loadable sound fonts Wavetable synth + GM2 type spec. Any kind of virtual instruments Virtual effects algorithms and mixers MIDI data rates e.g. 300 bit/sec Interactive Audio Download and remix tracks Flash interface and compressed audio loops

Errors and loss checks Flexible macroblock ordering (FMO) (aka slice groups) and arbitrary slice ordering (ASO): for restructuring the ordering of the representation of the macroblocks. Data partitioning (DP): separate more and less important elements into different packets of data with unequal error protection (UEP) Redundant slices (RS), encoder sends an extra (lower fidelity) representation to replace a potentially corrupted or lost primary representation.

Errors and loss checks Network Abstraction Layer (NAL): allows the same video syntax to be used in many network environments: Self-contained packets by decoupling information relevant to more than one slice from the media stream. Two types of parameter sets: Sequence Parameter Set (SPS) and Picture Parameter Set (PPS). Switching slices, called SP and SI slices. When a decoder jumps into the middle of a stream, it can get an exact match to the decoded pictures at that location in the video stream despite using different pictures, or no pictures at all, as references prior to the switch. Supplemental enhancement information (SEI) Video usability information (VUI) 149

Scalability Temporal (frame rate) scalability: the motion compensation dependencies are structured so that complete pictures (i.e. their associated packets) can be dropped from the bitstream. Spatial and Fidelity scalability in MPEG4: the data of lower resolutions can be used to predict data or samples of higher resolutions Spatial (picture size) scalability: video coded at multiple spatial resolutions Fidelity scalability: video coded at a single spatial resolution but at different qualities Combined scalability

Scalability 151

Profiles and Levels MPEG4 profiles define some properties of the encoded video stream Bit depth (8 to 14) Chroma format (4:2:0 to 4:4:4) Error checks, redundancy etc MPEG4 profiles target different usages and their corresponding needs: Mobile: low-res, transmission error Studio: hi res, higher bit depth Levels define resolution, bitrate and number of the objects that can be coded separately

Profiles Simple profile: 8 bit depth, chroma format 4:2:0 Constrained Baseline Profile (CBP): videoconference and mobile Baseline Profile (BP): low-cost applications + data loss robustness Extended Profile (XP): streaming video profile (high compression capability, robustness to data losses and switching slices) Main Profile (MP): standard-definition digital TV High Profile (HiP): DVB HD TV, Blu-Ray Other High Profiles (Hi10P, Hi422P, Hi444PP): Professional Scalable profile: + temporal and spatial scalability (internet services) Scalable Constrained Baseline Profile, Scalable High Profile Other profiles: Stereo High Profile, Multiview High Profile, Multiview Depth High Profile

Levels Levels define: different degrees of computational complexity and quality: maximum picture resolution, frame rate, and bit rate constraints that are requirements for the decoder performance for a profile Decoders complying with one level guarantee to be able to decode video streams of this level and all levels below 5 classes of levels: Class 1 (1, 1b, 1.1, 1.2, 1.3): max resolution 128x96 to 352x88 Class 2 (2, 2.1, 2.2): max resolution 320 240 to 720 576 Class 3 (3, 3.1, 3.2): max resolution 352 480 to 1,280 1,024 Class 4 (4, 4.1, 4.2): max resolution 1,280 720 to 2,048 1,080 Class 5 (5, 5.1, 5.2): max resolution 1,920 1,080 to 4,096 2,304

Profiles@levels

MPEG4 decoding

Object decoding (client side) The scene is demultiplexed and objects are separately decoded

Interactive display of MPEG4 scene (client side) Users can interact with the scene displayed through: Navigation of the scene Dropping or changing the position of the objects Start actions (select object, play video ) Selecting the language associated to an object

MPEG4 Improvements Improvements in coding are obtained with appropriate object based motion prediction. Compression can be adapted for each object Motion compensation different blocks sizes and ¼ pixel interpolation Global motion compensation for background images B-VOP motion prediction DCT coding (as MPEG2 or with a different quantization) Wavelet coding of images and textures that are applied to meshes MPEG-4 can often perform radically better than MPEG-2 video: typically obtaining the same quality at half of the bit rate or less, especially on high bit rate and high resolution situations

Useful for MPEG4 is useful for: Multimedia authors: permits to produce content with objectbased flexibility wrt to single technologies such as digital television, graphic animation, web pages.. Network providers: provides object and media -based information that can be appropriately processed and exploited Final users: provides interactive object-based facilities, suited for real-time, surveillance, mobile applications Most of MPEG4 features are optional and their implementation is left to the developer. Most of the software for MPEG4-coded multimedia files do not support all the features. Profiles help to understand what features are supported.

Part IV - MPEG 7

MPEG-7 In recent years, there has been a huge increasing amount of audiovisual data that is becoming available Need: retrieval, search, storage of the AV-data with higher level concept MPEG-7 Multimedia Content Descriptor Standard: efficient representation of audio-visual (AV) meta-data Applications: Large-scale multimedia search engines on the Web AV broadcast servers Media asset management systems in corporations,museums, art galleries, etc Digital libraries, query by examples

MPEG-7 Home entertainment e.g., systems for the management of personal multimedia collections, e.g. music, home video, searching a game, karaoke E-Commerce e.g., personalised advertising, on-line catalogues, directories of e-shops Education e.g., repositories of multimedia courses, multimedia search for support material Investigation services e.g., human characteristics recognition, forensics Journalism e.g. searching speeches of a certain politician using their name, voice or face Multimedia directory services e.g. Yellow Pages, tourist information, geographical information systems

MPEG-7 Main Elements Descriptor (D): standardized audio only and visual only descriptors. Multimedia Description Scheme (MDS): standardized description schemes for audio and visual descriptors. Description Definition Language (DDL): provides a standardized language to express description schemes, based on XML (extensible Markup Language). Allows: creation of new description schemes and descriptors. extension and modification of existing description schemes.

Description Definition Language (DDL) Foundations of MPEG-7 standard, provides the language for defining the structure and content of multimedia information A schema language to represent the results of modeling audiovisual data, (i.e. descriptors, and description schemes) as a set of syntactic, structural and value constraints to which valid MPEG-7 descriptors, description schemes, and descriptions must confirm. Also provide the rules by which user can combine, extend, and refine existing description schemes and descriptors. XML. Example: <PersonName> <Title>Dr.</Title> <Firstname>Svebor</Firstname> <Lastname>Karaman</Lastname>> <PersonName> 165

Multimedia Description Schemes (MDS) 6 Areas: Basic Elements, Content Descriptions, Content Organization, Content management, Navigation and Access, and User Interaction 166

Basic Elements: fundamental constructs of the definition of MPEG-7 description schemes Schema Tools: facilitate the creation of valid MPEG-7 descriptions and packing. Basic Data types: MDS: Basic Elements Integer & Real represent constrained integer and real value Vectors & Matrix represent arbitrary sized vectors and matrices of integer or real values Probability Vectors & Matrices represent probability distribution described using vectors/matrices String represents codes identifying content type, countries, regions, currencies, and character sets Linking, Identification and Localization Tools: tools for referencing MPEG-7 descriptions, for linking descriptions to multimedia content and for describing time in multimedia content 167

Basic Description Tools : A library of description schemes and data types, which are used as primitive components for building more complex and functionality- specific description tools found in the rest of MPEG-7. Graph and relation tools: complex multimedia description structures Textual annotations: MDS: Basic Elements Free text annotation : Spain scores a goal against Sweden Keyword annotation : score, Sweden, Spain Classification schemes and terms: define and reference vocabularies for multimedia content descriptors. Ex. sports: 168

Multimedia Description Schemes (MDS) 6 Areas: Basic Elements, Content Descriptions, Content Organization, Content management, Navigation and Access, and User Interaction 169

MDS: Structural Content Description Content Description: structural and conceptual aspects Structure Description: structure of multimedia built around Segment Description Schemes that represents the spatial, temporal, or spatiotemporal portion of the multimedia content Specific features for structural data description: 170

MDS: Conceptual Content Description Conceptual aspects: describes the multimedia content from the viewpoint of real-world semantics and conceptual notations. Involve entities (objects, events, abstract concepts) and relationships. Segment description schemes and semantic description schemes are related by a set of links that allows the multimedia content to be described on the basis of both content structure and semantics 171

MDS: Structural and Conceptual Content Description 172

Multimedia Description Schemes (MDS) 6 Areas: Basic Elements, Content Descriptions, Content Organization, Content management, Navigation and Access, and User Interaction 173

MDS: Content Management Content management : the description of the life cycle of the content, from content to consumption Creation and Production Description: Title, textual annotation, creators, creation locations, dates, data classification, guidance information, related multimedia material Usage Description: Describes information related to the usage rights, usage record Links to the rights holders or right management. Use of the content, such as broadcasting, or demand delivery. Financial information: cost of production and income resulting from content use. Dynamic: can change during the lifetime of the multimedia content. Media Description Describes compression, coding, and storage format of multimedia content. 174

Multimedia Description Schemes (MDS) 6 Areas: Basic Elements, Content Descriptions, Content Organization, Content management, Navigation and Access, and User Interaction 175

Facilitating browsing and retrieval by defining summaries, views, and variations of the multimedia content. Summaries: compact highlights of the multimedia content enable discovering, browsing, navigation, and visualization Hierarchical navigation Sequential navigation MDS: Navigation and Access View: describing different decompositions of the multimedia signals in space, time, and frequency. Variations: different variations of multimedia programs, such as summaries and abstract, scaled, compressed and low-resolution versions, versions with different languages and modalities. 176

Multimedia Description Schemes (MDS) 6 Areas: Basic Elements, Content Descriptions, Content Organization, Content management, Navigation and Access, and User Interaction 177

MDS: Content Organization Content Organization: tools describe collections and models Collection: unordered sets of multimedia content, segments, descriptor instances, concepts or mixed sets of the above Model tools: Parameterized representation of an instance or class multimedia content, descriptors or collections, as follows: Probability model : Associates statistics or probabilities with the attributes of multimedia content, descriptors or collections Analytic model: Associates labels or semantics with multimedia content or collections Cluster model: Associates labels or semantics and statistics or probabilities with multimedia content collections Classification model: Describes information about known collections of multimedia content in terms of labels, semantics, and models that can be used to classify unknown multimedia content 178

Multimedia Description Schemes (MDS) 6 Areas: Basic Elements, Content Descriptions, Content Organization, Content management, Navigation and Access, and User Interaction 179

MDS: User Interaction User interaction describes user preferences and usage history UserPreference DS describes also the weighting of the relative importance of different preferences, the privacy characteristics of the preferences and whether preferences are subject to update,such as by an agent that automatically learns through interaction with the user UsageHistory DS describes the history of actions carried out by a user of a multimedia system. The usage history descriptions can be exchanged between consumers, their agents, content providers, and devices, and may in turn be used to determine the user s preferences with regard to AV content. Allow matching between user preferences and MPEG-7 content description Facilitate personalization of multimedia content access, presentation, and consumption 180

Visual Descriptors MPEG-7 Descriptors Cover 6 basic visual features as Color Texture Shape Motion Localization Face Recognition Courtesy of Charlie Dagli

Color descriptors Color Descriptors Color Space : defines the color components as continuous-value entities R, G, B Y, Cr, Cb Y = 0.299R + 0.587G + 0.114B Cb = 0.169R 0.331G + 0.500B Cr = 0.500R 0.419G 0.081B H, S, V (Hue, Saturation, Value) A nonlinear transform of the RGB Quantized into 16,32,64,128,256 bins for scalable color descriptor and frames histogram descriptor HMMD (Hue, Max, Min, Diff, Sum) Max = max (R, G, B) Min = min (R, G, B) Diff = Max Min Sum = (Max + Min ) / 2 Min (whiteness) Max (blackness) Linear transformation matrix with reference to R, G, B Any 3 x 3 color transform matrix that specifies the linear transformation between RGB and the respective color space. Monochrome: Y component alone in YCrCb is used 39

Color Descriptors Color Quantization Descriptor : specifies the partitioning of the given color space into discrete bins. Dominant Color Descriptor (DCD): allows specification of a small number of dominant color values as well as their statistical properties, such as distribution and variance provides an effective an compact representation of colors present in a region or an image. DCD is defined to be F = {(c i, p i, v i ), s}, (i = 1, 2,.. N), N is the number of dominant colors c i dominant color value, a vector of corresponding color space component values p i the fraction of pixels in the image corresponding to c i v i the variation of the color values of the pixels in a cluster around the corresponding representative color s the spatial coherency, represents the overall spatial homogeneity (Examples of low and high spatial coherency of color) 40

Color Descriptors Scalable Color Descriptor : a Haar transform-based encoding scheme applied across values of a color histogram in the HSV color space Useful for image-to-image matching and retrieval based on color feature. Its binary representation is scalable in terms of bin numbers and bit representation accuracy over a broad range of data rate. Group-of-Frame or Group-of-Picture Descriptor : For joint representation of color-based features for multiple images or multiple frames in a video segment Traditionally for a group of frames or pictures a key frame or image is selected and the color-related features of the entire collection are represented by the chosen sample unreliable By GoF and GoP histogram based descriptors that reliably capture the color content of multiple images or video frames. 41

Color Descriptors Color Layout Descriptor (CLD) : represents the spatial distribution of representative colors on a grid superimposed on a region or image. Representation is based on coefficients of Discrete Cosine Transform. This is a very compact descriptor being highly efficient in fast browsing and search applications. Color Structure Descriptor (CSD): based on color histogram, but aims at identifying localized color distributions using a small structuring window. To guarantee, interoperability, the CSD is bound to the HMMD color space. CSD: the degree to which its pixels are clumped together relative to the scale of an associated structuring element. Examples of structured and unstructured color. 42

Texture Descriptors Homogeneous Texture Descriptor (HTD): provides a quantitative representation using 62 numbers, consisting of the mean energy and energy deviation from a set of frequency channel Useful for similarity retrieval Effective in characterizing homogeneous texture regions Texture Browsing Descriptor (TBD): Defined for coarse level texture browsing Provides a perceptual characterization of texture, similar to human characterization, in terms of regularity, coarseness and directionality of the texture pattern. Edge Histogram Descriptor (EHD): Capture spatial distribution of edges in an image Useful in matching regions with partially varying, non-uniform texture. 43

Homogeneous Texture Descriptor Texture Descriptor Homogeneous Texture Descriptor (HTD): characterize the region texture using the mean energy and the energy deviation from a set of frequency channel. The 2D frequency plane is partitioned into 30 channels as the following: (Frequency layout for feature extraction) The Syntax of the HTD is as follows: HTD = [f DC, f SD, e 1, e 2,..,e 30, d 1, d 2,..,d 30 ] Where f DC and f SD are the mean and standard deviation of input images, and e i and d i are the nonlinearly scaled and quantized mean energy and energy 44 deviation of the i-th channel. ω

Texture Browsing Descriptor Texture Browsing : Perceptual characterization of a texture, similar to a human characterization, in terms of regularity, coarseness and directionality TBD = [v 1,v 2,v 3,v 4,v 5 ] v 1 {1, 2, 3, 4} or {00,01,10,11}: represents the regularity v 2,v 3 {1, 2, 3, 4, 5, 6} : capture the directionality of the texture v 4, v 5 {1, 2, 3, 4}: capture the coarseness of the texture Regularity Semantics of Regularity. Semantics 00 irregular 01 slightly regular 10 regular 11 highly regular Regularity 11 10 01 00 Examples of Regularity 45

Edge Histogram Descriptor Edge Histogram: represents local edge distribution in the image Five types of edges: 5 histogram bins per each sub-image BinCounts[k] Semantics BinCounts[0] Vertical edges in sub-image (0,0) BinCounts[1] Horizontal edges in sub-image (0,0) BinCounts[2] 45 degree edges in sub-image (0,0) BinCounts[3] 135 degree edges in sub-image (0,0) BinCounts[4] Non-directional edges in sub-image (0,0) BinCounts[5] Vertical edges in sub-image (0,1) BinCounts[74] Non-directional edges in sub-image (3,2) BinCounts[75] Vertical edges in sub-image (3,3) BinCounts[76] Horizontal edges in sub-image (3,3) BinCounts[77] 45 degree edges in sub-image (3,3) BinCounts[78] 135 degree edges in sub-image (3,3) BinCounts[79] Non-directional edges in sub-image (3,3) 46

Shape Descriptors Shape Descriptors Region-based Shape Descriptor Expresses pixel distribution within a 2-D object or region. Based on both boundary and internal pixels and can describe complex objects consisting of multiple disconnected regions as well as simple objects with or without holes. Contour-based Shape Descriptor Based on CSS representation of the contour 3-D Spectrum Descriptor Expresses characteristic features of objects represented as discrete polygonal 3-D meshes. Based on the histogram of local geometrical properties of the 3-Dsurfaces of the object. 47

Shape Descriptors Region-based shape descriptor utilizes a set of ART(Angular Radial Transform) coefficients. Twelve angular and three radial functions are used (n < 3, m < 12). F nm is an ART coefficient of order n and m. V is ART basis function and f is an image function V (ART basis function) is separable along the angular and radial directions (Real part of the ART basis functions) ART coefficients are divided by the magnitude of ART coefficient of order n= 0, m = 0, which is not used as a descriptor element. Quantization is applied to each coefficient using 4 bit per coefficient to minimize the size of the descriptor 48

Shape Descriptors Contour-based Shape Descriptor : describes a closed contour of a 2D object or region in image or video sequence. Based on the Curvature Scale Space (CSS) representation of the contour (A 2D visual object (region) and its corresponding shape) Field No. of bits Meaning No. of peaks 6 No. of peaks in CSS image GlobalCurvature 2 6 PrototypeCurvature 2 6 HighestPeakY 7 PeakX[] 6 PeakY[] 3 Circularity and eccentricity of the contour Circularity and eccentricity of the smoothed contour Absolute height of the highest peak (quantized) X-position on the contour of a peak (quantized) Height of the peak (quantized) (CSS Image Formation) Smoothing evolution of zero-crossing 49

Shape Descriptors Contour-based Shape Descriptor has the following properties It can distinguish between shapes that have similar region-shape properties but different contour-shape properties. It supports search for shapes that are semantically similar for humans It is robust to significant non-rigid deformations It is robust to distortions in the contour due to perspective transformations, which are common in the images and video It is robust to noise present on the contour. It is very compact (14 Bytes per contour on average). The descriptor is easy to implement and offers fast extraction and matching. 50

Shape Descriptors (3-Dimensional Class) 3-D Shape spectrum descriptor : This descriptor specifies an intrinsic shape description for 3D mesh models. It exploits some local attributes of the 3D surface. The shape index, introduced by Koenderink, is defined as a function of the two principal curvatures, and associated with point p on the 3D surface S. with By definition, the shape index value is in the interval [0,1] The shape spectrum of the 3D mesh (3D-SSD) is the histogram of the shape indices (I p s) calculated over the entire mesh. 51

Motion Descriptors Camera Motion Descriptor Motion Trajectory Descriptor Parametric Motion Descriptor Motion Activity Descriptor Video segment Moving region Camera motion Motion activity Mosaic Warping parameters Motion trajectory Parametric motion 52

Motion Descriptors Motion Descriptors Camera Motions: pan, track, tilt, boom, zoom, dolly, roll, absence perspective projection and camera motion parameters 53

Motion Descriptors Motion Trajectory : describes the displacements of objects in time. A high level feature associated to a moving region, defined as the spatiotemporal localization of one of its representative points (such as its center) as a list of key points (x, y, z, t) Parametric Motion : describing the motion of objects in video sequences as a 2D parametric model. Affine Models (6): translations, rotations, scaling and combination of these. Planar Perspective Models (8) : Global deformations with perspective projections Quadratic Models (12) : describes more complex movements Motion Activity : Intuitive notion of intensity of action or pace of action in a video segment. Example of high activity : Goal scoring in a soccer match Can be used in diverse applications such as content repurposing, video summarization, surveillance, content-based querying, etc. Four attributes: Intensity of activity: indicate high or low activity by a integer lying in [1 5] Direction of activity: expresses the dominant direction of the activity if any Spatial distribution of activity: the number and size of active regions in a frame Temporal distribution of activity: expresses the variation of activity over the duration 54

Localization Descriptors Localization Descriptors Region Locator : Localization of regions within images or frames by specifying them with a brief and scalable representation of a Box or a Polygon. Procedure consists of the following 2 steps Extraction of vertices of the region to be localized Localization of the region within the image or frame (localization using a polygonal and Box element of the RegionLocator) Spatio Temporal Locator: describes spatial-temporal regions in a video sequence, such as moving object regions, and provides localization functionality. 55

Face Recognition Descriptor FaceRecognition Descriptor : Used to retrieve face images which match a query face image. Face Recognition : The projection of a face vector onto a set of 48 basis eigenvectors U ( eigenfaces ) which span the space of possible face vectors. Feature Extraction : The FaceRecognition feature set is extracted from a normalized face image. This normalized face image contains 56 lines with 46 intensity values in each line. The centre of the two eyes in each face image are located on the 24 th row and the 16 th and 31 st column for the right and left eye respectively. Features are given by the vector W and is the mean face vector. The features are normalized and clipped using Z=2048 as follows. 56

Face descriptor Automatic Face Image Localization (Block Diagram of the Automatic face Image Localization algorithm) Color Segmentation (A color segmentation example: a) the skin color region in the Cb-Cr plane b) original image c) results of the color segmentation algorithm) 57

Audio descriptors Overview of Audio Framework including Descriptors 58

Audio Descriptors Basic Descriptors: temporally sampled scalar values for general use, applicable to all kinds of signals AudioWaveform Descriptor : Audio waveform envelope (minimum and maximum), typically for display purposes AudioPower Descriptor : the temporally smoothed instantaneous power, which is useful as a quick summary of a signal, and in conjunction with the power spectrum. Basic Spectral Descriptors: all deriving from a single time-frequency analysis of an audio signal AudioSpectrumEnvelope Descriptor : a logarithmic-frequency spectrum, spaced by a power-of-two divider (multiple of an octave) AudioSpectrumCentroid Descriptor : the center of gravity of the logfrequency power spectrum, which describes the shape of the power spectrum 59

Audio Descriptors AudioSpectrumSpread Descriptor : complementary of the previous descriptor by describing the second moment of log-frequency power spectrum. This may help distinguish between pure-tone and noise-like sounds AudioSpectrumFlatness Descriptor : the flatness properties of the spectrum of an audio signal for each of a number of frequency bands. When this indicates a high deviation from a flat spectral shape for a given band, it may signal the presence of tonal components (Example of AudioSpectrumEnvelope description of a pop song) Visualized using a spectrogram. Required data storage is NM values where N is the no. of spectrum bins and M is the no. of time points 60

Audio Descriptors Spectral Basis Descriptor: low-dimensional projections of a highdimensional spectral space to aid compactness and recognition, which are used primarily with the Sound Classification and Indexing Description Tools AudioSpectrumBasis : a series of basis functions that are derived from the singular value decomposition of a normalized power spectrum AudioSpectrumProjection : Used with above descriptor, and represents lowdimensional features of a spectrum after projection upon a reduced rank basis. (Example: A 10-basis component reconstruction showing most of the detail of the original spectrogram including guitar, bass guitar, etc.) The left vectors are an AudioSpectrumBasis Descriptor and the top vectors are the corresponding AudioSpectrumProjection Descriptor. The required data storage is 10(M+N) values 61