• No results found

The Tug function: A Method of context sensitive dot structuring for digital halftones

N/A
N/A
Protected

Academic year: 2019

Share "The Tug function: A Method of context sensitive dot structuring for digital halftones"

Copied!
110
0
0

Loading.... (view fulltext now)

Full text

(1)

RIT Scholar Works

Theses Thesis/Dissertation Collections

5-1-1990

The Tug function: A Method of context sensitive

dot structuring for digital halftones

Steven Hoffenberg

Follow this and additional works at:http://scholarworks.rit.edu/theses

This Thesis is brought to you for free and open access by the Thesis/Dissertation Collections at RIT Scholar Works. It has been accepted for inclusion in Theses by an authorized administrator of RIT Scholar Works. For more information, please [email protected].

Recommended Citation

(2)

A Method Of

Context Sensitive Dot Structuring

ForDigital Halftones

by

Steven Hoffenberg

A project submitted in partial fulfillment of the requirements for the Master of Science degree in the School of Printing Management and Sciences

of the Rochester Institute of Technology

May,1990

(3)

School of Printing Management and Sciences Rochester Institute of Technology

Rochester, New York

CERTIFICATE OF APPROVAL

MASTER'S PROJECT

This is to certify that the Masters Project of

STEVEN HOFFENBERG

in the Graphic Arts Publishing program, with a concentration in Electronic Publishing, has been approved as satisfactory for the project requirement for the Master of Science degree at the convocation of May, 1990

~~~k)~~~t

_

Project Advisor

M~~J.G~din _

Graduate Program Coordinator

(4)

CONTEXT SENSITIVE DoT STRUCTURING FOR DIGITAL HALFTONES

I, Steven Hoffenberg, hereby grant permission to the Wallace

Memorial Library of RIT to reproduce my thesis project in whole or in part. Any reproduction will not be for commercial use or profit.

(5)

The author would like to thank the following individuals and companies for their assistance in this project:

Professor Frank Cost, project advisor, without whose interest and encouragement this project would not have been possible;

Tom Bernard, of Bersearch Information Services, for PostScript

programming pointers;

Professors Marie Freckleton and Archie Provan, for enabling extended access to equipment required for this project;

Agfa Corporation, for providing to the School of Printing Management and Sciences the scanner and printer used to produce the final prints of this project;

Adobe Systems, Incorporated, for providing pre-release software used for image data formatting.

(6)

Acknowledgments ii

List ofFigures v

ListofTables vii

Abstract viii

Introduction 1

Digital Halftones 3

History 3

Sharpness 4

The TugApproach 9

PostScript Halftoning 14

The Spot Function 19

Procedures 24

The Tug Function 24

The PostScript Tug Function 36

Imaging Context Sensitive Dots 41

Methodology 53

Image Capture and Conversion 53

PostScript Synthesis and Cell Analysis 55

Image Synthesis 56

Image Evaluation 58

Results 60

Discussion 62

Summary 64

(7)

Footnotes 67

Bibliography 70

Software References 72

Appendix A: Anatomy of a Digital Halftone 74

Appendix B: Computer Program Listings 75

18Spot Functions 76

Pascal TugTest 77

The PostScript Tug Function 81

PostScript Toggle 89

Appendix C: Agfa P3400PS Printer Specifications 90

Appendix D: Judging Forms and Results 91

Appendix E: Print Samples 94

Appendix F: Trademark Disclaimer 101

(8)

Figure 1: Original Image 5

Figure 2: Image Reconstructed as Photographic Halftone 5 Figure 3: Image Reconstructed as Digital Halftone 6

Figure 4: Sharpening by Gray Value Adjustment (Convolution) 7

Figure 5: Oversampled Input 8

Figure 6: Normal vs. Partial-Dot Halftone Structure 10

Figure 7: Sharpening by TheTug Approach 10

Figure 8: Halftoning Sharpness Comparison 11 Figure 9: Clustered and Dispersed Halftone Dot Cells 15

Figure 10: Screening Grid Problem 18

Figure 11: Spot Function Coordinate System 20

Figure 12: "ShowTheCell" Output 22

Figure 13: Cell Arrangement for The Tug Function 27

Figure 14: Tug Function Variables 28

Figure 15: Neighboring Cell and Spot Function Equations 29

Figure 16: Tug and Spot Function Consolidation Equations 32

Figure 17: Scrambled Dots 34

Figure 18: "ShowTheTug" Middletone Sample 38

Figure 19: "ShowTheTug" Highlight Sample 39

(9)

Figure Bl: "TugTest"

DisplayWindow 77

Figure El: Portrait, WithoutTug 95

Figure E2: Portrait, With Tug*

96

Figure E3: Back Yard, Without Tug 97

Figure E4: BackYard, With Tug*

98

Figure E5: Gun, Without Tug 99

Figure E6: Gun, With Tug*

100

(10)

Table 1: Print Execution Times 58

Table 2: JudgingData Summary 60

(11)

Structuring

by

Steven Hoffenberg

ABSTRACT

The process of digitizing images to create halftones inherently reduces

sharpness through the averaging of grayness values within cell areas.

Within the context of a resolution independent page description language,

overcoming this reduced sharpness is conventionally addressed by adjusting

the grayness values of cells to create larger or smaller halftone dots where edges are present. Such an approach does not take full advantage of the

capabilities of the output device.

The objective of this project was to design and implement a method of

sharpening digital images by altering the shape and position, rather than the

size, of halftone dots. Such a method can more accurately represent the

original image and more closely emulate the characteristics of

photo-mechanically produced halftones.

Within the PostScript page description language, the generation of halftone dots is controlled by the spot function. A particular typeof spot

function, the Tug function, was developed to control the shape and position

ofhalftone dots based on the grayness value of each cell and its surrounding

neighbors.

Because the standard PostScript imagingoperators are not designed to

allow halftone dot shapes to be redefined on a cell-by-cell basis, an alternate

method of generating images was created. A computer program in the

PostScript programming language was written to perform the requisite image

(12)

viewing the effects of the Tug function.

Three representative photographic images were processed in this

manner. A panel of judges compared the resulting prints with control prints

processed without the Tug function but by the same imaging method. The

judges'

subjective preferences are presented, and the relative merits of the

Tug function are discussed.

(13)

INTRODUCTION

The purpose of this project is to explore the realm of computer

produced halftones via a resolution independent page description language,

and to devisea method that can improve its reproduction ofdigitalimages. With the recent advent of desktop computerdevices for scanning, image processing, and printingof photographic images, a method that

improves the quality ofthese printedimages could have sizable impact. An image in computerized form isby nature digital,existing atits most

elemental level as a series of electrical signals representing only two values:

one and zero. This is the level at which a computer operates. The processes of

scanningand digitizing animage, however,tend toreduce its sharpness. This a

