Analyze Video Blockiness
If you need to determine if your source files or outputs are suffering from blocking artifacts due to compression errors or low bit rates, the video blockiness analysis can provide a way to verify quality and/or view problem areas.
The wide range of settings for this analysis type will allow you to refine the parameters to work for your specific needs:
algorithm
- options:
gbim
,npbm
,hybm
GBIM and NPBM are standard algorithms for blockiness analysis; HYBM is a Hybrik proprietary algorithm, less sensitive to false positives.
- options:
violation_threshold
- Sets the blockiness threshold to trigger a blockiness violation.
violation_frame_window
- Sets the minimum number of frames where the threshold is exceeded to count as a blockiness violation.
- Default is
1
.
max_report_violations
- Sets the maximum number of violations to be reported.
Sample Usage
The sample json below is set to detect blockiness in video.
{
"uid": "analyze_task",
"kind": "analyze",
"payload": {
"general_properties": {
"enabled": true
},
"deep_properties": {
"video": {
"blockiness": {
"algorithm": "hybm",
"enabled": true,
"violation_frame_window": 5,
"violation_threshold": 0.2,
"max_report_violations": 5
}
}
}
}
}
Analyzer Results
Results from running this analysis on a file with blockiness will be reported in the Hybrik console, as well as in the job summary json, in the “analyzer / deep_properties” section of the job result json.
In the Hybrik console:
- Select the completed job from the list in the upper pane
- In the lower pane click the “Task Details” tab
- Click the “Analyzer Results” box
- Expand the view
Console view:
Expanded Analyzer Results view:
The expanded view displays the numeric values from the analysis in the left-side pane, and a graphical representation of the blockiness levels over the duration of the video on the right side. The higher points of the line on the graph indicate higher levels of blockiness in the video.
job summary json excerpt:
"deep_properties": {
"video": {
"blockiness": {
"frames": 1439,
"mean": 1.184,
"stddev": 0.33,
"mean_center": 1.286,
"stddev_center": 0.5783,
"mean_border": 1.049,
"stddev_border": 0.0964,
"min": 0.9872,
"min_pos_frame": 1238,
"min_pos_sec": 51.6,
"max": 2.676,
"max_pos_frame": 67,
"max_pos_sec": 2.79
}
}
}