A Guide to MPEG Fundamentals and Protocol Analysis and Protocol to MPEG Fundamentals a Guide
Total Page:16
File Type:pdf, Size:1020Kb
MPEG Tutorial A Guide to MPEG Fundamentals and Protocol Analysis (Including DVB and ATSC) A Guide to MPEG Fundamentals and Protocol Analysis (Including DVB and ATSC) A Guide to MPEG Fundamentals and Protocol Analysis ii www.tektronix.com/video_audio/ A Guide to MPEG Fundamentals and Protocol Analysis A Guide to MPEG Fundamentals and Protocol Analysis Contents Section 1 – Introduction to MPEG · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1 1.1 Convergence · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1 1.2 Why Compression is Needed · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1 1.3 Applications of Compression · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1 1.4 Introduction to Video Compression · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2 1.5 Introduction to Audio Compression · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 4 1.6 MPEG Signals · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 4 1.7 Need for Monitoring and Analysis · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 5 1.8 Pitfalls of Compression · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 6 Section 2 – Compression in Video · · · · · · · · · · · · · · · · · · · · · · · · · · · · 7 2.1 Spatial or Temporal Coding? · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 7 2.2 Spatial Coding · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 7 2.3 Weighting · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 9 2.4 Scanning · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 10 2.5 Entropy Coding · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 10 2.6 A Spatial Coder · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 11 2.7 Temporal Coding · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 12 2.8 Motion Compensation · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 13 2.9 Bidirectional Coding · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 15 2.10 I, P, and B Pictures · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 15 2.11 An MPEG Compressor · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 17 2.12 Preprocessing · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 20 2.13 Profiles and Levels · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 21 2.14 Wavelets · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 22 Section 3 – Audio Compression · · · · · · · · · · · · · · · · · · · · · · · · · · · · 23 3.1 The Hearing Mechanism · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 23 3.2 Subband Coding · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 24 3.3 MPEG Layer 1 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 25 3.4 MPEG Layer 2 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 26 3.5 Transform Coding · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 26 3.6 MPEG Layer 3 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 27 3.7 AC-3 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 27 Section 4 – Elementary Streams· · · · · · · · · · · · · · · · · · · · · · · · · · · · 29 4.1 Video Elementary Stream Syntax · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 29 4.2 Audio Elementary Streams · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 30 www.tektronix.com/video_audio/ iii A Guide to MPEG Fundamentals and Protocol Analysis Section 5 – Packetized Elementary Streams (PES) · · · · · · · · · · · · · · 31 5.1 PES Packets · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 31 5.2 Time Stamps · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 31 5.3 PTS/DTS · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 31 Section 6 – Program Streams · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 33 6.1 Recording vs. Transmission · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 33 6.2 Introduction to Program Streams · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 33 Section 7 – Transport Streams · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 35 7.1 The Job of a Transport Stream · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 35 7.2 Packets · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 36 7.3 Program Clock Reference (PCR) · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 36 7.4 Packet Identification (PID) · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 37 7.5 Program Specific Information (PSI) · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 37 Section 8 – Introduction to DVB/ATSC · · · · · · · · · · · · · · · · · · · · · · · 39 8.1 An Overall View · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 39 8.2 Remultiplexing · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 40 8.3 Service Information (SI) · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 40 8.4 Error Correction · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 40 8.5 Channel Coding · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 41 8.6 Inner Coding · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 43 8.7 Transmitting Digits · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 44 Section 9 – MPEG Testing · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 45 9.1 Testing Requirements · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 45 9.2 Analyzing a Transport Stream · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 45 9.3 Hierarchic View · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 46 9.4 Interpreted View · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 48 9.5 Syntax and CRC Analysis · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 48 9.6 Filtering · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 49 9.7 Timing Analysis · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 49 9.8 Elementary Stream Testing · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 51 9.9 Sarnoff Compliant Bit Streams · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 51 9.10 Elementary Stream Analysis · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 52 9.11 Creating a Transport Stream · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 52 9.12 Jitter Generation · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 53 9.13 DVB Tests · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 53 Glossary · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 55 iv www.tektronix.com/video_audio/ A Guide to MPEG Fundamentals and Protocol Analysis Section 1 – Introduction to MPEG MPEG is one of the most popular audio/video compression techniques because 1.2 Why Compression is.