Update: this comparison is outdated. See the new version
here.
Nowadays there's a lot of equipment that allows you to store and play
HDTV (or simple HD, high-definition) video which has resolution like 1280x720,
1920x1080 etc.
And at the same time there's a significant lack of HD content. Majority of
TV channels and DVD movies are 720x576 or less (so called SD,
standard-definition). So if someone wants to watch SD video on his or her
HD screen, upsizing becomes inevitable. Upsizing video can be done with
big variety of methods. They differ in quality, complexity and speed.
Most screens and video players already have some built-in methods for upsizing
content, usually bilinear or bicubic interpolation.
While there are a many methods for in-frame (spatial) upsizing, there is another
approach which uses information from different frames to reconstruct more
details. This approach is called
super-resolution. This topic was
discussed by mathematicians for 20 years and now finally our computers became
powerful enough for practical super-resolution implementations.
In this article we'll compare different methods of video upsizing that
anyone can try - accessible in downloadable software.
This means that implementations existing in very complicated form of Matlab
or Avisynth scripts or available only as technologies for big companies or
in some commercial software not available to try and so on - these methods
are not included in this comparison. Also, software which uses super-resolution
approach to reconstruct single frames from video (like QE SuperResolution,
Topaz Moment, Photo Acute, etc.) is not included.
Included methods:
Zoom - simplest method of enlarging each pixel 4 times, also called
"nearest neighbor".
Bicubic resize - internal resize filter of
VirtualDub, bicubic spline
interpolation. Same resize method is used in vast number of players and apps.
Lanczos3 - same VirtualDub filter, Lanczos3 method.
Lanczos3+sharpen - sequential application of two internal VirtualDub
filters: first Lanczos3 resize and then sharpen filter with its
parameter set to 40.
Video Enhancer - using super-resolution in
high quality mode. This technology is also available as Adobe After Effects
plugin (see SuperResolution plugin).
Topaz Enhance - a plug-in for
Adobe Premiere Pro 2.0 was used, Enlarge filter with default parameters.
Instant HD - a
plug-in for Adobe Premiere Pro 2.0 from Red Giant Software.
Demo variant was used that leaves
"watermark" on result, so it was impossible to correctly calculate objective
metric (PSNR) for this method.
DA Resizer sharp - Resizer v2.2 from
Digital Anarchy, a plug-in for Adobe After Effects, best sharp mode.
DA Resizer smooth - the same plug-in, best smooth mode.
Process of comparison
Five video sequencies, 45-100 frames each, were taken. Each video was downsized
4 times by applying twice bilinear resize (to half size) in VirtualDub, so 5
low-res videos were created. Then each low resolution video was upsized 4 times
using different methods described above. Then for each video an
objective metric of similarity between original hi-res and upsized video was
calculated. For such metric Y-PSNR was chosen (quite standard way for comparing
videos, used in industry and science).
Results
Below you can see a table of Y-PSNR values for each video. Each value is
average PSNR for whole video, not for particular frame. Roll your mouse
over table cells to see sample video frames. By moving your mouse up and down
you can easily compare amount of details provided with each method (and its
artifacts, if any).
Comments and conclusions
PSNR for InstantHD plugin not calculated due to "watermarks". But its visual
level of detail is close to Lanczos method. That's interesting because its
official site starts with someone's quote "the shots I up-rezzed myself with
Instant HD were indistinguishable from those run through the very high end
Quantel." That gives us some insight on "very high end" quality. ;)
Topaz Enhance shifts video up-left for pixel or half a pixel. This is one
of the reasons why it got so low PSNR. Another reason may be making video too
cartoon-like, with sharp edges and too smooth gradients that lose all detail.
Video Enhancer, absolute winner in PSNR, proves that super-resolution can
really be much effective than Lanczos+sharpen, the scheme critics often
supposed it used.
You can download low resolution videos used in this comparison to experiment
yourself and see that none of the pictures above are fakes:
faces.avi (0,9 MB)
pirates.avi (1,6 MB)
shrek.avi (6,3 MB)
smiths.avi (7,2 MB)
sw.avi (2,9 MB)
All videos are compressed with Lagarith lossless codec. Read
how to increase resolution 4 times
in Video Enhancer.