)]}' { "commit": "8bdf95c84ac80bad230a87103411c55faad3d6ba", "tree": "a312cf72e46ad10283a386531d42916fcad60e82", "parents": [ "4873810cb8f2aa279bfd2cb73b6d79dfc48101f0" ], "author": { "name": "Paul Wilkins", "email": "paulwilkins@google.com", "time": "Thu Dec 05 10:54:36 2019 +0000" }, "committer": { "name": "Paul Wilkins", "email": "paulwilkins@google.com", "time": "Mon Dec 09 17:12:26 2019 +0000" }, "message": "Adjust rate control enumerator.\n\nThis adjustment is to improve behavior when stricter rate\ncontrol is specified on the command line.\n\nWhen the undershoot and overshoot limits are set to 25% the\nmetrics improvements are as follows.\n\n(Av psnr, Ov psnr, SSIM Psnr-hvs)\nLow Res -0.947\t-1.032\t-0.490\t-1.092\nUGC 360 -0.587\t-0.735\t0.229\t-0.966\nMid Res -0.335\t-0.408\t-0.127\t-0.517\nHd Res -1.012\t-1.108\t-0.224\t-0.930\n\nHowever the setting best for 25% os/us is a little worse for 100%\nwhich was the setting previously used to tune this number.\n\nLow Res 0.068\t0.149\t0.166\t0.047\nUGC 360 0.357\t0.226\t0.936\t-0.035\nMid Res -0.061\t0.101\t0.248\t-0.293\nHd Res 0.025\t0.236\t0.060\t0.019\n\nSo why the difference ?\n\nIn general using tighter rate control hurts metrics. If we are targeting\nthe number of bits spent on the clip closely we may spend extra bits,\nfor example, on frames where there is little objective or subjective benefit\nsimply because of undershoot on earlier frames.\n\nTwo rate control metrics come into play here. One (1) is forward looking and if\nthere was undershoot or overshoot in previous ARF groups it tries to do better\nin subsequent groups, but does not try and re-allocate bits. The second (2) more\nspecifically targets the total bits spent in the clip by reallocation of the bit budget.\n\nLowering the value of the enumerator used in choosing the active Q range a little\nseems to improve rate accuracy from (1) slightly and this has a small negative impact\non metrics when the rate error tolerance is 100 (which effectively disables (2)).\n\nHowever, when we set a tolerance of 25% the mechanism for (2) is activated less with\na lower enumerator and the improvements in metrics that result more than offset the\nnegative impact. Hence the observations here reflect the balance between the two rate\ncontrol methods and using (1) more aggressively and (2) less seems to give a better\noutcome.\n\nNote also that a reduction of the enumerator compared to that used in VP9 makes\nsense given the expectation that AV1 has improved compression efficiency.\n\nFinal results better for lower values of os/us % but neutral for 100%\n\nSTATS_CHANGED\n\nChange-Id: I9c9cfcfce66e74b739aac370c97c6391128b30bb\n", "tree_diff": [ { "type": "modify", "old_id": "17cd1e4dd47083140fae7302392818e5e7d05081", "old_mode": 33188, "old_path": "av1/encoder/pass2_strategy.c", "new_id": "4edcf306f1c57e4ec6216e642c3ec52de0ec62e9", "new_mode": 33188, "new_path": "av1/encoder/pass2_strategy.c" } ] }