For this shootout we've gathered 17 different tools for image and video resizing.
10 high resolution video fragments were downsized 4 times and then upsized with different
methods and tools. Upsized videos were compared with original hi-res ones and
Y-PSNR metric
was calculated for each of them. This is the most commonly used objective quality measure
which shows how close two images or videos are to each other. It's measured in dB and the higher the value,
the closer two images/videos are, i.e. high PSNR values mean the upsized video looks more like
the high resolution original.
Below you can see PSNR charts and values for all resize methods and all videos (Flash player required).
Select a video to compare visually results of different resizing tools.
Some tools work only with single images, not videos. To include them into this comparison
we took a random frame from each of the videos and performed the same procedure of downsizing
and upsizing back using these image resizing tools. Since PSNR for particular frame is not the same
as average PSNR of whole video, we show two different charts: PSNR for the whole video and PSNR for
a single frame.
Software used
Video resizing tools:
- Bicubic: VirtualDub v1.9.10 internal resize filter,
mode "Bicubic (interpolation only)".
- Lanczos: VirtualDub 1.9.10 internal resize filter, mode "Lanczos3".
- Lanczos+Sharpen: VirtualDub 1.9.10, sequence of two internal filters: resize filter in mode "Lanczos3"
and sharpen filter with setting "64".
- Boris FX Uprez: Boris Continuum UpRez plugin for Adobe After Effects CS4, using Method "Magic Sharp".
- Cinema HD v2.09.518 by Engelmann Media GmbH using EDO (Edge Detection)
- EEDI3: eedi3 v0.9.1 plugin for
AviSynth v2.5.88 used with VirtualDub 1.9.10.
Settings: eedi3_rpow2(rfactor=4).
- NNEDI3: nnedi3 0.9.2 plugin for AviSynth.
Settings: nnedi3_rpow2(rfactor=4)
- InstantHD: Magic Bullet Instant HD Advanced 1.0 by Red Giant Software with Adobe After Effects CS3
using default settings and Add Grain = "0.00"
- Spline36: AviSynth 2.5.88 internal Spline36 resizer
- vReveal v2.0.5.7748 Premuim by MotionDSP with
"Enhance with Super-Resolution" option enabled, on a PC with nVidia card and CUDA enabled,
output to Uncompressed AVI.
- Video Enhancer v1.9.6
using best quality settings in RGB mode. The same resizing engine is used in
Super Resolution plugin for VirtualDub.
Image resizing tools:
- Genuine Fractals 6.0 Professional Edition by onOne Software plugin for Photoshop CS3
- SmartEdge
v1.1 - demo using initial resizing "NEDI".
- SAR DataDependentLanczos: SAR Image Processor
v4.2, Data Dependent Lanczos resize mode with default settings.
- SAR PseudoLAD: SAR 4.2 with Pseudo LAD resize mode and default settings.
- SAR RoussosMaragos: SAR 4.2 with Roussos-Maragos resize mode and default settings.
- SAR Triangulation: SAR 4.2 with Triangulation resize mode and default settings.
Notes and observations
The charts above show clear advantage of Video Enhancer over other resizing tools. This is because
Video Enhancer employs Super Resolution
technique to restore frames using accumulated information
from multiple previous frames. Most of the other method and tools work only with current frame and
cannot provide so much details.
vReveal claims to use Super Resolution approach too, but seeing its results we'd rather call it
"Super Blur". It probably just blends together multiple frames, leading to smooth edges but quite blurry
textures. vReveal gives different results with CUDA and without it (CPU only).
Result video obtained on a PC without CUDA support is less blurry, more aliased and has lower PSNR.
The speed in this CPU-only mode is lower than of Video Enhancer in maximum quality mode,
probably due to a lack of multithreading. In this comparison we show CUDA-enabled variant.
Many tools shift image by 1-3 pixels when upsizing it 4x. Although images shown in this comparison
are taken "as is" demonstrating the shifts, PSNR values were calculated with the shifts compensated:
videos were shifted by an integer amount of pixels which provided maximum PSNR for each of the methods.
For example, InstantHD videos were shifted by 1 pixel and vReveal by 3 pixels. When measured without shifts
their PSNR is much lower than shown in the charts here.
Boris FX Uprez seems to have upsized the videos a little more than exactly 4x, making all objects
slightly bigger than requested. That lead to low PSNR result although visually the quality
is similar to Lanczos resampling.
SmartEdge's quality is amazingly good for a single-image resizing method, but unfortunately
it cannot be used for video. Its official page says: "Please note that the algorithm is
currently very slow and consumes large amounts of memory, so it's only applicable to small images".
Indeed, processing one frame (480x270 to 1920x1080) took approx. 2,5 minutes, while Video Enhancer
in the slowest mode does it in 0,2 seconds (700 times faster).
Sample videos
You're welcome to reproduce and check our results. Here are the videos used in this comparison.
They are compressed with Lagarith lossless video codec.
Low resolution:
alice.avi
avatar1.avi
avatar3.avi
bjorn.avi
hangover.avi
karate.avi
panasonic4
shrek.avi
smiths.avi
sw.avi
High resolution:
alice.avi
avatar1.avi
avatar3.avi
bjorn.avi
hangover.avi
karate.avi
panasonic4.avi
shrek.avi
smiths.avi
sw.avi
Other articles...
|