Optimised C++ routines for image up-conversion and down-conversion

Table of Contents | Introduction

Up-conversion of images is an important part of the motion estimation and compensation methods used within video compression systems. Down-conversion is used in compression codecs that use hierarchical motion estimation to generate pixel accurate motion vectors. This article describes the development of C++ code to quickly scale images up or down.

The conversion routines described are implemented in the Dirac video code. They should also be applicable to other open-source video compression systems.

Using a standard PC, scaling a CIF image by a factor greater then two takes a long time, which severely limits the frame rate at which real-time video coding can be performed. The routines developed scale an image by a factor of two and expect any further conversions to be applied to small parts of the image as needed. The optimised up-conversion code runs approximately ten times faster then a basic implementation of the process.

Written by Richard Felton, BBC R&D, January 2004
Edited and converted by Chris Bowley, BBC R&D, July 2004

SourceForge.net Logo