Video Encoding and Compression

Post on 11-Jan-2016

39 views 1 download

description

Video Encoding and Compression. Incremental Steps: Getting to more High Definition. August 25, 2009. Justin Cardones Justin@CardonesConsulting.com (401) 441-6801. Agenda. MPEG-2 Background Deployment Techniques MPEG-4 & Transcoding A Few Ways to Get More HD. Compression. - PowerPoint PPT Presentation

Transcript of Video Encoding and Compression

August 25, 2009

Video Encoding and Compression

Justin CardonesJustin@CardonesConsulting.com

(401) 441-6801

Incremental Steps:Getting to more High Definition

Agenda

MPEG-2 Background

Deployment Techniques

MPEG-4 & Transcoding

A Few Ways to Get More HD

Compression

Familiar Examples

Audio CD iPod Digital camera

Video DVD

Compressed? No Yes Yes Yes

Compression method

-- MP3, AAC JPEG MPEG-2

13468

1087

101414

Video or Audio Input

Audio/Video Encoding

Analog-to-Digital Conversion Encoding

Compressed Video or

Audio

13468

1087

101414

Video or Audio Input

Audio/Video Encoding

Analog-to-Digital Conversion Encoding

Compressed Video or

Audio

13468

1087

101414

DecodingDigital-to-Analog

Conversion

13468

1087

101414

Video or Audio Input

Going from Analog to Digital

Analog-to-Digital Conversion

SDI Video

Serial digital interface (SDI) 270 MHz clock 8-bit or 10-bit Video data plus timing codes (SAV, EAV)

SDI Ancillary Data

Used for: Embedded audio (PCM or compressed) Captioning Aspect ratio signaling And more…

SDI

Video

Data

Audio Compression

MPEG Layer II (“MUSICAM”) AC-3 (Dolby) Advanced Audio Codec (AAC)

13468

1087

101414

Sample rate Bit rate

CATV Channels

108.000 MHz

114.000 MHz

120.000 MHz

126.000 MHz

132.000 MHz

138.000 MHz

144.000 MHz

150.000 MHz

156.000 MHz

162.000 MHz

170.000 MHz

6 MHz

CATV Channels

108.000 MHz

114.000 MHz

120.000 MHz

126.000 MHz

132.000 MHz

138.000 MHz

144.000 MHz

150.000 MHz

156.000 MHz

162.000 MHz

170.000 MHz

QAM 256QAM

QAM

38.8 Mbps

27 MbpsQAM 64

CATV Channels

QAM

QAM

QAM

QAM

38.8 Mbps

SDI Digital Video

270 Mbps

CATV Channels

38.8 Mbps

SDI Digital Video

270 Mbps

MPEG Video Compression

Program sources

MPEG-2 Encoders

Multiplexer

QAM Modulator

CATV network

Subscribers

Digital Video System

Transporting MPEG

Transport Stream (TS) Allows multiplexing 188-byte packets

Transport Rate

Overall rate of MPEG stream Usually constant bit rate Includes video + audio + data Video can be CBR or VBR Null packets

Program sources

MPEG-2 Encoders

Multiplexer

QAM Modulator

CATV network

Multiplexer

• Combines multiple programs• Adjusts control tables (PAT, PMT)• Splices advertisements• Rate shaping

Program sources

MPEG-2 Encoders

Multiplexer

QAM Modulator

QAM Modulator

• Rate shaping (limited)• Encryption• Forward error correction• Transmit on CATV channel

Equipment Interconnect

Ethernet UDP/IP protocol 7 transport packets per Ethernet frame 100Base-T or Gigabit

MPEG Video Compression

Remove redundancy Take advantage of human visual system

MPEG Video Compression

Step 1 Filtering Analog to digital conversion More filtering

Clean, noise-free signal Best results

MPEG Video Compression

Step 2 Divide image into 16x16 macroblocks

MPEG Macroblocks

16 x 16 pixels

720

480

