Filter Descriptions

  1. YUV Values/ MIN, AVG, MAX, LOW, HIGH
  2. YUV Values/ Difference
  3. Saturation
  4. Hue
  5. Temporal Outliers
  6. Vertical Line Repetitions
  7. Broadcast Range
  8. Crop Width (CropW)
  9. Crop Height (CropH)
  10. Peak Signal to Noise Ratio (PSNRf)
  11. Mean Square Error (MSEf)

1. YUV Values/ MIN, AVG, MAX, LOW, HIGH

YUV refers to a particular a way of encoding color information in analog video where Y channels carry luma, or brightness information (wikipedia.org/wiki/Luma), and U and V channels carry information about color, or chrominance (wikipedia.org/wiki/Chrominance). QCTools can analyze the YUV Values of a particular encoded video file in order to provide information about the appearance of the video. These filters examine every pixel in a given channel and records the Maximum, Minimum, and Average values.
(For in-depth descriptions of how luma and/or chroma noise -- and other types of artifacts-- may present, the A/V Artifact Atlas is an excellent reference.)

Y Value Filters: YMIN, YAVG, YMAX

Filter Domain Filter Name(s) Values*
 Y Channel   YMIN, YAVG, YMAX   0-255

*Appropriate for the 8-bit video samples analyzed by this tool.

Y Channels carry data about the brightness of a picture. Problematic variance in Y Channel values will manifest as a picture that is either too light or too dark, also known as containing luma noise. 8-bit video will have values falling in the range of 0-255 code values per pixel. A picture with well-balanced light levels will have an average, or mid-range Y Channel value of around 128 (YAVG). Graph readings outside of that range will indicate a picture that is either too bright or too dark. A Y Value of 0 would indicate total blackness and a value of 255 would present as entirely white. In the range of values, reference black is at value 16, while reference white is at value 235. Except during particular moments like scene changes where one might expect abrupt spikes , the average values of Y channels should remain relatively stable or constant with little variation. Portions of video showing extreme changes in average values (and not corresponding to a scene change or otherwise dramatic edit) likely indicate a picture error. Where you may expect luma spikes could be camera fade-ins/outs, or a sudden brightness in the picture, like a camera flash, for example.

Y values = Combined graph of YMAX, YHIGH, YAVG, YLOW, and YMIN
YMIN = Y channel minimum
YLOW = Y channel 10th percentile
YAVG = Y channel average
YHIGH = Y channel 90th percentile
YMAX = Y channel maximum

Samples which demonstrate Y Value anomalies:

In the graph below, you can see the YMAX spikes which would manifest as white lines across the video picture:
YMAX spikes

The graph below illustrates a reading with many luma spikes in the YLOW, YAVG, and YHIGH, most notably in the first second of the graph.

luma spikes

Filter Domain Filter Name(s) Values*
 Y Channel   YLOW, YHIGH   16-235
 U Channel   ULOW, UHIGH   16-235
 V Channel   VLOW, VHIGH   0-255

Y Value Filters: YLOW, YHIGH

This filter works in a similar fashion as the YUV *MIN and *MAX filters, but instead of looking at the absolute minimum and maximum value for these channels, it looks at the 10th percentile (LOW, or 16 pixels) and 90th percentile (HIGH, or 235 pixels) which present the outside limits or 'headroom' of the legal broadcast range. An extreme minimum or maximum value could dramatically skew the graph but because they may be outside the viewable broadcast image (or the range of human perception), they may not necessarily be meaningful indicators of a problematic visual image that can be human-detectable. This is why Low/High measurements are so useful-- they ignore the extreme outliers (Min/ Max) in favor of those abnormalities which fall in the range of human perception.

Samples which demonstrate YUV LOW/HIGH anomalies:

YHIGH

U, V Value Filters: UMIN, UAVG, UMAX/ VMIN, VAVG, VMAX

Filter Domain Filter Name(s) Values
 U Channel   UMIN, UAVG, UMAX   0-255
 V Channel   VMIN, VAVG, VMAX   0-255

The U and V Channels represent the chrominance, or color differences of a picture. U and V filters act to detect color abnormalities in video. It can be difficult to derive meaning from U or V values on their own, but they provide supplementary information and can be good indicators of artifacts, especially when occurring in tandem with similar Y Value readings. Black and white video contains no chrominance information so should present flat-lines (or no data) for UV channels. Activity in UV Channels for black and white video content, however, would certainly be an indication of chrominance noise. Alternatively, a color video which shows flat-lines for these channels would be an indicator of a color drop-out scenario.

U values, V values = Combined graph of UMIN, ULOW, UAVG, UHIGH, and UMAX, Combined graph of VMIN, VLOW, VAVG, VHIGH, VMAX

UMIN, VMIN = U channel minimum, V channel minimum
ULOW, VLOW = U channel 10th percentile, V channel 10th percentile
UAVG, VAVG = U channel average, V channel average
UHIGH, VHIGH = U channel 90th percentile, V channel 90th percentile
UMAX, VMAX = U channel maximum, V channel maximum

Samples which demonstrate U/V Value anomalies:

The graph of this video file shows dramatic spikes and drops in U and V MIN/MAX values. You can also see attendant activity in the Sat (Saturation) and MSEf (Mean Square Error) filters (see descriptions below).

UV Values

This is a good example of dramatic activity in U and V channels showing around the 4-6s mark, corresponding to chrominance noise in the video (visible rainbow-ed speckles across the picture).

