This book describes the fundamentals and details of MPEG-2 Systems technology Written by an expert in the field, this book examines the MPEG-2 system specification as developed in the early 1990's, as well as its evolution into the fourth edition of the MPEG-2 systems standard, published in 2013. While MPEG-2 systems will continue to evolve further, this book describes the MPEG-2 system functionality as of October 2013. Furthermore, relevant background information is provided. The discussion of MPEG-2 system functionality requires knowledge of various fundamental issues, such as timing, and supported content formats. Therefore also some basic information on video and audio coding is provided, including their evolution. Also other content formats supported in MPEG-2 systems are described, as far as needed to understand MPEG-2 systems. * Ordered logically working from the basics and background through to the details and fundamentals of MPEG-2 transport streams and program streams * Explores important issues within the standardization process itself * Puts the developments on MPEG-2 systems into historic perspective * Includes support of 3D Video and transport of AVC, SVC and MVC * Concludes with additional issues such as real-time interface, delivery over IP networks and usage by application standardization bodies * Predicts a continuing promising future for MPEG-2 transport streams
Foreword xi
Preface xiii
About the Author xvii
Acknowledgements xxi
Part One BACKGROUNDS OF MPEG-2 SYSTEMS 1 (170)
1 Introduction 3 (6)
1.1 The Scope of This Book 7 (1)
1.2 Some Definitions 7 (2)
References 8 (1)
2 Technology Developments Around 1990 9 (4)
References 11 (2)
3 Developments in Audio and Video Coding in 13 (48)
MPEG
3.1 The Need for Compression 13 (6)
3.1.1 Compression Factors for Audio 14 (1)
3.1.2 Compression Factors for Video 14 (5)
3.2 MPEG Video 19 (28)
3.2.1 Introduction 19 (1)
3.2.2 MPEG-1 and MPEG-2 Video Essentials 20 (19)
3.2.3 Evolution of MPEG Video 39 (8)
3.3 MPEG Audio 47 (14)
3.3.1 MPEG-1 and MPEG-2 Audio Essentials 47 (6)
3.3.2 Evolution of MPEG Audio 53 (6)
References 59 (2)
4 Other Important Content Formats 61 (22)
4.1 Metadata 61 (3)
4.2 Timed Text 64 (5)
4.3 Lossless and Scalable Lossless Audio 69 (1)
4.4 Multiview Video 69 (1)
4.5 3D Video 70 (13)
4.5.1 Left and Right Views in a Single 73 (2)
Video Stream
4.5.2 Depth Information Associated to 75 (3)
2D Video
4.5.3 Use of MVC to Convey Left and 78 (1)
Right Views
4.5.4 Further 3D Video Evolution 79 (1)
References 80 (3)
5 Motivation for a Systems Standard 83 (4)
6 Principles Underlying the MPEG-2 Systems 87 (46)
Design
6.1 Building an End-to-End System 87 (10)
6.1.1 Constant End-to-End Delay 87 (1)
6.1.2 Video Coding Delay 88 (6)
6.1.3 Audio Coding Delay 94 (1)
6.1.4 Delay Compensation 95 (2)
6.2 The Multiplex and Demultiplex 97 (9)
Operation
6.3 Delivery Schedule of MPEG System 106 (2)
Streams
6.4 Synchronization of Audio and Video 108 (5)
6.5 MPEG-2 System Streams and the STD 113 (5)
Model
6.6 Timing Issues 118 (9)
6.6.1 Frequency and Tolerance of the 119 (2)
STC in MPEG-1 Systems
6.6.2 Regeneration of the STC in System 121 (4)
Decoders
6.6.3 Frequency and Tolerance of the 125 (2)
STC in MPEG-2 Systems
6.7 Quality of Service Issues 127 (4)
6.8 Transport Layer Independence 131 (2)
References 132 (1)
7 MPEG-1 Systems: Laying the MPEG-2 133 (38)
Foundation
7.1 Driving Forces 133 (3)
7.2 Objectives and Requirements 136 (2)
7.3 Structure of MPEG-1 System Streams 138 (5)
7.4 The MPEG-1 System Target Decoder 143 (12)
7.5 The MPEG-1 System Stream 155 (13)
7.5.1 Data Structure and Design 155 (6)
Considerations
7.5.2 Constrained System Parameter 161 (5)
Streams
7.5.3 Compliancy Requirements of MPEG-1 166 (2)
System Streams
7.6 MPEG-1 Applications 168 (1)
7.6.1 Compact Disc 168 (1)
7.6.2 Computers 169 (1)
7.7 Conclusions on MPEG-1 169 (2)
References 170 (1)
Part Two THE MPEG-2 SYSTEMS STANDARD 171 (242)
8 The Development of MPEG-2 Systems 173 (14)
8.1 Driving Forces 173 (3)
8.2 Objectives and Requirements 176 (2)
8.3 The Evolution of MPEG-2 Systems 178 (9)
References 185 (2)
9 Layering in MPEG-2 Systems 187 (30)
9.1 Need for Program Streams and 187 (1)
Transport Streams
9.2 PES Packets as a Common Layer 188 (1)
9.3 Program Streams 189 (4)
9.4 Transport Streams 193 (24)
9.4.1 Transport Packets 193 (2)
9.4.2 Conveying PES Packets in 195 (1)
Transport Packets
9.4.3 The Size of Transport Packets 196 (3)
9.4.4 Multiple Programs, PSI, 199 (14)
Descriptors and Sections
9.4.5 Conveying Sections in Transport 213 (1)
Packets
References 214 (3)
10 Conditional Access and Scrambling 217 (10)
10.1 Support of Conditional Access Systems 217 (2)
10.2 Scrambling in Transport Streams 219 (5)
10.3 Improving the Interoperability 224 (1)
between CA Systems
10.4 Scrambling in Program Streams 225 (2)
Reference 226 (1)
11 Other Features of MPEG-2 Systems 227 (36)
11.1 Error Resiliency 227 (3)
11.2 Re-Multiplexing of Transport Streams 230 (4)
11.3 Local Program Insertion in Transport 234 (5)
Streams
11.3.1 Usage of Local Program Insertions 234 (1)
11.3.2 Associated PSI Issues 235 (1)
11.3.3 Time Base Discontinuities 236 (3)
11.4 Splicing in Transport Streams 239 (6)
11.5 Variable Bitrate and Statistical 245 (1)
Multiplexing
11.6 Padding and Stuffing 245 (3)
11.7 Random Access and Parsing Convenience 248 (2)
11.8 Carriage of Private Data 250 (4)
11.9 Copyright and Copy Control Support 254 (1)
11.10 Playback Trick Modes 255 (1)
11.11 Single Program and Partial 255 (3)
Transport Streams
11.12 Program Stream Carriage within a 258 (2)
Transport Stream
11.13 PES Streams 260 (1)
11.14 Room for Future Extensions 260 (3)
References 261 (2)
12 The MPEG-2 System Target Decoder Model 263 (36)
12.1 Introduction to the MPEG-2 STD 263 (1)
12.2 The Program Stream STD: P-STD 264 (11)
12.2.1 Description of P-STD 264 (3)
12.2.2 Buffer Management in the P-STD 267 (1)
12.2.3 CSPS: Constrained System 268 (2)
Parameter Program Stream
12.2.4 Usage of P-STD for PES-STD 270 (5)
12.3 Transport Stream STD: T-STD 275 (15)
12.3.1 Description of T-STD 275 (4)
12.3.2 The Use of Transport Buffers 279 (2)
12.3.3 System Data Processing and 281 (3)
Buffer Management
12.3.4 Processing of Elementary Stream 284 (4)
Data
12.3.5 T-STD Buffers for Elementary 288 (2)
Stream Decoding
12.3.6 Buffer Management for Elementary 290 (1)
Stream Data
12.4 General STD Constraints and 290 (2)
Requirements
12.5 Content Format Specific STD Issues 292 (7)
12.5.1 Decoding of MPEG Audio Streams 292 (3)
in STD Model
12.5.2 Decoding of MPEG Video Streams 295 (4)
in STD Model
13 Data Structure and Design Considerations 299 (34)
13.1 System Time Clock Samples and Time 299 (2)
Stamps
13.2 PES Packets 301 (8)
13.3 Descriptors of Programs and Program 309 (10)
Elements
13.3.1 General Format of Descriptors 309 (2)
13.3.2 Types of Descriptors 311 (1)
13.3.3 System Orientated Descriptors 311 (4)
13.3.4 General Content Descriptors 315 (4)
13.4 Program Streams 319 (7)
13.5 Sections 326 (3)
13.6 Transport Streams and Transport 329 (4)
Packets
Reference 331 (2)
14 Content Support in MPEG-2 Systems 333 (58)
14.1 Introduction 333 (1)
14.2 MPEG-1 334 (2)
14.2.1 MPEG-1 Video 334 (1)
14.2.2 MPEG-1 Audio 334 (1)
14.2.3 MPEG-1 System Stream 334 (2)
14.3 MPEG-2 336 (9)
14.3.1 MPEG-2 Video 336 (2)
14.3.2 MPEG-2 (BC) Audio 338 (2)
14.3.3 MPEG-2 AAC 340 (1)
14.3.4 MPEG-2 DSM-CC 341 (1)
14.3.5 MPEG-2 System Stream 342 (1)
14.3.6 MPEG-2 IPMP 343 (2)
14.4 (ITU-T Rec.) H.222.1 343
14.5 MHEG 344
14.6 MPEG-4 345
14.6.1 MPEG-4 Visual 345 (1)
14.6.2 MPEG-4 Audio 346 (3)
14.6.3 MPEG-4 Timed Text 349 (1)
14.6.4 MPEG-4 Systems 350 (4)
14.7 AVC 354 (6)
14.8 SVC 360 (6)
14.9 3D Video 366 (10)
14.9.1 Service Compatible and Frame 366 (3)
Compatible 3D Video
14.9.2 Depth or Parallax Map as 369 (1)
Auxiliary Video Stream
14.9.3 MVC 370 (6)
14.10 JPEG 2000 Video 376 (1)
14.11 Metadata 377 (10)
14.12 Overview of Assigned Stream-type 387 (4)
Values
References 389 (2)
15 The Real-Time Interface for Transport 391 (6)
Streams
Reference 396 (1)
16 Relationship to Download and Streaming 397 (6)
Over TP
16.1 IP Networks and MPEG-2 Systems 397 (1)
16.2 Streaming Over IP 397 (3)
16.3 Download 400 (1)
16.4 Carriage of MPEG-2 Systems Across IP 400 (1)
Networks
16.5 Adaptive HTTP Streaming 401 (2)
References 401 (2)
17 MPEG-2 System Applications 403 (4)
18 The Future of MPEG-2 Systems 407 (6)
Reference 412 (1)
Epilogue 413 (10)
Annexes 423 (4)
Index 427