Video super-resolution (VSR) is the process of generating high-resolution video frames from the given low-resolution video frames. Unlike single-image super-resolution (SISR), the main goal is not only to restore more fine details while saving coarse ones, but also to preserve motion consistency.
There are many approaches for this task, but this problem still remains to be popular and challenging.
Most research considers the degradation process of frames as
where:
Super-resolution is an inverse operation, so its problem is to estimate frame sequence from frame sequence so that is close to original . Blur kernel, downscaling operation and additive noise should be estimated for given input to achieve better results.
Video super-resolution approaches tend to have more components than the image counterparts as they need to exploit the additional temporal dimension. Complex designs are not uncommon. Some most essential components for VSR are guided by four basic functionalities: Propagation, Alignment, Aggregation, and Upsampling. [1]
When working with video, temporal information could be used to improve upscaling quality. Single image super-resolution methods could be used too, generating high-resolution frames independently from their neighbours, but it's less effective and introduces temporal instability. There are a few traditional methods, which consider the video super-resolution task as an optimization problem. Last years deep learning based methods for video upscaling outperform traditional ones.
There are several traditional methods for video upscaling. These methods try to use some natural preferences and effectively estimate motion between frames. The high-resolution frame is reconstructed based on both natural preferences and estimated motion.
Firstly the low-resolution frame is transformed to the frequency domain. The high-resolution frame is estimated in this domain. Finally, this result frame is transformed to the spatial domain. Some methods use Fourier transform, which helps to extend the spectrum of captured signal and though increase resolution. There are different approaches for these methods: using weighted least squares theory, [2] total least squares (TLS) algorithm, [3] space-varying [4] or spatio-temporal [5] varying filtering. Other methods use wavelet transform, which helps to find similarities in neighboring local areas. [6] Later second-generation wavelet transform was used for video super resolution. [7]
Iterative back-projection methods assume some function between low-resolution and high-resolution frames and try to improve their guessed function in each step of an iterative process. [8] Projections onto convex sets (POCS), that defines a specific cost function, also can be used for iterative methods. [9]
Iterative adaptive filtering algorithms use Kalman filter to estimate transformation from low-resolution frame to high-resolution one. [10] To improve the final result these methods consider temporal correlation among low-resolution sequences. Some approaches also consider temporal correlation among high-resolution sequence. [11] To approximate Kalman filter a common way is to use least mean squares (LMS). [12] One can also use steepest descent, [13] least squares (LS), [14] recursive least squares (RLS). [14]
Direct methods estimate motion between frames, upscale a reference frame, and warp neighboring frames to the high-resolution reference one. To construct result, these upscaled frames are fused together by median filter, [15] weighted median filter, [16] adaptive normalized averaging, AdaBoost classifier [17] or SVD based filters. [18]
Non-parametric algorithms join motion estimation and frames fusion to one step. It is performed by consideration of patches similarities. Weights for fusion can be calculated by nonlocal-means filters. [19] To strength searching for similar patches, one can use rotation invariance similarity measure [20] or adaptive patch size. [21] Calculating intra-frame similarity help to preserve small details and edges. [22] Parameters for fusion also can be calculated by kernel regression. [23]
Probabilistic methods use statistical theory to solve the task. maximum likelihood (ML) methods estimate more probable image. [24] [25] Another group of methods use maximum a posteriori (MAP) estimation. Regularization parameter for MAP can be estimated by Tikhonov regularization. [26] Markov random fields (MRF) is often used along with MAP and helps to preserve similarity in neighboring patches. [27] Huber MRFs are used to preserve sharp edges. [28] Gaussian MRF can smooth some edges, but remove noise. [29]
In approaches with alignment, neighboring frames are firstly aligned with target one. One can align frames by performing motion estimation and motion compensation (MEMC) or by using Deformable convolution (DC). Motion estimation gives information about the motion of pixels between frames. motion compensation is a warping operation, which aligns one frame to another based on motion information. Examples of such methods:
Another way to align neighboring frames with target one is deformable convolution. While usual convolution has fixed kernel, deformable convolution on the first step estimate shifts for kernel and then do convolution. Examples of such methods:
Some methods align frames by calculated homography between frames.
Methods without alignment do not perform alignment as a first step and just process input frames.
While 2D convolutions work on spatial domain, 3D convolutions use both spatial and temporal information. They perform motion compensation and maintain temporal consistency
Recurrent convolutional neural networks perform video super-resolution by storing temporal dependencies.
Non-local methods extract both spatial and temporal information. The key idea is to use all possible positions as a weighted sum. This strategy may be more effective than local approaches (the progressive fusion non-local method) extract spatio-temporal features by non-local residual blocks, then fuse them by progressive fusion residual block (PFRB). The result of these blocks is a residual image. The final result is gained by adding bicubically upsampled input frame
The common way to estimate the performance of video super-resolution algorithms is to use a few metrics:
Currently, there aren't so many objective metrics to verify video super-resolution method's ability to restore real details. Research is currently underway in this area.
Another way to assess the performance of the video super-resolution algorithm is to organize the subjective evaluation. People are asked to compare the corresponding frames, and the final mean opinion score (MOS) is calculated as the arithmetic mean overall ratings.
While deep learning approaches of video super-resolution outperform traditional ones, it's crucial to form a high-quality dataset for evaluation. It's important to verify models' ability to restore small details, text, and objects with complicated structure, to cope with big motion and noise.
Dataset | Videos | Mean video length | Ground-truth resolution | Motion in frames | Fine details |
---|---|---|---|---|---|
Vid4 | 4 | 43 frames | 720×480 | Without fast motion | Some small details, without text |
SPMCS | 30 | 31 frames | 960×540 | SLow motion | A lot of small details |
Vimeo-90K (test SR set) | 7824 | 7 frames | 448×256 | A lot of fast, difficult, diverse motion | Few details, text in a few sequences |
Xiph HD (complete sets) | 70 | 2 seconds | from 640×360 to 4096×2160 | A lot of fast, difficult, diverse motion | Few details, text in a few sequences |
Ultra Video Dataset 4K | 16 | 10 seconds | 4096×2160 | Diverse motion | Few details, without text |
REDS (test SR) | 30 | 100 frames | 1280×720 | A lot of fast, difficult, diverse motion | Few details, without text |
Space-Time SR | 5 | 100 frames | 1280×720 | Diverse motion | Without small details and text |
Harmonic | — | — | 4096×2160 | — | — |
CDVL | — | — | 1920×1080 | — | — |
A few benchmarks in video super-resolution were organized by companies and conferences. The purposes of such challenges are to compare diverse algorithms and to find the state-of-the-art for the task.
Benchmark | Organizer | Dataset | Upscale factor | Metrics |
---|---|---|---|---|
NTIRE 2019 Challenge | CVPR (Computer Vision and pattern recognition) | REDS | 4 | PSNR, SSIM |
Youku-VESR Challenge 2019 | Youku | Youku-VESR | 4 | PSNR, VMAF |
AIM 2019 Challenge | ECCV (European Conference on Computer Vision) | Vid3oC | 16 | PSNR, SSIM, MOS |
AIM 2020 Challenge | ECCV (European Conference on Computer Vision) | Vid3oC | 16 | PSNR, SSIM, LPIPS |
Mobile Video Restoration Challenge | ICIP (International Conference of Image Processing), Kwai | — | — | PSNR, SSIM, MOS |
MSU Video Super-Resolution Benchmark 2021 | MSU (Moscow State University) | — | 4 | ERQAv1.0, PSNR and SSIM with shift compensation, QRCRv1.0, CRRMv1.0 |
MSU Super-Resolution for Video Compression Benchmark 2022 | MSU (Moscow State University) | — | 4 | ERQAv2.0, PSNR, MS-SSIM, VMAF, LPIPS |
The NTIRE 2019 Challenge was organized by CVPR and proposed two tracks for Video Super-Resolution: clean (only bicubic degradation) and blur (blur added firstly). Each track had more than 100 participants and 14 final results were submitted.
Dataset REDS was collected for this challenge. It consists of 30 videos of 100 frames each. The resolution of ground-truth frames is 1280×720. The tested scale factor is 4. To evaluate models' performance PSNR and SSIM were used. The best participants' results are performed in the table:
Team | Model name | PSNR (clean track) | SSIM (clean track) | PSNR (blur track) | SSIM (blur track) | Runtime per image in sec (clean track) | Runtime per image in sec (blur track) | Platform | GPU | Open source |
---|---|---|---|---|---|---|---|---|---|---|
HelloVSR | EDVR | 31.79 | 0.8962 | 30.17 | 0.8647 | 2.788 | 3.562 | PyTorch | TITAN Xp | YES |
UIUC-IFP | WDVR | 30.81 | 0.8748 | 29.46 | 0.8430 | 0.980 | 0.980 | PyTorch | Tesla V100 | YES |
SuperRior | ensemble of RDN, RCAN, DUF | 31.13 | 0.8811 | — | — | 120.000 | — | PyTorch | Tesla V100 | NO |
CyberverseSanDiego | RecNet | 31.00 | 0.8822 | 27.71 | 0.8067 | 3.000 | 3.000 | TensorFlow | RTX 2080 Ti | YES |
TTI | RBPN | 30.97 | 0.8804 | 28.92 | 0.8333 | 1.390 | 1.390 | PyTorch | TITAN X | YES |
NERCMS | PFNL | 30.91 | 0.8782 | 28.98 | 0.8307 | 6.020 | 6.020 | PyTorch | GTX 1080 Ti | YES |
XJTU-IAIR | FSTDN | — | — | 28.86 | 0.8301 | — | 13.000 | PyTorch | GTX 1080 Ti | NO |
The Youku-VESR Challenge was organized to check models' ability to cope with degradation and noise, which are real for Youku online video-watching application. The proposed dataset consists of 1000 videos, each length is 4–6 seconds. The resolution of ground-truth frames is 1920×1080. The tested scale factor is 4. PSNR and VMAF metrics were used for performance evaluation. Top methods are performed in the table:
Team | PSNR | VMAF |
---|---|---|
Avengers Assemble | 37.851 | 41.617 |
NJU_L1 | 37.681 | 41.227 |
ALONG_NTES | 37.632 | 40.405 |
The challenge was held by ECCV and had two tracks on video extreme super-resolution: first track checks the fidelity with reference frame (measured by PSNR and SSIM). The second track checks the perceptual quality of videos (MOS). Dataset consists of 328 video sequences of 120 frames each. The resolution of ground-truth frames is 1920×1080. The tested scale factor is 16. Top methods are performed in the table:
Team | Model name | PSNR | SSIM | MOS | Runtime per image in sec | Platform | GPU/CPU | Open source |
---|---|---|---|---|---|---|---|---|
fenglinglwb | based on EDVR | 22.53 | 0.64 | first result | 0.35 | PyTorch | 4× Titan X | NO |
NERCMS | PFNL | 22.35 | 0.63 | — | 0.51 | PyTorch | 2× 1080 Ti | NO |
baseline | RLSP | 21.75 | 0.60 | — | 0.09 | TensorFlow | Titan Xp | NO |
HIT-XLab | based on EDSR | 21.45 | 0.60 | second result | 60.00 | PyTorch | V100 | NO |
Challenge's conditions are the same as AIM 2019 Challenge. Top methods are performed in the table:
Team | Model name | Params number | PSNR | SSIM | Runtime per image in sec | GPU/CPU | Open source |
---|---|---|---|---|---|---|---|
KirinUK | EVESRNet | 45.29M | 22.83 | 0.6450 | 6.1 s | 1 × 2080 Ti 6 | NO |
Team-WVU | — | 29.51M | 22.48 | 0.6378 | 4.9 s | 1 × Titan Xp | NO |
BOE-IOT-AIBD | 3D-MGBP | 53M | 22.48 | 0.6304 | 4.83 s | 1 × 1080 | NO |
sr xxx | based on EDVR | — | 22.43 | 0.6353 | 4 s | 1 × V100 | NO |
ZZX | MAHA | 31.14M | 22.28 | 0.6321 | 4 s | 1 × 1080 Ti | NO |
lyl | FineNet | — | 22.08 | 0.6256 | 13 s | — | NO |
TTI | based on STARnet | — | 21.91 | 0.6165 | 0.249 s | — | NO |
CET CVLab | — | 21.77 | 0.6112 | 0.04 s | 1 × P100 | NO | |
The MSU Video Super-Resolution Benchmark was organized by MSU and proposed three types of motion, two ways to lower resolution, and eight types of content in the dataset. The resolution of ground-truth frames is 1920×1280. The tested scale factor is 4. 14 models were tested. To evaluate models' performance PSNR and SSIM were used with shift compensation. Also proposed a few new metrics: ERQAv1.0, QRCRv1.0, and CRRMv1.0. [72] Top methods are performed in the table:
Model name | Multi-frame | Subjective | ERQAv1.0 | PSNR | SSIM | QRCRv1.0 | CRRMv1.0 | Runtime per image in sec | Open source |
---|---|---|---|---|---|---|---|---|---|
DBVSR | YES | 5.561 | 0.737 | 31.071 | 0.894 | 0.629 | 0.992 | — | YES |
LGFN | YES | 5.040 | 0.740 | 31.291 | 0.898 | 0.629 | 0.996 | 1.499 | YES |
DynaVSR-R | YES | 4.751 | 0.709 | 28.377 | 0.865 | 0.557 | 0.997 | 5.664 | YES |
TDAN | YES | 4.036 | 0.706 | 30.244 | 0.883 | 0.557 | 0.994 | — | YES |
DUF-28L | YES | 3.910 | 0.645 | 25.852 | 0.830 | 0.549 | 0.993 | 2.392 | YES |
RRN-10L | YES | 3.887 | 0.627 | 24.252 | 0.790 | 0.557 | 0.989 | 0.390 | YES |
RealSR | NO | 3.749 | 0.690 | 25.989 | 0.767 | 0.000 | 0.886 | — | YES |
The MSU Super-Resolution for Video Compression Benchmark was organized by MSU. This benchmark tests models' ability to work with compressed videos. The dataset consists of 9 videos, compressed with different Video codec standards and different bitrates. Models are ranked by BSQ-rate [73] over subjective score. The resolution of ground-truth frames is 1920×1080. The tested scale factor is 4. 17 models were tested. 5 video codecs were used to compress ground-truth videos. Top combinations of Super-Resolution methods and video codecs are performed in the table:
Model name | BSQ-rate (Subjective score) | BSQ-rate (ERQAv2.0) | BSQ-rate (VMAF) | BSQ-rate (PSNR) | BSQ-rate (MS-SSIM) | BSQ-rate (LPIPS) | Open source |
---|---|---|---|---|---|---|---|
RealSR + x264 | 0.196 | 0.770 | 0.775 | 0.675 | 0.487 | 0.591 | YES |
ahq-11 + x264 | 0.271 | 0.883 | 0.753 | 0.873 | 0.719 | 0.656 | NO |
SwinIR + x264 | 0.304 | 0.760 | 0.642 | 6.268 | 0.736 | 0.559 | YES |
Real-ESRGAN + x264 | 0.335 | 5.580 | 0.698 | 7.874 | 0.881 | 0.733 | YES |
SwinIR + x265 | 0.346 | 1.575 | 1.304 | 8.130 | 4.641 | 1.474 | YES |
COMISR + x264 | 0.367 | 0.969 | 1.302 | 6.081 | 0.672 | 1.118 | YES |
RealSR + x265 | 0.502 | 1.622 | 1.617 | 1.064 | 1.033 | 1.206 | YES |
In many areas, working with video, we deal with different types of video degradation, including downscaling. The resolution of video can be degraded because of imperfections of measuring devices, such as optical degradations and limited size of camera sensors. Bad light and weather conditions add noise to video. Object and camera motion also decrease video quality. Super Resolution techniques help to restore the original video. It's useful in a wide range of applications, such as
It also helps to solve task of object detection, face and character recognition (as preprocessing step). The interest to super-resolution is growing with the development of high definition computer displays and TVs.
Video super-resolution finds its practical use in some modern smartphones and cameras, where it is used to reconstruct digital photographs.
Reconstructing details on digital photographs is a difficult task since these photographs are already incomplete: the camera sensor elements measure only the intensity of the light, not directly its color. A process called demosaicing is used to reconstruct the photos from partial color information. A single frame doesn't give us enough data to fill in the missing colors, however, we can receive some of the missing information from multiple images taken one after the other. This process is known as burst photography and can be used to restore a single image of good quality from multiple sequential frames.
When we capture a lot of sequential photos with a smartphone or handheld camera, there is always some movement present between the frames because of the hand motion. We can take advantage of this hand tremor by combining the information on those images. We choose a single image as the "base" or reference frame and align every other frame relative to it.
There are situations where hand motion is simply not present because the device is stabilized (e.g. placed on a tripod). There is a way to simulate natural hand motion by intentionally slightly moving the camera. The movements are extremely small so they don't interfere with regular photos. You can observe these motions on Google Pixel 3 [74] phone by holding it perfectly still (e.g. pressing it against the window) and maximally pinch-zooming the viewfinder.
Frame rate, most commonly expressed in frames per second or FPS, is typically the frequency (rate) at which consecutive images (frames) are captured or displayed. This definition applies to film and video cameras, computer animation, and motion capture systems. In these contexts, frame rate may be used interchangeably with frame frequency and refresh rate, which are expressed in hertz. Additionally, in the context of computer graphics performance, FPS is the rate at which a system, particularly a GPU, is able to generate frames, and refresh rate is the frequency at which a display shows completed frames. In electronic camera specifications frame rate refers to the maximum possible rate frames could be captured, but in practice, other settings may reduce the actual frequency to a lower number than the frame rate.
Motion compensation in computing is an algorithmic technique used to predict a frame in a video given the previous and/or future frames by accounting for motion of the camera and/or objects in the video. It is employed in the encoding of video data for video compression, for example in the generation of MPEG-2 files. Motion compensation describes a picture in terms of the transformation of a reference picture to the current picture. The reference picture may be previous in time or even from the future. When images can be accurately synthesized from previously transmitted/stored images, the compression efficiency can be improved.
Super-resolution imaging (SR) is a class of techniques that enhance (increase) the resolution of an imaging system. In optical SR the diffraction limit of systems is transcended, while in geometrical SR the resolution of digital imaging sensors is enhanced.
Video quality is a characteristic of a video passed through a video transmission or processing system that describes perceived video degradation. Video processing systems may introduce some amount of distortion or artifacts in the video signal that negatively impact the user's perception of the system. For many stakeholders in video production and distribution, ensuring video quality is an important task.
Long short-term memory (LSTM) is a type of recurrent neural network (RNN) aimed at mitigating the vanishing gradient problem commonly encountered by traditional RNNs. Its relative insensitivity to gap length is its advantage over other RNNs, hidden Markov models, and other sequence learning methods. It aims to provide a short-term memory for RNN that can last thousands of timesteps. The name is made in analogy with long-term memory and short-term memory and their relationship, studied by cognitive psychologists since the early 20th century.
Object detection is a computer technology related to computer vision and image processing that deals with detecting instances of semantic objects of a certain class in digital images and videos. Well-researched domains of object detection include face detection and pedestrian detection. Object detection has applications in many areas of computer vision, including image retrieval and video surveillance.
A convolutional neural network (CNN) is a regularized type of feed-forward neural network that learns features by itself via filter optimization. This type of deep learning network has been applied to process and make predictions from many different types of data including text, images and audio. Convolution-based networks are the de-facto standard in deep learning-based approaches to computer vision and image processing, and have only recently have been replaced -- in some cases -- by newer deep learning architectures such as the transformer. Vanishing gradients and exploding gradients, seen during backpropagation in earlier neural networks, are prevented by using regularized weights over fewer connections. For example, for each neuron in the fully-connected layer, 10,000 weights would be required for processing an image sized 100 × 100 pixels. However, applying cascaded convolution kernels, only 25 neurons are required to process 5x5-sized tiles. Higher-layer features are extracted from wider context windows, compared to lower-layer features.
In computer vision, a saliency map is an image that highlights either the region on which people's eyes focus first or the most relevant regions for machine learning models. The goal of a saliency map is to reflect the degree of importance of a pixel to the human visual system or an otherwise opaque ML model.
The MOtion-tuned Video Integrity Evaluation (MOVIE) index is a model and set of algorithms for predicting the perceived quality of digital television and cinematic pictures, as well as other kinds of digital images and videos.
This gallery shows the results of numerous image scaling algorithms.
Video Multimethod Assessment Fusion (VMAF) is an objective full-reference video quality metric developed by Netflix in cooperation with the University of Southern California, the IPI/LS2N lab Nantes Université, and the Laboratory for Image and Video Engineering (LIVE) at The University of Texas at Austin. It predicts subjective video quality based on a reference and distorted video sequence. The metric can be used to evaluate the quality of different video codecs, encoders, encoding settings, or transmission variants.
Block-matching and 3D filtering (BM3D) is a 3-D block-matching algorithm used primarily for noise reduction in images. It is one of the expansions of the non-local means methodology. There are two cascades in BM3D: a hard-thresholding and a Wiener filter stage, both involving the following parts: grouping, collaborative filtering, and aggregation. This algorithm depends on an augmented representation in the transformation site.
In computer vision, object co-segmentation is a special case of image segmentation, which is defined as jointly segmenting semantically similar objects in multiple images or video frames.
Dynamic texture is the texture with motion which can be found in videos of sea-waves, fire, smoke, wavy trees, etc. Dynamic texture has a spatially repetitive pattern with time-varying visual pattern. Modeling and analyzing dynamic texture is a topic of images processing and pattern recognition in computer vision.
An event camera, also known as a neuromorphic camera, silicon retina or dynamic vision sensor, is an imaging sensor that responds to local changes in brightness. Event cameras do not capture images using a shutter as conventional (frame) cameras do. Instead, each pixel inside an event camera operates independently and asynchronously, reporting changes in brightness as they occur, and staying silent otherwise.
An energy-based model (EBM) is an application of canonical ensemble formulation from statistical physics for learning from data. The approach prominently appears in generative artificial intelligence.
Emotion recognition in conversation (ERC) is a sub-field of emotion recognition, that focuses on mining human emotions from conversations or dialogues having two or more interlocutors. The datasets in this field are usually derived from social platforms that allow free and plenty of samples, often containing multimodal data. Self- and inter-personal influences play critical role in identifying some basic emotions, such as, fear, anger, joy, surprise, etc. The more fine grained the emotion labels are the harder it is to detect the correct emotion. ERC poses a number of challenges, such as, conversational-context modeling, speaker-state modeling, presence of sarcasm in conversation, emotion shift across consecutive utterances of the same interlocutor.
Deep learning in photoacoustic imaging combines the hybrid imaging modality of photoacoustic imaging (PA) with the rapidly evolving field of deep learning. Photoacoustic imaging is based on the photoacoustic effect, in which optical absorption causes a rise in temperature, which causes a subsequent rise in pressure via thermo-elastic expansion. This pressure rise propagates through the tissue and is sensed via ultrasonic transducers. Due to the proportionality between the optical absorption, the rise in temperature, and the rise in pressure, the ultrasound pressure wave signal can be used to quantify the original optical energy deposition within the tissue.
Small object detection is a particular case of object detection where various techniques are employed to detect small objects in digital images and videos. "Small objects" are objects having a small pixel footprint in the input image. In areas such as aerial imagery, state-of-the-art object detection techniques under performed because of small objects.
Ultrasound Localization Microscopy (ULM) is an advanced ultrasound imaging technique. By localizing microbubbles, ULM overcomes the physical limit of diffraction, achieving sub-wavelength level resolution and qualifying as a super-resolution technique.