Video Scaling — Time to Banish Bilinear!
Video is always being scaled and resampled, whether to change its size or as part of a more complex algorithm such as frame rate conversion. — Linear interpolation, and its 2D equivalent bilinear, are used extensively because they are easy to understand and implement. But bilinear scaling never produces a satisfying image, combining a fuzzy overall look with jagged edges and motion artefacts. It is possible to show analytically why bilinear looks bad, mapping it back to well understood video parameters such as step, frequency and phase response. This information can be used to pick a visually better scaling kernel, instead of the opaque “this window function has a wider lobe”. — As image processing moves to GPUs that include a tempting free bilinear scale in the texture fetch pipeline, it is important to ensure it is not used for video, and to show better alternatives.
- Published
- 2011-10
- Content type
- Original Research
- Keywords
- Scaling, resampling, bilinear, polyphase, GPU, texture fetch, OpenCL
- DOI
- 10.5594/M001103
- ISBN
- 978-1-61482-940-9