UV Channels

Notice U noise in the graph below from approximately 2.86s to 4.37s. Also seen in UDIF reading.

U Noise

2. YUV Values/ Difference

Filter Domain Filter Name(s)
 Y Channel   YDIF 
 U Channel   UDIF 
 V Channel   VDIF 

This QCTools filter selects two successive frames of video and subtracts the values of one from the other in order to find the change, or difference, between the two frames (measured in pixels). This information is meaningful in that it indicates the rapidity with which a video picture is changing from one frame to the next. Aside from scene-change scenarios, a video picture should not undergo dramatic changes in these values unless an artifact is present. A scene-change would present as a short but dramatic spike in the graph, and that is normal. Other YUV Difference spikes may be present in cases where picture problems are visible. Often, head problems with corrupted frames will result in large YUV Difference values/graph spikes.

YDIF = Difference of Y Channel between two frames
UDIF = Difference of U Channel between two frames
VDIF = Difference of V Channel between two frames

Samples which demonstrate YUV Difference anomalies:

YUV Differences

3. Saturation

Filter Domain Filter Name(s) Range
 Saturation   Sat   0-180 

'Saturation' is a measure of the degree to which a color is diluted with white light; in other words--how vivid or 'true' a color is. Other terms, like 'bright', 'pale', 'pastel' 'washed out', etc. may be used to be speak to the quality of Saturation. A vectorscope view is a good way to see Saturation data--a large plot area indicates much saturation while a small plot area indicates little to none. A Saturation rate of 128 is considered illegal because data in this range can't be translated to/from camera data, and a videotape is technically incapable of storing values in this range (or beyond).

4. Hue

Filter Domain Filter Name(s) Range
 Hue   Hue   0-360 

'Hue' is a term used to describe color; "Blue" or "Red" can be thought of as Hues (see also 'Saturation'). In analyzing video, skin tone is often a good baseline against which to measure appropriate color representation. Skin tone should fall in the 128 range; if skin tone registers significantly above or below that number, it's likely an indication that your video isn't accurately storing or displaying color data accurately.

5. Temporal Outliers (TOUT)

Filter Domain Filter Name(s) Range
 Temporal Outliers   TOUT   0.00-0.09 

This filter was created to detect white speckle noise in analog VHS and 8mm video. It works by analyzing the current pixel against the two above and below and calculates an average value. In cases where the filter detects a pixel value which is dramatically outside of this established average, the graph will show small spikes, or blips, which correspond to white speckling in the video. The range of 0.00-0.09 is considered normal, and anything above that range is a questionable quality issue.

Samples which demonstrate Temporal Outliers' anomalies:

You can see several blips in the graph reading, especially around 7.5s, 15s, and 24s

Temp Outliers

6. Vertical Line Repetitions (VREP)

Filter Domain Filter Name(s) Range
 Vertical Line Repetitions   VREP   0.00-0.92 

Vertical Line Repetitions, or the VREP filter, is useful in analyzing U-Matic tapes and detecting artifacts generated in the course of the digitization process. Specifically, VREP detects the repetition of lines in a video. If a time base corrector notices a video signal dropout, it will compensate by playing the same line of data several times, hence the appearance of repetitious lines.The filter works by taking a given video line and comparing it against a video line that occurs 4 pixels earlier. If the difference in the two is less than 512, the filter reads them as being close enough to be appear repetitious. Cleaning your deck and/or tape may remediate this problem.

Samples which demonstrate Vertical Repetition anomalies:

Vertical Repetitions 1
Vertical Repetitions 2

7. Broadcast Range (BRNG)

Filter Domain Filter Name(s) Range
 Broadcast Range   BRNG   0.00-0.79

The BRNG filter is one that identifies the number of pixels which fall outside the standard video broadcast range of 16-235 pixels. Normal, noise-free video would not trigger this filer, but noise occurring outside of these parameters would read as spikes in the graph. Typically anything with a value over 0.01 will read as an artifact. While the RANG filter is good at detecting the general presence of noise, it can be a bit non-specific in its identification of the causes.

BRNG = Broadcast Range

Samples which demonstrate Broadcast Range anomalies:

Broadcast Range Anomaly 1 Broadcast Range Anomaly 2

8. Crop Width (CropW)

This filter detects portions on either side of your video which may contain not contain any picture data. In the case of pillarboxing, for example, you'll have black bars on the left and right sides of your video. This filter will detect and present that information in the graph reading.

9. Crop Height (CropH)

This filter enables you to view which parts, if any, of your video which contain no picture data. In the case of letterboxing, for example, you'll have black bars both above and below your picture. This filter would detect and present that in the graph reading.

10. Peak Signal to Noise Ratio (PSNRf)

This filter plots the Peak Signal to Noise Ratio between the video in field 1 (odd lines) versus the video in field 2 (even lines). Lower values indicate that field 1 and field 2 are becoming more different as would happen during a playback error such as a head clog. See http://ffmpeg.org/ffmpeg-filters.html#psnr for more information.

Samples which demonstrate Peak Signal to Noise Ratio anomalies:

PSNRf

10. Mean Square Error (MSEf)

This filter is similar to PSNRf but reports on the Mean Square Error between field 1 and field 2. Higher values may be indicative of differences between the images of field 1 and field 2.

Samples which demonstrate Mean Square Error anomalies:

MSEf