Subjective video quality study · video selection guide

gMAD Select Video Clips

The chosen 84 pilot pairs are listed at the bottom.

1,296Candidate videos
3,780Attack tasks
3,414Tasks with a selected pair
1,225Distinct gMAD pairs
84Pilot pairs

What counts as one attack task?

How does gMAD work? First, each pooling rule scores the candidate videos. The rules then take turns as “defender” and “attacker.” The attacker seeks two videos that the defender rates almost equally but the attacker rates very differently. People must compare the selected videos to determine which rule better matches perceived quality; that human evaluation has not yet been done.

Method reference: K. Ma et al., “Group maximum differentiation competition: Model comparison with few samples,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 42, no. 4, pp. 851–864, 2020, doi: 10.1109/TPAMI.2018.2889948.

A task is specified by one scene, one defender rule, a different attacker rule, and one quality bin.

For example: “In the middle-quality bin of bistro, let median defend and mean attack.” The program looks for two videos that median rates almost equally but mean rates as differently as possible. A task succeeds only if the pair meets the predefined defender and attacker gap criteria. A task with no valid pair still counts as an attempted task.

6 scenes × 15 defender rules × 14 other attacker rules × 3 quality bins = 3,780 tasks

Why is K=3 different from searching all videos once? The three bins together do contain every candidate video. Without bins, however, each defender–attacker combination would select just the single pair with the largest disagreement, possibly concentrating selections in one score range. With K=3, the attacker searches separately within the defender's low-, middle-, and high-score bins and can obtain up to three pairs. Both videos in a pair must belong to the same bin, and the defender and attacker gap thresholds still apply. For example, if the largest attacker gaps in the three bins are 1.0, 0.8, and 0.3, a search without bins would select only the 1.0 pair; binning attempts to select one pair from each bin. K=3 makes every bin eligible for an attempt, but does not guarantee equal numbers of pilot pairs from each bin.

3,414 tasks yielded a pair. Different tasks can select the same two videos; after deduplication, there are 1,225 distinct pairs.

insufficient_attack_gap: 222 means a pair was close enough under the defender, but the largest available score difference under the attacker fell below the required threshold. Those 222 tasks had no valid attack; this does not establish that the defender wins. Rules with identical predictions cannot attack each other effectively either.

Why do some rules give identical scores?

The comparison uses 15 pooling rules in the code. Under the current parameters and video duration, some differently named rules produce the same result for every candidate:

Equivalent rulesWhy
mean = last_frames_mean = cumulative_qualityWith these 4.5-second videos and current parameters, each rule gives every candidate the same overall mean score.
median = kth_percentileThe 50th percentile is the median.

How long are the time windows?

The original study's 25 fps durations are converted to 120 Hz: 100 frames, or 4 seconds, becomes 480 frames; 125 frames, or 5 seconds, becomes 600 frames.

worst_window slides a 4-second window across the entire 4.5-second video. exp_weighted_minkowski uses a 4-second weighting decay scale. The 5-second last_frames_mean window covers the whole video, so it equals mean. hysteresis explicitly uses 120 Hz and a 2-second memory.

Four position-weighting rules

Split each 4.5-second video into three 1.5-second chunks, average the scores within each chunk, and combine the three means using these weights.

RuleFirstMiddleLastIn plain language
early_dominance100Only the first chunk counts
late_dominance001Only the last chunk counts
increasing_weights1/62/63/6Later chunks matter more
decreasing_weights3/62/61/6Earlier chunks matter more

How many frame scores were negative?

The 108 chunk files contain 19,440 frame scores. Of these, 18 scores are below zero, spread across 6 files. The table lists every negative record in the CSV. Frame indices start at zero; “position in full video” is where that frame would fall after assembling the 4.5-second video.

SceneChunkSettingFrame index in chunkPosition in full video (s)Score
gallery31080p301434.192-0.092
gallery31080p301444.200-4.931
gallery31080p301484.233-0.286
gallery31080p301494.242-0.509
gallery31080p601434.192-0.105
gallery31080p601444.200-5.021
gallery31080p601484.233-0.489
gallery31080p601494.242-0.656
gallery3720p301434.192-0.094
gallery3720p301444.200-4.937
gallery3720p301484.233-0.302
gallery3720p301494.242-0.523
gallery3720p601434.192-0.107
gallery3720p601444.200-5.026
gallery3720p601484.233-0.503
gallery3720p601494.242-0.668
rogue21080p301082.400-0.965
rogue2720p301082.400-0.869

