Video Compression Concepts

Download Report

Transcript Video Compression Concepts

Video Compression Concepts
Nimrod Peleg
Update: Dec. 2000
Interframe Compression
• The simple way is a frame-by-frame
compression (JPEG-like): Limited
compression ratio
• Interframe compression exploits temporal
redundancies due to similarity between
successive frames, (In addition to spatial,
spectral and psychovisual redundancies in
still image compression)
• No Random Access at all frames !
Possible Strategies
• 3-D Waveform coding (TC / Sub-Band)
• Object/Knowledge based coding
• Motion Compensation based coding
Motion Compensation Approach
• Segmenting each frame to “changed” and
“unchanged” regions (Vs. previous frame)
• Pixels in changed region are DPCM encoded
(between successive frames and following
motion compensation)
Frame 2 Macro Block
Motion Compensation
(Cont’d)
• Amount of changed info. varies from frame
to frame (VLC): a buffer needed
• A motion detection algorithm needed
• MC-DPCM is efficient if displacement
vectors estimation is accurate
Motion Compensation
(Cont’d)
• ideally: motion info for each pixel
– too expensive
• semantically: motion data for each region or object
– second generation coding techniques
• simplified: motion info for each 16x16 macroblock
Motion Model
• Affine motion:
– translation, rotation, scale
– 6 parameters in 2D
– complex
• Simplified translational model:
– motion vectors (MV, 2 parameters)
ME Options
• optimal motion vector?
– investigate all positions within a search
window
– keep the one with minimum Mean Square
Error
– MV = corresponding translation
Motion Estimation Techniques

The choice of sending zero MV, is always
available, with no cost…and worst results.
• Backward prediction
– Predict where the pixels in a current frame were
in a past frame
• Forward prediction
– Predict where the pixels in a current frame will
go to in a future frame
Motion Estimation
Block Matching Method
• Motion vector is estimated by pixel domain
search procedure
• Most popular due to lesser h/w complexity
• Basic idea:
Frame K
Frame K+1
Motion
Vector
Search Window
Matching Criteria
• Maximum cross-correlation
• Maximum pel matching count (MPC)
• Minimum mean squared error (MSE)
Not popular in VLSI due to square operation
• Minimum mean absolut difference (MAD)
Very popular but problematic due to several
possible local minima
• SNR
Other Parameters
• Calculation and implementation
• Visual results ...
Full Search & Zero MV results
Search Procedure
• Full search (inside the search window)
• Three step
• Conjugate direction
3-Step
Conjugate direction
Search order
Best Match
12 pixels
3 or 4 Step Search Results
Full search
No search
Conjugate Direction Search
Search Algorithm results
Algorithm Ave. SNR(dB)
Full search
28.46
Zero Search
27.7
Conjugate
27.9
Orthogonal
28.1
Decimation
28.2
Pyramid and more...
Caculations
100% (~7M)
0
2%
3.6%
33%
MC Transform Coding
• Temporal prediction error is 2-D transform
coded by segmenting the displaced frame
difference into blocks, and encoding the
DCT coeff. of each block
• Intra and Inter modes
• Field and frame modes
Other MC Compression Techniques
• Vector Quantization:
Prediction error signal encoded by VQ
• Sub-Band Coding:
Frame prediction error (residual) is
decomposed into 2-D subbands
Video Compression (Cont’d)
• Complete process:
– Encode every N frame “JPEG style”
– Between the “JPEG style” frames, predict the
motion from frame to frame
– Subtract the predicted frame from the original one
and encode the difference
• Compression ratio: about 100:1 and more
Motion Compensation
•frame #0
•difference frame
•frame #1
motion compensated
difference frame
Prediction Technique
Past Frame
Current
Frame
Bidirectional Interpolation
Future
Frame