http://mia.ece.uic.edu/~papers/WWW/MultimediaStandards/chapter7.pdf (adapted)

Each macroblock =• Four 8x8 luma blocks• Two 8x8 chroma blocks• 4:2:0

Frames vs. Fields

Interlaced scanning 2 fields per frame MPEG supports field or frame encoding

Film Mode

Movies filmed at 24 frames/sec Converted to 30 frames/sec for TV 1 out of 5 fields is a duplicate Encoder can skip duplicate (save bits)

1 2 3 4 1 2 3 4 4

MPEG Picture Types

Three ways to encode a picture: I (Intra-coded) P (Predicted) B (Bidirectionally predicted)

I B B P B B

I-frames

“Intra-coded” Similar to JPEG image Relatively large (# of bits)

I B B P B B

P-frames

“Predicted” Changes from previous reference frame Relatively small

I B B P B B

B-frames

“Bidirectionally predicted” Changes from previous or next reference

frame Smallest

I B B B BP

Motion Estimation

http://mia.ece.uic.edu/~papers/WWW/MultimediaStandards/chapter7.pdf

For each macroblock:• Find similar 16x16 block in reference frame• Subtract them Residual• Send motion vector and residual

BBPBBI

Group of Pictures

Example: GOP length = 15 I/P spacing = 3

BP BBP BBBPBBI

Breaking the Pattern

Fixed GOP = Fixed I/B/P pattern Or encoder may insert I-frames Scene changes Splice points

I B B P B B

Shorter GOPs: Lower latency Faster recovery

GOP Length

(not always)

Video Quality

Recommended range: 12 - 18

Longer GOPs: Better video quality (at low bit rates)

MPEG Transport Stream

Usually constant bit rate Elementary streams can be CBR or VBR Single or multiple programs Each has clock reference (PCR)

47

MPEG Transport Packet

4 byte header + 184 byte payload = 188 bytes

(Plus 16 error-correction bytes = 204 bytes)

1F FF 10

MPEG Transport Header

47 1F FF 10

47 1F FF

Sync byte PID (13 bits) Continuity counter (4 bits)

0

MPEG Transport Stream

PAT

PMT

Null packet Video packet Audio packet

MPEG Tables

Program Specific Information (PSI) PAT = Program Association Table PMT = Program Map Table CAT = Conditional Access Table NIT = Network Information Table

PSI Tables

http://www.iec.org/online/tutorials/test_dv/topic01.html

DVB and ATSC Tables

Service Information (SI) Program and System Information Protocol (PSIP) Terrestrial and satellite networks Electronic program guide Real-time clock Ratings

MPEG PSI

DVB SI

ATSC PSIP

Variable Bit Rate

Target bit rate range (min, max) Target video quality Bit rate changes to achieve target Varies with time Varies across program mix

Encoding Rate-Shaping Modulation

Open-loop VBR

Rate Shaping

Goal: Fit streams in fixed-bandwidth channel 38.8 Mbps (256-QAM)

38.8 Mbps

Rate Shaping

• Partially decode MPEG stream• Change quantization• Reconstruct stream• Favor high-priority channels

Closed-loopcontroller

Encoding

Modulation

Closed-loop VBR

Complexity estimates

Bit rate assignments

Modulation

Encoding

All-CBR Architecture

Ad Splicing

Ads are usually CBR May need rate shaping

Ad Splicing

Network

Encoder Mux/Splicer

Ad Server

QAM

CATV Network

Cue tonesSCTE 104

SCTE 35

SCTE 30

Ad stream

MPEG-2 vs. MPEG-4

http://www.balooga.com/mpeg4.php3

Moving to MPEG-4

Lower bit rates Same transport stream Upgrade encoders Upgrade set tops

August 25, 2009

Video Encoding and Compression

Presented By:Justin CardonesJustin@CardonesConsulting.com

(401) 441-6801

Derived from Original Content by Marty Sauser, EGT, inc.