These are per-frame proxy scores exported from CVVDP video-mode features. This run excludes the 18 negative records from the pooling inputs. It neither replaces them with zero nor adds a positive offset. The lowest retained raw score is 0.145. As a result, 216 candidate score sequences have fewer than 540 frames, although the videos themselves remain 4.5 seconds long. These are screening scores based on shortened sequences; the assembled videos still need full-video verification before use.

How close must the defender's scores be?

For each scene and defender rule, take its scores for the 216 candidate videos. The 95th percentile minus the 5th percentile is the width of the usual score range, excluding the extremes. The maximum permitted difference between the two videos is the smaller of 5% of that width and 0.10.

Defender score difference ≤ min(0.10, 5% × [defender p95 − p5])

Actual example: for mean on bistro, p5 is about 8.10 and p95 about 9.86. The usual range is about 9.86 − 8.10 = 1.76 points; 5% of it is about 0.088 points. Thus, when mean defends, a pair's scores may differ by at most about 0.088 points. This is a selection threshold, not evidence from human judgments that viewers cannot tell the videos apart.

How were the 84 pilot pairs chosen?

Each scene contributes 10 gMAD pairs + 2 random pairs + 2 diagnostic pairs, giving 84 pairs across 6 scenes. A pair linked to several attack tasks is shown only once.

  1. 60 gMAD pairs: Choose 10 per scene from the full list of distinct gMAD pairs. Prefer pairs that cover more different defender–attacker–quality-bin combinations; break ties by the larger attacker score gap. This is not a random sample of 60 pairs.
  2. 12 random pairs: Two per scene. Sample one from pairs where both videos keep fixed settings throughout, and one from pairs where at least one video changes settings. These pairs need not satisfy the gMAD gap criteria.
  3. 12 diagnostic pairs: Two per scene. One compares reversed orders of quality changes. The other compares fixed settings against changing settings, with similar mean scores. The reversal pair does not have to have similar mean scores.

What does “cover a task” mean? If an attack task selected a video pair and that pair enters the pilot, the task is covered. For example, suppose a chosen pair already covers tasks 1 and 2. A candidate linked only to tasks 1 and 2 adds little, while a candidate that also covers task 3 is preferred. The selection counts newly covered defender–attacker–quality-bin combinations, rather than simply how often a pair appears. Each pair is shown only once.

Each video lasts 4.5 seconds, so one A/B viewing takes 9 seconds. Allowing roughly 20 seconds per pair for viewing and response gives about 28 minutes of trials for 84 pairs. Add practice, replays, and breaks when planning the full session. Randomize A/B presentation order. No human ratings are available yet, so these results do not rank the pooling rules by perceptual accuracy.

Pilot pair list

A and B are only list labels here; their playback order must be randomized for participants.

