0% found this document useful (0 votes)
11 views

Video Compression MPEG

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Video Compression MPEG

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 25

VIDEO

COMPRESSION
INTRODUCTION

What does Video Compression mean?


Video compression is the process of encoding a video
file in such a way that it consumes less space than the
original file and is easier to transmit over the
network/Internet.
It is a type of compression technique that reduces the
size of video file formats by eliminating redundant and
non-functional data from the original video file.
Evolution of video mediums

■ Film
– Invented in late 18th
century, still widely
used today

■ VHS( Video Home System)


– Released in 1976,
rapidly disappearing
Evolution of video mediums

■ DVD
– Released in 1996,
dominant for over a
decade
■ Hard Disk
– Around for many
years, only recently
widely used for
storing video (helped
by explosion of
Internet)
Transition from analog
mediums to digital mediums
■ The “N word”
– Analog signals are prone to corruption by noise
■ Economics
– Optical media is cheaper to produce than
magnetic media
■ Creates need to convert analog video to
digital format
Video digitization

■ New digital video


cameras have on-board
hardware to capture
directly to digital
format
■ Old film can be
scanned with special
machines to produce
digital stream
Video Encoding/Compression

■ Once video is in digital format, it makes sense to


compress it
■ Similarly to image compression, we want to store
video data as efficiently as possible
■ Again, we want to both maximize quality and
minimize storage space and processing resources
■ This time, we can exploit correlation in both
space and time domains
■ Unlike image encoding, video encoding is rarely done in lossless
form
■ No storage medium has enough capacity to store a practical
sized lossless video file
– Lossless DVD video - 221 Mbps
– Compressed DVD video - 4 Mbps
– 50:1 compression ratio!
Definitions
■ Bitrate
– Information stored/transmitted per unit time
– Usually measured in Mbps (Megabits per second)
– Ranges from < 1 Mbps to > 40 Mbps
■ Resolution
– Number of pixels per frame
– Ranges from 160x120 to 1920x1080
■ FPS (frames per second)
– Usually 24, 25, 30, or 60
– Don’t need more because of limitations of the human
eye
Scan types

■ Interlaced scan
– Odd and even lines displayed on alternate frames
– Initially used to save bandwidth on TV transmission
– When displaying interlaced video on a progressive scan
display, can see “comb effect”

■ Progressive scan
– Display all lines on each frame
– New “fixed-resolution” displays (such as LCD,
Plasma) all use progressive scan
– Deinterlacing is not a trivial task
MPEG (Moving Pictures
Expert Group)
■ Committee of experts that develops video
encoding standards
■ Until recently, was the only game in town (still
the most popular, by far)
■ Suitable for wide range of videos
– Low resolution to high resolution
– Slow movement to fast action
■ Can be implemented either in software or
hardware
Evolution of MPEG
■ MPEG-1
– Initial audio/video compression standard
– Used by VCD’s
– MP3 = MPEG-1 audio layer 3
– Target of 1.5 Mb/s bitrate at 352x240 resolution
– Only supports progressive pictures
■ MPEG-2
– Current de facto standard, widely used in DVD and Digital
TV
– Ubiquity in hardware implies that it will be here for a long
time
■ Transition to HDTV has taken over 10 years and is not
finished yet
– Different profiles and levels allow for quality control
Evolution of MPEG
■ MPEG-3
– Originally developed for HDTV, but abandoned when
MPEG-2 was determined to be sufficient

