1

This question has no practical importance for a regular video production pipeline, but nonetheless it's something I find fascinating because it would imply video codecs use temporal sub-sampling methods in order to reduce bitrate, and those methods are controlled by the frame rate at encode time. So, here it goes:

Suppose I have a set of lossless images (like scanned frames on a film strip) I want to encode with a certain video compression algorithm, such as H.264. Assuming that the frames inside the newly compressed video stream will be later decompressed and played back at their correct speed by means of extracting the raw frames and not playing them back over a regular player, the specified framerate in which I encode those images shouldn't matter at all to overall quality of every individual frame, given a constant quality setting. Or, is it?

It makes sense to think that modern codecs would use some form of coarser temporal estimation when frame rates are higher, due to the fact that the jitter effect of the motion compensation could be smoothed out over several frames, as opposed to a low framerate video where motion and quantization artifacts would become much more noticeable.

Were this false, this would also imply that, if I wanted to convey more data / higher quality over a bitrate-constrained medium, such as YouTube, I could simply re-encode my video with half the framerate and ask users to play it back at twice the speed, since the bitrate limit would then be doubled over the regular speed video (minus any audio issues).

I haven't done any scientific tests yet, but before digging into the data analysis (and trying to find a lossless video corpus to do so), I'd like to ask the community if any experiments have been made about this.

1 Answer 1

3

This depends on the specific encoder, and the compression standard, by itself, may not have anything to say about it.

x264, which encodes to H.264, takes frame duration, into account, in its ratecontrol algorithm.

From the source code (my emphasis):

Ratecontrol lowers relative quality at higher framerates and the reverse at lower framerates; this serves as the center of the curve.

where this refers to the frame duration for the default fps of 25.

This is further compounded by the setting of buffer sizes, important for network streaming or hardware players, and which are defined in terms of media duration, not frame count.

3
  • So there is correlation between framerate and individual frame quality, at least in x264's case. Does the H.264 standard has nothing to say on the subject and this decision is entirely left up to encoder implementations, or is this even prescribed on older (MPEG-2) or newer (H.265, VP9) standards?
    – MVittiS
    Oct 4, 2017 at 16:35
  • 1
    The H264/5 standards are primarily concerned with bitstream syntax, which is relevant for parsers and decoders. Encoding algorithms are not addressed. I suspect the same is true of VPx codecs as well.
    – Gyan
    Oct 4, 2017 at 17:20
  • @MVittiS I think that x264 won't reduce the quality much if you are still within range of the specified bitrate. If you were already at the bitrate limit at say 30 fps and now you want to generate 60 fps, then you all of sudden have to put 2x the data in the same stream. Quality is probably going to be visibly impacted in this case since you need to compress each frame to half its original size. So the encoder is not the only culprit. You can double the bitrate when you double the frame rate, though. Then it should remain close. Aug 10, 2021 at 19:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.