ScenePair IDVideo A: three settingsVideo B: three settingsPurposeLinked gMAD tasks
bistropair_023337808c4c720p60 / 720p120 / 1080p30720p60 / 720p60 / 1080p120gMAD: covers additional attack tasks18
roguepair_05dc676395171080p120 / 1080p120 / 720p301080p30 / 1080p30 / 1080p30gMAD: covers additional attack tasks11
schoolpair_08aa0e6386aa1080p120 / 1080p120 / 720p601080p30 / 720p30 / 720p60gMAD: covers additional attack tasks9
gallerypair_08eba7e816b91080p120 / 720p30 / 1080p601080p30 / 1080p120 / 1080p120gMAD: covers additional attack tasks10
schoolpair_09c72bd2f3db720p120 / 720p30 / 1080p30720p30 / 1080p120 / 1080p120gMAD: covers additional attack tasks8
bistropair_0e4f2997d49e720p60 / 1080p120 / 1080p120720p60 / 1080p30 / 1080p30gMAD: covers additional attack tasks5
roguepair_12911214472c1080p120 / 1080p120 / 720p1201080p30 / 1080p30 / 720p120gMAD: covers additional attack tasks7
roguepair_164af4eca0441080p120 / 720p30 / 1080p120720p60 / 1080p30 / 1080p30gMAD: covers additional attack tasks9
schoolpair_1b640faed4881080p120 / 1080p120 / 720p301080p30 / 720p30 / 1080p120gMAD: covers additional attack tasks10
roguepair_1d23b60a353a1080p120 / 1080p120 / 1080p601080p30 / 1080p30 / 720p60gMAD: covers additional attack tasks9
schoolpair_1e1d4108731e1080p30 / 1080p60 / 1080p120720p60 / 720p60 / 720p60Diagnostic: fixed vs. changing settings, with similar mean scores0
gallerypair_25043207a8871080p120 / 1080p30 / 1080p301080p30 / 1080p30 / 1080p120Diagnostic: reversed order of changes0
schoolpair_25a16a7c820d1080p120 / 1080p120 / 1080p1201080p120 / 1080p120 / 1080p30gMAD: covers additional attack tasks20
sibenikpair_28fa39fd10d81080p120 / 1080p30 / 1080p60720p60 / 720p60 / 720p60Diagnostic: fixed vs. changing settings, with similar mean scores0
schoolpair_29564eb81b5e1080p120 / 1080p120 / 720p301080p30 / 720p30 / 1080p30gMAD: covers additional attack tasks11
makewaypair_2b427269b9b5720p60 / 1080p60 / 1080p120720p60 / 720p120 / 1080p30gMAD: covers additional attack tasks16
bistropair_2b48f816ce981080p120 / 1080p120 / 1080p120720p60 / 720p60 / 720p60Random: both videos have fixed settings0
roguepair_3f893dae5d831080p120 / 1080p30 / 1080p1201080p30 / 1080p30 / 1080p30gMAD: covers additional attack tasks11
sibenikpair_43738372f8a11080p120 / 1080p120 / 1080p1201080p30 / 1080p30 / 720p120gMAD: covers additional attack tasks10
sibenikpair_44a1a3595210720p120 / 1080p60 / 1080p30720p30 / 720p60 / 1080p120gMAD: covers additional attack tasks12
bistropair_454808dc81eb1080p120 / 1080p120 / 720p60720p30 / 1080p60 / 720p60gMAD: covers additional attack tasks14
makewaypair_46d9839a6c321080p60 / 1080p120 / 1080p1201080p60 / 1080p30 / 1080p30gMAD: covers additional attack tasks9
schoolpair_48d6ffefa6f4720p30 / 1080p120 / 1080p120720p60 / 720p30 / 1080p30gMAD: covers additional attack tasks10
roguepair_4b191ea306e51080p120 / 720p120 / 720p301080p30 / 1080p30 / 1080p120gMAD: covers additional attack tasks11
makewaypair_4bbe31ac94191080p120 / 1080p120 / 1080p60720p30 / 1080p30 / 720p60gMAD: covers additional attack tasks8
gallerypair_50e44dc39912720p120 / 1080p60 / 1080p60720p60 / 1080p120 / 1080p120gMAD: covers additional attack tasks10
gallerypair_50fb381f91b91080p120 / 1080p60 / 1080p30720p60 / 720p60 / 720p60Diagnostic: fixed vs. changing settings, with similar mean scores0
schoolpair_550a833006721080p60 / 720p60 / 1080p30720p30 / 720p120 / 1080p120Random: at least one video changes settings0
makewaypair_57ea1a45b39b720p30 / 1080p120 / 1080p120720p30 / 1080p30 / 1080p30gMAD: covers additional attack tasks7
sibenikpair_5caac991ecef720p120 / 720p120 / 1080p30720p30 / 1080p120 / 1080p120gMAD: covers additional attack tasks15
bistropair_5f722f87b2411080p60 / 1080p60 / 1080p60720p30 / 1080p120 / 720p60Diagnostic: fixed vs. changing settings, with similar mean scores0
gallerypair_68100c14bee21080p30 / 1080p30 / 1080p30720p30 / 1080p120 / 1080p120gMAD: covers additional attack tasks12
makewaypair_68d70f1a30471080p120 / 720p30 / 1080p120720p60 / 720p30 / 720p60gMAD: covers additional attack tasks9
makewaypair_6ca22e0b048a1080p30 / 720p30 / 1080p120720p60 / 720p60 / 1080p30gMAD: covers additional attack tasks12
makewaypair_72276c925a711080p120 / 1080p120 / 720p30720p30 / 1080p30 / 720p120gMAD: covers additional attack tasks15
sibenikpair_73932c5e01691080p60 / 1080p30 / 1080p30720p60 / 1080p120 / 1080p120gMAD: covers additional attack tasks9
schoolpair_7571c81f643a1080p120 / 720p30 / 1080p301080p30 / 720p30 / 1080p120Diagnostic: reversed order of changes0
sibenikpair_76a3aada85f11080p120 / 1080p120 / 1080p120720p120 / 1080p30 / 1080p30gMAD: covers additional attack tasks11
roguepair_79bffdec032e1080p120 / 1080p120 / 1080p1201080p120 / 1080p30 / 1080p30gMAD: covers additional attack tasks5
sibenikpair_7e77a0cb518a1080p120 / 720p30 / 1080p301080p30 / 720p30 / 1080p120Diagnostic: reversed order of changes0
bistropair_7f992559939b720p60 / 1080p30 / 720p120720p60 / 720p120 / 1080p30Random: at least one video changes settings0
schoolpair_804d10010c8c1080p60 / 1080p120 / 1080p120720p60 / 720p60 / 720p60gMAD: covers additional attack tasks9
sibenikpair_8072215cf0c31080p120 / 1080p30 / 1080p1201080p30 / 720p30 / 1080p30gMAD: covers additional attack tasks12
schoolpair_828b440bbd121080p120 / 1080p120 / 1080p30720p30 / 1080p120 / 1080p120gMAD: covers additional attack tasks16
bistropair_85ab377be66a1080p120 / 1080p120 / 720p30720p30 / 1080p30 / 720p120gMAD: covers additional attack tasks10
bistropair_87cc4b22c5971080p60 / 1080p120 / 1080p30720p30 / 1080p60 / 1080p120gMAD: covers additional attack tasks8
roguepair_89fa295cd1e41080p120 / 1080p120 / 1080p120720p120 / 720p120 / 720p120Random: both videos have fixed settings0
bistropair_8e445ae5d7e91080p120 / 720p30 / 1080p301080p30 / 720p30 / 1080p120Diagnostic: reversed order of changes0
bistropair_8ffe5f4a41381080p30 / 1080p120 / 1080p120720p30 / 1080p30 / 1080p30gMAD: covers additional attack tasks7
makewaypair_92798fc906b61080p30 / 1080p120 / 1080p120720p60 / 1080p30 / 720p60gMAD: covers additional attack tasks8
makewaypair_9a0db3fbd4a61080p120 / 720p30 / 720p30720p30 / 720p30 / 1080p120Diagnostic: reversed order of changes0
makewaypair_9bdf27140990720p60 / 1080p120 / 1080p120720p60 / 1080p30 / 1080p30gMAD: covers additional attack tasks8
roguepair_9d0cac97c1101080p30 / 1080p30 / 1080p30720p30 / 1080p120 / 1080p120gMAD: covers additional attack tasks11
bistropair_9d9cc42ba9771080p120 / 1080p120 / 1080p30720p30 / 1080p30 / 1080p30gMAD: covers additional attack tasks6
makewaypair_9f563b1adde41080p120 / 1080p120 / 720p30720p30 / 1080p30 / 1080p30gMAD: covers additional attack tasks18
gallerypair_a33f8044b804720p120 / 720p120 / 1080p30720p60 / 720p60 / 1080p120gMAD: covers additional attack tasks16
schoolpair_a488936bccb41080p30 / 720p30 / 1080p30720p30 / 1080p120 / 1080p120gMAD: covers additional attack tasks11
makewaypair_a4ff99b2048e1080p120 / 1080p120 / 1080p120720p120 / 720p120 / 720p120Random: both videos have fixed settings0
schoolpair_ae5dfe1d5086720p120 / 720p120 / 720p120720p60 / 720p60 / 720p60Random: both videos have fixed settings0
makewaypair_b0e83fd977431080p30 / 1080p120 / 1080p60720p30 / 1080p120 / 1080p120Random: at least one video changes settings0
schoolpair_b35361faa0ee1080p60 / 1080p120 / 1080p120720p60 / 720p30 / 1080p30gMAD: covers additional attack tasks9
gallerypair_b6440adb868f1080p60 / 1080p30 / 1080p30720p60 / 1080p120 / 1080p120gMAD: covers additional attack tasks9
sibenikpair_b70b7a5d54841080p60 / 1080p60 / 1080p60720p60 / 720p60 / 720p60Random: both videos have fixed settings0
gallerypair_b7a579e6bc5d1080p120 / 1080p120 / 1080p120720p120 / 1080p30 / 1080p30gMAD: covers additional attack tasks11
bistropair_babe5c86de8b1080p120 / 1080p120 / 720p30720p30 / 1080p30 / 720p30gMAD: covers additional attack tasks20
makewaypair_c00c1b272b8d1080p60 / 1080p60 / 1080p60720p30 / 720p120 / 1080p120Diagnostic: fixed vs. changing settings, with similar mean scores0
roguepair_c049b648d021720p120 / 1080p30 / 1080p120720p60 / 720p60 / 720p60Diagnostic: fixed vs. changing settings, with similar mean scores0
gallerypair_c49d2c8741c51080p30 / 1080p30 / 1080p30720p60 / 720p60 / 720p60Random: both videos have fixed settings0
roguepair_c764cca13103720p60 / 720p120 / 720p120720p60 / 720p30 / 1080p30Random: at least one video changes settings0
gallerypair_ca0c3409883a1080p120 / 1080p120 / 720p601080p60 / 1080p60 / 1080p60gMAD: covers additional attack tasks12
bistropair_cb1a0d47a4d11080p60 / 1080p120 / 1080p1201080p60 / 1080p30 / 1080p30gMAD: covers additional attack tasks7
gallerypair_cb42333b57c31080p120 / 1080p120 / 720p301080p30 / 1080p30 / 720p120gMAD: covers additional attack tasks12
sibenikpair_d149c9e6cdc51080p120 / 720p60 / 1080p120720p60 / 720p60 / 1080p60Random: at least one video changes settings0
roguepair_d18a6ffe8ba71080p120 / 720p30 / 720p301080p30 / 1080p30 / 1080p120gMAD: covers additional attack tasks6
gallerypair_d2f3ba3e43aa1080p120 / 1080p120 / 720p301080p30 / 1080p30 / 1080p30gMAD: covers additional attack tasks11
bistropair_d749b48baf2c1080p120 / 1080p120 / 720p120720p30 / 1080p30 / 720p120gMAD: covers additional attack tasks6
sibenikpair_d888a87fb19c1080p120 / 1080p120 / 720p601080p30 / 1080p30 / 1080p60gMAD: covers additional attack tasks9
roguepair_de1e9c964fb01080p120 / 720p60 / 1080p301080p30 / 720p60 / 1080p120Diagnostic: reversed order of changes0
gallerypair_eb0817cbcddc1080p120 / 1080p120 / 1080p1201080p30 / 1080p30 / 720p120gMAD: covers additional attack tasks11
sibenikpair_ed2d8e451356720p120 / 1080p30 / 1080p30720p30 / 720p30 / 1080p120gMAD: covers additional attack tasks14
sibenikpair_f8e42d05324a1080p120 / 1080p120 / 1080p120720p120 / 1080p30 / 720p120gMAD: covers additional attack tasks16
gallerypair_f92009fee8b4720p60 / 720p60 / 1080p60720p60 / 720p60 / 720p120Random: at least one video changes settings0
sibenikpair_fe6eae1b9b83720p30 / 1080p120 / 1080p120720p30 / 1080p60 / 720p120gMAD: covers additional attack tasks10
roguepair_ffee25e8953e720p60 / 1080p120 / 1080p120720p60 / 1080p30 / 1080p30gMAD: covers additional attack tasks8

What is the difference between the two pair lists?

All distinct gMAD pairs: Every pair selected by a successful attack task, with duplicate video combinations removed; this run has 1,225 pairs. Pilot pair list: The 84 pairs for a small-scale study: 60 from the full gMAD list, plus 12 random and 12 diagnostic pairs.

This is a first screening based on concatenated chunk-level score sequences. Before using the selected items, assemble the chunks into actual 4.5-second videos and verify CVVDP scores at the transitions using the full videos. Also check that chunk content is continuous in the rogue scene.