MPEG Technology Primer CX380 • MPEG Explorer Option Rev. A02 Agenda Introduction to MPEG Digital Video Broadcast (DVB) Video Compression techniques Compression standards Frame Types and Structure Program Specific Information 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 MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 2 Introduction to MPEG Confidential & Proprietary Information of VeEX Inc. 3 Video Medium Evolution Film • Invented in late 18th century, still widely used today VHS • Released in 1976, rapidly disappearing DVD • Released in 1996, dominant for over a decade MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 4 The Analog to Digital Transition The “N word” Economics Analog signals are prone to corruption by Noise 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 MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 5 Digital Video Technologies Today Resolution Uncompressed HDTV MPEG2 H.264 1080i (1920x1080 30fps) 720p (1280x720 60fps) Uncompressed SDTV DV MPEG2 480i (720x480 30fps) Bandwidth Delay 1~1.5Gbps 100msec 20~80Mbps 1~2 sec 10Mbps 2~3 sec 250Mbps 100msec 30Mbps ~300msec 5~6Mbps 1~2 sec 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 MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 6 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) HTTP RTSP ITU-T ISO/IEC H.261 H.263 H.264 MPEG-1 (11172) MPEG-2 (13818) MPEG-4 (14496) RTP/RTCP TCP Transport stream (13818-1) UDP IGMP IP PPP MPEG Technology Primer/CX380 Ethernet Confidential & Proprietary Information of VeEX Inc. 7 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 MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 8 The MPEG Concept 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. 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 Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 9 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. MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 10 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 MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 11 MPEG Video Compression Standards MPEG-1 MPEG-2 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 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 MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 12 MPEG Audio Compression Standards MPEG-1 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 3 layers of increasing quality, MP3 (layer 3) being most common 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 MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 13 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 MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 14 MPEG Structure MPEG codes video in a hierarchy of layers Video Sequence I P B B B P B B P Group of Pictures (GoP) B P B B I GoP Layer Macroblock Layer Block Layer (8x8 pixels) Slice Layer Picture Layer (Frame) MPEG Technology Primer/CX380 (Sequence layer not shown) Confidential & Proprietary Information of VeEX Inc. 15 MPEG Frame Types I-Frame (Intra Frame) • Independent frame that is not related to any other frame. • Independent of other frames and cannot be constructed from other frames. • Intra-coded full image, very similar to the JPEG image, encoded with DCT, quantization, runlength coding and Huffman coding P-Frame (Predicted Frame) • Use delta encoding. The P frame refers to preceding I- and P-frames. • Each P-frame contains only the changes from the preceding frame. • DPCM encoded macroblocks, motion vectors possible. B-Frame (Interpolated Frame) • “Bi-directionally predictive coded pictures”, refers to preceding and succeeding frames, interpolated the data and encodes the differences. • Each B-frame is relative to the past and the future. • A B-frame is never related to another B-frame D-Frame • "DC coded picture", only the DC coefficient of each block is coded (upper left-hand corner of the matrix), e.g., for previews. MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 16 Motion Compensation & Frame Types Intra Frames (I-Frames) • Contain full picture information. If errors occur, the decoder loses a frame • Periodic transmission is essential • Are the least compressed Predicted Frames (P-Frames) • Are predicted from the closest I or P frames Bi-directional predicted frames (B-Frames) • Offer the greatest compression • Use past and future I & P frames for motion compensation • Most sensitive to errors MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 17 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 MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 18 Compression Standard/Rate Summary Standard Application Bit Rate JPEG Continuous-tone still-image compression Variable H.261 Video telephony and teleconferencing over ISDN P x 64kb/s MPEG-1 Video on digital storage media (CD-ROM) 1.5Mb/s MPEG-2 Digital Television 2-20Mb/s H.263 Video telephony over PSTN 33.6kb/s MPEG-4 Object-based coding, synthetic content, interactivity Variable JPEG-2000 Improved still image compression Variable H.264 / MPEG-4 AVC Improved video compression 10’s to 100’s kb/s MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 19 MPEG-2 Profiles MPEG-2 Profiles Abbr. Name Frames YCbCr Streams Comment SP Simple Profile P, I 4:2:0 1 no interlacing MP Main Profile P, I, B 4:2:0 1 422P 4:2:2 Profile P, I, B 4:2:2 1 SNR SNR Scalable Profile P, I, B 4:2:0 1-2 SNR: Signal to Noise Ratio SP Spatial P, I, B Scalable Profile 4:2:0 1-3 HP High Profile 4:2:2 1-3 low, normal and high quality decoding P, I, B 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. MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 20 Digital Video Broadcast (DVB) Confidential & Proprietary Information of VeEX Inc. 21 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 MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 22 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.) MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 23 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). MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 24 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) MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 25 MPEG2 Transport Stream Stream Type Application Features Transport Stream (TS) Used for transmission where cell loss and bit errors occur. Fixed-length packets (188 bytes) Error correction is not included in the MPEG standard. Example: Broadcast applications A PES packet is divided up and placed in the payload section of TS packets. Multiple reference clocks possible 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. MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 26 Transport Stream Packet 188 Byte Packet 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: Sync byte 0x47 Transport error indicator Payload unit start indicator Transport priority MPEG Technology Primer/CX380 PID Scrambling Control Adaptation field control Continuity Counter Confidential & Proprietary Information of VeEX Inc. 27 What do MPEG-2 TS Packets Carry? 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 Audio/Video MPEG-2 coding PES Packet PID 1 Data coding Data Section PID 2 Transport Stream MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 28 MPEG-2 Transport Stream 188 bytes Header Sync Byte Bits 8 Payload 188 Bytes MPEG Packet 188 Bytes MPEG Packet Transport error indicator Payload unit start indicator Transport priority PID Transport scrambling control Adaptation field control Continuity counter 1 1 1 13 2 2 4 Adaptation Field length Bits 8 Discontinuity Random access indicator indicator 1 Bits Elementary stream Priority indicator 1 5 flags 1 OPCR Splicing countdown Transport private Data 33 + 6 + 9 33 + 6 + 9 8 8+n Bits 1 Adaptation field Optional fields Stuffing byte 5 PCR Itw_valid flag ….…. Itw_offset 15 Reserved 2 Adaptation field Extension flag 8+3+5+n Piecewise_rate Splice_type 22 4 DTS_next_AU 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 MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 29 Program Specific Information (PSI) Table Name Standard PIDs Description Program Association Table MPEG 0x000 Associates program numbers with PIDs of TS packets sending A Program Map Table Program Map Table MPEG Spec’d in PAT Specifies PID values of stream configuring a program Network Information Table DVB Spec’d in PAT Physical network parameters e.g. FDM frequency, transponder number Conditional Access Table MPEG 0x0001 Associates PID values and EMM stream sending subscription details for charged broadcasting TS Description Table MPEG 0x02 Associates descriptors and the entire TS (application system) 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 MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 30 Program Specific Information (PSI) Tables Their Purpose: • act as a “table of contents” for the transport stream (TS) • helps the decoder locate audio and video for each program in the TS • Verifies Conditional Access (CA) rights Consist of: • Program Association Table (PAT) - 0x0000 • A root directory of the transport stream, providing the PID value for the packets containing the PMT associated with each program. • Conditional Access Table (CAT) – 0x0001 • Provides PID value for packets containing Entitlement Management Message (EMM). EMMs update subscription options or pay-per-view rights per subscriber. • Program Map Table (PMT) • Lists PID values for packets containing a program’s video, audio, clock reference and data components. • Lists the PID value for each Entitlement Control Message (ECM) in the stream. ECMs enable a decoder to descramble the audio, video and data for a program • The Network Information Table (NIT) • Provides information regarding a network on which various transport streams reside. • This table is specified in MPEG-2 standard but defined in the DVB standard MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 31 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 MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 32 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 MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 33 MPEG-2 PSI & DVB-SI Relationship MPEG-2 PSI (Service Program Information) Program Association Table PID 0x00 PID 0xYY PMT Program Map Table CAT Conditional Access Table PID 0x01 PAT MPEG-2 PSI locates the program DVB SI (Service Information) PID 0x10 NIT PID 0x11 PID 0x11 Bouquet Association Table SDT Service Description Table EIT Event Information Table ST MPEG Technology Primer/CX380 Network Information Table PID 0x13 BAT PID 0x12 DVB SI selects the program TDT Time and Date Table RST Running Status Table TOT Time Offset Table PID 0x14 Stuffing Table Confidential & Proprietary Information of VeEX Inc. 34 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 MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 35 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) 01010001111010010101101010001100011110010111000 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 MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 36 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: All Packets PID 0x52 0 1 2 3 4 5 6 7 8 … 14 15 0 1 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 0x54 0 1 2 3 7 8 9 10 11 … Continuity Error Here MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 37 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) MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 38 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. MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 39 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. MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 40 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) 3rd Priority 1st Priority 2nd Priority No Indicator No Indicator No Indicator 3.1 NIT_error 1.1 TS_sync_loss 2.1 Transport_error 3.2 SI_repetition_error 1.2 Sync_byte_error 2.2 CRC_error 3.3 Buffer_error 1.3 PAT_error 2.3 PCR_error 3.4 Unreferenced_PID_error 1.4 Continuity_count_error 2.4 PCR_accuracy_error 3.5 SDT_error 1.5 PMT_error 2.5 PTS_error 3.6 EIT_error 1.6 PID_error 2.6 CAT_error 3.7 RST_error 3.9 TDT_error 3.9 Empty_buffer_error Data_delay_error MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 41 DVB-C Transmitter & Receiver Components Multiplexed MPEG Transport stream Multiplexed MPEG Transport stream Mux adaptation, Energy dispersal Convolution Interleaver Byte to multiple conversion Differential encoding Baseband shaping FIR filter QPSK/QAM modulation RF conversion Differential decoding Matched FIR filter and equalizer QPSK/QAM demodulation RF conversion Sync inversion & energy dispersal MPEG Technology Primer/CX380 Reed Solomon FEC Coder Reed Solomon FEC decoder Convolution deinterleaver Confidential & Proprietary Information of VeEX Inc. TX RX Symbol to byte mapping 42 CX380 CATV Analyzer Testing MPEG-2 Systems with the CX380 MPEG Explorer option Confidential & Proprietary Information of VeEX Inc. 43 MPEG Network Overview MPEG Master Headend IP Transport Headends & Hubs IP Network Layer 2/3 Video QAM HFC Combiners Service router Home Coax Distribution Network CMTS Inside Plant Outside 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. MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 44 Test Challenges & Advice To start, there is no single, simple test solution Terminology is new and confusing for those unfamiliar with digital video 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: Elementary Stream (ES), Packetized Elementary Stream (PES), Transport Stream (TS), Program-Specific Information (PSI), etc. 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’ MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 45 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 MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 46 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 MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 47 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. MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 48 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) MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 49 Video Metrics Perceptual 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 Absolute MOS-V Relative MOS-V 1 to 5 score that considers picture & audio quality and the audio-video synchronization on the overall user experience. VSTQ A MOS score relative to the ideal for the particular codec and image resolution in use. MOS-AV Considers image resolution, frame rate, codec and compression level, transmission impairments, frame loss concealment 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. MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 50 Video Stream Bandwidth Metrics Note: Using H.264 video compression, the picture can be segmented into sequences of macroblocks called slices. The encoder can choose the prediction style distinctly on each individual slice (SI & SP frames) Identifies I, P, and B frames in unscrambled and encrypted video streams Bandwidth used by I, P, B, SI & SP video frames is analyzed to estimate the quantization level applied by the video encoder Average Bandwidth – Mean video bandwidth excluding IP overhead, FEC, & retransmissions Max. Bandwidth - Peak video bandwidth excluding IP overhead, FEC, & retransmissions SI-frames/slices: Facilitates switching between coded streams; contains SI macroblocks (a special type of intra coded macroblock). SP-frames/slices: Facilitates switching between coded streams; contains P and/or I macroblocks MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 51 Video Stream Frame Statistics Detailed statistics for I, P, B, SI, SP frame types: number of received frames and proportion of each frame type impaired by packet loss and discard are reported helps determine which GoP type and length should be used to obtain the best performance from the video service I/P/B/SI/SP Frames Impaired - proportion of applicable frames impaired by packet loss/discard MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 52 Video Stream Frame Packet Results To form an accurate assessment of quality of experience, it is necessary to know not only the overall rates of packet lost or discarded, but also which frame types were affected. MPEG Explorer reports detailed statistics for each frame type, including the number of received, lost, and discarded I, B, and P frames and the proportion of each frame type impaired by packet loss and discard. These metrics can be useful for troubleshooting and can help determine which GoP type and length should be used to obtain the best performance from the video service. Packets Discarded - number of packets discarded by the jitter buffer due to late arrival. MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 53 Audio Stream Metrics MOS-A Audio MOS, a 1-5 score that considers the effects of the audio codec, bit rate, sample rate, and packet loss on listening quality. MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 54 ETSI TR 101 290 Metrics TR 101-290 Priorities First priority: Sync, PAT & PMT, Continuity Decoder lock Second priority: PCRs, CRCs, RF FEC Program Decode Third priority: EPG PSIP TS_sync_loss: Loss of synchronization at the MPEG transport layer Sync_byte_error: Invalid MPEG transport sync byte Continuity_count_error: Incorrect packet order, duplicate packet, or lost packet. Transport_error: Transport error indicator in MPEG transport header set. PCR_error: Discontinuity in program clock reference (PCR). PCR_repetition_error: Time interval between two successive PCR values more than 40ms PCR_discontinuity_indicator_error: Difference between two consecutive PCR values is over 100ms without discontinuity bit set. PTS_error: Interval between presentation timestamps more than 700ms. MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 55 MPEG Explorer Test Summary The MPEG Explorer provides a convenient and practical way to evaluate user quality of experience levels using objective test data MOS scores provide a familiar, intuitive representation of picture, audio, and overall audiovisual quality Metrics such as Relative MOS and VSTQ can be useful in accurately comparing video quality across different service types MPEG Explorer metrics are grouped into three layers: Perceptual Quality Metrics High-level Quality of Experience (QoE) metrics that measure user's experience of the service Video Stream Metrics Relate to the encoded video stream, including image size, frame rate, GoP structure, etc. Transmission Metrics Relate to the performance of the IP network, UDP/TCP and RTP/MPEG Transport protocols MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 56 Thank you. Any questions? MPEG Technology Primer/CX380 Confidential & Proprietary Information of VeEX Inc. 57