540 likes | 641 Vues
Explore the world of media compression, from JPEG to MPEG video compression techniques. Learn how compression reduces file sizes for efficient bandwidth and storage utilization. Uncover the secrets behind Discrete Cosine Transform, Color Sub-sampling, Differential Coding, Run-Length Encoding, and more. Dive into the concepts of Temporal Redundancy, Motion Estimation, and Bi-directional Prediction in video compression. See the intricate decoding processes involved in MPEG structures, from I-Frames to B-Frames. Discover the technology behind Motion JPEG and the reduction ratios achieved in video compression. Whether you are a beginner or a tech enthusiast, this comprehensive guide will deepen your understanding of media compression.
E N D
You are Here Encoder Decoder Middlebox Receiver Sender Network
Why compress? • “Bandwidth Not Enough” • “Disk Space Not Enough” • Size of Uncompressed DVD Movie =
Why compress? • “Bandwidth Not Enough” • “Disk Space Not Enough” • Size of Uncompressed DVD Movie = 720 x 576 x 3 x 25 x 60 x 120 =208.6GB
Original Image (1153KB) 3.5:1
Original Image (1153KB) 192:1
Magic of JPEG • Throw away information we cannot see • Color information • “High frequency signals” • Rearrange data for good compression • Use standard compression
Color Sub-sampling 4:4:4 4:2:0 4:2:2 4:1:1
4:2:2 Sub-sampling Y V U
Original Image (1153KB) 4:2:0
Original Image (1153KB) “4:1:0”
Quantization DC 242 65 23 5 8 8 8 8 30 8 2 0 -54 -10 -4 -2 8 8 8 16 -6 -1 0 0 / = 13 6 3 5 8 8 16 32 1 0 0 0 2 1 -1 -2 8 16 32 64 0 0 0 0 Quantization Table AC
-5 30 30 27 2 25 8 3 3 3 3 8 2 1 1 1 1 2 0 0 0 0 0 0 2 6 6 2 2 2 1 1 -1 -1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 4 4 4 4 1 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Differential Coding
27 3 1 0 2 1 0 0 4 0 1 0 0 0 0 0 Zig-zag ordering 27, 3, 2, 4, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0
27 3 1 0 2 1 0 0 4 0 1 0 0 0 0 0 Run-Length Encoding 27, 3, 2, 4, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 (27, 1) (3, 1) (2, 1), (4, 1), (1, 2), (0, 5), (1, 1), (0, 4)
Idea: Motion JPEG • Compress every frame in a video as JPEG • DVD-quality video = 208.6GB • Reduction ratio = 27:1 • Final size = 7.7GB
H.261 P-Frame I-Frame
MPEG-1 B-Frame
MPEG Frame Pattern • Example display sequence: • IBBPBBP … • Example encoding sequence: • IPBBPBB
Sequence • sequence header: • width • height • frame rate • bit rate • :
GOP: Group of Picture • gop header: • time • :
Picture • pic header: • number • type (I,P,B) • :
Y Y Y Y Block U 1 Macroblock = V
For I-Frame • Every macroblock is encoded independently (“I-macroblock”)
For P-Frame • Every macroblock is either • I-macroblock • a motion vector + error terms wrt a prev I/P-frame (“P-macroblock”)
For B-Frame • Every macroblock is either • I-macroblock • P-macroblock • a motion vector + error terms wrt a future I/P-frame • 2 motion vectors + error terms wrt a prev/future I/P-frame
Review: MPEG structure • Sequence • GOP • Picture • Slice • Macroblock • Block
MPEG Decoding (I-Frame) Entropy Decoding Dequantize 101000101 IDCT
MPEG Decoding (P-Frame) Entropy Decoding Dequantize 101000101 IDCT Prev Frame +
MPEG Decoding (B-Frame) Entropy Decoding Dequantize 101000101 Future Frame IDCT AVG Prev Frame +
There are more.. • Half-pel Motion Prediction • Skipped Macroblock • etc.