Quality

Schema for describing different types of quality metrics and associated wrappers.

Note

The following top-level properties are required: metrics, bd-adjusted-metrics, weighted-metrics, wrappers.

Properties

[Required] metrics

Path: Quality > metrics

Type

array

Required

Yes

List of the available quality metrics that are computed by third-party tools.

Items of metrics

[Required] name

Path: Quality > metrics > items > name

Type

string

Required

Yes

Human-readable name of the metric (e.g., ‘PSNR Y’, ‘SSIM’).

Example(s):

"PSNR Y"
"SSIM"
"VMAF"

[Required] label

Path: Quality > metrics > items > label

Type

string

Required

Yes

Short identifier used in reports and file names (e.g., ‘PSNR_Y’).

Example(s):

"PSNR_Y"
"SSIM"
"VMAF"

[Required] tex_label

Path: Quality > metrics > items > tex_label

Type

string

Required

Yes

LaTeX formatted label for use in plots and documents.

Example(s):

"$\\text{PSNR}_\\text{Y}$"
"$\\text{SSIM}$"
"$\\text{VMAF}$"

[Optional] description

Path: Quality > metrics > items > description

Type

string

Required

No

Detailed explanation of what the metric measures.

Example(s):

"Peak Signal-to-Noise Ratio of the Y channel."

[Optional] unit

Path: Quality > metrics > items > unit

Type

string

Required

No

Measurement unit for the metric values (e.g., ‘dB’).

Example(s):

"dB"
""

[Required] quality-wrapper

Path: Quality > metrics > items > quality-wrapper

Type

string

Required

Yes

Reference to the wrapper that implements this metric calculation.

Example(s):

"vmaf_tool"
"compare_tool"

[Optional] convert-log

Path: Quality > metrics > items > convert-log

Type

boolean

Required

No

Whether the metric requires logarithmic conversion before analysis.

Example(s):

false

[Required] bd-adjusted-metrics

Path: Quality > bd-adjusted-metrics

Type

array

Required

Yes

List of metrics adjusted for Bjontegaard-Delta (BD) rate calculations.

Items of bd-adjusted-metrics

[Required] name

Path: Quality > bd-adjusted-metrics > items > name

Type

string

Required

Yes

Example(s):

"SSIM dB"
"VMAF dB"

[Required] label

Path: Quality > bd-adjusted-metrics > items > label

Type

string

Required

Yes

Mathematical expression showing the BD adjustment formula.

Example(s):

"-10{\\times}log_{10}(1-SSIM)"
"-10{\\times}log_{10}(1-\\frac{VMAF}{100})"

[Required] tex_label

Path: Quality > bd-adjusted-metrics > items > tex_label

Type

string

Required

Yes

LaTeX formatted label for the BD-adjusted metric.

Example(s):

"$\\text{SSIM}_\\text{dB}"
"$\\text{VMAF}_\\text{dB}"

[Optional] unit

Path: Quality > bd-adjusted-metrics > items > unit

Type

string

Required

No

Measurement unit for the adjusted values (typically ‘dB’).

Example(s):

"dB"

[Required] quality-wrapper

Path: Quality > bd-adjusted-metrics > items > quality-wrapper

Type

string

Required

Yes

Example(s):

"vmaf_tool"

[Optional] convert-log

Path: Quality > bd-adjusted-metrics > items > convert-log

Type

boolean

Required

No

[Required] origin

Path: Quality > bd-adjusted-metrics > items > origin

Type

string

Required

Yes

Identifier of the original metric before BD adjustment.

Example(s):

"float_ssim"
"vmaf"

[Required] adjustment_for_bd

Path: Quality > bd-adjusted-metrics > items > adjustment_for_bd

Type

string

Required

Yes

Function name that performs the BD-specific adjustment.

Example(s):

"ssim_adjustment_for_bd"
"vmaf_adjustment_for_bd"

[Optional] pooling-first

Path: Quality > bd-adjusted-metrics > items > pooling-first

Type

boolean

Required

No

Whether to pool frame-level metrics before BD adjustment.

Example(s):

true

[Required] weighted-metrics

Path: Quality > weighted-metrics

Type

array

Required

Yes

List of composite metrics calculated as weighted combinations of other metrics.

Items of weighted-metrics

[Required] name

Path: Quality > weighted-metrics > items > name

Type

string

Required

Yes

Example(s):

"PSNR YUV"

[Required] label

Path: Quality > weighted-metrics > items > label

Type

string

Required

Yes

Example(s):

"\\frac{6{\\times}PSNR_Y+PSNR_U+PSNR_V}{8}"

[Required] tex_label

Path: Quality > weighted-metrics > items > tex_label

Type

string

Required

Yes

LaTeX formatted label for the weighted metric.

Example(s):

"$\\text{PSNR}_\\text{YCbCr}$"

[Required] unit

Path: Quality > weighted-metrics > items > unit

Type

string

Required

Yes

Example(s):

"dB"

[Required] metrics

Path: Quality > weighted-metrics > items > metrics

Type

array of string

Required

Yes

Example(s):

[
    "psnr_y",
    "psnr_cb",
    "psnr_cr"
]

[Optional] weights

Path: Quality > weighted-metrics > items > weights

Type

object

Required

No

Optional weights for each component metric.

Example(s):

{
    "psnr_y": 4,
    "psnr_cb": 1,
    "psnr_cr": 1
}

[Required] wrappers

Path: Quality > wrappers

Type

array

Required

Yes

List of quality metric calculation implementations.

Items of wrappers

[Required] wrapper_id

Path: Quality > wrappers > items > wrapper_id

Type

string

Required

Yes

Example(s):

"vmaf_tool"
"compare_tool"

[Required] wrapper_file

Path: Quality > wrappers > items > wrapper_file

Type

string

Required

Yes

Example(s):

"vmaf_tool_wrapper"
"compare_tool_wrapper"

[Required] wrapper_name

Path: Quality > wrappers > items > wrapper_name

Type

string

Required

Yes

Example(s):

"VMAFMetrics"
"CompareMetrics"

[Required] short_name

Path: Quality > wrappers > items > short_name

Type

string

Required

Yes

Example(s):

"vmaf"
"compare"

[Required] raw_type

Path: Quality > wrappers > items > raw_type

Type

string

Required

Yes

Example(s):

"yuv"
"ppm"

[Optional] kwargs

Path: Quality > wrappers > items > kwargs

Type

object

Required

No

Example(s):

{
    "vmaf_executable_path": "${base-path}/../temporary/vmaf_tool"
}