Restoration tips: spoRv Gauge™

spoRv Gauge

Latest revision: 2023-07-09

What is the spoRv Gauge™?

It’s a rule of thumb to calculate the optimal bitrate needed to encode a good quality video – or to check if a given video reach a good quality level; it is based on the Kush Gauge, an original formula invented by Kush Amerasinghe, a computer scientist. In this context, the word “gauge” means “a device used to make measurements

How does it work?

To estimate the optimal bitrate value that would give what is considered “good quality” results for a given video, you could multiply the frame resolution by the frame rate; then multiply the result by its motion rank factor; then multiply the result by codec constant; then multiply the result by the chroma subsampling factor; then multiply the result by the bit depth factor; then multiply the result by grain factor; then multiply the result by scan mode factor, to get the bit rate in bps – divide that by 1,000 to get a kbps estimate or by 1,000,000 to get a Mbps estimate.

spoRv Gauge aim to expand the original formula – that was limited to only one codec, one chroma subsampling, one bit depth, one scan mode – to more factors, so that can be used with several codecs, different chroma subsamplings, bit depths, scan modes; it adds also grain factor.

The spoRv Gauge™ formula:

codec constant ✕ resolution ✕ super resolution ✕ frame rate ✕ scan mode
✕ chroma subsampling ✕ bit depth ✕ grain ✕ dynamic range ✕ motion rank

= optimal bitrate

Practical example:

codec x265, 1920×1080 2.20:1 source = 1920×872 = 1674240 pixels, 24 frames per second, interlaced, 4:2:2, 10bit, standard dynamic range, with grain, motion rank high

0.0430 ✕ 1674240 1 ✕ 24 ✕ 1.2 ✕ 4/3 ✕ 1.25 ✕ 1 ✕ 1.5 ✕ 4= 20733788bps = ~20.8mbps

What are the codec constants?

The codec constants are set as follow:

  • AOMedia AV2 (experimental)
    0.0360 (SD) ― 0.0315 (720p) ― 0.0265 (1080p) ― 0.0135 (2160p) ― 0.0095 (4320p)
  • AOMedia AV1
    0.0465 (SD) ― 0.0407 (720p) ― 0.0342 (1080p) ― 0.0174 (2160p) ― 0.0123 (4320p)
  • Google  VP9
    0.0616 (SD) ― 0.0481 (720p) ― 0.0388 (1080p) ― 0.0213 (2160p) ― 0.0168 (4320p)
  • h.266 | VVC
    0.0403 (SD) ― 0.0315 (720p) ― 0.0254 (1080p) ― 0.0155 (2160p) ― 0.0110 (4320p)
  • h.265 | HEVC
    0.0683 (SD) ― 0.0534 (720p) ― 0.0430 (1080p) ― 0.0263 (2160p) ― 0.0186 (4320p)
  • h.264 | AVC
    0.0980 (SD) ― 0.0840 (720p) ― 0.0700 (1080p) ― 0.0495 (2160p) ― 0.0350 (4320p)
  • h.264 | MVC
    0.1575 (SD) ― 0.1350 (720p) ― 0.1125 (1080p) ― 0.0796 (2160p) ― 0.0563 (4320p)
  • h.263 | MPEG-4 part 2
    0.1260 (SD) ― 0.1080 (720p) ― 0.0900 (1080p) ― 0.0637 (2160p) ― 0.0450 (4320p)
  • h.262 | MPEG-2 (hardware encoder)
    0.1624 (SD) ― 0.1392 (720p) ― 0.1160 (1080p) ― 0.0821 (2160p) ― 0.0580 (4320p)
  • h.262 | MPEG-2 (software encoder)
    0.1904 (SD) ― 0.1632 (720p) ― 0.1360 (1080p) ― 0.0962 (2160p) ― 0.0680 (4320p)
  • h.261 | MPEG-1
    0.2002 (SD) ― 0.1716 (720p) ― 0.1430 (1080p) ― 0.1012 (2160p) ― 0.0715 (4320p)
  • VC-1  | WMV3
    0.1050 (SD) ― 0.0900 (720p) ― 0.0750 (1080p) ― 0.0531 (2160p) ― 0.0375 (4320p)

What is resolution?

It is the frame resolution in pixel – width ✕ height

What is Super Resolution?

It’s an algorithm that, when used, allows the input video pictures to be coded at a lower resolution and then upscaled to the original resolution after reconstruction; the downscaling factor is applied to the horizontal direction only, and is constrained to 8/9 ~ 8/16, i.e, maximum 2x.

What is frame rate?

It means how many frames are shown each second.

What are the scan mode factors?

The scan mode factors are set as follow:

  • 1.0 for progressive video
  • 1.2 for interlaced video

What are the chroma subsampling factors?

The chroma subsampling factors are set as follow:

  • 3/3 for 4:2:0
  • 4/3 for 4:2:2
  • 6/3 for 4:4:4

What are the bit depth factors?

The bit depth factors are set as follow:

  • 1.00 for 8 bit
  • 1.25 for 10 bit
  • 1.50 for 12 bit
  • 2.00 for 16 bit

What are the grain factors?

The grain factors are set as follow:

  • 1.00 for source without grain or using grain synthesis
  • 1.50 for source with grain

What is Grain Synthesis?

The grain synthesis algorithm denoises the input video pictures, and then the resulting denoised version are used in the encoding process. In the second step, a model of the film grain in the source picture is estimated at the encoder side, and the noise model parameters are included in the bit stream for the decoder to reproduce the noise and add it in the reconstructed pictures.

What are the dynamic range factors?

The dynamic range factors are set as follow:

  • 1.00 for SDR, HLG, HDR10, HDR10+
  • 1.25 for Dolby Vision

What are the motion rank factors?

The amount of motion could be called “motion rank”; let’s see some examples:

  • 1 – low – a person talking in front of a camera without moving much while the camera itself and the background is not moving at all
  • 2 – medium – some degree of movement, but in a more predictable and orderly manner, which means some relatively slow camera and subject movements, but not many scene changes
  • 3 – high – an action movie where the movements are fast and unpredictable but with not many scene changes or cuts or sudden snap camera movements or zooms where the entire picture changes
  • 4 – highest – the most challenging action movie where not only the movements are fast and unpredictable but the scenes also change very rapidly

WOW! A quite complicated formula…

A bit! To find out the optimal bitrate – or to check if any video was encoded with a sufficient bitrate to get good quality – and also to check format compliance, you can always use the spoRv Gauge calculator!


References: