AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P....

35
October 25, 2005 Sony Electronics Inc AVC/H.264 Advanced Video Coding Codec, Profiles & System Ali Tabatabai [email protected] Media Processing Division Sony Electronics Inc.

Transcript of AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P....

Page 1: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

AVC/H.264 Advanced Video CodingCodec, Profiles & System

Ali [email protected]

Media Processing DivisionSony Electronics Inc.

Page 2: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

Content

• Overview• Rate Distortion Performance• Codec Complexity• Profiles & Applications• Carriage over the Network• Current MPEG & JVT Activities• Conclusion

Page 3: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

Video Coding Standards: A Brief History

Page 4: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

Video Standards and JVT Organization• Two organizations dominate the video compression

standardization activities:– ISO/IEC Moving Picture Experts Group (MPEG)

• International Standardization Organization and International Electrotechnical Commission, Joint Technical Committee Number 1, Subcommittee 29, Working Group 11

– ITU-T Video Coding Experts Group (VCEG)• International Telecommunications Union – Telecommunications

Standardization Sector (ITU-T, a United Nations Organization, formerly CCITT), Study Group 16, Question 6

Page 5: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

Evolution of Video Compression Standards

ITU-T MPEG

1998

1995

1990 H.261

H.263

MPEG-1

MPEG-4

H.262/MPEG-2

H.264/MPEG-4 AVC

Video Telephony

Video Conferencing

Consumer Video CD

.

Object-based coding

Digital TV/DVD

Page 6: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

Joint Video TeamITU-T VCEG and ISO/IEC MPEG

• Design Goals – Simplified and Clean Design

• No backward compatibility requirements. – Compression Efficiency

• Average bit rate reduction of 50% compared to existing video coding standards (MPEG-2, MPEG-4, H.263).

– Improved Network Friendliness• Clean and flexible interface to network protocols• Improved error resilience for Internet and mobile (3GPP) applications.

Page 7: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

AVC/H.264 Standards Development Schedule

Dec01 May02 Jul02 Mar03 Aug03

Final Draft Standard

Final Committee

Draft

International Standard

WorkingDraft 1

CommitteeDraft

Added streaming profile and redefined Main & Baseline profiles.

Defined Baseline & Main profiles.

JVT startstechnical worktogether.

MPEG-4 Part 10ITU-T H.264

Sep/Oct 04

AVC 3rd Edition- New Profile Definitions (FRExt)

Page 8: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

AVC/H.264 Coding Technologies

Page 9: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

Architecture

Video Coding Layer (VCL)

Control Inform

ation

Network Abstraction Layer (NAL)

Systems Layer

SEI Messages

Parameter Sets

Slices

NAL Units

Responsible for efficient coding of video data.

Contains information needed to control operation of decoding of video coding layer data.

Defines an generic format for sending JVT video data over a network.

The layer that encapsulates the JVT CODEC data for transport, controls timing, etc.

AVC/H.264 CODEC Architecture

Page 10: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

AVC/H.264 Block Diagram

Inter/IntraPrediction

Integer4x4 Transform-

Quantization

Entropy Coding(CAVLC/CABAC)

Inter/IntraPrediction

Inverse4x4 Transform+ Inverse

Quantization

Entropy Decoding(CAVLC/CABAC)

Encoder

Decoder

FrameBuffer

FrameBuffer

DeblockingFilter

I, P, B Frames

DeblockingFilter

Page 11: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

Some AVC/H.264 Key Features

• Variable Block Sizes for Motion Compensation– 4X4, 8x8, 8x16… to 16X16

• Quarter-Pel Motion• Multiple Reference Pictures• Intra Prediction • Block Transform

– Integer 4x4 Transform – No drift– 8x8 Transform for FRExt-Only

• Adaptive Entropy Coding• De-Blocking Filter

Page 12: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

Deblocking Filter

• Deblocked filter reduces visible blocking artifacts block edges.• Deblocking is an integral part of the coding loop, not a post-processing

• Typically reduces bit rate by 5-10% compared to no filtering.

Before Deblocking After Deblocking

Page 13: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

AVC/H.264 Performance

*G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions," SPIE Conference on Applications of Digital Image Processing XXVII, vol. 5558, pp. 53-74, Aug. 2004.

Original Version of AVC (without FRExt)Mobile & Calendar Sequence at BT.601 (720x480) resolution

Mobile & Calendar Sequence at CIF resolution

Page 14: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

Complexity of the Codec

• Smaller block sizes for motion compensation.• Longer filters for motion compensation • Multi-frame motion compensation • More complicated mode selection • Intra prediction• Deblocking filter• Arithmetic coding

Page 15: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

AVC/H.264 Profiles