commonly recognized phenomenon, and some of the reasons for its occurrence are explained in this report.

PostScript*

is a computer programminglanguage optimized for the

purpose of communicating page description signals from computer to output device. It is currently considered the de facto standard for such a purpose in

the desktoppublishing market.

PostScript contains several operators which the author believes can be

structured in such a way as to overcome some of the unsharpness introduced

in the image capture process.

While much of the industry research inthis area is proprietaryto the

companies involved, a review of the literature and discussionswith several

industrypersonnel specializing in PostScriptapplications seem to indicate that

the particular approach utilized herein may not have been previously

(14)

the PostScript language, the approach takes several orders of magnitude

longer to execute on an output device than a conventional PostScript image

file. This is contrary to the commercial objective ofreducing printer execution

time.

But the intent of this project is not to create a commercially saleable

software product, it is to introduce researchinto an area that appears to have

been inadequately explored within the realm of publishingsystems. Most

likely, the industrialapplication of such principles would come at the level of

rasterimage processorhardware and firmware withina printingdevice.

Regardless of the specific outcome of the present project, ifthis

investigation leads others to expound on concepts contained within, and

(15)

History

Halftoning techniques have been the dominant methods for printed

reproduction ofphotographic images for more thana century.

On March 4, 1880, TheDaily Graphic newspaper ofNew York City

published whatis generallycredited tobe the firstmassprinted halftone,a picture entitled "Shantytown." That halftone was engineered byStephen Horgan usingan etched plate of glass to photographically create an engraving

with the illusionof continuous tone in animage produced with onlytwo tones: black inkand newsprintpaper.

According to Horgan, "Theterm halftone includesall pictures inwhich the lights and shades are definedby lines and dots of differentsurface areas

madethrough mechanicallylined screen."1

The termhalftone no longerimplies that picturesmust be made through

mechanically lined screens. Photographically produced vignetted dot contact

screens were commercially introduced in the 1940's and have sincebecome predominant.

Inthe 1960's, another,less common method ofhalftoning was

introduced: that of computer generated pictures. Atthe time, computer

printers were only capable ofproducing text characters, and the earliest

attempts at computer generated pictures were actually comprised of various

(16)

became widely available with sufficiently abundant pixels (picture elements),

and sufficiently small spots, which made computer generated images a practical reality. This, combined with phenomenal advances inpersonal computer microprocessors and desktop scanners, has led digital halftoning to thebrink ofpopularity.

(For a clarification of some of the halftoning terminologyused within this report, consultAppendix A.)

Sharpness

The halftoningprocess, by its very nature,reduces the sharpness of an image. Whether produced by photographic or digitalmeans, the size ofa halftone dot within a cell willbe based on the average value oftransmittance

or reflectance of a given area in the copy.

This area average value is expressed as a halftone dotwhichwill

typically grow fromthe center of the cell outward as the value increases. Even

ifthe portion ofthe original responsible forthe value istowards the edge of the

cell, the halftonedot will growfrom themiddle ofthe cell. This tends todiffuse

the edges of an image.3

Aseries offigureswill helptoillustrate the point. Figure 1 showsa

portion of an originalimageprior to halftoningwith a grid thatindicates where the cellswill lay. Theimagecontains both straight and curved edges. Notice thatone ofthe cells, in the centerlower right, contains areas ofdensity in

(17)

photomechanical halftone, whether

produced by contact screen or etched glass screen, the halftone dots typically

growfrom the center of the cell,butthey

canbe skewed towards one or more

sides depending on the position of the valuesintheoriginalimage. Figure2 depicts a generalized view ofhow this

can appear.

This positional biasing can create

irregularlyshaped dots, and it ismore

pronounced for middletone dots and

veryslight or non-existentfor highlight

and shadow halftone dots. The effectis

due to thefact that some light

penetrates to the film behind contact or

etched glass screens in between the halftone dots.4 (Insome

verylight areas, the dots may drop out completely,but

various exposure techniques can place a just-printabledot ineverycell.)

Also, silver particles tend to react

not only inresponse to light exposure

and chemical development on

"fl "8 r" i

Jl....l

1 r t t a 1 * I urns m t 1 1 1 H -1--1 Figure 1 Original Image 1 Hi "_rj -1--1 Figure 2

Image Reconstructed as

(18)

This is knownas the adjacency effect.6

The effect is most apparent when exposed areas are in close proximity or just barely connected, as would occur

in the middletone dot areas.

The irregularities in the shapes of photomechanicaldots are desirable,

because they allowthe halftone to convey shaping information.

L^.n.w^.'i^.M.M.M.M.M.j-Figure 3 illustrates howarea

averaging can affect the edges of a scanneddigitalimage. This figure represents a halftone printed at a

0 degree screen angle and a cell output frequency equal to the scanning input

screen frequency. The result is greater unsharpness, unless corrected by subsequent image processing. Figure 3

isagreatlysimplified view,andin actual

practice, the results of a scan depend heavilyon the design ofthe scanner's

