View Single Post
Old 8th May 2018, 21:38   #671  |  Link
TD-Linux
Registered User
 
Join Date: Aug 2015
Posts: 34
Quote:
Originally Posted by Shevach View Post
In HEVC/AVC the maximal probability of a symbol is ~0.98 and hence the number of bits produced by encoding a symbol having the maximal probability is -log2(0.98) = ~0.02 bits.
Let's suppose that we know ahead that all MBs will be no-skipped (i.e. skip_flag = 0 for each MB) and consequently the skip_flag syntax element gets maximal probability 0.98. In such case the total number of bits consumed by all skip flags is ~0.02 x Number_Mbs.
For example, HD resolution frame has usually 8100 MBs (16x16 grid) and hence the total size of all skip_flag syntax elements is ~8100 x 0.02 = 162 bits. It's negligible in most cases.
Probably AV1 frame level parameter 'skip_mode_present' (to disable transmission of skip flags) has a minimal impact on coding efficiency, although it increases the decoding complexity (more 'if-else').
For AV1 it's even smaller, 1/65535 of a bit. However you'll need do adapt to that probability, so you'll burn more bits at the beginning of a frame. That said, the skip_mode_present doesn't control the skip flag but rather the skip_mode flag, which itself is a way to signal that you're going to use a "default" predictor. Still, the gains are pretty small, it's more of a speed savings to not have to code this flag if it's unused.
TD-Linux is offline   Reply With Quote