■ MPEG-4
– Includes support for AV “objects”, 3D content, low bitrate
encoding, and DRM
– In practice, provides equal quality to MPEG-2 at a lower
bitrate, but often fails to deliver outright better quality
– MPEG-4 Part 10 is H.264, which is used in HD-DVD and
Blu-Ray
MPEG technical specification
■ Part 1 - Systems - describes synchronization and multiplexing of video and audio.
■ Part 2 - Video - compression codec for interlaced and non-interlaced video signals.
■ Part 3 - Audio - compression codec for perceptual coding of audio signals. A
multichannel-enabled extension of MPEG-1 audio.
■ Part 4 - Describes procedures for testing compliance.
■ Part 5 - Describes systems for Software simulation.
■ Part 6 - Describes extensions for DSM-CC (Digital Storage Media Command and
Control.)
■ Part 7 - Advanced Audio Coding (AAC)
■ Part 8 - Deleted
■ Part 9 - Extension for real time interfaces.
■ Part 10 - Conformance extensions for DSM-CC.
MPEG video spatial domain
processing
■ Spatial domain handled very similarly to JPEG
– Convert RGB values to YUV colorspace
– Split frame into 8x8 blocks
– 2-D DCT on each block
– Quantization of DCT coefficients
– Run length and entropy coding
MPEG video time domain
processing
■ General idea – Use motion vectors to specify how a 16x16
macroblock translates between reference frames and
current frame, then code difference between reference and
actual block
Types of frames
■ I frame (intra-coded)
– Coded without reference to other frames
■ P frame (predictive-coded)
– Coded with reference to a previous reference frame
(either I or P)
– Size is usually about 1/3rd of an I frame
■ B frame (bi-directional predictive-coded)
– Coded with reference to both previous and future
reference frames (either I or P)
– Size is usually about 1/6th of an I frame
GOP (Group of Pictures)
■ GOP is a set of consecutive frames that can be decoded without
any other reference frames
■ Usually 12 or 15 frames
■ Transmitted sequence is not the same as displayed sequence
■ Random access to middle of stream – Start with I frame
Things about prediction

■ Only use motion vector if a “close” match can be


found
– Evaluate “closeness” with MSE or other metric
– Can’t search all possible blocks, so need a smart algorithm
– If no suitable match found, just code the macroblock as an
I-block
– If a scene change is detected, start fresh
■ Don’t want too many P or B frames in a row
– Predictive error will keep propagating until next I frame
– Delay in decoding
Bitrate allocation

■ CBR – Constant BitRate


– Streaming media uses this
– Easier to implement
■ VBR – Variable BitRate
– DVD’s use this
– Usually requires 2-pass coding
– Allocate more bits for complex scenes
– This is worth it, because you assume that you encode
once, decode many times
MPEG audio
■ MPEG-1 – 3 layers of increasing quality, layer 3 being the
most common (MP3)
– 16 bits
– Samping rate - 32, 44.1, or 48 kHz
– Bitrate – 32 to 320 kbps
– De facto - 44.1 kHz sample rate, 192 kbps bitrate

■ MPEG-2 – Supports > 2 channels, lower sampling


frequencies, low bitrate improvement

■ AAC (Advanced Audio Coding)


– More sample frequencies (8 kHz to 96 kHz)
– Higher coding efficiency and simpler filter bank
– 96 kbps AAC sounds better than 128 kbps MP3
MPEG Container Format

■ Container format is a file format that can contain data


compressed by standard codecs
■ 2 types for MPEG
– Program Stream (PS) – Designed for reasonably reliable
media, such as disks
– Transport Stream (TS) – Designed for lossy links, such as
networks or broadcast antennas
AV Synchronization

■ Want audio and video streams to be played back


in sync with each other
■ Video stream contains “presentation timestamps”
■ MPEG-2 clock runs at 90 kHz
– Good for both 25 and 30 fps
■ PCR (Program Clock Reference) timestamps are
sent with data by sender
■ Receiver uses PLL (Phase Lock Loop) to
synchronize clocks
Real time video encoding

■ Motion estimation will be worse, so need


higher bitrate to compensate
■ Very hard to do in software, need dedicated
hardware or hardware assistance
■ Tivo, ReplayTV do this
Streaming media

Common types include Flash, RealVideo, Quicktime


Usually have low bandwidth available, need to optimize as such
Want dedicated network protocols for this purpose
■TCP will wait indefinitely for retransmission, so is often not
suitable

You might also like