optics, mechanics, and electronics (and,

notincidentally,the printer's halftoningsoftware).

Milch (1989) discusses many ofthe characteristics of a scanning system that can affect image sharpness. Inparticular, there is a trade-offbetween

obtaining maximumresolution, and reducingnoise and granularity inthe original. The size ofthe scanning apertureis usually optimized at a sizethat is

Figure 3

Image Reconstructed as Digital

(19)

over an even larger area thanin photographic halftoning, and as a result edges

are even more diffused.

Two approaches are commonly used to help sharpen the image.

Strictly speaking, such sharpeningis not considered image enhancement, as its

purpose isnot to make the printed reproduction better than the original, but

merely toregain detail lost inthe image capture process.8

One approach to overcoming unsharpness is to perform subsequent

image processing and readjust the gray values to compensate for the area

averagingofthescan. An example ofthis is showninFigure4. Compared to

Figures 2and 3, eachhalftone dot thatborders between light and dark areas is

either enlarged or reduced in size to compensate forthe edge diffusion.

Imaging scientists have

developed many calculations to achieve j , j , j

the desired adjustments. In general, the \ j :

gray value of each halftone cell is j | j.

I

i

ti.

-compared to those ofits neighboring

cells through mathematical equations

such as the Fouriertransform. Many

texts, such asJain(1989), detailthose

processing equations.

The term convolution is

sometimes used as a general

descriptionof this effect of

neighborhood comparison and

'"j^^^^^^Khir~

mm 31 t

BSj

Figure 4

(20)

computers contain a sharpening function which operates in thismanner. Such

processing, however, can merelychange the size ofhalftone dots, not the

shape or position ofthe dots within the cells.

The second approach to sharpness is oversampling, or sampling the

original image at a frequency greater than the desired screenfrequency of the

printed output. Oversampling is nottruly sharpeningas such, butratherthe

prevention of unsharpening. Commonly, the scanis at the Nyquistfrequency,

whichis double the maximum desired outputfrequency (in boththe vertical

and horizontaldirections).9

Figure 5 illustrates how for such oversampling, thegrayvalue of each

output cellisbased onfour smaller cellsin theoriginalimage. In the top

example, the four values are combined to create a single halftone dotbased on

the average ofthe values. In this case, oversampling at the input stage can

increase the accuracy ofthe gray valueinformation, somewhat reducing the diffusion of edges due to area averagingof a large scanningaperture.

Figure 5

Oversampled Input:

Normal (top) and Partial-Dot (bottom) Outputs

In the bottom example, each

quadrant of the cell contains a portion of a dot representing the gray value

fromthat quadrant. This is knownas partial-dot structure. (Further discussion

(21)

Unfortunately, oversamplingcreates larger image data files which

require additional computer memory for both processing and storage.

Based on examination oflaserprinter output, it appears that PostScript

device implementations are capable of partial-dot structuring when the image

datais oversampled. This occurs entirely withinthe proprietary hardware and

software of the Adobe PostScript interpreter, and cannotpresently be driven

byexternal software.

It is a primary purpose ofthis project to create, through downloaded

software,sharper halftonesutilizingapartial-dot typeofstructuring,without

requiringoversampled data on input.

The Tug Approach

The oversampling approach applies to the input stage ofthe digital

imagingprocess. The gray value adjustment approach applies to the

intermediate processing stages. The Tugapproach applies to the output stage.

The comparative merits of oversampling and gray value adjustment

techniques are not specifically addressed here, but it is important to note that

these techniques are notmutually exclusive, and in all Ukelihood,some

combination of all ofthem would yield the optimumimage quality.

The objective ofthis project is to develop a digitalhalftoning model that

creates sharper images by varying, on a cell-by-cellbasis, the shape and

position ofthe halftone dots based on the gray values ofeach cell and its

neighbors.

Inthe realm of high-end electronic dot generatingscanners, some digital

(22)

9

Figure 6

Normalvs. Partial-Dot Halftone

Structure handfulofdifferentways basedon surroundingvalues. This is a typeof

partial-dotstructure.10

Figure 6 shows a comparison of

normal(left) and partial-dot (right)

halftone structure. Both cells contain the

same number of blackened spots, but the

partial-dot is not centered inthe cell and

is shaped as thoughit were comprised of

portions chopped out of quadrants from different sized normal dots.

It is the intent ofthis project to go far beyond anysuch measures

presentlyemployed, to create custom dot shaping of near limitless variety Figure 7illustratesthe Tugapproach for dotstructuring.

The name "Tug" comes from how

the author visualized the process might

work: as though halftone dots have a

magnetic attraction for each other,

creating a Tug-of-War between each dot and theforces pullingonitfrom its

neighboring cells.

In this scenario, thelarger the

neighboring halftone dot the stronger its

pull. And the largerthe centraldot the

strongerits resistanceto the pull. And if

a weakhalftone dotwere pulled

1,1) ! " __ 1... i

ml

En

:""pi

MMi

I["

lit

:WP

J]

P

i

i

' ' ! ! ' ! ' Figure 7 Sharpening by

The Tug Approach

(23)

Ideally, this would put halftone dots backwhere they came frominthe

original.

(The magnetic nature ofthis concept is purely abstract, andis innoway

related to actual magnetic forces that may existin a printingdevice.) The weighting ofthe resistance to thetug based on the central spot

strength was logically originated: moderatelylarge halftone dots jumping

around onthe page would more likelybe distracting to theviewer. The

validity ofthis assumption remained to be seen.

Figure 8contains reduced size versions ofFigures 1, 2, 3, 4,&7,without

the grids, so that thereader mayget a sense ofhow some of the previously

described methods of halftoning compare.

Notein the Tug versionhow the dots appear as thoughbehavinginthis

magnetic way. And noteinparticular, thecellinwhichthe dot has been splitin two.

Original image Digital

Figure 8

Halftoning Sharpness

Comparison

iiii

up

(24)

Before proceeding further, it is necessary to pose several reasonable

questions, and answerthem with abrief review ofthe literature.

Howvisibleis the actualdot structure?

The answer depends on several factors. The visibility of the dot

structure obviously varies with the linescreen or cellfrequency, as well as the

viewing distance. Atnormalprint viewingdistances, estimates ofthe

frequencybeyond which the dot structure is no longervisible varyfrom 100

cellsperinch11,to 125cellsperinch12, to 150cells perinch.13

In many PostScript laser printing devices, the default linescreen is

nominally 60 cells perinch (for reasonsto be explained below), and the dot

structureiseasilyvisible.

Interestingly, Neugebaueret al. (1962) found thatvisibilityofhalftone dot

structure also varieswith the gray level uniformityof animage area and the

pictorial content of the image. In particular, thedot structure was more visible

in areas ofuniform tone thanin areas with fine detail.

Why not use 150 linescreen?

Simply, the higherthe linescreen, the fewer the graylevels thatcanbe

reproduced. For example, in a printer with addressable resolution of300 spots

perinch at 60 cells perinch (and 0 degree screen angle), each cell contains 25

pixels ina 5 x5 matrix. In theory,this canreproduce 26 levels ofgray (0 to 25

spots canbe blackened). At 150 cells perinch, however, each will containonly

4pixels ina 2x2matrix,and can onlyreproduce 5levels ofgray. A good

descriptionand illustration ofthis trade offofgraylevels forlinescreen is

(25)

Tests byHamilton (1988) indicate that the actual number ofdistinct gray

levels that a laser printer can reproduceis significantly less than the

mathematically possible number.14

For most 300-spots-per-inch printers, a 60 linescreen is considered to be

the least detrimentaltrade off, and most such printers use that number as the

default.

Is dotshaping really desirable?

John Seybold and Dressier (1987) state, "To appear continuous, a

halftone must contain dots ofboth varying shapes and sizes."15

Jonathan Seybold and Tribute (1988) state, "Ideally,where there is an

abrupt black/white transition, a halftone dot should convey shape or contour

information as wellas a tonal value. TheAdobe PostScript RIP [raster image

processor] doesn't appear to be doing this."16

Roth (1988)sums itup:

. . . thereisone thingthatPostScript interpreters can'tdo with cell shapes which canbe done with photographic screening,

anditmaybe thebiggest flaw in thewhole scenario. . . . where

light areasborder dark areas . . . thephotographic halftone cells

are not regularly shaped; they'repear-shaped effectively. This

results in very sharp edges and crisphalftones. ThePostScript

halftones don'tshare thateffect.17

These last two references contain samples from high resolution

imagesetters at high linescreen, which may have been produced from files with

little or no oversampling. Itshould be noted that the relative degree of

oversampling varies with theoutput linescreen even ifthe image data remains

constant. The same files might haveproduced partial-dots ifthey had been

(26)

PostScript Halftoning

The PostScript language was designed by Adobe Systems Incorporated

with the expressed purpose of creating a standard page description language

for electronic printing.18 The language

was introduced in1985,and madeits

commercial debut with the Apple LaserWriter printer for the Macintosh

computer.

Three books by Adobe are considered the standard references for the

language. Among PostScript programmers, these books are generally

identifiedby thecolor oftheircovers. Thisauthor will referto them as such.

The PostScript Language Reference Manual (Adobe, 1985a), a.k.a. The Red

Book, contains the public definitionof the languageand its operators. This is

the single most essential book for anyone interested in PostScript

programming, and most other literature aboutthe language will refer the

reader back to it. The PostScript Language Tutorial and Cookbook (Adobe,

1985b), a.k.a. The BlueBook, is the companion volume offeringexamples and

explanations of how the language is used. PostScript Language Program

Design (Adobe, 1988),a.k.a. The GreenBook, is intended primarilyforsoftware

developers who willcreate programs and printerdrivers whose outputwillbe

page descriptions in PostScript.

A key tenet of PostScript is device independence: a program written in

PostScript should be executable on any PostScript-compatible output device.

Since different output devices can have different addressable resolutions, by

corollary another key tenet of PostScript is resolution independence: a

(27)

It is these two aspects ofthe language thathave largely enabled it to become widely accepted. It is also these two aspects thatlargely dictate the

process of printing halftone images throughPostScript.

Figure 9

Clustered and Dispersed

Halftone Dot Cells For digitalimagingin general, there

are two basic methods of constructing halftones: clustered-dot, and

dispersed-dot.19 Figure 9 illustrates

the two types. In both cases, 18 out of 64spots are

blackened, but the distributionof the blackened spotsismarkedly different.

The traditional photomechanical halftone process is the most obvious

example of clustered-dot image formation. Infact, in most common usage, the

termhalftone implies the clustered-dot formation. Partial-dot structuringis considered to belong in this category.

Some electronic printing processes can use the dispersed-dot

formation. The process ofspecifying the order inwhich spots are activated is

called dithering. In most common usage, the termdithering implies the dispersed-dot formation.

Dispersed-dot formations, when appropriately configured, can convey

halftoning without the appearance of a regularscreening pattern.

Ulichney (1987) demonstrates the profound effect that variationsin

dithering can have on image appearance. Based on a comprehensive

(28)

dispersed-dot halftones are clearly preferable, and clustered-dot techniques should only

be used when the printing process cannot accommodate isolated pixels.20

Unfortunately, in most situations where PostScript isemployed the

process cannot easily accommodate isolated pixels.

The resolution independence of the language presents one problem:

Howcanindividualpixels be uniquelyaddressed whenitis noteven known

how many pixels eachhalftone cell willcontain? Evenifresolution

independence is ignored and the addressable resolution of the output device

is incorporated into a PostScript program, there remain other difficulties.

Hamilton (1988) compared clustered-dot and dispersed-dot techniques

on a PostScript printer ofknown addressable resolution, the Apple

LaserWriter at 300spots perinch. He found thatdispersion ofhalftone dots

lead to unusualnon-linearity of tone reproduction. In cases with

dispersed-dot formation, an increase in blackened spots lead to a decrease in density for

middletone values. In one case with cells containing25 addressable pixels,

cells with 18 blackened spots contained approximately the same density as

those with only 6 blackened spots. These effects are largely attributed to

electrostatic interactions between charged toner particles.

Anothermajor problem with dispersed-dot halftoning crops up when

such pages are used as copy for subsequent printed reproduction. Image

capture, platemaking, and most conventionalprinting processesvirtually

require the use of a clustered dot. The high contrast emulsionsfor films and

plates are likely to drop out isolated spots, dramatically altering reproduction

(29)

used as proofs for subsequent high resolution imagesetting, or are themselves thefinalprintedwork.

The Adobe PostScript interpreter is

clearly designed to support

clustered-dot formations. The thrustof this project is to determine ifit canbe externallydriven tosupport a type of partial-dot structuring,which can realize some of the advantages of both clustered-dot and dispersed-dot formations.

Severalsoftware mechanisms forhalftoning are built into PostScript. At

themostbasic level, halftoning is controlled by the set screen operator. The

operator takes three operands: the linescreen frequency; the screen angle; and a procedure called the spotfunction, which controlsthe orderin which device

pixels willbe turned onto builda halftone dot.

In all PostScript printers, defaults for these parameters are pre-set.

Precise implementation of the set screen operator is device-dependent, because the actual screen grid is defined in device pixels.21

In mostcases, a

PostScript programdoes not haveto implement newsettings. In fact, it is

generallydiscouraged.22'23

Atypicaluse ofthe setscreen operator might appearas follows:

60 45 {dup mul exch dup mul add 1 exch sub} setscreen

PostScript uses post-fix notation, where the operands precede the

operator. In the above line, 60 isthe requested linescreenfrequency, 45 degrees is the requested screen angle, and the sequence within the { }, is the

spotfunction.

In PostScript the screen angle is applied as a clockwise rotation from the

(30)

The frequency and angle are requested, but will not necessarily be

delivered bythe outputdevice. This is due to thevagaries ofmatching

user-specified halftonecells to those that a printer is physically capable ofimaging. Anyhalftoning desiredon a devicewith afixed output grid is limitedinthe

selection of angles and frequencies that can be produced using thatgrid.

Figure 10 illustrates how the problem appears in a 300 spots perinch

printerwith a requested frequency of60. Inthe group offourcells at 0 degree

angle (left),each cell contains 25 pixels, butwhenthe cells are rotated to45

degrees (center) two ofthe cells contain 25 pixels and the other two contain24

pixels. The PostScriptinterpreter mechanisms are structured to provide a

repeatable pattern of cells all containingthe samenumber of pixels. This

enables a seamlesstiling ofcells.24

Figure 10

Screening Grid Problem

To achieve this seamless halftoning, either the frequency or the screen

(31)

typicallychangedby the printer'sPostScript interpreter, unbeknownst to the

user, to53cells perinchwith each cellcontaining32 pixels(Figure 10,right). This is somewhatironicin that the defaultsettings for the LaserWriter

are 60 cells per inch frequencywith a 45 degree screenangle, and the device

cannot actuallyrender at its own defaults.

Similar problems can force the adjustment of the screen angle, orboth

the frequency and angle, when requested values cannot be matched to the

devicegrid.

Roth (1988) details some PostScript programs that canassist a userin

determining the frequencies and screen angle combinations that any particular device can actually achieve.

The Spot Function

Of primary interest in this project is the spot function operand for the

setscreen operator. It is the spotfunction whichenables PostScript to

dictate dot shapes ina resolution independent manner.

Forthe spotfunction, each halftone cell is considered to contain its own

miniature coordinate system ofxand yaxes from-1 to +1,with(0, 0) at the

center ofthe cell. This is depictedin Figure 11.

The spotfunction is an executable procedure, that takes as its input the

xandy coordinates ofeach pixelin a halftone cell, and outputs a single value thatdetermines thepriority in whichthat pixel willbe blackened to form a spot

as the grayvalue ofthe cell variesfromwhite toblack.25 The outputvalues

(32)

1.1) y (1 1

l

+

-,-

-*- -a m-

-a a i

a a

a a T a a

-1.-1) (1,-1)

