End to End System Test Compression, IP, and Files Quality of Service (QoS) Quality of Experience (QoE) KARL KUHN Tektronix Sr. Video Applications Engineer [email protected]
End to End System Test Compression, IP, and Files
Quality of Service (QoS) Quality of Experience (QoE) KARL KUHN Tektronix Sr. Video Applications Engineer [email protected]
Don’t Worry – It’s Digital • It Just Works • Analog Degrades Gracefully
– It Tells You All Its Aches and Pains – Window into Electronic World – You Decide
• Digital Has Cliff Effect – It Tells You Nothing – Digital is Analog but Digital Decides – Baseline – Intensive Care Ward – EVERYONE Has This All Figured Out
• Interoperability • Big Circuit Board • Every Device is Considered Guilty until Proven Innocent • Testing is Too Expensive
High Level Testing Concepts
• Quality of Service (QoS) – Perhaps Totally Transparent to End User – Error Rates – Bandwidth – Transmission Latency – Jitter
• Quality of Experience (QoE) – The End User Will Notice and The Phone Will Ring – Long Access Times – Buffer Wait Times – Black Frames – Freeze Frames – Blockiness – Slice Errors – Loudness and Level Issues – Closed Captioning
Program Clock Model
variable delay = e(n) variable delay = d(n) constant trans delay = Ctrans
constant total delay = Ctotal
PCR clock phase
generator
PCR: encoder stamps
departure time of packet
PCR clock frequency generator
PCR: arrival time of packet
PES Syntax
System MUX
PES Syntax
Display
System DEMUX
PCR clock recovered
Audio Decoder
Video Decoder
Audio Encoder
Video Encoder
Transport Stream Layers to Test
Transport Stream
PSI/SI/PSIP PCR
PES
Data
PTS
Audio
DTS
Video
Data
ES Analyzer
PES Analyzer
Related or Unrelated Meta Data
TS Analyzer
Buffer Analyzer
Transport Packet Header
PCR
48
Sync Byte
8
Transport Error
Indicator 1
Start Indicator
1
Transport Priority
1
PID
13
Scrambling Control
2
Adaptation Field
Control 2
Continuity Counter
4
Adaption Field Payload
Header Payload
188 Bytes
Adaptation Field
Length 8
Discontinuity Indicator
1
Random Access
Indicator 1
Elem Stream Priority
Indicator 1
5 Flags
5
Optional Fields
Stuffing Bytes
OPCR
48
Splice Countdown
8
Transport Private
Data
Adaption Field
Extension
Minimum 4-byte header
TR101-290 1st Priority
* Transmission Monitoring + Encoder Monitoring
No: Indicator 1.1 * TS_sync_loss 1.2 * Sync_byte_error 1.3 + PAT_error 1.4 * Continuity_count_error 1.5 + PMT_error 1.6 + PID_error
TR101-290 2nd Priority No: Indicator 2.1 # Transport_error 2.2 * CRC_error 2.3 * + PCR_error 2.4 * + PCR_accuracy_error 2.5 + PTS_error 2.6 + CAT_error
* Transmission Monitoring + Encoder Monitoring # RF FEC overflow Monitoring
TR101-290 3rd Priority
PSIP_Error MGT_Rate STT_Rate RRT_Rate EIT_Rate VCT_Rate
DVB ATSC NIT_error SI_repetition_error Unreferenced_PID SDT_error EIT_error TDT_error RST_error
9
MPEG Packet Structure • Packets are grouped, tagged, switched and
“consumed” at the end-point
IP Ethernet IP/UDP/
RTP
MPEG Video Packet
188 bytes
MPEG Video Packet
188 bytes
MPEG Video Packet
188 bytes
MPEG Video Packet
188 bytes
MPEG Video Packet
188 bytes
MPEG Video Packet
188 bytes
MPEG Video Packet
188 bytes CRC
IP packet with MPEG video payload carried over Ethernet
1362 bytes
Ethernet packets carrying a video stream at 3.75Mb/s Ethernet
packet carrying video
Time
Time Perfect Stream
Rate 3.75MB/s Rate 3.75MB/s Rate 3.75MB/s
Rate 4.75Mb/s
1 Second
1 Mb of Overflow
1 Mb of Underflow
Rate 3.42Mb/s
3 Second Same stream with Ethernet Jitter Stream
Flow Example
Protocol Stack & Layers Relating to Video over IP
Layer 1-2 Gig-Ethernet
IP layer
UDP IGMP
HTTP RTSP
SDP
SAP RTP (with RTCP) HTTP
SDP
MPEG-2 Transport Stream
MPEG-2 ES
TCP TCP
Session Description
Session Control`
Session Description
Session Announcement
Session Control
Video on Demand Multicast Video Video Over IP
4/16/2014 13
IGMP Internet Group Management Protocol
• IGMP is only used as a ‘last hop’ protocol • Core routers do not use IGMP to control multicast transmission • IPv4 Class D address space to be used for IP multicast. • All IP multicast addresses fall in the range 224.0.0.0 through
239.255.255.255. • The Query: Periodically send a request to find out what devices
are in a specific group, because if all the client devices disappear, the router can stop forwarding data to some of the network segments.
• The Receiver: Receives multicast traffic destined for a multicast address. May be a client device or a router, which then forwards the data on to other hosts and routers.
IGMP Versions over the years • Version 1 - query response system used to specify which
devices on a network segment were configured to receive data that was being sent to multicast groups. Uses 224.0.0.1 for a general query address
• Version 2 - greatly improved latency issues implemented additional features, which include a leave process, group-specific queries, and an explicit maximum query response time. Uses 224.0.0.2 for a general query address
• Version 3 - source filtering, which means that the routers are actually informed as to which sources the traffic is expected from.
• Version 4 - inclusion of IPv6 support. IPv6 address is 128 bits, compared with 32 bits in IPv4.
IGMP v3 with Source Specific Multicast (SSM)
This is an example of Source Specific Multicast or SSM
To uniquely identify a single multicast, you need:
Multicast IP 233.4.1.13:1234
and
Source IP: 10.50.41.2
Source IP: 10.50.41.2
Source IP: 10.51.41.2
Primary
Secondary
233.4.1.13:1234 Multicast IP
233.4.1.13:1234 Multicast IP
IGMP Traffic
• To join a specific multicast, a host sends a Host Membership Report message to its multicast router.
• Multicast routers periodically send IGMP Host Membership Query messages to the local subnet for host membership information.
18
Is Visual Inspection Enough? • It’s been said “Content is King”…well, if that is the case
then managing your content and assets are Guarding the Castle
• The traditional approach to Quality Control is visual inspection
• QC staff can see two main categories of technical impairments:
– Signal levels, such as video luma and chroma, or audio loudness
– Problems such as black sequences, frozen frames, blockiness, loss of audio, audio/video sync
• Subjective and variable results • Effective for small volumes of video content • Cycle time is content length plus administrative follow up
19
• Human QC Falls Apart – Syntax Errors – Interoperability – Format Mismatches – Headers Not Matching Content – Not Meeting ALL Deliverable
Requirements – Far Too Much Content to Handle
Workload Cost Effectively
Is Visual Inspection Enough?
20
Automatic Quality Control • Saves time and resources
– Automated systems operate 24/7 – Skilled QC operators are few and expensive – Allows QC staff to work only on content that is
identified as errored • More thorough than visual inspection
– Consistent, repeatable results • Catch errors “inside” the file, such as syntax errors,
encoding parameters, and structural metadata • Instrumented or Optimized Decoder
– Reporting syntax errors as it processes the encoded essence and metadata
– Measuring video and audio quality
Quality Control for File-Based Content
21
Container Formats
• Containers, or “wrappers”, are file formats for identifying and organizing audio/video essence and its associated metadata
– Sometimes independent of the audio/video encoding formats used within
– May be optimized for specific applications, such as acquisition, playback (streaming) or non-linear editing
• Examples: – MPEG Program Stream – MPEG-2 Transport Stream – MP4 – 3GP – QuickTime File Format – Material Exchange Format – General Exchange Format – Advanced Systems Format
Variety of Formats within the Workflow • Transcoding is the format conversion of media assets
– From an ingest format to the common mezzanine format – From the mezzanine format to multiple distribution formats
• Different container formats and codec types are optimized for different tasks in the workflow
– MPEG Transport Stream is suitable for playout – QuickTime or MXF with Intra encoded video is suitable for editing and transcoding
• “Mezzanine” files are working copies of the original source material, more convenient to use in the workflow
– Compressed, but without noticeable loss of picture quality – Less storage space (and file transfer time) than the original – High-enough resolution avoids generation loss when transcoding – I-frame only, for easier non-linear editing – Often 10-bit 4:2:2 sampling (same as SDI)
Structural Checks • Checking the container structure and metadata can
reveal errors such as:
– Incorrect number of streams (e.g. missing audio) – Incorrect PIDs for MPEG-2 Transport Streams
(e.g non-compliant with CableLabs specification for VOD content)
• Measurements made on the content can reveal errors such as:
– Mismatch between play duration of video and audio tracks – Mismatch between actual bit rate and signaled bit rate
• Checking video and audio codec headers will identify “unexpected” essence formats and encoding:
– Profile and level – GOP structure – Frame and sample rates
• Picture size and aspect ratio • Interlaced or progressive • Color depth and color
sampling
Encoded Content Checks • Syntax errors and encoding errors may adversely
affect picture quality • Over-compression may results in block artifacts, and
lower subjective picture quality • MPEG errors such as incorrect slice order result in
large block artifacts • Incorrect field order for interlaced video (e.g. encoded
top field first, playout expected bottom field first) will result in undesirable motion artifacts
• Pull Down Cadence Errors • Syntax error checking can also reveal
file-related issues
Descriptive Metadata • Includes both human-readable information (e.g. titles, annotations)
and machine-processable information (e.g. aspect ratio, play time) • Can be contained in metadata tracks alongside essence tracks in
some container formats • Workflow operation is more effective with detailed metadata input
Example Category Example Data Elements Titles Main title, Episode number, Scene number, Take number Rights Copyright owner, Maximum number of usages, Rights conditions Broadcast Broadcasting organization, Channel, Broadcast region Languages Primary language, Secondary language Content Classification Rating, Genre, Target audience, Subject, Key words Descriptions Annotation description, Shot description Assessments Award name, Content value, Cultural quality
Error Types and Error Detection • Errors can occur as a result of:
1. Incorrect source material, resulting in baseband errors being encoded into the file
2. Incorrect encoding, from misconfigured or faulty encoders
3. File copy or transfer errors • Errors can be detected by an
instrumented decoder, capable of: – Reporting syntax errors as it processes
the encoded essence and metadata, and
– Measuring video and audio quality in the decoded image raster and audio channels
Baseband Quality Checks • Non-real-time measurements of file-based
content are similar to real-time waveform monitoring of SDI signals
• Baseband video errors: – Gamut violations: RGB components or luma – Frozen frames, black frames – Unexpected letterbox/pillarbox presence
• Baseband audio errors: – Loudness and true peak limits – Clipping – Silence and mute
Automated Workflow • QC systems can monitor “watch folders”
for new content and automatically add these files to the set to be tested
• QC results determine the next step – Files that pass can be moved to an
output folder for automatic transcoding or moved to a playout server
– Files that fail can be moved to a “quarantine” folder for manual inspection
Manual file copy or Automatic file transfer
Watch Folder
QC System
Monitoring files
Output Quarantine
Manual file copy or Automatic file transfer
Watch Folder
QC System
Periodic monitoring for new files
Output Quarantine
Media Asset Management (MAM) Systems
• Definitions: – Content = Essence + Metadata – Media Asset = Content + Usage rights
• Media Asset Management is the process of creating, archiving, repurposing, searching, and retrieving media assets
• Metadata is the key to an effective MAM system – Criteria for asset searches – Structural metadata: used to define the internal format of the file – Descriptive metadata: title, play length, date, keywords, etc.
• Workflow automation – Repetitive tasks do not need manual intervention (move asset to
archive after playout, QC of asset after ingest and transcode, etc.) – Requires the need to “glue” together products from different
vendors, such as with a Web Services interface
Quality Control Reports • QC reports are generated from the QC
system for each file (or set of related files)
• Ideally in both a human-readable format and a machine-readable – XML files frequently used for this
purpose, satisfying both needs • QC report information includes details
on errors found in the file, and measured values (e.g. play duration, peak levels)
... <audioattribute name="Loudness" trackid="482" units="LKFS" value="-28.5" /> ...
File Quality Control • Request–response messaging
between the MAM system (client) and QC system (server)
• Status is obtained by polling the server
• SOAP messages are formatted as XML
• Report data is easily sent by a response message
MAM System QC System
CreateJob (asset, profile, priority, jobID)
Response = (success)
GetJobStatus (jobID)
Response = (processing, x% complete)
GetJobStatus (jobID)
Response = (completed, 100%)
GetQCReport (jobID, asset)
Response = (XML objects)
32
• Monitors the actual Video Elementary
Stream to identify quality degradation • QoE Reason codes clearly identify root
cause of video and audio impairments • Reflects the overall subscriber TV
viewing & audio experience • Can detect impairments that are not
caused by network impairments such as jitter, dropped packets or discontinuities
• Automatically & continuously evaluates all video programs in real time
QoE Reason Codes (Video Syntax Error)
Core to Edge Trend Reporting: QoE
=
End to End Signal Flow M
a t r i x
Composite Encoder
A to D Conv Serializer
R G B
Clock x10
Y
R-Y B-Y
37.125 MHz Sample
Rate for B-Y and R-Y
74.250 MHz Sample
Rate for Y
Serializer
Clock X10
Serial Digital Component
1.485 Gb/sec
Y R-Y B-Y
10 Bits Parallel
Parallel Digital Component
Serial Digital Composite 143Mb/sec (NTSC) 177Mb/sec (PAL)
Parallel Digital Composite PAL=17.7MHz
NTSC=14.3MHz
Multiplexed B-Y/Y/R-Y/Y/B-Y/Y
10 Bits Parallel 148.5 Mb/s
4Fsc (PAL=17.7MHz)
(NTSC=14.3MHz) Component
Analog Video (RGB)
Analog Composite Video (PAL/NTSC)
Encoder
File
A to D Conv Audio
Color Difference Component Analog Video (Y, B-Y, R-Y)
Transport Stream Transmission Channel
Tx
Transmission Channel
Rx Decoder
Protocol Transport Stream
Transmission Channel Analysis
GigE Copper/Optical
8VSB
COFDM QAM
DVB-S2
Protocol Analysis
Picture Quality
Analysis
SDI HDMI/HDCP
Program Stream or
Other Wrapper
Data
Audio
Data
Analog Composite or Component
A to D Conv
A to D Conv