]> granicus.if.org Git - libvpx/commit
Improved coding on slide show content.
authorpaulwilkins <paulwilkins@google.com>
Wed, 31 Jan 2018 16:42:37 +0000 (16:42 +0000)
committerpaulwilkins <paulwilkins@google.com>
Fri, 9 Feb 2018 15:13:25 +0000 (15:13 +0000)
commit2fa333c2ae1b6fcc1864de12a7ad344a16e2ac0a
treedf966c7cff05be465726a8f9f7ec59727c8c4175
parentb78dad3ffad819cb79f0430ed5dc176656110b34
Improved coding on slide show content.

This patch adds in detection of slide show key frame groups.
The detection assumes extremely  low or 0 motion for all frames
in the key frame group.

If this case is detected the boost level is set to a very high value
and the min Q to a lower value for the key frame itself.
Alt refs and golden frames are disabled to save bits (up to a limiting
maximum interval currently set to 240 frames).

In test samples that I created, this patch gave rise to a substantial
improvement in overall psnr and a drop in data rate. In some cases the
average psnr fell, however, with the boost and minQ values set as they are.

This is to be expected because previously a relatively poor key frame
could be followed by progressively better alt refs. For example a key
frame at q7.5 but subsequent alt refs improving it to lossless. Given that
average psnr tends to be dominated by the best frames, a ramp like this
from q7.5 to lossless may give a better average psnr than, for example,
coding the entire sequence at q2.5. Overall psnr, however, will be much
better in the latter case.  The option exists to boost the key frame further
which would  insure much better results for all metrics, but at the expense
of smaller bitrate savings. Given that these samples tend to have very
good quality anyway this seems like a bad trade off.

For slides displayed for several seconds, bitrate savings of >= 20% are likely
and much larger gains are possible in some cases.

Change-Id: Ib4b61e153c55d3f2f561153da13fdb56f397a52b
vp9/encoder/vp9_firstpass.c
vp9/encoder/vp9_firstpass.h
vp9/encoder/vp9_ratectrl.c
vp9/encoder/vp9_ratectrl.h