Digital Image Data Formats

John R. Jensen
Steven R. Schill
Department of Geography
University of South Carolina
Columbia, South Carolina 29208
Direct Comments to: jrjensen@sc.edu
 


Introduction

In order to properly process remotely sensed data, the analyst must know how the data is organized and stored on digital tapes and how the data is processed by computers and software. Understanding existing digital data formats is essential before the data can be processed. There are many different data formats used for storing digital remotely sensed data. Many commercial data suppliers such as EOSAT and SPOT, provide radiometrically corrected data in a customer specified format. There are four major data formats used by government and comercial data suppliers:
  1. Band Interleaved by Pixel (BIP) Format
  2. Band Interleaved by Line (BIL) Format
  3. Band Sequential (BSQ) Format
  4. Run-Length Encoding Format
Most digital data are stored on nine-track tape (800, 1600, and 6250 bpi), 4- or 8-mm tape, or on optical disks. The nine-track and 4- or 8-mm tapes must be read serially while it is possible to randomly select areas of interest from within the optical disk. This may result in significant savings of time when unloading remote sensor data. The 4- and 8-mm tape and compact disks are very efficient storage mediums, as opposed to the large number of nine-track tapes required to store most images (Jensen, 1996).

Band Interleaved By Pixel Format (BIP)
One of the earliest digital formats used for satellite data is band interleaved by pixel (BIP) format. This format treats pixels as the separate storage unit. Brightness values for each pixel are stored one after another. It is practical to use if all bands in an image are to be used. Figure 2-3.1 shows the logic of how the data is recorded to the computer tape in sequential values for a four band image in BIP format.

All four bands are written to the tape before values for the next pixel are represented. Any given pixel located on the tape contains values for all four bands written directly in sequence. This format may be awkward to use if only certain bands of the imagery are needed. Often data in BIP format is organized into four separate panels, or tiles, consisting of vertical strips each 840 lines wide in the x direction and 2,342 lines long in the y direction. In order to read all four bands of the image, all four panels must be pieced together to form the entire scene (Campbell, 1987). 

Band Interleaved By Line Format (BIL)
Just as the BIP format treats each pixel of data as the separate unit, the band interleaved by line (BIL) format is stored by lines. Figure 2-3.2 shows the logic of how the data is recorded to the computer tape in sequential values for a four band image in BIL format.

Each line is represented in all four bands before the next line is recorded. Like the BIP format, it is a useful to use if all bands of the imagery are to be used in the analysis. If some bands are not of interest, the format is inefficient if the data are on tape, since it is necessary to read serially past unwanted data.

Band Sequential Format
The band sequential format requires that all data for a single band covering the entire scene be written as one file (see Fig. 2-3.3). Thus, if an analyst wanted to extract the area in the center of a scene in four bands, it would be necessary to read into this location in four separate files to extract the desired information. Many researchers like this format because it is not necessary to read serially past unwanted information if certain bands are of no value, especially when the data are on a number of different tapes. Random-access optical disk technology, however, makes this serial argument obsolete.

Run-Length Encoding
Run-length encoding is a band sequential format that keeps track of both the brightness value and the number of times the brightness value occurs along a given scan line. For example, if a body of water were encountered with brightness values of 10 for 60 pixels along a scan line, this could be stored in the computer in integer (213) format as 060010, meaning that the following 60 pixels will each have a brightness value of 10. Storing the two values 60 and 10 would require far less memory on disk or tape than storing 60 number 10s. However. if the data are exceptionally heterogeneous, with very few similar brightness values, this format is no better than the others.