Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

Articles10 Years Ago in BYTE


March 1997 / Blasts From The Past / 10 Years Ago in BYTE

We liked Borland's Turbo Basic, which provided better support for Intel's 8087 numeric coprocessor than Microsoft's Basic. Among several stories on image processing was one that discussed its use at NASA's Jet Propulsion Laboratory. The 286-based AT clones we reviewed cost as much as $3995.


Other topics covered in March 1987 included a Features section on image processing. Ken Sheldon (formerly BYTE's features editor, now a successful composer of children's songs) gave us this piece on proposed standards:

PreScript

A proposed standard would streamline the process of capturing and manipulating image data.

by Ken Sheldon

Des ktop Publishing, the ability to produce high-quality publications using a microcomputer, essentially boils down to combining words and images on pages. Every desktop publishing software package deals with these two types of information in its own way, and each provides different features and capacities.

Typically, you incorporate text into a desktop publishing program by entering it directly from the keyboard or importing a standard ASCII text file created by a word processor. The method of importing images , however, varies widely from package to package and computer to computer.

True desktop publishing programs let you import an image file into your document, and the format of these image files varies widely depending on the package and your computer. Other packages allow you to scan an image (using, for example, a camera or page scanner) from within the application and place the image directly into the document on which you are working.

Camera and scanning devices usually perform some low-level image processing, such as improving the contrast, to make the images more presentable. Some desktop publishing packages allow you to enhance the images further after capturing them; other packages force you to scan the image and "take it or leave it." You can, of course, attack an image file at the bit-map level and perform your own image processing to enhance it before importing it into your desktop publishing program, though this will be beyond the interest and abilities of many users.

Enter PreScript

In the face of this conglomeration of features and capabilities, Datacopy Corporation has proposed a standardized high-level language for importing image data into desktop publishing and other application programs. The proposed standard, called PreScript, consists of three parts: high-level language calls that reside in the application program; an interpreter that translates the commands for a particular image processing system; and an intelligent image processing system that controls the scanning process and contains its own microprocessor that handles the algorithms for image processing.

PreScript, which is invisible to the user of an application, sends commands to the PreScript interpreter through an SCSI port. The interpreter passes the commands, translated for a particular image processing system, to a signal processing router/scheduler (SPRS) in the form of an image description table. This table dictates the specific image processing functions and the order in which they are to be performed on the image data.

The SPRS manages the flow of image data between the various image processing algorithms and also interfaces with the controller of the camera or scanner. A microprocessor performs the actual image processing operations, with the help of optional coprocessors (e.g., pipeline processors, which are ideal at performing the many repetitive operations required to enhance image data). Depending on the manufacturer, the "intelligence" for the image processing functions may reside within the scanning device, in a chassis that sits between the scanner and the host microcomputer, or on an expansion board in the computer.

The PreScript standard currently describes a list of commands and image processing algorithms that are to be built into such PreScript-capable systems ( see table 1 ). In addition, application programmers can develop new algorithms that may be downloaded to the intelligent scanner and called via PreScript.

Figure 1 shows a typical image-capture problem: The scan area contains two types of images, a continuous-tone photograph (window 1) and a line drawing that overlaps the photograph (window 2). Suppose you want to double the size of the photograph, halftone the photograph, reduce the line drawing to one-half its size, enhance the line edges to reduce breaks caused by the scanning and reduction process, and then perform a thresholding operation that "binarizes" the entire image (converts all pixels into either black or white).

For the application programmer to provide you with this capability could take from several hundred to several thousand lines of code. With a PreScript intelligent system, however, the programmer would need only include the following PreScript commands in the application:

1 Device_Select
1 Window_Select
10 10 200 200 Window_Frame
2 2 Scaling
Mask Halftone
2 Window_Select
40 40 300 300 Window_Frame
0.50.5  Scaling
Edge_Mask Convolution
128 Threshold
Scan

These commands select the scanning device, the windows (their size and location), and the scaling (enlargement or reduction) for each window. They also determine the image processing algorithms to be performed on each window and instruct the device to begin the scan.

After the image processing system performs the desired operations on the image data, it sends the data back to the application program through the SCSI port. Although PreScript does not specify the file format into which the image data is placed, Datacopy's application software will support the Tag Image File Format (TIFF) now used by Aldus, Microsoft, and other software publishers. Use of the TIFF standard by software publishers will allow, for example, an image captured with an IBM PC-based system to be transferred to a Macintosh, where it can be incorporated into desktop publishing programs that also support TIFF, and vice versa.

Standard Advantages

Using PreScript would allow application developers to incorporate image enhancement technology into their programs without having to develop from scratch the algorithms to work with a variety of scanning devices and computers. Programmers will simply tell the scanner/image processing firmware what to do, not how to do it. In this regard, PreScript is nonprocedural, as opposed to a procedural page-description language such as PostScript.

The widespread acceptance of PreScript by the makers of scanning devices and application programs would mean that yo u could use your application programs with a variety of scanning devices. You would have more control over the way image data appears in newsletters, reports, and other publications.

PreScript is available for licensing from Datacopy Corporation to OEMs and developers of desktop publishing and other application programs.


Table 1

Table 1: The entire PreScript built-in vocabulary, which includes
both symbols and words. Most commands are highly descriptive of the
functions they perform.

(..any letter..)
(..any digit..)
%
$
(  )
[  ]
#nn
Add
Archive
Archive_Reset
Archive_Restore
Area_Compensation
Compression
Convolution
Def
Device_Frame_Get
Device_Frame
Device_Select
Div
Dup
Edge_Mask
Error_Diffusion
Gamma_Correction
Halftone
Inch
Invert
Mask
Mirror
Mul
Roll
Scaling
Scan
Sub
Swap
Synonym
Threshold
Window_Frame
Window_Select





Figure 1

illustration_link (24 Kbytes)


March 1987

photo_link (180 Kbytes)


Ken Sheldon is a technical editor for BYTE. He can be reached at BYTE, One Phoenix Mill Lane, Peterborough, NH 03458.

Up to the Blasts From The Past section contentsGo to previous article: Go to next article: 15 Years Ago in BYTESearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network