Figure 11

Spot Function Coordinate System value for any given pixel compared to the values ofthe other

pixels, the higher its priority to be blackened.

Whenthe setscreen operator is called, the

spotfunction is executed and all the pixels inthe

cells are prioritized. This is simplified bythe

repeatable nature of the seamless cells; the

calculations only must be performed once. Most

spot functions (except those forspecial effects) yield

a priority that creates some form of centrally

clustered halftone dot. Usually the spot closest to

thecenter willbe blackened first,and thosein the

corners willbe blackened last.

Example:

60 45 {dup mul exch dup mul add 1 exch sub} setscreen. Thexandy values are fed in withy ontopofthe stack. This procedure

doesthe following: duplicatesy,multiplies itbyitself, exchanges thex andy,

duplicates the x, multipliesitbyitself, adds the twoproducts together, and

subtracts the sumfrom 1. (For specifics on the PostScript operators and the

stack-oriented nature ofthe language, consult The Red Book.)

The effect ofthisparticular spot functionis to rankpixels bytheir

distancefrom the center of the cell, and the resultingcluster will grow as a

circular patch centered in the cell.

In some PostScript devices the default spot function is one which

creates dot growth in a diamond-shaped pattern that resembles the more

(33)

APostScript program byTom Bernard called

"ShowTheCell,"

