C4 Consortium

You are here: Home


Project TitleImage Processing Optimization
Track Code8810-7264
Short Description

Memoization is a computing optimization technique that is used to speed up computer programs by having function calls avoid repeating the calculation of results for previously-processed inputs. Traditional memoization techniques have mostly failed to deliver tangible performance improvement in practice due to the generality of the techniques and lack of a priori knowledge about the characteristics of the input data or algorithms. 

University of Waterloo researchers have developed a new computational performance technique, referred to as “window memoization” that is focussed on image processing algorithms.  The technique works by minimizing the number of redundant computations performed on an image by identifying similar neighbourhoods of pixels in the image and skipping the redundant computations. As the window memoization technique has been designed for the unique characteristics of image processing algorithms, the technique is easy to implement and delivers significant image processing speed improvement.  In software implementation, window memoization achieves typical speedups in the range from 1.2x (e.g. ultrasound image processing) to a maximum factor of 40x (e.g. industrial inspection applications). In hardware (FPGA) implementation, the typical and maximum speedup factors are 1.6 and 1.8, respectively, with 40% less hardware area in comparison to conventional optimization techniques.

TagsMemoization, Window Memoization, imaging processing, medical image processing, machine vision, reuse, industrial inspection
Posted DateAug 31, 2010 3:09 PM


Scott Inwood

Potential Advantages

  • Runtime optimization that is scalable across various machine platforms
  • In software, 1.2x to 40x speedups of  processing time
  • In hardware, 1.6x to 1.8x speedups with 40% less hardware area

Patent Status

Nationalized PCT in U.S. and Canada

Stage of Development

  • Proof-of-principle studies in progress
  • Seeking industrial partner for medical imaging processing
  • Studies for additional markets are on-going

Potential Uses / Applications

  • Machines Vision System
  • Medical Imaging Processing
  • Smart Phone Image processing
  • Industrial Inspection


  • Medical Imaging
  • Machine Vision System
  • Industrial Inspection