FIELD OF THE INVENTION
[0001] The present invention relates to graphical image processing in a computer system
and, in particular, to a particularly efficient mechanism for rescaling a graphical
image.
BACKGROUND OF THE INVENTION
[0002] Rescaling a graphical image generally refers to multiplying a numerical value associated
with each pixel of the graphical image by a scalar coefficient and can include adding
or subtracting a constant to the numerical value associated with each pixel. In some
graphical images, each pixel represents a numerical value associated with a datum.
For example, graphical images are frequently used to represent X-ray or computerized
axial tomography (CAT) scan images using a computer display device. In addition, graphical
images are frequently used to represent seismic signals, e.g., seismic lines which
include multiple seismic traces, each of which is represented by a column of pixels.
In such graphical images, each pixel represents a digital sample of a seismic signal
of a trace. In these graphical images, each pixel is associated with a numerical value
corresponding to a discrete sample of signal. In the case of a graphical image of
an X-ray, each pixel is associated with a numerical value representing the density
of biological tissue at a particular point as measured by an X-ray machine. In the
case of a graphical image representing a seismic signal, each pixel is associated
with a numerical value representing the amplitude at a particular time of a vibration
recording using a geophone.
[0003] In displaying such graphical images, a color is associated with each possible numerical
value associated with a pixel. Such graphical images are frequently represented as
a greyscale image in which all pixels have generally the same hue but vary in intensity
according to the numerical value of each pixel. However, much of the subtlety of the
data represented by such a greyscale graphical image is lost since the human eye can
only perceive a limited number variations in intensity in a color when hue remains
constant. For example, the average human eye can perceive only a very few distinct
gradations of grey between black and white, i.e., typically no more than sixteen distinct
gradations of grey. On the other hand, it is common for a greyscale graphical image
representing a grid of numerical values, such as an X-ray image or a seismic signal,
to have 256 or more distinct gradations of grey.
[0004] Rescaling such a graphical image in accordance with control signals generated by
a user, e.g., by physical manipulation of a pointing device, places the greatest contrast
in pixel colors or intensity at any area of interest. For example, by quadrupling
the numerical value associated with each pixel of an X-ray image whose pixels range
from 0 to 255, all pixels associated with a numerical value in the range of 64 to
255 are displayed with the color associated with the value 255 and pixels associated
with a numerical value in the range of 0 to 63 are displayed using the full spectrum
of grey intensities. As a result, pixels associated with numerical values in the range
of 0 to 63 are displayed with more clarity and detail and pixels associated with numerical
values in the range of 64 to 255 are displayed in one color and are therefore indistinguishable
from one another. The user can therefore "focus" the available contrast in the graphical
image to a particular range of interest. In addition, if the "focused" numerical range
can be shifted in accordance with control signals, e.g., generated by physically manipulation
of a pointing device, the user can observe and perceive particularly subtle features
of the graphical image by moving the high contrast range back and forth over a range
of interest. By quickly rescaling and redisplaying the graphical image with incremental
changes in the scaling of the numerical values associated with the pixels of the graphical
image, the graphical image takes on a quality suggestive of motion which emphasizes
further subtle features in the graphical image.
[0005] Rescaling a graphical image requires substantial computer processing resources. For
example, a graphical image having one thousand columns and one thousand rows of pixels
requires at least one million multiplication operations, one million addition or subtraction
operations, and two million threshold operations, e.g., to ensure that each pixel
has a value in a range of valid values. The results of the four million operations
must generally be written to a frame buffer for display on a computer display device.
In addition, to provide a quality suggestive of motion as described above, such rescaling
must generally be accomplished twenty times per second and preferably at least 30
times per second. The processing demands of a computer system which rescales a graphical
image in the described maker do not end with the rescaling of the graphical image
since the processor is typically also responsible for carrying out other operations
such as managing user input devices which generate control signals to control the
rescaling of the graphical image and perhaps other components of a graphical user
interface (GUI). In other words, a dedicated computer processor is typically not available
for performing the rescaling described above.
[0006] Accordingly, a need persists in the industry for a particularly efficient rescaling
mechanism whereby a graphical image can be more quickly rescaled while simultaneously
reducing the operational burden of a processor of a computer system.
SUMMARY OF THE INVENTION
[0007] Some computer graphics systems include a frame buffer which performs some image processing
functions, including a depth cue mechanism. In a depth cue, pixels are defined in
a three dimensional view space in which the Z axis is normal to the viewing surface
and pixels which are nearer the viewer as determined by the Z coordinate of the pixel
are displayed with greater intensity. In accordance with the present invention, a
graphical image is represented in a Z buffer of such a frame buffer such that the
Z coordinate of each pixel represents the numerical value associated with each pixel.
Thus, by operation of the depth cue mechanism pixels associated with a particularly
high numerical value have a particularly high Z coordinate and are therefore represented
with a particularly low intensity. Similarly, pixels associated with a particularly
low numerical value have a particularly low Z coordinate and are therefore represented
with a particularly high intensity. As a result, the graphical image is represented
as a greyscale graphical image.
[0008] In addition, the relationship between specific Z coordinate values and respective
display intensities is controlled by the frame buffer according to data stored within
the frame buffer, e.g., in a number of registers of the frame buffer. To change the
scaling of the greyscale graphical image as displayed, new data are written to the
frame buffer and the frame buffer is directed to redisplay the graphical image from
the Z buffer according to the new relationship represented by the new data stored
in the frame buffer. Accordingly, the general purpose processor of such a computer
system has very little involvement in the rescaling of the graphical image. Instead,
the frame buffer retrieves pixel records from the Z buffer, processes the pixel records
according to the new data, and writes colors determined by processing the pixels records
to a refresh buffer for display in a computer display device. As a result, the general
purpose processor is free to handle other tasks with minimal interruption. In addition,
the frame buffer typically includes a video processor which is specifically designed
to process pixel records of a Z buffer in a particularly efficient manner and therefore
rescales the graphical image very efficiently and quickly.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Figure 1 is a block diagram of a computer system which includes an image processor
which rescales graphical image data within a frame buffer in accordance with the present
invention.
[0010] Figure 2 is a logic flow diagram illustrating the rescaling of graphical image data
by the image processor of Figure 1 in accordance with the present invention.
[0011] Figure 3 is a logic flow diagram of a step of the logic flow diagram of Figure 2.
[0012] Figure 4 is a block diagram showing the frame buffer of Figure 1 in greater detail.
[0013] Figure 5 is a block diagram of a pixel record of a Z buffer of the frame buffer of
Figure 4.
[0014] Figure 6 is a block diagram of registers of the frame buffer of Figure 4.
[0015] Figure 7 is a diagram illustrating a relationship between pixel intensity and Z coordinates.
DETAILED DESCRIPTION
[0016] Some computer graphics systems include a frame buffer, e.g., frame buffer 120 (Figure
4), which performs some image processing functions, including a depth cue mechanism.
In a depth cue, pixels are defined in a three dimensional view space in which the
Z axis is normal to the viewing surface and pixels which are nearer the viewer as
determined by the Z coordinate of the pixel are displayed with greater intensity.
In accordance with the present invention, a graphical image is represented in a Z
buffer 404 of frame buffer 120 such that the Z coordinate of each pixel represents
the numerical value associated with each pixel. Thus, by operation of the depth cue
mechanism pixels associated with a particularly high numerical value have a particularly
high
Z coordinate and are therefore represented with a particularly low intensity. Similarly,
pixels associated with a particularly low numerical value have a particularly low
Z coordinate and are therefore represented with a particularly high intensity. As
a result, the graphical image is represented as a greyscale graphical image.
[0017] In addition, the relationship between specific Z coordinate values and respective
display intensities is controlled by frame buffer 120 according to data stored in
a number of registers 408. To change the scaling of the greyscale graphical image
as displayed, new data are written to registers 408 and frame buffer 120 is directed
to redisplay the graphical image from Z buffer 404 according to the new data stored
in registers 408. Accordingly, the general purpose processor of the computer system,
e.g., processor 102 (Figure 1), has very little involvement in the rescaling of the
graphical image. Instead, frame buffer 120 (Figure 4) retrieves pixel records from
Z buffer 404, processes the pixel records according to the new data stored in registers
408, and writes colors determined by processing the pixels records to a refresh buffer
206 for display in a computer display device, e.g., computer display device 122 (Figure
1). As a result, processor 102 is free to handle other tasks with minimal interruption.
In addition, video processor 402 (Figure 4) of frame buffer 120 is typically specifically
designed to process pixel records of Z buffer 404 in a particularly efficient manner
and therefore rescales the graphical image very efficiently and quickly.
Hardware Components of the Image Processing System
[0018] To facilitate appreciation of the present invention, the hardware components of the
rescaling system are briefly described. Computer system 100 (Figure 1) includes a
processor 102 and memory 104 which is coupled to processor 102 through a bus 106.
Processor 102 fetches from memory 104 computer instructions and executes the fetched
computer instructions. Processor 102 also reads data from and writes data to memory
104 and sends data and control signals through bus 106 to one or more computer display
devices 120 in accordance with fetched and executed computer instructions.
[0019] Memory 104 can include any type of computer memory and can include, without limitation,
randomly accessible memory (RAM), read-only memory (ROM), and storage devices which
include storage media such as magnetic and/or optical disks. Memory 104 includes an
image processor 110, which is a computer process executing within processor 102 from
memory 104. A computer process is a collection of computer instructions and data which
collectively define a task performed by computer system 100. As described more completely
below, image processor 110 (i) reads pixels from image buffer 112 and writes them
to frame buffer 120, (ii) writes to registers 408 (Figure 4) of frame buffer 120 data
representing a particular relationship between pixel values and intensity, and (iii)
causes frame buffer 120 to display the pixels from image buffer 112 (Figure 1) according
to the particular relationship. Processing by image processor 102 is described more
completely below with respect to logic flow diagram 200 (Figure 2).
[0020] Processor 102 (Figure 1) also receives signals through bus 106 from user input devices
120 which can include, without limitation, a keyboard, a numeric keypad, and/or a
pointing device such as an electronic mouse, lightpen, trackball, digitizing tablet,
or thumbwheels. In response to physical manipulation by a user, user input devices
120 generate signals representing such physical manipulation and send such signals
through bus 106 to processor 102. The generation of signals by user input devices
120 in response to physical manipulation by a user and the receipt of such signals
by processor 102 are well-known and conventional.
[0021] Computer system 100 also includes a frame buffer 120 which includes memory and logic
for displaying graphical images on a computer display device 122. Computer display
device 122 can be any type of computer display device including, for example, a cathode
ray tube (CRT), a light-emitting diode (LED) display, or a liquid crystal display
(LCD). Frame buffer 120 receives data and control signals from processor 102 through
bus 106 and processes the data to form graphical images in accordance with the control
signals. In addition, frame buffer 120 sends to processor 102 through bus 106 data
representing the state of frame buffer 120 in response to control signals so directing.
Frame buffer 120 is conventional and provides a conventional depth cue mechanism.
Interactive Rescaling of a Graphical Image
[0022] As described above, image processor 110 rescales a graphical image in accordance
with control signals generated by user input devices 120 in response to physical manipulation
by a user. The processing of image processor 110 is illustrated in logic flow diagram
200 (Figure 2) and begins in step 202. In step 202, image processor 110 (Figure 1)
retrieves pixel data from image buffer 112 and causes frame buffer 120 to display
a graphical image in accordance with the pixel data in computer display device 122.
Image processor 110 causes display of the graphical image by sending the pixel data
and control signals through bus 106 to frame buffer 120. In step 202 (Figure 2), image
processor 110 (Figure 1) causes frame buffer 120 to display the graphical image as
a greyscale graphical image by storing the numerical value associated with each pixel
as a corresponding Z field of a pixel field in Z buffer 404 (Figure 4) and invoking
a depth cue display by operation of the depth cue mechanism of frame buffer 120. Frame
buffer 120 is shown in greater detail in Figure 4.
[0023] Frame buffer 120 includes video processor 402, Z buffer 404, and refresh buffer 406.
The image displayed by computer display device 122 (Figure 1) is repeatedly retrieved
from refresh buffer 406 (Figure 4). Accordingly, the contents of refresh buffer 406
define the display of computer display device 122 (Figure 1), and video processor
402 (Figure 4) controls the display of computer display device 122 by writing data
to refresh buffer 406. Z buffer 404 is a memory buffer which is used by video processor
402 as a workspace for creating graphical images for display through refresh buffer
406. For example, video processor 402 can use Z buffer 404 to implement hidden surface
removal and depth cue displays in a conventional manner. Z buffer 404 includes a number
of pixel records, such as pixel record 502 (Figure 5), and generally includes a pixel
record for each pixel displayed in computer display device 122.
[0024] Pixel record 502 (Figure 5) includes a Y field 504, a Z field 506, an alpha field
508, a blue field 510, a green field 512, and a red 514. As used herein, a field is
a collection of data which collectively specify is unitary piece of information. Alpha
field 508, blue field 510, green field 512, and red field 514 collectively define
a color in alpha, blue, green, and red format. Z field 506 represents a Z coordinate
in a three-dimensional display space and is used, for example, in depth cue display
processing and in hidden surface removal. In step 202 (Figure 2), image processor
110 (Figure 1) sends to frame buffer 120 (Figure 4) control signals which direct video
processor 402 to store in alpha field 508 (Figure 5), blue field 510, green field
512, and red field 514 data which collectively define a specific color which is stored,
for example, in one of registers 408 (Figure 4). Registers 408 (Figure 6) include
a color field 612, and, in writing pixel records from data of image buffer 112 (Figure
1), video processor 402 (Figure 4) copies the data from color field 612 (Figure 6)
to alpha field 508, blue field 510, green field 512, and red field 514. As a result,
the graphical image representing the pixel data of image buffer 112 is displayed using
the same color for each pixel. In one embodiment, the color represented by color field
612 (Figure 6) is white.
[0025] Therefore, the entire graphical image is displayed in varying intensities of white.
Since the depth cue display of frame buffer 120 is invoked by image processor 110,
the particular intensity of the color for a given pixel is determined by the Z coordinate
of the pixel. In writing pixel data to frame buffer 120, image processor 110 directs
video processor 402 (Figure 4) to store as Z field 506 (Figure 5) the numerical value
of each pixel from image buffer 112 (Figure 1). Accordingly, each pixel has the same
color but has an intensity which is determined by the value of the pixel as represented
within image buffer 112 (Figure 1). Thus, by operation of the depth cue display performed
by frame buffer 120, image buffer 112 is represented in computer display device 122
as a greyscale graphical image. After step 202 (Figure 2), Z buffer 404 (Figure 4)
contains data representing the graphical image represented by image buffer 112 (Figure
1). Specifically, pixel data stored in image buffer 112 is replicated in the Z fields
of pixel records of Z buffer 404 (Figure 4).
[0026] Processing transfers from step 202 (Figure 2) to loop step 204. Loop step 204 and
next step 210 define a loop in which image processor 110 (Figure 1) rescales the graphical
image displayed in step 202 according to steps 206-208. In step 206, image processor
110 (Figure 1) determines, in accordance with user input signals, parameters which
collectively define a relationship between Z coordinates represented within Z buffer
404 (Figure 4) and intensities with which the pixels are displayed in computer display
device 122 (Figure 1). Diagram 700 (Figure 7) illustrates a relationship between Z
coordinates and intensity.
[0027] In diagram 700, the horizontal axis represents various Z coordinates in a range from
0.0 to 1.0. Of course, it is appreciated that in many implementations of Z buffer
404 store Z coordinates having a range which is different than the range from 0.0
to 1.0; however, scaling from one range to another can be accomplished using well-known
and conventional techniques. In diagram 700, the vertical axis represents various
pixel intensities in a range from 0.0 to 1.0. Other ranges can be used and scaling
from one range to another can be accomplished using well-known and conventional techniques.
[0028] Curve 702 shows the relationship between Z coordinates and intensity. Curve 702 includes
a line segment 702A which shows intensity clamped at an intensity minimum 704. Accordingly,
pixels having a Z coordinate less than or equal to a Z minimum 708 are displayed with
an intensity of intensity minimum 704. Curve 702 also includes a line segment 702C
which shows intensity clamped at an intensity maximum 706. Thus, pixels having a Z
coordinate greater than or equal a Z maximum 710 are displayed with an intensity of
intensity maximum 706. Between line segments 702A and 702C, curve 702 includes a line
segment 702B whose slope defines a linear relationship between (i) Z coordinates between
Z minimum 708 and Z maximum 710 and (ii) intensities between intensity minimum 704
and intensity maximum 706. While curve 702 is shown as including line segments and
defining linear relationships, curve 702 can include non-linear relationships to the
degree frame buffer supports such non-linear relationships.
[0029] In addition, curve 702 represents a relationship in which greater Z values are associated
with greater intensities. In one embodiment, frame buffer 120 only supports inverse
relationships between Z values and intensity. In such an embodiment, values associated
with each pixel are inverted prior to storing the numerical value as Z values. For
example, pixel values which range from 0.0 to 1.0 are subtracted from 1.0 and the
difference is stored as the corresponding Z value in one embodiment. As a result,
a particularly high pixel value is represented by a particularly low Z value and a
correspondingly particularly high intensity. Conversely, a particularly low pixel
value is represented by a particularly high Z value and a correspondingly particularly
low intensity.
[0030] In step 206 (Figure 2), a user specifies a change in the relationship represented
by curve 702 (Figure 7) using conventional user-interface techniques. For example,
a user can specify a new Z maximum 710 by entering a numerical value for Z maximum
710 using a keyboard or a numeric keypad. Alternatively, a user can specify a new
slope of line segment 702B by manipulation of a virtual slider tool of a graphical
user interface. Alternatively, diagram 700 is represented graphically in a computer
display device, e.g., in a partitioned portion of computer display device 122 or in
another computer display device, and the user can manipulate curve 702 directly using
conventional drag-and-drop graphical user interface techniques.
[0031] Processing transfers from step 206 (Figure 2) to step 208. In step 208, image processor
110 (Figure 1) refreshes the display of the graphical image of image buffer 112 as
represented in Z buffer 404 (Figure 4) in accordance with the new relationship between
Z coordinates and intensity as specified by the user in step 206 (Figure 2). Step
208 is shown in greater detail as logic flow diagram 208 (Figure 3) in which processing
begins in step 302.
[0032] In step 302, image processor 110 (Figure 1) writes to a slope field 602 (Figure 6)
of registers 408 of video processor 402 (Figure 4) data representing a new slope of
line segment 702B (Figure 7) as specified by the user. Processing transfers to step
304 (Figure 3) in which image processor 110 (Figure 1) writes to an intensity maximum
field 604 (Figure 6) and an intensity minimum field 606 data representing new values
for intensity maximum 706 (Figure 7) and intensity minimum 704, respectively, as specified
by the user. In step 306 (Figure 3), to which processing transfers from step 304,
image processor 110 (Figure 1) writes to a Z maximum field 608 (Figure 6) and a Z
minimum field 610 data representing new values for Z maximum 710 (Figure 7) and Z
minimum 708, respectively, as specified by the user.
[0033] Processing transfers from step 306 (Figure 3) to step 308. In step 308, image processor
110 (Figure 1) directs frame buffer 120 to redisplay the contents of Z buffer 404
(Figure 4). In response, video processor 402 (i) retrieves pixel records, e.g., pixel
record 502 (Figure 5), from Z buffer 404 (Figure 4); (ii) assigns a color to each
pixel having an intensity determined in accordance with the Z coordinate of each pixel
and with curve 702 (Figure 7) as specified by registers 408 (Figure 4) by operation
of a depth cue display; and (iv) writes data representing the assigned color of each
pixel to refresh buffer 406, thereby causing display of the assigned color of each
pixel to computer display device 122. After step 308 (Figure 3), processing according
to logic flow diagram 208, and therefore step 208 (Figure 2), completes. Thus, the
rescaling of the graphical image in accordance with control signals generated by the
user is performed substantially entirely within frame buffer 120 (Figure 1). Regardless
of the size of the graphical image represented by image buffer 112, involvement of
processor 102 in the rescale and redisplay of the graphical image is generally limited
to writing a relatively small amount of data to registers 408 (Figure 4) and relatively
few control signals directing a depth cue display of the contents of Z buffer 404.
As a result, processor 102 (Figure 1) is free to perform other task on behalf of image
processor 110, such as managing a graphical user interface by which the user controls
the rescaling of the graphical image, and on behalf of other computer processes executing
concurrently with image processor 110. Simultaneously, performance of computer system
100 in rescaling the graphical image is not lessened. Instead, since frame buffer
120 includes video processor 402 (Figure 4) which is a special purpose graphics processor,
rescaling the graphical image represented in Z buffer 404 is, in many instances, performed
more efficiently by video processor 402 than by a general purpose processor such as
processor 102 (Figure 1).
[0034] From step 208 (Figure 2), processing transfers through next step 210 and through
loop step 204 to repeat steps 206 and 208. Processing according to the loop defined
by loop step 204 and next step 210 completes in response to signals so directing as
generated by the user, e.g., by selecting a menu option which ceases rescaling the
graphical image.
[0035] In one embodiment, computer system 100 is the UltraSPARCstation which is available
from Sun Microsystems, Inc. of Mountain View, California. Sun, Sun Microsystems, and
the Sun Logo are trademarks or registered trademarks of Sun Microsystems, Inc. in
the United States and other countries. All SPARC trademarks are used under license
and are trademarks of SPARC International, Inc. in the United States and other countries.
Products bearing SPARC trademarks are based upon an architecture developed by Sun
Microsystems, Inc.
[0036] The above description is illustrative only and is not limiting. The present invention
is limited only by the claims which follow.
1. A method for displaying a graphical image, the method comprising:
storing pixel intensity data in at least one Z coordinate fields in a pixel buffer;
and
initiating a depth cue display in accordance with the Z coordinate fields in the pixel
buffer.
2. The method of Claim 1 further comprising:
specifying a relationship between Z coordinates and display intensities;
wherein the depth cue display causes display of pixels with selected ones of the
display intensities according to the relationship and the respective Z coordinates
of each pixel of the pixel buffer.
3. The method of Claim 2 further comprising:
causing redisplay of the graphical image according to a second relationship between
the Z coordinates and the display intensities, which is different from the first-mentioned
relationship.
4. The method of Claim 3 wherein the step of causing redisplay comprises:
specifying the second relationship; and
initiating a second depth cue display, which is different from the first-mentioned
depth cue display, in accordance with the Z coordinate fields in the pixel buffer,
wherein the second depth cue display causes display of the pixels of the pixel buffer
with selected ones of the display intensities according to the second relationship
and the respective Z coordinates of each of the pixels of the pixel buffer.
5. The method of Claim 4 wherein the step of causing redisplay further comprises:
receiving signals which are generated by a user and which specify the second relationship.
6. The method of Claim 4 further comprising:
repeating the step of causing redisplay until signals generated by the user indicate
that repeated redisplay is to cease.
7. A computer program product which includes a computer usable medium having computable
readable code embodied therein for displaying a graphical image, the computer readable
code comprising:
a pixel buffer construction module configured to store pixel intensity data in at
least one Z coordinate fields in a pixel buffer; and
a depth cue module operatively coupled to the pixel buffer construction module and
configured to initiate a depth cue display in accordance with the Z coordinate fields
in the pixel buffer.
8. The computer program product of Claim 7 wherein the computer readable code further
comprises:
an intensity mapping module operatively coupled to the depth cue module and configured
to specify a relationship between Z coordinates and display intensities;
wherein the depth cue module is further configured to display pixels with selected
ones of the display intensities according to the relationship and the respeective
Z coordinates of each pixel of the pixel buffer.
9. The computer program product of Claim 8 wherein the computer readable code further
comprises:
a redisplay module operatively coupled to the depth cue module and configured to redisplay
the graphical image according to a second relationship between the Z coordinates and
the display intensities, which is different from the first-mentioned relationship.
10. The computer program product of Claim 9 wherein the redisplay module comprises:
a relationship modification module operatively coupled to the intensity mapping module
and configured to cause the intensity mapping module to specify the second relationship;
and
a depth cue invocation module operatively coupled to the depth cue module and configured
to invoke a second depth cue display by the depth cue module, which is different from
the first-mentioned depth cue display, in accordance with the Z coordinate fields
in the pixel buffer, wherein the second depth cue display causes display of the pixels
of the pixel buffer with selected ones of the display intensities according to the
second relationship and the respeective Z coordinates of each of the pixels of the
pixel buffer.
11. The computer program product of Claim 10 wherein the redisplay module further comprises:
a user interface module operatively coupled to the relationship modification module
and configured to receive signals which are generated by a user and which specify
the second relationship.
12. The computer program product of Claim 11 wherein the computer readable code further
comprises:
a loop module operatively coupled to the user interface module and configured to repeatedly
invoke redisplay of the graphical image by the redisplay module until signals generated
by the user indicate that repeated redisplay is to cease.
13. An apparatus for displaying a graphical image, the apparatus comprising:
a pixel buffer construction module configured to store pixel intensity data in at
least one Z coordinate fields in a pixel buffer; and
a depth cue module operatively coupled to the pixel buffer construction module and
configured to initiate a depth cue display in accordance with the Z coordinate fields
in the pixel buffer.
14. The apparatus of Claim 13 further comprising:
an intensity mapping module operatively coupled to the depth cue module and configured
to specify a relationship between Z coordinates and display intensities;
wherein the depth cue module is further configured to display pixels with selected
ones of the display intensities according to the relationship and the respeective
Z coordinates of each pixel of the pixel buffer.
15. The apparatus of Claim 14 further comprising:
a redisplay module operatively coupled to the depth cue module and configured to redisplay
the graphical image according to a second relationship between the Z coordinates and
the display intensities, which is different from the first-mentioned relationship.
16. The apparatus of Claim 15 wherein the redisplay module comprises:
a relationship modification module operatively coupled to the intensity mapping module
and configured to cause the intensity mapping module to specify the second relationship;
and
a depth cue invocation module operatively coupled to the depth cue module and configured
to invoke a second depth cue display by the depth cue module, which is different from
the first-mentioned depth cue display, in accordance with the Z coordinate fields
in the pixel buffer, wherein the second depth cue display causes display of the pixels
of the pixel buffer with selected ones of the display intensities according to the
second relationship and the respeective Z coordinates of each of the pixels of the
pixel buffer
17. The apparatus of Claim 16 wherein the redisplay module further comprises:
a user interface module operatively coupled to the relationship modification module
and configured to receive signals which are generated by a user and which specify
the second relationship.
18. The apparatus of Claim 17 further comprising:
a loop module operatively coupled to the user interface module and configured to repeatedly
invoke redisplay of the graphical image by the redisplay module until signals generated
by the user indicate that repeated redisplay is to cease.
19. A computer system comprising:
a memory;
a computer processor operatively coupled to the memory;
a computer display device; and
an image processor stored in the memory and which includes at least one computer instructions
which are executed within the computer processor to display a graphical image in the
computer display device, the image processor comprising:
a pixel buffer construction module configured to store pixel intensity data in at
least one Z coordinate fields in a pixel buffer; and
a depth cue module operatively coupled to the pixel buffer construction module and
configured to initiate a depth cue display in accordance with the Z coordinate fields
in the pixel buffer.
20. The computer system of Claim 19 wherein the image processor further comprises: an
intensity mapping module operatively coupled to the depth cue module and configured
to specify a relationship between Z coordinates and display intensities;
wherein the depth cue module is further configured to display pixels in the computer
display device with selected ones of the display intensities according to the relationship
and the respeective Z coordinates of each pixel of the pixel buffer.
21. The computer system of Claim 20 wherein the image processor further comprises:
a redisplay module operatively coupled to the depth cue module and configured to redisplay
the graphical image in the computer display device according to a second relationship
between the Z coordinates and the display intensities, which is different from the
first-mentioned relationship.
22. The computer system of Claim 21 wherein the redisplay module comprises:
a relationship modification module operatively coupled to the intensity mapping module
and configured to cause the intensity mapping module to specify the second relationship;
and
a depth cue invocation module operatively coupled to the depth cue module and configured
to invoke a second depth cue display by the depth cue module, which is different from
the first-mentioned depth cue display, in accordance with the Z coordinate fields
in the pixel buffer, wherein the second depth cue display causes display in the computer
display device of the pixels of the pixel buffer with selected ones of the display
intensities according to the second relationship and the respeective Z coordinates
of each of the pixels of the pixel buffer.
23. The computer system of Claim 22 wherein the redisplay module further comprises:
a user interface module operatively coupled to the relationship modification module
and configured to receive signals which are generated by a user and which specify
the second relationship.
24. The computer system of Claim 23 wherein the image processor further comprises:
a loop module operatively coupled to the user interface module and configured to repeatedly
invoke redisplay of the graphical image by the redisplay module until signals generated
by the user indicate that repeated redisplay is to cease.
25. A system for distributing code (i) which is stored on a computer-readable medium,
(ii) which is executable by a computer, and (iii) which includes at least one module,
each of which in turn is configured to carry out at least one function to be executed
by the computer, the system comprising:
a pixel buffer construction module configured to store pixel intensity data in at
least one Z coordinate fields in a pixel buffer; and
a depth cue module operatively coupled to the pixel buffer construction module and
configured to initiate a depth cue display in accordance with the Z coordinate fields
in the pixel buffer.
26. The system of Claim 25 further comprising:
an intensity mapping module operatively coupled to the depth cue module and configured
to specify a relationship between Z coordinates and display intensities;
wherein the depth cue module is further configured to display pixels with selected
ones of the display intensities according to the relationship and the respective Z
coordinates of each pixel of the pixel buffer.
27. The system of Claim 26 further comprising:
a redisplay module operatively coupled to the depth cue module and configured to redisplay
the graphical image according to a second relationship between the Z coordinates and
the display intensities, which is different from the first-mentioned relationship.
28. The system of claim 27 wherein the redisplay module comprises:
a relationship modification module operatively coupled to the intensity mapping module
and configured to cause the intensity mapping module to specify the second relationship;
and
a depth cue invocation module operatively coupled to the depth cue module and configured
to invoke a second depth cue display by the depth cue module, which is different from
the first-mentioned depth cue display, in accordance with the Z coordinate fields
in the pixel buffer, wherein the second depth cue display causes display of the pixels
of the pixel buffer with selected ones of the display intensities according to the
second relationship and the respective Z coordinates of each of the pixels of the
pixel buffer.
29. The system of Claim 28 wherein the redisplay module further comprises:
a user interface module operatively coupled to the relationship modification module
and configured to receive signals which are generated by a user and which specify
the second relationship.
30. The system of Claim 29 further comprising:
a loop module operatively coupled to the user interface module and configured to repeatedly
invoke redisplay of the graphical image by the redisplay module until signals generated
by the user indicate that repeated redisplay is to cease.