listed in

the book Real World PostScript (Roth, 1988), is extremely useful in evaluating

the effects of anygiven spot function. Without "ShowTheCell" to ascertain

actuallydot structuring, this entire project would have been much more

difficult.

"ShowTheCell"

can be downloaded to a PostScript printer forexecution

via anapplication such as SendPS (Adobe, 1986). The output from the printer

is a numerical and graphical displayof the coordinates and spot function

valuesforeachpixelinthe cell.

Figure 12 shows a page produced by a modified version of

"ShowTheCell,"

executed on a300 spotsper inch Apple LaserWriterPlus, using

the setscreen parameters previously described. Theimportant modification

wastoflip the verticalaxis ofthecell.

In both theLaserWriter Plus and the Agfa P3400 PSprinter used in this

project, they axis ofthe device space is inverted relative to user space. This

places the negativey values at the topofthe cell. Purelyfor thesake ofclarity

inevaluatingcell structures for this project, they axis wasflipped backto

showing positive values at the top ofthe cell. (Consult The Red Book for

(34)

21 -0.8.0.8 -0.28 22 -0.399,0.8 0.199 23 0.0.0.8 0.359 24 0.399,0.8 0.199 25 0.8,0.8 : -0.28 * 16 S,,.,,..,,,,,,-0.8,0.399 ...

17 ....-0.399,0.399 18 0.0.0.399 19 0.399,0.399 20 0.8,0.399 0.199 0.68 0.84 0.68 0.199

i 11 -0.8,0.0 0.359 12 -0.399,0.0 0.84 13 0.0,0.0 1.0 ah 14 0.399,0.0 0.84 am 15 0.8.0.0 : 0.359 W 6 -0.8,-0.399 |; 0.199 7 -0.399,-0.399 0.68 8 0.0,-0.399 0.84 9 0.399,-0.399 0.68 10 0.8,-0.399 0.199

1 2 3 4 5

-0.8.-0.8 -0.399. -0.8 0.0,-0.8 0.399,-0.8 0.8,-0. -0.28 0.199 0.359 0.199 -0.28

(-1.-1) . ,

, (1.-1)

60 0 Default pixelcount x.y value 3*> Figure 12 'ShowTheCell" Output --.%4*

%, \ s;, . W

4%^o

^x

^

*

*^

<s s & \ u

t\i.,

AC'-^'o

C'""""*40 C/yi, s

Jo 0'e <?s

% o-o -- o-a. ^oy

'KO ^ *:*H %.

S\"""- -ot of

""-,

o%

(35)

In "ShowTheCell"

output, foreachpixel, three lines ofnumbers appear:

the pixelcount; thex andy coordinates; and the spot function value forthat

pixel. The pixelcount numbers the pixelsin the orderinwhich theyare

presented to the spot function.

The program also presents the true cell frequency and true screen angle

that the deviceisusing. Thisis allextremelyuseful informationforanyone

experimentingwith setscreen.

The program generates variable sized black circles to indicate the

relative preference based onthe spotfunction value. The larger the circle the

higherrankingthe pixelis inthepriority. Thisgives avisualdisplayofhowdot

growth willoccurwithinthe cell, butitcan alsobesomewhat misleading.

Some viewers of output produced for this project believed that this indicated

the device could producevariable sized spots at the pixellevel. This is not the

case.

For this study, themain interest isthe spotfunction value.

It is the spot function which will be used to implement the concept of

the Tug approach, to alter the shape and position ofhalftone dots based on

(36)

PROCEDURES

Priorto creating a PostScript-produced image containing halftone dots

ofvarying shapes and positions, two majortasks (and a host of minor ones)

needed to be addressed.

The first major task was to develop a method ofdetermining what each

halftonedot should be shaped like, based on the known grayvalues.

The second major task was to develop a method ofimaging such dots

ina real picture on a PostScript printer. This taskwasby no meanstrivial, and

was actually the more precarious ofthe two.

The Tug Function

Initially, theauthor hadin mind theconcept ofemploying a fixed

number of dot structures, and designing an analysis method to choose which

should be used. Of those structures, 18 differentones were determined to be

useful forconveying sharpnessand contour information. These involved

favoring and disfavoringthe corners, edges, diagonals, and axes ofthe cell.

Relatively simple functionsto produce each were written and tested with

"ShowTheCell."

The code forthese 18spot functions is listedin Appendix B.

Itbecame apparent, however, that a more theoretically elegant

technique would be to write a custom spot function for each cellbased on its

gray value and those ofits neighboring cells. Atfirst this seemed beyond

feasibility. But ideas that are onthe verge ofthe possible havea way of

naggingintheperiphery ofconsciousness: "Ifit werepossible,how mightit

(37)

Eventually a series of concepts were drawn up forwhat spotfunction

values would be desirable invarious parts ofthe cell forseveral sample

scenarios.

For instance, if allthe cells on one side ofthe nominal cell were relatively

dark and all the cells on the opposite side were relativelylight, the spot

functionvalues onthe darkside shouldbe higher, and thoseon the light side

should be lower, pushingthehalftone dot towards the darker side.

But, ifcells onboth sidesweredarkand the nominalcell werelight, the

spot function valuesshouldbe higher onbothsides, and lowerin the middle,

splittingthehalftone dotin two.

And, ifall thecells were ofapproximately thesame value, the default

spotfunction value should be employed to retain a centrally clustered dot.

These decisions were entirely subjective. But when in doubt as to how a

particular dotshould behave, the author referred to a diagram, such as forthe

original imagein Figure 1, to guidethe process.

Itwas also decided that no attempt would be made to account for

varying screen angles. The equations would only be intended forangles at

which cellboundaries all squarely coincide. Due to devicepixel grid matching,

this occurs only at0 degrees and multiples of 45 degrees,but the assignment of

variables based on image datain a linear arrayis muchmore complicated at

45 degree multiples.

Once the desired spot function values for the sample scenarios were

established, some sample equations were writtenwhich would generate the

(38)

In effect this was reverse-engineering the normal process. The spot

functionvalues were empiricallyderived, and the equations werethenlogically

derived to fit the values. The author considers the understanding ofthis tobe

very important. It can neverbe demonstrated that these Tug equations are

"correct"

in any absolute sense; it canonly be demonstrated that they

accomplish what theauthor intended them to do.

The task of testingequations by hand for various sample values turned

outto be extremely tedious,even for hypotheticalcells with only 13 pixels.

Using "ShowTheCell" for the calculations was ruled out, because the program

takes several minutes to execute, and more significantly, the author was

concerned that in using PostScript's atypical post-fix notation, the act of

designingthe equations could not easily be integrated into the act oftheir

programming.

A testingprogram was writtenin the Pascal programminglanguage,

using Turbo Pascal Macintosh (Borland, v. 1.1). Alisting of this Pascal program,

labelled "TugTest,"

alongwith a screen capture oftherunningprogram

window, Figure Bl, appearinAppendix B. Sucha program was crucialto this

project.

The testing program displays spot function values fora hypotheticalcell

containing 81 pixels (9 x 9). The program provedto be quitefast and efficient.

With "TugTest," itwas possible,over the course of several weeks, to evaluate

an estimated 200 variations on the equations.

In general, theequations were firsttested withvarious extreme values

for the variables, then ifthe performance seemed desirable, intermediate

(39)

The program had demonstrated that the initial set of equations was not

always producing desired results. Withsome of the grayvalue combinations

for whichthe equations had beenwritten, the results were not as anticipated.

Aftermuch trial and error, new equations were rewritten into a program

function using if/else type statementsto qualifythe portion of the cellupon

which each equation acts. The resulting function behaves mostly as desired

under a wide assortment of cellgray values. Itis interesting to note thatthe final equations are much simpler than the author had anticipated at the outset

(althoughtheir simplicity belies the thought process required to determine that

these were the ones to accomplish the task).

The final form ofthe functionis discussedbelow.

Figure 13 shows the basicarrangement of cells forthe Tug function.

A

B

C

D

--?-E

F

G

H

-1,-1)

z

Figure 13 Cell Arrangement for The Tug Function (1,-D

The gray value ofthe central cellis a assignedto variableZ, and the gray

values ofthe neighboringcells are assigned to thevariables A through H as

(40)

the inverse ofthe PostScript default ofassigning0 =black and 1 = white, but

the method employed here better suits the concept of halftone dots tugging

on each other: a higher number creates a stronger tug.

The coordinates in cell Z are depicted in the standard spotfunction

manner onx,y axes from-1 to +1.

Thevariables for the Tugfunctionare summarizedin Figure 14.

Variables......Range

x,y ....[-1..11 pixel coordinates in Z cell A,B,C,D,

E,F,G,H...[0..1] gray values ofneighbor cells, white=0, black=l Z ...J0..11 grayvalueofZcell

Ti,Tr,Tt,Tb ...[0..11 Tugvaluestowards edges (left,right, top,bottom) Ttl,Ttr,

TblTbr...

....[0..1] Tug values towards corners

s ...J-1..11 PostScriptspotfunction valuefor pixelx,y

T ...M..11 normalized total Tug

N ...[0..11 weighting and thresholdingfactor forTug

st ...[-1..1] finalTugfunctionvalueforZ,at pixelx,y

Figure 14

TugFunction Variables

The values ofthe eight neighboring cells and the existing spotfunction

are first combined withthe x, ycoordinatesin a series ofnine equations [1 - 9].

These equations are shown in Figure 15with graphic depictions of their actions

onthe variables, wherelargermarks indicatepixels withlargerequation values,

smaller marks indicate smaller equation values, and blank areasindicate

(41)

[1] forx<0andy>0: Tti=A* Ixl *

ly

(forotherx,y : Tti= 0)

[2] fory> 0and I yI > IxI: Tt=B*lyl*(lyl-lxl) (forotherx,y: Tt =0)

[3] forx>0and y>0: Ttt=C * IxI * I y I (forotherx,y : Ttr= 0)

[4] forx<0 and IxI > I y I: Ti=D* IxI *(IxI - I

yI ) (forotherx,y : Ti= 0)

[5] forx>0and Ixl > lyl: Tr= E* Ixl *(lxl -lyl)

(forotherx,y: Tr=0)

[6] forx<0andy<0 : Tbi= F* IxI * I y I (forotherx,y: Tbi= 0)

[7] fory<0and lyl > Ixl: Tb=G* lyl *(lyl -Ixl)

(forotherx,y: Tb=0)

[8] forx>0andy<0 : Tbr=H* IxI * IyI (forotherx,y : Tbr= 0)

[9] S= 1 -(x2

+ y2) [typicalspot function]

Figure 15

NeighboringCell and Spot Function Equations

-.

.

(42)

Equations [1-8] are qualified to actonly on pixelsinspecific parts ofthe

nominal cell, and eachwill yield a valuebetween 0and 1. These equations will

not decrease the Tug function values. This is the pivotal distinction between

the original set ofequations and the final set. Attempts to increase the values

in some parts of the cell and decrease the values in other parts tended to

create effects that cancelled each other out more often than desired.

It canbe seen that theseeight equations are oftwo basic types. One

type increases the result based on the product of the absolute values ofx and

y. This increases theTug function value the closera pixelis to the corner and fosters cell growth from the corner.

Earlier versions of those equations used the average of the absolute

values [(IxI +IyI )/2]. Thistended to create dotgrowthalongthe edges in

addition to through the middle of the quadrant, whichwas deemed to be

undesirable for an equation based on the value of a cornering cell.

The other type of equation increases the result based on the product of

the absolute value of x ory and the difference betweenthe absolute values ofx

and y. This increases theTugfunction value the closer a pixel isto the intersection of an axis and anedge, and fosters cellgrowth from thatpoint.

Earlier versions of those equations used the absolute value of just one

of the coordinates, creatingcell growth evenly alongthe edge. When

combined with the corner equations, this overemphasized corners.

The set of equations [1-8] as shown here creates evenly increased corner

and edge values when the grayvalues of all the surrounding cells areequally

(43)

Equation [9] calculates a typicalcentrally clustered spotfunction value

and must yield valueswithinthe range -1 to +1. Anyvalid spot function canbe

used inplace of equation [9]. In PostScript, this equation does not have to be

specified, the existingspot functioncanbe retrieved with a call to

currentscreen command thatreturns the setscreen parameters thatare

alreadyin effect,which wouldbe the defaults unless specifically redefined

previously inthe program.

The inclusion of the spot function component achieves the desired

effect ofleaving everyhalftone dot as specified by the existing spotfunction

unless it is actively tugged into some other position.

When combined in proper proportions, these nine equations can create

virtually anyimaginable halftone dot shape and position.

Three subsequent equations, shown in Figure 16, combine the effects of

the neighboringcells [10], calculatethe weighting factor forthe

neighbors'

effects [11],and thenweight the values of the spotfunction and the

neighbors'

effects toyield the finalTugfunction valueforeachpixel [12]. Equation [10] adds the valuesfrom [1

-8] and normalizes the suminto

the -1 to +1 range requiredfor spot functions. This represents the totaltug

from the neighbors.

Eventhough there are eight equations for neighboringcells, most pixels

in the cell are acted uponby only two ofthem. Theexceptions are the pixels

that border the areas affected, and in these cases no more than one equation

willhave a value greaterthan 0. In allcases, foranyvalues of cells

AthroughH, the sum of values from equations [1

(44)

[10] T= (Tt

+Tb +Ti +Tr +Tti+ Ttr+ Tbi+Tbr):(-2-l

[11] N=

Va

-Z

|

+ B -Z

|

+ C-Z

|

+ D-Z

|

+ E-Z

|

+ F-Z + G-Z + H-Z

)

/ 8

[12] St= (T *N+ S* Z) / 2

Figure 16

Tug and Spot Function Consolidation Equations

Equation [11] produces the N value from the square root ofthe mean of

the absolute value of the difference betweenthe cell and the neighbors. This

value isused as theweighting factor forthe tug componentin equation [12].

The valueSt is the result returnedby theTugfunction.

Therelative weightings ofthe tug(T) from the neighbors, and the spot

function (S) in equation [12] were the mosttroublesome partsin the derivation

of all the equations. Italso involved the greatest degree ofsubjective

assessment. A simple averagingofS and Twas ruled out, as this would not

allow dots to be placed at the edges or corners ofthe cell under any

conditions.

Initially, the tug componentwas weightedby the weakness ofthe gray

value incellZ, usingthe term (1

-Z) to multiplybyT. (Inthat case, thesum

was not divided by2, sinceas Zincreased, [1

-Z] decreased, and the sum was

always withinthe-1 to +1 range.) Whenactualprintedimages were first

generated forthis project,it was apparentthatwith the (1

-Z) weighting,

(45)

difference atall in grayvaluebetweenZand A through Hwould pull the dotto

the extreme edges ofthe cell. This occurred only in areas of almost uniform

highlights, and appeared as somewhat randomlyscrambled halftone dots.

Clearlythis artifact was undesirable when seen within animagewhich also

contained more regularly positioned dots.

Therefore, rather thanweighting the T component bythe weakness of Z,

it was determined that the weighting should be based onthe strength ofthe

neighbors (N). Copious attempts at equations foranN value included: the

average neighborgray value; the largest neighbor gray value; the absolute

value ofthe average of the differences, the average ofthe absolute values of

the differences, and the largest difference between Z and its neighbors, suchas

(A

-Z), (B

-Z), etc.; the differences between opposing neighbor cells, such as

(A

-H), (B

-G), etc., and the sums, the products, the squares and the square

roots of many ofthese quantities. Theroot mean difference equation [11] used

in the latest version of the Tug function seemedto produce the best

compromise between desirable sharpness and undesirable artifacts. This was

purelyajudgmentcall.

Asan example, inearly versions of the equations, which weighted the T

valuebythe weakness ofZ [i.e. (1

-Z)], any not-quite-smooth highlight area

produced scrambled dots as shown in Figure 17.

Changingthe weighting factor to anN value equal to the root mean

difference equation altered the function so that all halftone dots stay centered

(46)

With Z-Weighted Tug

With N-WeightedTug

Figure 17

(47)

The weightingof the existing spot function(S) based onthe magnitude

ofZ enacts the concept of a halftone dot resistingthe tug of its neighbors

based on itsown strength. Highlighthalftone dots can be displaced anywhere

inthe cell; middletone dots will remain centralbutcanbe skewed in any

direction; and shadowdots will mostly remainas specified bythe spot

function. Again, this choice was conceptually based onthe model ofthe Tug

function as established at the outset.

The entire foundation ofthisfunction is based on the need to only

specify relative rather thanspecific spot function values. For some values of

the cells, the entire range ofpossiblespotfunction values from -1 to +1 is used,

but for manycellvalues, only narrow portions ofthe range are used. In

general, the range is determined by a complex interactionbetween the

magnitude of the gray value ofthe central cell and the sum of the differences of

thegrayvalues oftheneighborcells. Thisvariationinrange is primarilya

result ofthe positive-only effectofthe equations forneighboring cell values.

The author encourages readers to use the Pascal "TugTest"

program

(listed in AppendixB) toexperiment withthe various gray levelvaluesfor the

cells, and to experiment with the equations themselves to assess the effect of

(48)

The PostScript Tug Function

The task ofwriting the equations into a PostScript spot function

program was relativelystraightforward. TheTugfunctionas written in

PostScriptappears in AppendixB, within the program labelled "The PostScript

TugFunction."

Itwasnotknown inadvanceifthefunction wouldexecute, even ifthe

code were syntactically correct. All the spot functions the author previously

had seenor writtenhimselfwere fairly simpleprocedures: one ortwo linesof

mostly arithmetic operators. The Tugfunction clearly was farmore complex.

Itwas not even knownifvariables other than the xand y coordinates ofa pixel

couldbe used within a spot function procedure. Itwas not knownifvariables

could be defined withinthe procedure. And it was notknown ifvariables defined outside the function could be used within the procedure.

Although there was no particular reason to believe that the code

sequence would not execute within the context of a spot function parameter for setscreen, there wasalso no precedentindicatingthatitwould. Without

knowing the specifics ofthe underlyingmechanisms used in PostScript

interpreter implementations (which are proprietaryto Adobe Systems, Inc.),

these concerns could notbe taken for granted.

Some simple feasibility tests were performed. The Macintosh

application Lasertalk (Emerald CitySoftware, v. 1.0) was used to debug and

download "ShowTheCell" PostScript files toApple LaserWriter Plus andAgfa

P3400PSprinters, using various spot functionmodifications. Suchtests

included defining variables withinthe spot function, usingvariables defined

(49)

function. In all cases the results were as anticipated forthe code, and no

unusual limitations appeared to exist on the use of operators in the spot

function.

Using theTugfunctionfordefining thespot within

"ShowTheTug"

(amodified version of "ShowTheCell"), various combinations of valuesfor a

nominal cell and its neighbors were downloaded to the LaserWriter. Figure 18

and Figure 19 are samples ofthe pages produced as output. These

representations were compared to those obtained on-screen with the Pascal

"TugTest"

to verifythat the Tugfunctionwasfunctioning properlyand no

obvious errors were made in the post-fixnotation of the PostScript

programming.

The representations inFigure 18and Figure19 indicatethe prioritywith

whichthe pixels in the cell willbe blackened as previouslydescribed for

"ShowTheCell"

output.

These samplesonly show how a single cell would be imaged. With

numerous cells layed inplace, however, the effect may be somewhat different

(50)

21 -0.8,0.8 -0.021 16 -0.8,0.399 0.093 11 -0.8,0.0 0.113 -0.8,-0.399 0.036 -0.8,-0.E -0.135 22 -0.399,O.E 0.093 17 -0.399,0.399 0.051 12 -0.399,0.0 0.0B5 23 0.0,o.s 0.113 0.0,0.399 0.085 13 0.0,0.0 0.076 -0.399,-0.399 0.0,-0.399 0.023 0.057 2 -0.399,-0.8 -0.02 3 0.0,-O.E -0.001 24 0.399,O.E 0.036 19 0.399.0.399 0.023 14 0.399,0.0 0.057 0.399.-0.399 -0.005 4 0.399,-0.8 -0.077 25 0.8,0.8 -0.135 20 0.8.0.399 -0.02 15 0.8,0.0 -0,001 10 0.8,-0.399 -0.077 5 0.8,-0,( -0.25

requestedfrequency=60,requested angle=0

truefrequency=60.0,trueangle=0

spotfunction=TUG

pixelcount

x.y

spotfunctionvalue

A 1.00 B 0.80 c 0.60 D 0.80 Z 0.60 E 0.40 F 0.60 G 0.40 H 0.20 Cell Neighbors Figure 18 "ShowTheTug" Middletone Sample

(51)

-0.8,0.8 0.06 22 -0.399 0.027 0.8 23 0.0,0.8 -0.037 24 0.399, -0.134 0.8 25 0.8.0.8 -0.263 16 -0.8,0.399 0.027 17 -0.399 -0.147 0.399 is 0.0,0.399 -0.171 * 19 0.399, -0.227 0.399 20 0.8,0.399 -0.134 11 -0.8,0.0 -0.037 12 -0.399, -0.171 0.0 13 0.0,0.0 -0.216 14 0.399, -0.171 0.0 15 0.8,0.0 -0.037 "-- "">" "' 6 -0.8,-0.399 -0.134 7 -0.399, -0.227 -0.399 ;i 8 0.0,-0.399 -0.171 9 0.399. -0.147 -0.399 10 0.8,-0.399 0.027 . f 1 -0.8,-0.8 -0.263 2 -0.399 -0.134 -0.8 3 0.0.-0.8 -0.037 4 0.399, 0.027 -0.8 5 0.8.-0.8 0.06

requestedfrequency= 60,requested angle.0 pixelcount truefrequency=60.0 trueangle=0

*.y

spotfunction=TUG spot unction value

A 1.00 B 0.60 c 0.20 D 0.60 Z 0.20 E 0.60 F 0.20 G 0.60 H 1.00 Cell Neighbors Figure 19 "ShowTheTug" Highlight Sample

(52)

Usingthe Tug function, a tremendous number ofdot shapings is

possible by

merely changing the values ofthe ninevariables, Z,and Ato H.

In normal PostScriptimaging applications, each ofthe nine graylevels

canbeone of256values,yielding atheoretical potentialof

2569

(4.7x IO21)

possible spot functions. In any particular implementation,however, the actual

number achievable is miniscule by comparison.

Fora devicewith 300 addressable spots perinch, using a 60 linescreen

(25 pixelspercell), there areonly

225

(33.5million) possible combinationsof

pixel spots thatcouldbe "on" simultaneously. (Thereare25! [factorial]or

25

1.5 x 10 possible orders in which they could be activated, but once the pixels

to be activated are determined, the order in which this is accomplished is

irrelevant.)

Inthe case oftheTug function, since one ofthe variables is itself the

gray value ofthe cell being imaged, many of the possible combinations cannot

be used. Forexample, ifthe gray valueisrelativelylarge,all combinations that

leave thecenter of the cell empty can never occur. The author will leave the

calculation of such possibilities to an ambitious reader.

More importantly, many ofthe possible combinations will appear

identical on the printed page. For a laser printer, theactual number of

discernable halftone dot shapes would depend on the many interactions of

laser, photoconductive surface, toner particles, paper substrate, and the

viewing distanceand vision of theviewer. Hamilton(1988) gives someinsight

into mathematical possibilities vs. actual capabilities of a laser printer.

Clearly the Tugfunction will notbethe limitingfactor. Itmight evenbe

(53)

It also seems apparent that the quantity and variety of possible dot

shapes may far exceed those possible through what has been called

partial-dotstructuring. That is,theTug functioncan produce structures thatare not

merelyportions of regularhalftone dotschopped out along a rectangular grid.

(Referbackto Figures 5 and 6.) Forinstance, thehighlight sample shownin

Figure 19 probably could notbe produced bypartial-dot methods currently in

use, except perhaps in the case ofextreme oversampling on the order of25

sample values to 1 cell. TheTugfunction accomplishes this with no

oversampling whatsoever.

The term partial-dot seems inadequate to describe the possible dot

structures that can becreated by the Tugfunction. Therefore, project advisor

Professor Frank Cost, has proposed the term context sensitive dot structuring

as a generic term to describe the phenomenon of shaping a dot based on its

neighboringcells.

Imaging Context Sensitive Dots

From themany

"ShowTheTug"

samples the authorhad generated, it

appeared that on a purely hypothetical basis, the Tug function could createthe

individual halftone dot shapes as desired bythe author.

In order to bring the Tug function beyond the realm of the merely

abstract, it was necessary to reproduce photographic images utilizing the

function in situ. This was much more problematic than itmight seem.

The standard method ofprinting grayscale images through PostScript is

with the image operator. Theoperator takes five operands: the number of

References

Related documents