GIF Super-Resolution

Yizhou Wang, Liangliang Cao




Although GIFs have been popular on the Internet, they suffer from slow download speed due to the reliance on its old coding schemes and thus lead to large file sizes. To solve this problem, this paper proposes a novel super-resolution approach (shown in Figure 1) for GIFs, which uses two high-resolution frames (the first and last frames) as well as the low-resolution data to generate a high-resolution GIF. The two single frames are very small compared with the size of the GIFs, so that our approach requires little extra cost but brings impressive performance boost. This approach is motivated by the unique characteristics of GIFs, especially GIFs are usually much shorter than videos but have quite diverse and dynamic content. To validate this approach, we collect a new super-resolution dataset for GIFs, which is the first dataset devoted to GIF super-resolution, while containing significantly more sequences than previous video super-resolution datasets. The experiments on this dataset show that the performance of our algorithm significantly outperforms the popular video super-resolution baselines while achieving at least 80 times speedup on CPU.

Figure 1: Diagram of our GIF SR method.


We collected a GIF dataset named GIFSR and is available here: [DOWNLOAD GIFSR DATASET] .
Some sample GIFs in GIFSR dataset are shown in Figure 2. The category distribution of the GIFs and their average length (frame number) are shown in Table 1.

Figure 2: Sample GIFs in GIFSR dataset by categories.

Figure 3: Distribution of frame numbers in GIFSR dataset.

Table 1: Category distribution and the average frame in GIFSR dataset.

Our Method

Here we use a block diagram shown in Figure 4 to illustrate our method. \(F_i\) is the iteration result of the \(i\)-th frame, and \(f_i\) is the Bicubic Interpolation (BI) result of the \(i\)-th frame. \(\rho_f, \gamma_f, \rho_b, \gamma_b \) are coefficients of the temporal operator.

Figure 4: Block diagram of our model.

Just using the forward operator, GIF Super-Resolution algorithm is proposed as Algorithm 1.


After implemented our method on GIFSR dataset, we got an average PSNR of 22.53. Some example result frames are shown in Figure 5. The PSNR of each category is shown in Table 3. We also did some experiments of VSRnet on GIFSR emotion set and obtained the following PSNR results shown in Table 4.

Table 3: The results for PSNR results of different categories in GIFSR dataset with resolution combination of (HR, LR) = (128, 32).

Table 4: Comparison between PSNR of Bicubic Interpolation, VSRnet and our method on GIFSR emotion set with different resolution combinations.

Figure 5: Sample results for our method on GIFSR dataset.

The results for time consumption and file size compression are shown in Table 5 and 6.

Table 5: Comparison between execution time (in seconds) of Bicubic Interpolation, VSRnet and our method on GIFSR emotion set with different resolution combinations.

Table 6: Comparison between file size of high-resolution GIF and the input of our method on GIFSR emotion set. Here input files contain LR frames and HR first and last frames and data is in the format of “size of HR frames / size of all input files”.


We are very thankful to Shih-Fu Chang for his insightful suggestions and comments. L. Cao would like to thank Ding Liu for the discussions on video super-resolution.