Page 16: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

Application Areas of AVC/H.264

Entertainment Video (1 - 8+ Mbps, higher latency)Conversational H.32X Services (usually < 1Mbps, low latency)Streaming Services (usually lower bit rate, higher latency)

Page 17: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

AVC/H.264 Profiles• Three Profiles: BaselineBaseline, MainMain and ExtendedExtended

–– Baseline:Baseline: Low-latency, real-time video coding applications such as video conferencing.

–– Main:Main: Broadcasting, packaged media, and high-end (e.g. digital cinema) applications.

–– Extended:Extended: IP-based video streaming applications over both wired and wireless networks.

Baseline

Main

ExtendedBaseline

Page 18: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

Current Profile Definition

HighHigh

High 10

High 422

High 444

True O

nion-R

ing St

ructur

e

FRExt

Profi

le Defi

nition

sBaseline

Main

ExtendedBaseline

Page 19: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

New Profiles in the FRExt

• The FRExt Amendment defines four new profiles:– High (HP)– High 10 (Hi10P)– High 4:2:2 (Hi422P)– High 4:4:4 (Hi444P)

• All these profiles build upon the Main Profile (MP)

Page 20: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

ISO/IEC: AVC Current Status

• AVC Advanced Video Codec (MPEG-4: Part10)– Current Status:

• AVC/H.264 Specification:– AVC 3rd edition was released in July.

• AVC Reference Software– The latest reference software version is JM 10.1

– Ongoing Work:• Work on FR-Ext, to provide support for 14-bit depth and

improve the lossless coding performance.• Work on investigating a new “Low Complexity Profile”

Page 21: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

AVC/H.264 Systems/Carriage

Page 22: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

Carriage of AVC Content

• Overview – AVC Conceptual layers– NAL Units– Access Units

• Carriage:– AVC over MPEG-2 Systems– AVC File Format– AVC over RTP

Page 23: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

AVC Conceptual Layers

Video Coding LayerEncoder

Video Coding LayerDecoder

Network Abstraction LayerEncoder

Network Abstraction LayerDecoder

VCL-NAL Interface

NAL Encoder Interface NAL Decoder Interface

AVC Conceptual Layers

Con

trol

Dat

a(P

aram

eter

Set

s, SE

I Mes

sage

s)

NAL Units NAL Units

AVC to MPEG-2 Systems

AVC to RTP/IP

AVC to File Format

Transport Layer

Wired/Wireless Networks

AVC to

H.32x

Page 24: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

Concept of a NAL (Network Abstraction Layer) unit

• The Network Abstraction Layer (NAL) defines a network friendly interface between the Video Codec a variety of transport layers (e.g. RTP/IP, MPEG-2 Systems, File Format).

• Packet oriented systems can employ NAL units directly• Bit and Byte stream oriented systems can employ the byte-stream version of

NAL units, which are NAL units encapsulated by start codes.

NAL Unit Header

NAL Unit Payload

NAL UnitNAL Unit

forbidden_zero_bit1 bit

nal_ref_idc2 bits

nal_unit_type5 bits

If set, it indicates that the NAL unit is in error.

Indicates if the NAL unit is disposable.

Indicates the NAL unit type (e.g. SEI Messages, Parameter Sets, VCL data, etc.)

Page 25: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

Categorization of NAL units

• NAL units can be categorized in two types:– VCL NAL units: These NAL units contain data that

represents the values of the samples in the video pictures.

– Non-VCL NAL units: These NAL units contain any associated additional information such as parameter sets and supplemental enhancement information.

Page 26: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

Definition of an Access Unit in AVC

• Access Unit: “ An access unit consists of one primary coded picture, zero or more

corresponding redundant coded pictures, and zero or more non-VCL NAL units.”

Access Unit Delimiter

(if present)

Parameter Sets (SPS & PPS)(if present)

SEI Messages

(if present)

Primary Coded Picture

Redundant Coded Picture

(if present)

End of Sequence

(if present)

End of Stream

(if present)

Access UnitAccess Unit

VideoES

ParameterSet ES

SliceNALU

SliceNALU

ParamNALU

Page 27: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

Carriage of AVC on MPEG-2 Systems

AU Delimiter

PPS

SEI’s

VCL NAL unit

VCL NAL unit

End of Sequence (if present)

End of Stream(if present)

PES Packet Start Code Prefix

stream_id

SPS (with VUI if needed)

PES packet length

PES Packet Data

AVC Byte Stream NAL units

MPEG-2Transport or

Program Stream

MPEG-2 PES Packets

Map to

An Amendment to MPEGAn Amendment to MPEG--2 Systems is being prepared so that AVC video can be 2 Systems is being prepared so that AVC video can be carried over the existing MPEGcarried over the existing MPEG--2 infrastructure.2 infrastructure.

