JasPer 4.0.0 |

Loading...
Searching...
No Matches
Introduction

# Motivation Behind JasPer

Digital imagery is used in many of today's computer software applications. Consequently, software modules that facilitate the handling of such data are often needed. Almost any application program that deals with images must address the problem of image interchange and import/export. That is, a means must exist for moving image data between an application and its external environment. Moreover, applications must often be capable of rendering an image for display on a particular output device (such as a monitor or printer) with reasonably accurate color/tone reproduction.

Although image import/export and rendering are very basic functionalities, they are often not easily implemented. Usually, an image is represented in a coded format (such as JPEG-2000 JP2 [iso15444p1] or JPEG [iso10918p1]). Since coding formats are frequently quite complex, the import/export of image data can be a daunting task. Rendering an image in such a way as to accurately reproduce color/tone requires a color management scheme of some sort. Unfortunately, developing an effective color management engine can require considerable effort.

A search for a solution to the above problems led to the development of the JasPer software. The remainder of this document provides a detailed description of the this software.

# What is JasPer?

In simple terms, JasPer is a software tool kit for the handling of image data. The software provides a means for representing images, and facilitates the manipulation of image data, as well as the import/export of such data in numerous formats (e.g., JPEG-2000 JP2 [iso15444p1], JPEG [iso10918p1], PNM [netpbm_web], BMP [Luse1994a], Sun Rasterfile [sun_openwinref], and PGX [iso15444p4]). The import functionality supports the auto-detection (i.e., automatic determination) of the image format, eliminating the need to explicitly identify the format of coded input data. A simple color management engine is also provided in order to allow the accurate representation of color. Partial support is included for the ICC color profile file format [icc_fffcp], an industry standard for specifying color.

The JasPer software consists of a library and several application programs. The code is written in the C programming language [iso9899-2011] [Kernighan1988a]. This language was chosen primarily due to the availability of C development environments for most of today's computing platforms. At present, JasPer consists of approximately 40K lines of code. Although written in C, the JasPer library can be easily integrated into applications written in the C++ programming language as well.

# Software License

JasPer software development is based on an open-source model. A copy of the software license can be found in License.

# Other Sources of Information on JasPer

For more information about the JasPer software, please visit the following web pages:

- Official JasPer Project Home Page, https://jasper-software.github.io/jasper
- JasPer GitHub Home Page, https://github.com/jasper-software/jasper
- JasPer Reference Manual: https://jasper-software.github.io/jasper-manual
- Michael Adams' JasPer Page, https://www.ece.uvic.ca/~mdadams/jasper

For more information about the JasPer software and JPEG-2000 standard, the reader is referred to [Adams2000c] [wg1n2412].

# Origin of the Name

The JasPer software is named, in part, after Jasper National Park, the largest national park in the Canadian Rockies with 10,878 square kilometres of mountain wilderness. As it happens, jasper is also the name of an opaque cryptocrystalline variety of quartz used for ornamentation or as a gemstone—hence, the implication that the software is precious (i.e., like a gemstone). Lastly, the name "jasper" was also chosen because it contains a letter "J" followed subsequently by a letter "P", not unlike the abbreviation "JP" that is associated with the JPEG-2000 standard.