Frame rate repeat and judder calculation

92 Views Asked by At

When we display a 24 fps movie over a 60 Hz display, from what I know that judder occurs because the unevenness to display every odd frame twice and even frame thrice (11 222 33 444 55 666 ...).

I am not sure how exactly this can be calculated for other combinations.

For example how to display 30 fps over 144 Hz and 24 fps over 165 Hz

1

There are 1 best solutions below

0
On BEST ANSWER

Let us assume that we have a display capable of showing some $n$ frames per second which we want to use to watch a movie filmed in $m$ frames per second. I guess you are mostly interested in the case where $m < n$ (the other case, $m > n$ works similarly).

When $m$ divides $n$ evenly, we have no issue as each frame can be repeated exactly $n / m$ times. If however dividing $n$ by $m$ yields a remainder $r$ (that is, $n = km + r$ for some integer $k$) we do not have this option. So to solve this, we try to make the average number of repetitions per frame equal to the ideal $n / m$ by repeating some frames $k = \lfloor n / m \rfloor$ times and others $k + 1 = \lceil n / m \rceil$ times.

Let us study this process for the example you have given. The optimal number of repetitions would be $60/24 = 2 + 12 / 48 = 2.5$, which is not an integer. By using the pattern you mentioned (repeat half of the frames 2 times and the other half 3 times), we achieve an average number of displayed frames per movie frame of $$ \frac{1}{2} \cdot 2 + \frac{1}{2} \cdot 3 = 2.5 $$ which equals the optimum again, cool.

In the general setting, we repeat a fraction $\ell$ of the frames for a longer-than-average amount of times (i.e. $k + 1$ times) and the remaining fraction $1 - s$ for a longer-than-average amount (i.e. $k$ times) to satisfy the generalized equation $$ \frac{n}{m} = (1 - \ell) \cdot k + \ell \cdot (k + 1). $$ Expanding and simplifying the right side of this equation together with using $n = km + r$ yields $$ \frac{n}{m} = k + \frac{r}{m} = k + \ell $$ and we obtain $\ell = r / m$. Hence we can take $m$ frames of the movie and repeat $r$ of those for $k + 1$ times and the remaining ones $k$ times. A practical implementation would use a reduced version of $r / m$ though in order to intersperse the differences in frame repetitions as evenly as possible.

Let us apply this to one of the other scenarios you posed. If we use $m = 30$ and $n = 144$, we find $144 = 4 \cdot 30 + 24$ and thus obtain $k = 4, r = 24$ and $\ell = r / m = 24 / 30 = 4 / 5$. Therefore a suitable pattern would be to repeat each fifth frame 4 times and the other frames 5 times.