Mapping AVC Access Units into MPEGMapping AVC Access Units into MPEG--2 PES Packets2 PES Packets

Page 28: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

Storage using the AVC File Format• This AVC File Format defines extensions to the ISO Base Media File

format to provide support for the storage of AVC video data.

ISO Base Media File Format (14496-12)

ISO Base Media File Format (14496-12)

Motion JPEG2000 File Format (15444-3)Motion JPEG2000

File Format (15444-3)MPEG-4

File Format (14496-14)MPEG-4

File Format (14496-14)

AVCFile Format (14496-15)

AVCFile Format (14496-15)

• They use the same file extension, i.e. .mp4• The presence of ‘avc1’ as a major brand, implies usage of AVC specific extensions

Page 29: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

Mapping AVC Bitstream -> AVC File Format

AU Delimiter

PPS

SEI’s

VCL NAL unit

VCL NAL unit

End of Sequence (if present)

End of Stream(if present)

SPS (with VUI if needed)

Sample

Metadata

Track 1

Track 2

AVCFile

Sample

Sample

Sample

Video ES Parameter ESSeries of AVC Access Units

Sample

Media Data

Page 30: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

RTP Payload Format for H.264 Video (RFC 3984)

AU Delimiter

PPS

SEI’s

VCL NAL unit

VCL NAL unit

End of Sequence (if present)

End of Stream(if present)

SPS (with VUI if needed)

RTP Header NAL UnitA

RTP Header NAL UnitB

AVC AVC Access UnitAccess Unit’’ss

Various Possible Mappings defined for Various Possible Mappings defined for AVC over RTPAVC over RTP

Single NAL Unit RTP Packet: Single NAL Unit RTP Packet: One NAL unit per RTP packetOne NAL unit per RTP packet

Aggregation Unit RTP Packets:Aggregation Unit RTP Packets:

STAP-A:NAL units share same timestamp and are in valid decoding order.

STAP-B:NAL units share same timestamp and MAY be out of decoding order

MTAP16:NAL units share different timestamps with a max offset of 16

MTAP24:NAL units share different timestamps with a max offset of 24

Fragmentation Unit RTP Packet: Fragmentation Unit RTP Packet: One NAL unit over multiple RTP packets.One NAL unit over multiple RTP packets.

RTP Header NAL UnitA

RTP Header NAL UnitA

Page 31: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

Current MPEG & JVT Activities

Page 32: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

ISO/IEC: MPEG

• Scalable Video Coding (SVC):– Goal:

• This is being developed by the Joint Video Team (JVT) as an extension of AVC.

• It intends to address the need for the reliable delivery of video to diverse clients over heterogeneous networks, by providing scalability (such as spatial, temporal and SNR/fidelity) with good compression efficiency.

– Development Status:• Working Draft 3 as AVC/AMD1 & JSVM 3 Software released in July

– Schedule:• Working Draft: WD 3 stage in July• CD: 2006 March• FCD: 2006 - July/Oct• FDIS: 2007 (expected)

Page 33: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

ISO/IEC: MPEG• Wavelet Coding Exploration:

– Background:• Initially this activity was part of the SVC development effort in MPEG. • Later on it forked off as a separate “Exploration Activity” within MPEG

– Status:• A report based on the results of the Exploration Activity will be released

during early 2006.

• Multi view Video Coding (MVC)– Background:

• Multi-view Video Coding (MVC) is a key technology that has been in exploration status in MPEG since the past 1 year.

• It serves a variety of applications such as FTV (free-viewpoint television), 3DTV (3D television) and surveillance.

• It allows the viewpoint and view direction to be interactively changed (as in FTV) or multiple viewers can see different stereoscopic viewsconsistent with their relative locations (as in 3DTV)

– Status:• Call for Proposals was issued in July ‘05.

Page 34: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

Conclusion

• New International Video Coding Standards– Joint Development by MPEG Group of ISO/IEC and VCEG

Group of ITU-T• Improved Coding Efficiency & Flexibility

– Introduction of New Coding Tools.– About 50% Compared to MPEG-2/4– Use Over a Wide Range of Networks

• Increased Complexity• Two Patent Pools

– MPEG LA & Via Licensing• New Work Items

– MPEG: Scalable Video Coding– Multiview Coding

Page 35: AVC/H.264 Advanced Video Coding Codec, Profiles & System · AVC/H.264 Performance *G. Sullivan, P. Topiwala and A. Luthra, "The H.264/AVC Advanced Video Coding Standard: Overview

October 25, 2005 Sony Electronics Inc

Thank You for Your Attention......