600 likes | 893 Views
MPEG Technology Primer CX380 • MPEG Explorer Option. Rev. A02. Agenda. Introduction to MPEG Video Compression techniques Compression standards Frame Types and Structure Program Specific Information Digital Video Broadcast (DVB) MPEG & DVB relationship DVB Service Information (DVB-SI)
E N D
Agenda • Introduction to MPEG • Video Compression techniques • Compression standards • Frame Types and Structure • Program Specific Information • Digital Video Broadcast (DVB) • MPEG & DVB relationship • DVB Service Information (DVB-SI) • MPEG transport stream (TS) • Packetized Elementary Streams (PES) • MPEG clock mechanisms (PCR, PTS, DTS) • ETSI TR 101 290 test recommendation • CX380 CATV analyzer • Network Overview • MPEG Explorer option and video/audio metrics Confidential & Proprietary Information of VeEX Inc.
Introduction to MPEG Confidential & Proprietary Information of VeEX Inc.
Video Medium Evolution Confidential & Proprietary Information of VeEX Inc.
The Analog to Digital Transition • The “N word” • Analog signals are prone to corruption by Noise • Economics • Optical media is cheaper to produce than magnetic media • Video digitization • New digital video cameras capture directly to digital format • Old film can be scanned with special machines to produce a digital stream • Video Encoding/Compression • Once video is in a digital format, it makes a lot of sense to compress it • Similar to image compression, we need to store video data as efficiently as possible • maximize quality and minimize storage space and processing resources • we can exploit correlation in both space and time domains Confidential & Proprietary Information of VeEX Inc.
Digital Video Technologies Today • The need for video compression is obvious based on the raw bandwidth needed for HDTV and SDTV video types • While MPEG2 compression is widely adopted for SDTV broadcast applications, the newer H.264 compression standard is preferred for higher bandwidth HDTV signals Confidential & Proprietary Information of VeEX Inc.
Standardization Organizations • ITU (International Telecommunication Union) • VCEG (Video Coding Experts Group) • ISO (International Standardization Organization) • JPEG (Joint Photographic Experts Group) • MPEG (Motion Picture Experts Group) ISO/IEC ITU-T H.261 H.263 H.264 MPEG-1 (11172) MPEG-2 (13818) MPEG-4 (14496) Transport stream (13818-1) HTTP RTSP RTP/RTCP TCP UDP IGMP IP PPP Ethernet Confidential & Proprietary Information of VeEX Inc.
Moving Pictures Expert Group (MPEG) • Committee of experts that develop video encoding standards • Until recently, was the only authority and “show in town” • Suitable for wide range of videos • Low resolution to high resolution • Slow movement to fast action • Can be implemented either in software or hardware Confidential & Proprietary Information of VeEX Inc.
The MPEG Concept • Using MPEG video, only the new parts of the video sequence is included together with information of the moving parts • This applies only during the transmission of the video sequence to limit the bandwidth • When displayed it appears as the original video sequence again. • MPEG-1 video compression is based upon the same technique used in JPEG, but includes techniques for efficient coding of a video sequence. • Consider the video sequence displayed below: • The picture to the left is the first picture in the sequence followed by the picture in the middle and then the picture to the right. • The video sequence shows a man running from right to left with a house that is stationary. Confidential & Proprietary Information of VeEX Inc.
Compression with Motion Compensation • Video contains a lot of spatial and temporal redundancy: • Spatial redundancy and compression • Neighboring pixels are similar • Compresses each frame in isolation, treating it as a bitmapped image • Temporal redundancy and compression • Adjacent frames are similar • Compress sequences of frames by only storing differences between them • Performance can be improved by searching for just the right parts of the image to subtract from the previous frame • Motion Compensation (MC) based compression principle developed for H.261, is retained in all later video compression standards. Confidential & Proprietary Information of VeEX Inc.
Spatial and Temporal Compression • Spatial • The compression of each frame is done with JPEG • Each frame is a picture that can be independently compressed • The Spatial compression engine looks inside each macroblock and determines what information is absolutely necessary to maintain a visual reference • Subtle color shades will be removed to reduce the required storage space • Temporal • Certain frames are designated as Key frames • Looks at the same blocks between pictures and uses prediction and motion estimation algorithms to reduce the storage needed • These predictions happen on Macroblock level • Each frame between key frames is replaced by a “difference” frame • Difference frames only store the differences between the frame and the preceding frame or most recent key frame Confidential & Proprietary Information of VeEX Inc.
MPEG Video Compression Standards • MPEG-1 • Initial audio/video compression standard • Used by VCD’s • MP3 = MPEG-1 audio layer 3 • Target of 1.5 Mb/s bit-rate 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 13 years and is ongoing • Different profiles and levels allow for quality control • MPEG-4 • Includes support for AV “objects”, 3D content, low bit-rate encoding, & DRM • In practice, provides equal quality to MPEG-2 at a lower bit-rate • MPEG-4 Part 10 is H.264, which is used in HD-DVD and Blu-Ray Confidential & Proprietary Information of VeEX Inc.
MPEG Audio Compression Standards • MPEG-1 • 3 layers of increasing quality, MP3 (layer 3) being most common • 16 bits • Sampling rate (32, 44.1, or 48kHz) • Bitrate (32 to 320kbps) • 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 96kHz) • Higher coding efficiency and simpler filter bank • 96 kbps AAC sounds better than 128 kbps MP3 • Usually CBR, but can do VBR Confidential & Proprietary Information of VeEX Inc.
MPEG Video Compression Principle • Relies on the eye's inability to resolve high frequency color changes • Uses redundancy within each frame and between frames • Discrete Cosine Transform, quantization & Huffmann coding predict a pixel value from all adjacent pixel values, minimizing the overall bit rate • Intra-frames (I-frames) are generated from the process Confidential & Proprietary Information of VeEX Inc.
MPEG Structure • MPEG codes video in a hierarchy of layers Video Sequence B P B B P B I Group of Pictures (GoP) P B B P B B I GoP Layer Slice Layer Macroblock Layer Block Layer (8x8 pixels) (Sequence layer not shown) Picture Layer (Frame) Confidential & Proprietary Information of VeEX Inc.
MPEG Frame Types Confidential & Proprietary Information of VeEX Inc.
Motion Compensation & Frame Types Confidential & Proprietary Information of VeEX Inc.
GOP (Group of Pictures) • A set of consecutive frames that can be decoded without any other reference frames • Starts with an I-frame and ends with the frame right before next I-frame • Consists of 12 or 15 frames typically • Transmitted sequence is not the same as the displayed sequence • The sequence of I, P and B frames is not standardized but can be chosen according to the requirements of the application. Arrows show prediction dependencies between frames Confidential & Proprietary Information of VeEX Inc.
Compression Standard/Rate Summary Confidential & Proprietary Information of VeEX Inc.
MPEG-2 Profiles • The ISO/IEC specifications describe profiles that define the structure of the encoded stream. • Profiles characterize the complexity of the encoding, indicating how difficult this signal will be to decode. Confidential & Proprietary Information of VeEX Inc.
Digital Video Broadcast (DVB) Confidential & Proprietary Information of VeEX Inc.
Ever heard of DVB? • Digital Video Broadcast http://www.dvb.org/ • European standard for digital video broadcasting, now used globally • DVB Project was launched in 1993 by an Industry-led consortium of over 250 companies including broadcasters, manufacturers, network operators, software developers, regulatory bodies and others • Project became operational in 1995 • Based on MPEG-2 transport streams • Very flexible and can carry Internet traffic • The standard also specifies mechanisms for interactive service with return channels provided by PSTN, ISDN, GSM, DECT, LMDS, cable and satellite Confidential & Proprietary Information of VeEX Inc.
Digital Video Broadcast (DVB) • There are three major sub-standards of the DVB standard namely: • DVB-S (Satellite) – using QPSK – 40 Mb/s • DVB-T (Terrestrial) – using QAM – 50 Mb/s • DVB-C (Cable) – using QAM/OFDM – 24 Mb/s • The sub-standards differ only as it applies to physical representation, modulation, transmission and reception of the signal. • DVB uses a MPEG-2 Transport Stream to carry it’s data and has added some features in the MPEG-2 standard • Can deliver to the home almost anything that can be digitized: • High Definition Television (HDTV) • Standard Definition Television (PAL / NTSC, SECAM) • New broadband multimedia data and interactive services • Several tables have been added to the MPEG-2 Transport Stream specifications (CAT, EIT, etc.) Confidential & Proprietary Information of VeEX Inc.
Why does MPEG need DVB? • MPEG is primarily a compression standard. • The output from an MPEG encoder can be carried as an MPEG stream in a noise free environment, but it is not suitable for a noisy channel. • DVB provides error correction, program information and conditional access signaling, and modulation. • DVB guarantees the delivery of an MPEG stream over Cable (DVB-C), Satellite (DVB-S), Terrestrial Radio Channel (DVB-T), or Local Microwave Distribution Service (DVB-MC). Confidential & Proprietary Information of VeEX Inc.
Building the MPEG-2 Streams • Two kinds of multiplexed stream are specified: • Transport Stream (TS) • The transmission channel where errors occur • Designed for “lossy” links, such as networks or broadcast antennas • Consists of relatively short fixed-length TS packets • Program Stream (PS) • Uses error-free transmission channels (storage e.g. disks) Confidential & Proprietary Information of VeEX Inc.
MPEG2 Transport Stream • The DVB stream consists of a series of fixed length packets which make up a Transport Stream (TS). • Streams carry higher layer packets derived from an MPEG stream. • It carries multiple streams, some synchronized to each other (for lip sync), others running independently. Confidential & Proprietary Information of VeEX Inc.
Transport Stream Packet 188 Byte Packet • Sync byte 0x47 • Transport error indicator • Payload unit start indicator • Transport priority • PID • Scrambling Control • Adaptation field control • Continuity Counter 4 Byte Packet Header Adaptation Field (if present) Payload (if present) • Fixed length of 188 bytes • First 4 Bytes are the packet header while 184 Bytes are used for payload • 13 bit for the PID enable identification of 8192 (213) different kinds of logical channels • Packet contains data (video, audio, data, program guide) • Carries timing information (PCR) • Every 4 Byte Header contains: Confidential & Proprietary Information of VeEX Inc.
What do MPEG-2 TS Packets Carry? Audio/Video MPEG-2 coding Data coding Data Section PES Packet PID 1 PID 2 Transport Stream • Two main types of data packets (streams and sections): • Packetized Elementary Stream (PES) • Series of packets carrying video, audio and data streams • Data Section • Block of data with one or more TS payloads carrying program information and other data Confidential & Proprietary Information of VeEX Inc.
Adaptation Field length Discontinuity indicator Random access indicator Elementary stream Priority indicator 5 flags Optional fields Stuffing byte PCR OPCR Splicing countdown Transport private Data Adaptation field Extension flag Itw_valid flag Itw_offset Reserved Piecewise_rate Splice_type DTS_next_AU MPEG-2 Transport Stream 188 bytes Header Payload 188 Bytes MPEG Packet 188 Bytes MPEG Packet ….…. Sync Byte Transport error indicator Payload unit start indicator Transport priority PID Transport scrambling control Adaptation field control Continuity counter Adaptation field Bits 8 1 1 1 13 2 2 4 Bits 8 1 1 1 5 Bits 33 + 6 + 9 33 + 6 + 9 8 8 + n 8 + 3 + 5 + n Bits 1 15 2 22 4 3+1+15+1+15+1 Specified in MPEG-2 Part 1, Systems (ISO/IEC standard 13818-1) Allows multiplexing of digital video & audio and synchronizing the output Features error correction for transportation over unreliable media, and is used in broadcast applications such as DVB and ATSC Confidential & Proprietary Information of VeEX Inc.
Program Specific Information (PSI) • A Transport Stream includes tables describing the relationship between the programs and the elementary streams making up each program • A program can be identified by using a 16-bit program number Confidential & Proprietary Information of VeEX Inc.
Program Specific Information (PSI) Tables Confidential & Proprietary Information of VeEX Inc.
DVB Service Information (DVB-SI) • DVB-SI provides information to enable automatic configuration of the receiver to demultiplex and decode the various streams of programs • Program Specific Information (PSI) • Program Association Table (PAT) • Conditional Access Table (CAT) • Program Map Table (PMT) • Network Information Table (NIT) • Additional Service Information • Bouquet Association Table (BAT) • Service Description Table (SDT) • Event Information Table (EIT) • Running Status Table (RST) • Other tables: TDT, TOT, ST, SIT, DIT Confidential & Proprietary Information of VeEX Inc.
MPEG-2/DVB PID Allocation • PAT always has PID = 0 (zero) • CAT always has PID = 1 • EIT always has PID = 18 • PMTs have the PIDs specified in the PAT • The audio, video, PCR, subtitle, etc. PIDs for all programs are specified in their respective PMT Confidential & Proprietary Information of VeEX Inc.
MPEG-2 PSI & DVB-SI Relationship MPEG-2 PSI (Service Program Information) MPEG-2 PSI locates the program Program Map Table PMT Program Association Table PID 0xYY PID 0x01 PID 0x00 Conditional Access Table CAT PAT DVB SI (Service Information) DVB SI selects the program PID 0x10 Network Information Table NIT PID 0x13 Time and Date Table TDT PID 0x11 Bouquet Association Table BAT PID 0x11 PID 0x14 Running Status Table Service Description Table SDT RST PID 0x12 Event Information Table EIT Time Offset Table TOT ST Stuffing Table Confidential & Proprietary Information of VeEX Inc.
MPEG Clocks & Sync Mechanisms • Packet sync is performed by a unique value (Hex47) in the first byte of every packet. Once packet sync is acquired: • The Sync byte ( 47HEX ) is extracted as timing reference and is used for generating the clock. • Decoder achieves sync after receiving 3-consecutive sync bytes • Only then can meaningful measurements on the PCRs be performed. • MPEG systems defines a Master clock and two decode time stamps: • Program Clock Reference (PCR): • Used to maintain the decoder’s clock in sync with the encoder’s clock • PTS/DTS: • Presentation Time Stamp – specifies when to present the access unit • Decode Time Stamp – specifies when to decode the access unit • Decoding and presentation take place when the decoder STC advances to the time specified by the DTS and the PTS respectively • Both timestamps are found in the PES packet header • System Time Clock (STC) • 27 MHz clock ± 810 Hz Confidential & Proprietary Information of VeEX Inc.
MPEG Header Sync Byte • The Decoder must first identify the beginning of packets before it can interpret the stream - it uses the Sync Byte field to do this! • The Sync Byte is always 0x47 (Hexadecimal) or 01000111 binary • The decoder looks for strings of zeros and ones which match the pattern of the sync byte (see red below) • Once the decoder finds a 0x47 in the stream, it looks 187 bytes down the stream, and looks for another 0x47 • If decoder finds three Sync Bytes in a row, then Sync is achieved and decoder assumes packet boundaries from then on • Each packet is tested for 0x47 as soon as it arrives. If a packet arrives with an incorrect sync byte, the decoder starts over. This is called SYNC LOSS 01010001111010010101101010001100011110010111000 Confidential & Proprietary Information of VeEX Inc.
MPEG Header Continuity Counter • The continuity counter is a 4 bit field in the header which increments by 1 each time a packet comes out on a specific PID: • When a PID ‘skips’ one value of the continuity Counter, it is called a ‘Continuity Error.’ This means one or more packets were lost. All Packets PID 0x52 … 0 1 2 3 4 5 6 7 8 14 15 0 1 All Packets PID 0x54 … 0 1 2 3 7 8 9 10 11 Continuity Error Here Confidential & Proprietary Information of VeEX Inc.
PCR Encoding Process • Encoding process is driven by a 27MHz System Time Clock (STC) • Each program inserted into a TS contains a 27MHz timestamp (PCR) • Inserted by encoder/multiplexer in adaptation field every 40-100ms • PCR is a 42 bit field in the adaptation field of the Transport Stream (TS) • PCR field consists of a 9 bit part that increments at a 27MHz rate and a 33 bit part that increments at a 90kHz rate (when 27MHz part rolls over) Confidential & Proprietary Information of VeEX Inc.
PCR Decoding Process • Decoding process is driven by a clock locked to the encoder's STC • Decoder uses the PCR to regenerate a local 27MHz clock • Decoder uses a Voltage Controlled Oscillator (VCXO) to generate a 27MHz clock • When received, the PCR is compared to a local counter which is driven by the VCXO. Any difference is used to correct the frequency of the VCXO ensuring the 27MHz clock is locked to the PCR. • Decoders use PCRs to generate video timing, color burst, etc. Confidential & Proprietary Information of VeEX Inc.
ETSI TR 101 290 Recommendation • TR 101 290 recommends a set of syntax and information consistency tests that can be applied to an MPEG-2 Transport Stream (TS) • The following assumptions and guiding principles were included when developing these tests: • Mainly intended for continuous or periodic monitoring of an MPEG-2 TS in an operational environment; • Primarily designed to check the integrity of a TS at source; • the general aim of the tests is to provide a "health check" of the most important elements of the TS. • The tests are grouped into three tables according to importance; • The first table lists a basic set of parameters which are considered necessary to ensure that the TS can be decoded. • The second table lists additional parameters which are recommended for continuous monitoring. • The third table lists optional additional parameters which could be of interest for certain applications. Confidential & Proprietary Information of VeEX Inc.
ETSI TR 101 290 Priority Groups • Baseband measurements are split into 3 groups: • 1st priority (necessary for decodability) • 2nd priority (recommended for continuous or periodic monitoring) • 3rd priority (application-dependent monitoring) Confidential & Proprietary Information of VeEX Inc.
DVB-C Transmitter & Receiver Components Multiplexed MPEG Transport stream Convolution Interleaver Reed Solomon FEC Coder Mux adaptation, Energy dispersal Byte to multiple conversion RF conversion QPSK/QAM modulation Differential encoding Baseband shaping FIR filter TX Matched FIR filter and equalizer QPSK/QAM demodulation RF conversion Differential decoding RX Multiplexed MPEG Transport stream Symbol to byte mapping Reed Solomon FEC decoder Convolution deinterleaver Sync inversion & energy dispersal Confidential & Proprietary Information of VeEX Inc.
CX380 CATV Analyzer Testing MPEG-2 Systems with the CX380 MPEG Explorer option Confidential & Proprietary Information of VeEX Inc.
MPEG Network Overview IP Transport Headends & Hubs MPEG Master Headend HFC Home IP Network Layer 2/3 Combiners Video QAM Coax Distribution Network Service router CMTS Outside Plant Inside Plant Per the DVB-C standard, MPEG-2 video is usually transported from Master Headend over fiber using SONET/IP technologies that contain FEC or other error checking mechanisms. At regional Headends/Hub sites, the MPEG-2 is extracted, QAM modulated, IF unconverted and inserted into 6/8MHz channels for transmission over the HFC network to customer STBs. The key impairments that can occur are caused by micro-reflections, non-linearity problems in the network, and interference from adjacent analog channels (due to higher power levels). MPEG-2 QoS testing will occur at the Master satellite Headend, or at any other point where the Service Information is changed, and before insertion into the coaxial plant. Confidential & Proprietary Information of VeEX Inc.
Test Challenges & Advice • To start, there is no single, simple test solution • Terminology is new and confusing for those unfamiliar with digital video • Elementary Stream (ES), Packetized Elementary Stream (PES), Transport Stream (TS), Program-Specific Information (PSI), etc. • The best known Test guideline is known as ETSI TR 101 290 • Measurement guidelines for DVB systems • The ATSC has also recently introduced ATSC Recommended Practice: • Transport Stream Verification A78 • Things to remember: • Fix Continuity Problems first. Continuity errors create bogus alarms in other areas. Until you resolve the continuity problems, it will be very hard to determine if you have other problems in your stream • The PAT is on PID 0x00. This is the first PID a decoder looks at – the MPEG ‘Base PID’ Confidential & Proprietary Information of VeEX Inc.
SLM Measurements – RF Domain • Always check signal level & quality of QAM carrier/s • Without a good strong signal, analysis of the MPEG stream may not yield any useful information • Check FEC counters and use Constellation diagram to identify problems • Disable/enable Equalizer to check QAM decoder performance, group delay and frequency response Confidential & Proprietary Information of VeEX Inc.
MPEG TS Summary • Displays number of programs detected on the MPEG-2 TS • Video, Audio, and Table statistics are provided for each program detected • Packet count associated with each is reported • Transport errors based on the transport error indicator in MPEG transport header set Confidential & Proprietary Information of VeEX Inc.
Stream Summary • Reconstructing a program from all its video, audio, & table components requires that the PID assignment is done correctly • Check consistency between PSI table contents and the associated video and audio streams. This is one the main testing issue in MPEG. • PAT (Program Association Table) always appears in PID 0x0000 • PMT (Program Map Table) - Identifies elementary streams in program, and gives their PIDs. Confidential & Proprietary Information of VeEX Inc.
Stream Details • Statistics for each program are provided including video compression (SD or HD) • Verify PAT always appears in PID 0x00 • Identifies MPEG-2 programs and gives PIDs for the PMT, Video and Audio. • CAT (Conditional Access Table) & NIT (Network Information Table) Confidential & Proprietary Information of VeEX Inc.
Video Metrics Perceptual • Absolute MOS-V • Considers image resolution, frame rate, codec and compression level, transmission impairments, frame loss concealment • Relative MOS-V • A MOS score relative to the ideal for the particular codec and image resolution in use. • MOS-AV • 1 to 5 score that considers picture & audio quality and the audio-video synchronization on the overall user experience. • VSTQ • Video Service Transmission Quality, a 0-50 codec-independent score (50 being best) measuring the ability of the IP network to carry video reliably. • EPSNR • the estimated Peak Signal to Noise Ratio expressed in dB. This is an estimate of the distortion that has occurred between the source video stream and the output video stream. Note: To simplify comparing video quality for different service types, MPEG Explorer includes both Absolute and Relative MOS scores in its set of Video metrics Confidential & Proprietary Information of VeEX Inc.