MAP UWICL

Table of Contents
Introduction
History, Goals and Features of MAP UWICL
Architecture of MAP UWICL
UWICL Functions
Additional Library Functions To Be Developed
Quality Assurance
Documentation
Support
---------------------------

Introduction

University of Washington Image Computing Library (UWICL) consists of a set of image computing functions for the Media Accelerated Processor (MAP). The document describes the history, goals and features of the MAP UWICL, its architecture, the image computing functions supported, the quality assurance procedure, the documentation and technical support provided.

---------------------------

History, Goals and Features of MAP UWICL

The MAP architecture was originally conceived by Hitachi, Ltd. The MAP has been further developed, refined and implemented jointly by Hitachi, Ltd. and Equator Technologies, Inc. The Image Computing Systems Laboratory (ICSL) of the University of Washington has been assisting Hitachi, Ltd. and working on MAP architecture, MAP programming, and MAP-based system designs since 1994. Since December 1995, the ICSL has been developing the MAP UWICL taking advantages of the experiences in developing the ICSL's previous image computing library for the Texas Instruments TMS320C80 and its consortium. Currently, there are 129 MAP UWICL functions.

Hitachi, Ltd. has provided the University of Washington ICSL with the research funding since December 1995 to develop the MAP UWICL.

The major goals of creating the MAP UWICL are to help the MAP technology succeed technically and commercially and help the companies adopting the MAP technology (1) reduce the time-to-market, (2) control the software development costs, and (3) have a successful transition to mediaprocessor-based products.

The specific aims of the MAP UWICL are to (1) provide an efficient library of core low-level image computing algorithms to the MAP user community, (2) provide a portable infrastructure of low-level routines so that higher-level algorithms and applications can be developed and quickly integrated on the MAP-based target systems with minimal custom coding by companies that are using this advanced VLIW processor in their products, (3) actively expand, upgrade, and support the library to facilitate the widespread use and technical/commercial successes of the MAP, (4) provide the detailed performance and instruction usage profiles of key functions to the MAP chip architects and compiler developers so that the continued architecture and compiler/tool improvements can be made, and (5) train and educate students in MAP programming and develop educational materials for the VLIW-based mediaprocessors.

Using the MAP UWICL, the programmers should be able to enjoy their applications being implemented flexibly and in a timely fashion, resulting in reduced time-to-market and R&D costs. Programmers do not need to understand the details of the complex MAP architecture to be able to maximally utilize its processing power. This kind of infrastructure to reduce the end user's and application developer's low-level programming burden is essential for the success of high-performance programmable mediaprocessors in the future.

---------------------------

Architecture of MAP UWICL

A MAP UWICL function is divided into two hierarchical modules, i.e., a function level module and a tight-loop level module. The overall structure of a multilayered MAP UWICL function is shown in Fig. 1. Such a multilayered library structure allows a flexible use of the UWICL modules.

Depending on how a required application is implemented and/or on the user's experience in programming the MAP mediaprocessor, the user may choose to use the functions provided by the MAP UWICL by calling any of these hierarchical modules.

A novice user might choose to use the function level module where the details of implementation and data flow are hidden from the user.

A more experienced user might choose to create his/her own customized function level routine by integrating multiple tight-loop level UWICL modules. This approach requires more experience and better understanding in the algorithm to be implemented and MAP programming since it becomes the user's responsibility to handle the data transfers and control the amount of data to be processed within the tight loop. Careless handling of the data flow could actually lead to performance degradation.

More information on the MAP UWICL architecture can be found in the MAP UWICL Design Guide, which will be included with the library's formal release.

[image]
Figure 1. Overall structure of a MAP UWICL function.

---------------------------

UWICL Functions

The total number of library functions stands at 129 as of Nov. 30, 2001, which can be grouped into 17 families. Below is a list showing different function families and the number of functions included in each family. Each function in the MAP UWICL has been developed by the MAP compiler/simulator tool and tested on the hardware. A complete list of library functions and timing information can be found in Function List and Performance page.

    Function Family No. of Functions
    Arithmetic functions 22
    Logical functions 6
    Signal processing functions 4
    Spatial filter functions 13
    Morphology functions 8
    Segmentation functions 10
    Transform functions 9
    Frequency filter functions 1
    Contrast enhancement functions 4
    Statistics functions 16
    Geometric manipulation functions 23
    Pack and unpack functions 4
    Color space functions 3
    Lookup table functions 2
    3D volume manipulation functions 2
    Compression functions 1
    Other 1
---------------------------

Additional Library Functions To Be Developed

In addition to continuously implement and upgrade the existing functions in the MAP UWICL, we are planning to develop new functions and include them into the MAP UWICL. These new functions, which will be developed during this Consortium period, may include the following:

  • More convolution functions
  • More warping functions
  • More wavelet functions
  • More color space conversion functions
  • Image segmentation functions
  • Optical flow
  • Compression functions
  • 3D volume processing/manipulation functions

Member companies of the MAP UWICL Consortium can suggest the development of some functions for their applications. The suggested functions from the Consortium member companies will be collected, analyzed, prioritized, and selected by the MAP UWICL team in consultation with the Consortium Advisory Board. Every six month, the development of five to ten new functions of high priority will be initiated in the ensuing 6 months depending on the complexity and implementation difficulty of the selected functions. During the development time period, each function is subject to multiple design reviews, modifications, and optimization. After the functions are developed and tested under the established protocol of the MAP UWICL, they will be included in the next release of the MAP UWICL.

---------------------------

Quality Assurance

All functions in the MAP UWICL are subject to detailed design reviews, white-box testing, and black-box testing. Prior to the implementation of any new MAP UWICL function, the high-level design of the new function is reviewed and critiqued during regular design review meetings. Once the design is approved and the function is coded, the programmers test their functions (white-box testing) under various conditions on the simulator and validate the outputs of the function by using verification utilities for each function. Finally, one MAP UWICL team member is designated as quality control person who tests each function under various conditions and reports and communicates any problems and suggestions to the function's author for corrections and improvements. Details of the algorithm verification procedures is documented in the Quality Assurance Guide that is included with the MAP UWICL release.

---------------------------

Documentation

The following documents are typically included with the release of the MAP UWICL:

  • Design Guide: details the UWICL software architecture.
  • Style Guides: standards for both C and assembly language coding.
  • Man pages: UNIX-style man pages with each MAP UWICL function, providing algorithm specifics, synopsis, restrictions, and function parameters.
  • README files: a text file provided with each function source, describing how to compile the function and restrictions.
  • profile.txt: the performance profile of simulation on casim (cycle-accurate simulator)
  • Quality Assurance (QA) Guide: documents the MAP UWICL QA and support procedures.
  • Installation Guide: describes the procedures for installing and using the MAP UWICL.
  • Changes document: lists the changes in the MAP UWICL from previous releases.
---------------------------

Support

The MAP UWICL team provides on-line bug support and on-line general support to Consortium member companies. Member companies of the MAP UWICL Consortium can report bugs using the provided page. The MAP UWICL team attempts to answer and supply fixes to any bugs within 1-4 weeks of receipt of the report. MAP UWICL Consortium members can send general support questions to the above e-mail address and MAP UWICL team members will respond within five working days. Details of the support procedures can be found in the Quality Assurance Guide.

Copyright © 1997-2002 Image Computing Systems Laboratory, University of Washington