8850 Roll Film Scanstation NVIDIA GPU powered Microfilm Imaging Software

Introduction

The 8850 Roll Film Scanstation from Wicks and Wilson is a production microfilm scanner designed to run continuously, automatically converting rolls of microfilm into digital images (Fig 1). A typical roll of 16mm microfilm is digitised and converted into up to 4,000* letter (A4) sized digital documents in minutes.
Traditionally, production microfilm scanners have used CCD technology to capture an image and embedded the image processing functions in hardware. A hardware solution was necessary in the past due to the demands of performing real-time image processing on the continuous image data stream produced by the scanner. Once processed, the image data was then passed to an attached PC workstation and a control application used to collect, display, compress and save the resulting digital documents.

In the 8850 Scanstation the CCD technology remains, albeit in a very updated form, but the traditional hardware processing model has been replaced by a GPU/CPU solution designed around the NVIDIA GPU software solution using the CUDA development environment.

* Actual number of frames created dependent on format of source document and filming technique used to create the original microfilm.


Figure 1 - Capture and extraction of image from microfilm using the 8850 Scanstation (screen refresh rate for this video file may vary depending on speed of internet connection)


Architecture

The following diagram (Fig 2) shows the principal operations performed by the GPU/CPU architecture with the NVIDIA GPU processing every scanned image frame. Processing the image frames at the rate generated by the scanner requires the GPU/CPU set-up to achieve a processing rate of up to 85 Mbytes per second. The system is designed to sort the tasks according to their nature. Simplistically, any processing applied on a per pixel basis is routed to the GPU whilst processing applied to a frame (complete page) is passed to the CPU.

 


Figure 2 - Flow of image data through the GPU/CPU system


Processing Task (Equalisation)

A common issue when imaging from microfilm is that of density variations throughout the image, visible as changes in greyscale throughout the background of a document. This may be as a result of deficiencies in the original microfilming process (due to poor or uneven illumination), ageing of the microfilm (usually attributable to storage conditions) or simply the state of the original document at the time of filming. To overcome this problem, density equalisation is dynamically performed by the GPU for each image frame with corrections to the background appearance being applied after analysis of the actual scanned data. The two images below (Fig 3 and Fig 4) show the results of the same image frame before and after equalisation.

Figure 3 - Image from microfilm before equalisation

Figure 4 - Image after equalisation

The equalisation processing task is well suited to the GPU architecture as it involves reducing the resolution of the original image to calculate and map background data levels of small areas on the low resolution image. The resultant map is then processed and used to correct the background data levels on the corresponding full resolution image. The examples here show the original image (Fig 3) where the top edge of the page has a significantly different background level compared to the bottom. The resultant correction (Fig 4) shows the removal of any variations in background density, leaving an even appearance across the whole page.


Processing Task (Artefact Removal)

Other undesirable features typically found in images captured from microfilm include scratches or marks as a result of poor handling or storage during the life of the film (Fig 5). A block of processes have been developed to remove these artefacts (Fig 6), all implemented using CUDA and running on the NVIDIA GPU.

Figure 5 - Image from microfilm containing artefacts
(light speckle and density variation at bottom of page)

Figure 6- Image after removal of undesirable artefacts


Processing Task (Thresholding)

A significant part of the GPU processing is dedicated to the conversion of the greyscale image to a bitonal image (1 bit per pixel), a process known as thresholding. In it's most basic form this involves selecting a grey level at which any pixel is either black or white (0 or 1), however such a simple implementation would lead to either data being missed from the bitonal image or erroneous data being added.

The CUDA coded thresholding algorithm implemented for the 8850 selects the grey level threshold for each individual pixel in the image after analysing a number of weighted parameters. The parameters calculated for each pixel include the local background level, the local foreground level, the polarity (black or white) of neighbouring pixels, the user preference for thicker or thinner character formation and the rate at which the grey level is changing in the proximity of the pixel in question. Using this approach allows the microfilm to be automatically scanned and both greyscale and bitonal outputs produced with no user adjustment of the threshold level.

The processes described here are amongst several that may be performed dynamically on every page in real-time, as soon as the data is made available by the scanner capture hardware.


Advantages

Implementing the 8850 image processing using the NVIDA GPU with CUDA development tools offered a number of significant advantages over a traditional hardware solution

      • Enabled image processing algorithms to meet speed requirements when implemented on a PC
      • Time to market much reduced compared to traditional hardware solution
      • Much reduced development costs when compared to bespoke image processing hardware
      • Full flexibility for future developments. Improvements to algorithms can be developed and tested without the need to invest in design, production and testing of new hardware
      • Locked in to NVIDIA development cycle. The image processing speed of the scanner improves as the performance of the GPU increases

Return to Wicks and Wilson Website