IPTV Analysis
IPTV Analysis - IPTV TS Summary
IPTV-TS Summary
The following information pertaining to content on the MPEG-2 Transport Stream (TS) is included in the summary.
Select a stream from Stream # to view stream measurements:
-
Total Bandwidth, # of Actual Programs, Other Programs, Transport Errors.
-
Total PID Count (Packet Identifier), BW (Bandwidth), BW(%), and Pkt Count (Packet Count), for Video, Audio, Tables and Others
IPTV Stream Analysis
Up to three streams can be analyzed, and the bandwidth associated with the whole TS is displayed. Video streams typically consume more bandwidth than audio streams, which in turn use more bandwidth than data streams. In this manual, MPEG-2 refers to the video transport stream defined in IEC13818 standard and not any compression technology used in the payload or transport packet. The MPEG-2 Transport stream contains seven packets of 188 bytes each of which transports either the MPEG-2, MPEG-4, or VC-1 encoded video.
IPTV Analysis - Stream Summary
Streams Summary
The following information is included in the summary:
-
Str: Indicates stream number.
-
PID: Packet Identifier is a unique channel address identifier. PID enables identification and reconstruction of the program and is used in conjunction with the Program Service Identifier (PSI) packets. The decoder uses the PID and PSI to identify the Program Association Tables (PAT).
-
PAT: PAT contains Program Map Tables (PMT) that point the decoder to the packets associated with the channel or program, such as video, audio and data content in the transport stream. PAT always appears in PID 0x0000.
-
PMT: Identifies elementary streams in program, and gives their PIDs.
-
Type: Payload description.
-
Program
-
BW: Bandwidth (kb/s).
-
BW(%): Bandwidth percentage.
-
Status
-
Pkt Count: Packet count.
IPTV Analysis - Details - PID Map
Details: PID Map
-
Stream #: Select a stream to view.
-
Program #: Select the program number to view.
-
Statistics for each program are provided including video compression (SD or HD).
-
PAT: Program Association Table. Always appears in PID 0x0000. Identifies MPEG-2 programs and gives PIDs for the PMT, Video, and Audio.
-
PMT: Program Map Table. Identifies elementary streams in the program and gives their PIDs.
-
CAT: Conditional Access Table.
-
NIT: Network Information Table.
-
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 of the main testing issues in MPEG.
Verify that PAT always appears in PID 0x00. It identifies MPEG-2 programs and gives PIDs for the PMT, Video, and Audio.
MPEG-2 Transport Stream (TS)
A Packetized Elementary Stream (PES) is a continuous traffic stream of 188-byte packets carrying the digital signal. Since single/multiple programs can be carried per stream, a reference point from which the STB can synchronize and start the actual decoding must be provided. Each 188-byte packet consists of a 4-byte header containing this reference point, which is a PAT table and a PID value equal to 0. The Packet Identifier (PID) contained within the 4-byte header, is a unique channel address identifier allowing identification and reconstruction of the program. The PID is used in conjunction with the Program Service Identifier (PSI) to identify Program Association Tables (PAT), which in turn hold Program Map Tables (PMT). The PAT table is also the table containing all program information ensuring the consumer receives updated program changes. The PAT table lists all the programs in the transport stream and associates each program with another PID that holds a Program Map Table (PMT) as its payload. PMT lists the video, audio and eventual encryption information. The Payload Structure Identifier (PSI) table needs to be consistent with the PID table. PAT and PMT are inserted into the stream so that the decoder performs correctly. These two items should always be present.
IPTV Analysis - Details - Video (Page 1)
Details: Video (Page 1)
The following detailed statistics are reported:
-
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: 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.
-
EPSNR ATIS: Estimated Peak Signal to Noise Ratio (PSNR) calculated according to ATIS specifications (ATIS-0800021).
Relative and Absolute MOS
-
MOS scores range from 1 to 5, with 1 considered "Unacceptable" and 5 "Excellent."
-
Relative MOS-V is an estimated perceptual quality score that considers the effects of codec/quantization level, the impact of IP impairments (e.g., packet loss) on the GoP structure and video content, and the effectiveness of loss concealment.
-
Absolute MOS-V is an estimated perceptual quality score that considers all the above mentioned factors as well as image resolution, frame rate, and the use of progressive vs. interlaced scanning.
-
Because it is independent of image resolution/frame rate, the Relative MOS-V score helps provide an indication of video quality relative to the ideal for a given video format.
-
Example: An IPTV service provider offers 480i SD, 720p HD, and 1080p HD broadcasts. Assuming unimpaired conditions, the services might receive the following scores (values provided for example only):
-
Absolute MOS-V: 480i = 4.0, 720p = 4.3, 1080p = 4.7
-
Relative MOS-V: 480i = 4.5, 720p = 4.5, 1080p = 4.5
VSTQ and EPSNR
-
VSTQ (Video Service Transmission Quality): A 0-50 codec-independent score that measures the ability of the IP network to carry reliable video; packet transport metrics (packets received/discarded/duplicate/out-of sequence, along with burst and gap statistics); packet jitter metrics, FEC (Forward Error Correction) and Reliable UDP metrics; and MPEG-2 Transport Stream (ETSI TR 101 290) metrics.
-
EPSNR (Estimated Peak Signal-to-Noise Ratio): This is an objective measurement of video service quality comparing the maximum power of the video signal to the power of corrupting noise affecting the signal. Generally, a PSNR of under 20dB is regarded as unwatchable, and this level is reached for MPEG video with a loss rate under 1 percent.
IPTV Network Performance
Due to the real-time nature of IPTV, MPEG-2 is transported over UDP (IPv4/UDP), hence retransmission or reordering of packets is not intended. Video quality is largely determined by network performance parameters, including Packet loss, Packet jitter and IGMP latency.
Details: Video (Page 2)
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). (H.264 codec only).
-
SP-frames/slices: Facilitates switching between coded streams; contains P and/or I macroblocks (H.264 codec only).
Details: Video (Page 3)
Detailed statistics for I, P, B, SI, SP frame types:
-
Number of received frames (Rcvd) 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.
Details: Video (Page 4)
-
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 and SI, SP frames (SI and SP available used for H.264 codec only) 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
IPTV Analysis - Audio
IPTV Analysis: Audio
-
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
VoIP MOS and R-Factor Ratings
IPTV Analysis - ETR 290
IPTV Analysis - ETR 290
-
The table summarizes the TR 101-290 MPEG Stream evaluation parameters.
-
First priority parameters are necessary for decodability:
-
Sync loss, sync byte error, PAT/PAT2 error, Continuity error, PMT/PMT2 error, PID error.
-
-
Second priority parameters are recommended for continuous or periodic monitoring:
-
Transport error, CRC error, PCR discontinuity, PCR accuracy error.
-
-
Sync Loss: Loss of synchronization at the MPEG transport layer.
-
Sync byte: Invalid MPEG transport sync byte (sync byte not equal to 0x47).
-
PAT: Program association table error count (PID 0x0000 does not occur at least every 0.5 s or a PID 0x0000 does not contain a table_id 0x00 ( i.e. a PAT) or Scrambling_control_field is not 00 for PID 0x0000.
-
PAT 2: PAT2 Error count. Same as PAT error but refers to the possibility that the Program Association Table may consist of several (consecutive) sections with the same table_id 0x00.
-
Continuity: Incorrect packet order, duplicate packet or lost packet.
-
PMT: Program map table error count. Sections with table_id 0x02, ( i. e. a PMT), do not occur at least every 0,5 s on the PID which is referred to in the PAT or Scrambling_control_field is not 00 for all PIDs containing sections with table_id 0x02 (i.e. a PMT).
-
PMT 2: Same as PMT error but refers to the possibility that the Program Map Table may consist of several (consecutive) sections with the same table_id.
-
Transport: Transport error count. The transport error indicator in the MPEG TS header is set to 1.
-
CRC: CRC error count. A CRC error occurred in one of the program tables.
-
PCR discontinuity: Difference between 2 consecutive PCR values is over 100ms without discontinuity bit set.
-
PCR accuracy: PCR accuracy error count PCR accuracy of selected programm is not within 500 ns.
-
PTS: Interval between presentation timestamps is more than 700ms.
-
PID: Process identifier error count. It is checked whether there exists a data stream for each PID that occurs. This error might occur where TS are multiplexed, or demultiplexed and again remultiplexed.
Program Clock Reference (PCR)
MPEG TS normally contain a built-in timing packet known as the Program Clock Reference (PCR). Recovering the 27MHz clock at the decoder end of the transmission system is necessary to re-create the video signal. The PCR values need to be correct at the signal origin and should not be distorted along the transmission path to a point where decoding the compressed signal becomes problematic. Measuring the interval between the arrival of PCR values, the accuracy of the expected values and also the jitter accumulated on those PCR values transmitted is necessary to assure that streams can be decoded. PCR Jitter is a good indication of timing distortions due to poor encoding. Excessive PCR Jitter results in visual impairments, such as frame freezes, color loss and pixelization. The amount of PCR Jitter that is considered excessive varies, and depends on various factors, including STB buffer sizes and software architecture. However, in today's packetized video networks, PCR Jitter should not exceed 10ms. If PCR Jitter is not constant, then a momentary problem from inserting local programming may be the cause.
Scan
The Scan function scans all the channels in the table to determine the ZAP time. The scan table lists Zap time (ms) and Pass/Fail status for each channel. Zap time, also known as inter-channel change delay, is the time between sending a channel leave request and receiving video data of the new video stream from the new channel. It is the IGMP Join Latency + Channel Switch Delay (STBdependent). Channel zapping should be < 700ms.
IGMP and Channel Zapping
IGMP is a signaling protocol that enables each STB to obtain only the programming that the viewer is interested in watching, thus conserving bandwidth in the access network. STBs use the IGMP to change channels, by leaving and joining multicast groups representing channels. Key to IPTV QoE, is how fast and reliably end users can change TV channels, also known as "channel zapping". Essentially it is calculated as the time taken between sending a channel leave request and receiving the first video data of the new video stream. Refer to DSL Forum TR-126 Triple Play Quality of Experience (QoE) requirements for more info.