[0001] The present invention generally concerns improvements in or relating to computer
graphics systems, and more particularly concerns window management systems and windowing
devices for use with computer graphics workstations.
[0002] In a conventional raster-scan computer graphics system, images to be displayed on
a display screen are drawn into a reserved block of memory, sometimes called a frame
buffer, within the system. Memory locations within the frame buffer have a one-to-one
correspondence with display locations on the display screen and image data is read
out sequentially from the frame buffer via video generation circuitry in accordance
with the instantaneous address of the scanning beam on the display screen. This arrangement
is adequate so long as there is no requirement to move complex multiple images rapidly
around the display screen. However, as the requirements of graphics systems users
have become more sophisticated there has been a corresponding increase in demand for
complex images to be displayable and quickly relocatable on a screen.
[0003] The position and size of a displayed image may be controlled by the user, for example
by way of a mouse which provides user determined positional and dimensional information.
However, although a mouse can be moved swiftly across a table top by the user for
repositioning a displayed image, in conventional graphics systems the image is commonly
unable to keep up with the movement of the mouse. This is because of the one-to-one
relationship which exists between the frame buffer and the display screen locations
and because of the corresponding requirement that, in order to move an image from
one part of the screen to another, it is necessary to copy the entire image data to
new locations in memory and to replace the image data at the original memory locations
by data corresponding to whatever was visually behind the image on the screen, whether
it be a plain background or part of another image.
[0004] This apparently simple data handling operation does in fact give rise to major problems,
since a multi-colour image of even moderate complexity may correspond to more than
a million bits of data which have to be moved from one part of the frame buffer to
other in order to move the image correspondingly. As a result, much of the available
memory and bus bandwidth of conventional graphics systems has been occupied with shunting
large blocks of data from one memory location to another and, in order to achieve
this bulk data manipulation, a major software and processing overhead has been imposed
on the host computer. In consequence, images have tended to move slowly or jerkily
around the screen rather than moving smoothly around the screen in response to movement
of a mouse or to other user originating commands. In addition, images cannot generally
be made to appear and disappear instantaneously as and when the user so desires. Moreover,
many desirable effects, such as transparency effects whereby one image can be seen
behind another, have to be compromised since they present data manipulation problems
which are virtually impossible to handle in real time except in the simplest of cases.
Even though data processing devices have been developed which are capable of copying
blocks of data from one area of memory to another at very high speed, the transfer
rates required to overcome the above problems are still far beyond the reach of cost-effective
contemporary technology.
[0005] The problem of moving multiple images about rapidly and/or smoothly on a display
screen has been recognised by those skilled in the art of computer graphics, and it
has been suggested that it should be possible to by-pass the limitations introduced
by the data processing overheads by taking an alternative approach to image manipulation,
this approach being generally referred to as hardware windowing.
[0006] Hardware windowing is a method of moving images around a display screen without the
need to rearrange large blocks of image data within the memory. In principle the idea
is simple. Image data in the frame buffer is transferred to the video generation circuitry
in a controlled sequence such that any given area of memory, hereinafter referred
to as a window, can be displayed at any chosen location on the display screen, such
location hereinafter being referred to as a viewport. Hardware windowing is distinct
from conventional serialised approaches wherein scanning through the display memory
is effected sequentially as the display screen is scanned, since in hardware windowing
a dedicated circuit is used to extract image data from the memory by jumping from
place to place in memory as required. It then becomes easy to move any image instantly
from one place to another, simply by specifying where it is to be displayed next.
An exemplary hardware windowing system is disclosed in WO-A-8502049.
[0007] However, although the concept of hardware windowing is well known, all attempts to
build a workable graphics system based on this principle have hitherto suffered from
a number of drawbacks resulting mainly from the inherent difficulty in performing
the necessary logical operations on the image data at the extremely high video speeds
required. Thus, designers of prior hardware windowing systems have had to limit display
resolution, limit the number of viewports which can be simultaneously displayed on
the screen, restrict viewport positions to particular locations on the screen, inhibit
the ability to overlap viewports, or limit overlapping to non-transparent viewports.
Furthermore, to avoid gross interference between window management and drawing activities,
the hardware often has had to be designed to meet the particular requirements of a
given drawing processor. Every hardware window management system previously available
has suffered from some or all of these defects, and therefore the technique of hardware
windowing has not hitherto been completely successfully implemented.
[0008] The present invention resides in the concept of providing a multi-planar display
memory wherein each plane of the memory has its own viewport controller for flexibly
mapping windows from that memory plane to viewports of the display. According to the
present invention therefore there is provided a hardware windowing system for use
with a computer graphics facility for determining the transfer of image data from
any chosen window in memory and the display of the image represented by said data
at any chosen viewport location of a display, the hardware windowing system comprising
a plurality of viewport controllers each controller being individually coupled to
a single plane of a multi-planar memory for individually supervising the transfer
of data from one or more windows in its associated memory plane to viewports in the
display.
[0009] By virtue of such an arrangement, not only is the computational overhead required
for managing multiple displays reduced by independent extraction of data from each
plane of the memory, but also the difficulties hitherto experienced of managing overlapping
viewports can very simply be overcome by the assignment of a viewport priority indication
to each windows-viewport mapping and the provision of a means which takes account
of the viewport priorities in the reading out of data from the several planes of the
multi-planar memory.
[0010] As is described and explained hereinafter, the present invention overcomes all of
the above-mentioned problems of prior art computer graphics systems, and uniquely
provides a number of hitherto unachievable benefits to the art of window management.
[0011] The exemplary windowing device in accordance with the present invention which is
described hereinafter is configured as a single VLSI component designed for use with
planar display memory and to take advantage of the special capabilities of modern
VRAM memory chips. It is modular and cascadable and can be used with almost any planar
VRAM raster scan graphics system. It provides a means by which multiple windows can
be displayed in viewports at high resolution with each viewport and window sized and
located with perfect, single-pixel resolution. It handles overlapping viewports automatically
and allows them to appear transparent or opaque relative to one another as required.
It allows the user to create windows of any size, each any number of planes deep (up
to the available depth of the display memory), and enables a user to move opaque or
transparent images freely around the display screen without any modification of data
in memory by flexibly mapping windows in the display memory to viewports on the screen.
[0012] A single windowing device as hereinafter described comprises a pluraity of viewport
controllers each capable of mapping a plurality of 1-bit windows from a respective
plane of a multi-planar memory to viewports on the screen. In the exemplary embodiment
that will be described hereinafter, each windowing device comprises four viewport
controllers, each of which controls the manipulation of up to four windows on a single
image plane. A plurality of such windowing devices can be cascaded to address any
number of memory planes and enable any number of windows to be displayed in an arrangement
which will hereinafter be referred to as a windowing device array. This highly modular
architecture allows price and performance to be tailored precisely to the user's needs,
in systems ranging from PCs to top-end graphics workstations.
[0013] The windowing device according to the invention treats the display memory as a collection
of superimposed bit planes. A 1-bit window is any rectangular array of bits on one
plane, and an n-bit window is a block of image data composed of n superimposed 1-bit
windows of equal size and each drawn from a different plane. Each 1-bit window may
be taken from any arbitrary location in its memory plane and displayed in any viewport
location, and any combination of n planes is allowed. The conventional concept of
a window corresponds in the system of the present invention to the restricted case
of an n-bit window in which all the 1-bit components are at the same planar address
(vertically aligned) and n is equal to the number of planes in the system. By removing
this restriction, and arranging for n-bit window to be created simply by assigning
n 1-bit windows located anywhere in memory to the same viewport with the same priority,
the invention obtains great advantages in terms of performance and flexibility.
[0014] In the practice of the invention, to enable overlapping viewports to be handled each
1-bit window is assigned a priority by the user, the same priority being assigned
to all n planar components of an n-bit window. When viewports overlap, a higher priority
window is arranged to obscure a lower priority window. This obscuring is a visual
effect only and does not involve the manipulation of the image data in memory, and
the obscured area re-appears automatically and instantaneously when the overlapping
viewport is moved or when the priorities are suitably altered. Equal priority windows
from different planes are advantageously arranged to overlap transparently, and colour
mixing effects within the overlap area can be determined at the choice of the user
by appropriate setting up of a user programmable colour look-up table. When two windows
of equal priority overlap, the 1-bit components which reside on different planes are
combined to produce user-definable transparency effects. When equal-priority 1-bit
windows share a common plane of origin, it is arranged that the window first displayed
in a raster scan takes precedence and obscures any other overlapped window. Total
transparency therefore occurs between any two multi-bit windows if they have equal
priorities and occupy disjoint sets of planes.
[0015] A viewport of any shape can readily be created by using a 1-bit window as a mask.
Double- (or multiple-) buffering of animated images is easily achieved by mapping
windows to viewports sequentially; only the areas of the display memory which actually
contain the buffered images are affected.
[0016] The locations in a display of viewports in which image windows are required to be
displayed and the locations in memory of the windows themselves, are defined together
in window-viewport assignments which are a set of absolute and relative co-ordinates
on the display and in the memory. When using a windowing device in accordance with
the present invention, it is necessary merely to specify in a single window-viewport
assignment the location in memory of the planar components of the window and the screen
Co-ordinates of the viewport in which it is to appear and the chosen image then appears
instantly at the desired place on the screen where it either obscures or is obscured
by any other windows which it may overlap, depending on whether its priority is higher
or lower than theirs.
[0017] This simple method of defining windows and viewports makes programming of a graphics
system in accordance with the present invention very straightforward, and abolishes
the cumbersome software operations such as strip decomposition and Boolean computation
of transparency effects which hinder other systems. The invention thus provides an
extremely versatile, powerful system which enables complex visual effects to be produced
effortlessly while making very efficient use of memory. All window boundary clipping
and transparency effects are carried out automatically, in real time, with no user
intervention. The windowing device is effectively invisible to the drawing processor
(or whatever other device is being used to create bit maps in memory) and in general
drawing proceeds at close to full speed under most circumstances even while the images
being drawn are being moved all over the screen. The bus bandwidth required to create,
relocate or remove a window is so small that the system overhead that this represents
is in general negligible.
[0018] There is no theoretical limit to the number of windowing devices and therefore viewport
controllers that a windowing device array can contain. It follows that there is no
theoretical limit to the number of planes, windows and viewports which can be controlled
by such an array. With an array implemented using VLSI devices, means can be provided
for linking as many of the devices together in parallel as may be required in order
to achieve the desired number of displayable viewports.
[0019] Other features of the invention are set forth with particularity in the appended
claims and will be well understood from consideration of the following description
of an exemplary embodiment of the invention which is illustrated in the accompanying
drawings:
Figure 1A shows an overview of a conventional computer raster graphics system which
uses a serialiser to display memory contents precisely as they are stored, and Figure
1B is a similar showing of a raster graphics system in accordance with the present
invention which enables selected areas of memory to be displayed instantly at any
position on the display;
Figure 2 shows a number of examples of how images stored in a memory can be selectively
displayed by use of a computer graphics system according to the present invention
as shown in Figure 1B;
Figure 3 is a more detailed showing of a computer graphics system in accordance with
the present invention and illustrates how the windowing device of the invention interacts
with a multi-planar memory and a display under the control of a host computer;
Figure 4 shows a schematic functional block diagram of an exemplary windowing device
according to the present invention as incorporated into the graphics system of Figure
3;
Figure 5 shows the detailed architecture of the windowing device of Figure 4;
Figure 6 shows how window and viewport positions are defined to the windowing device
of the present invention by the host computer;
Figure 7A shows an exemplary display comprising three viewports originating from window
data in a single memory plane and Figure 7B shows in detail the scanline A-A shown
in the Figure 7A display;
Figures 8A, 8B and 8C show respectively the detailed structure of the merge logic
component of the viewport controller as shown in Figure 5, and graphical representations
illustrating an exemplary operation of the merge logic; and
Figure 9 shows how a larger plurality of memory planes may be controlled by a windowing
device array consisting of a cascaded plurality of windowing devices in accordance
with the present invention.
[0020] Referring to Figure 1A of the drawings, a conventional raster graphics system might
comprise a host computer 1 which provides overall management of the system, a display
memory 2 for storing image data, a raster scan display screen 3 for displaying viewports,
and a serialiser 4 which steps in strict progression through the display memory in
raster fashion and reads data serially out from the memory as the display spot scans
the display screen. The resulting display, as previously explained, is a one-to-one
mapping of the image data onto the display screen so that images appear on the screen
in the same relative positions as they are stored in memory. In order to move the
images around the display, the corresponding data in the memory has to be rewritten
to the desired new locations which, as has been previously explained, makes excessive
use of the processing power of the host computer, particularly when overlapping effects
are also required to be accommodated. In contrast to the prior art system of Figure
1A, the hardware windowing system of Figure 1B allows selected areas of memory to
be displayed instantly at any desired display position. Under control of the host
computer, the hardware circuit 5 performs the function of selectively extracting portions
of image data from any location in the display memory 2 and transferring it for display
at any desired location on the display screen 3 so that any given area of memory can
be displayed at any chosen location on the screen. The host computer 1 can be arranged
to draw image data directly into the display memory, or it can be used to control
a separate drawing processor, not shown, which provides this function.
[0021] As is illustrated schematically in Figures 1A and 1B, the display memory can contain
information relating to a number of different images, shown in the Figures exemplarily
as a solid chevron 6, a bounded-W 7, and a chequered ball 8. In accordance with the
teachings of the present invention, the data representative of these images can be
stored in different areas of a single memory plane, or can be stored in different
memory planes, or with some of the image data in one plane and other image data in
one or more other planes. As will become apparent from the description hereinafter,
the windowing device 5 of the present invention, under supervisory control of the
host computer 1 which provides to the windowing device 5 window-viewport mapping assignments
including information representative of the locations in memory where image data is
stored in a window of the memory and the viewport locations whereat such image data
is desired to be displayed and representative also of the priority to be accorded
to the respective viewports for enabling overlapping viewports to be readily handled,
extracts from the display memory 2 only image data appropriate to the required display
and passes it to the display screen 3 for display as the information is required.
The relative locations of the three images 6, 7 and 8 on the display screen 3 need
bear no direct correspondence with the relative locations of the corresponding image
data in the display memory 2 and can be varied as desired. Furthermore, image data
of the three images has in the example of Figure 1B been read from the memory and
displayed in a manner which causes portions of them to overlap on the display screen,
the chevron 6 opaquely overlapping a portion of the chequered ball 8 and the bounded-W
7 and chequered ball 8 transparently sharing a common area of overlap. As will be
described in greater detail hereinafter, the windowing device 5 of the present invention
provides the logic and other functions required to ensure that only the required image
data is read from the display memory and transferred to the display screen for display
and that, in a case where images overlap transparently, overlapping data from the
images is combined before being displayed on the display screen.
[0022] Figure 2 shows further examples of how the present invention enables image data stored
in the display memory to be selectively extracted from memory and flexibly displayed
on the display screen. In accordance with the teachings of the present invention,
overlapping viewports are handled by storing image data in multiple memory planes
and assigning priorities to window-viewport mapping instructions so that data is automatically
read from memory in accordance with the priority assignments and when displayed automatically
provides the desired overlapping display effect. The display 9 shown in Figure 2 is
the same as that described with reference to Figure 1B and shows the features of opaque
and transparent overlapping previously mentioned herein, the chevron 6 opaquely overlapping
the chequered ball 8 which in turn transparently overlaps the bounded-W 7, such a
display being obtainable in accordance with the teachings of the present invention
by storing the bounded-W and the chevron in one display memory plane and the ball
in another and setting the priority of the chevron at a high value and the priorities
of the bounded-W and the ball at the same lower priority. As will be explained fully
hereinafter, equal priority images read from different memory planes overlap transparently
in the system of the invention. In the display 10 shown in Figure 2 the box 7a is
overlapped and partially obscured by the chequered ball 8 and the W 7b overlies and
partially obscures both the box 7a and the chequered ball 8, whilst the chevron 6
opaquely overlaps both the box 7a and the ball 8. The display 10 of Figure 2 might
for example be obtained by storing image data representative of the chevron, the W,
the ball and the box in different planes of a multi-planar memory and providing that
the box has the lowest priority, the ball has a higher priority than the box but a
lower priority than the W, and the chevron has a higher priority than either the box
or the ball. In a colour display, display effects additional to those obtained by
allocation of display images to selected planes of the display memory and by allocation
of viewport priorities can be obtained by suitably programming a colour look-up table
to which the video signals extracted from memory are applied before they are displayed.
[0023] In the exemplary embodiment hereinafter described, the windowing device 5 advantageously
comprises four viewport controllers which share common areas of control and can each
control up to four independent viewports and four associated image windows held in
a single memory plane. A single windowing device 5 can thus control up to sixteen
1-bit windows held in four 1-bit deep memory planes to produce displays in up to sixteen
viewports on a display screen. Multi-bit windows consisting of superimposed bits in
the four bit planes can likewise be managed. The windowing device is adapted to be
cascaded to form a windowing device array as aforementioned comprising a plurality
of windowing devices arranged in parallel, and such an array can control the display
of data from a large number of memory planes independently and can display up to four
independent image windows from each plane of memory. The invention is not restricted
to configuring the windowing device as comprising four viewport controllers, but by
virtue of the use of VLSI technology a particularly advantageous chip configuration
can be obtained with four viewport controllers on each chip without placing undue
demands on the pin count and die size of the VLSI circuitry.
[0024] Referring now to Figure 3, there is shown therein a typical graphics system according
to the present invention which incorporates a windowing device 5 comprising four independently
operable viewport controllers. As shown, the windowing device 5 is adapted to be controlled
by a host computer, not shown, via a host computer bus 11, and there is also provided
a drawing processor 12 which draws or creates bit-maps in a planar video RAM 13 which
is treated by the windowing device 5 as four superimposed bit planes each of which
is individually associated with a specific one of the four viewport controllers within
the windowing device. If the host computer has sufficient capacity, the drawing processor
may optionally be excluded from the system in which case the host computer may be
linked directly to the video RAM 13 so that it can draw directly into the memory.
The planar video RAM, or VRAM, is shown as comprising four independent memory planes
13a-13d, and each memory plane can contain image data drawn into it by the drawing
processor 12 and is arranged to be accessed independently by a specific one of the
four viewport controllers within the windowing device. The viewport controllers operate
to extract image data from the VRAM under control of the host computer and to transmit
the extracted data to a user programmable colour look-up table and digital to analog
converter (CLUT & DAC) 14 which control the display screen 3.
[0025] With the exception of the windowing device 5, the components shown in Figure 3 are
obtainable as standard off-the-shelf components from a wide range of suppliers. For
example the drawing processor 12 may be almost any processing device or system capable
of creating image data in the form of bit-maps to be stored in the planar VRAM 13.
However, a particularly effective planar drawing processor in this respect is the
QPDM manufactured by Advanced Micro Devices (UK) Limited. Similarly, the choice of
VRAM 13 and of CLUT & DAC 14 is not limited to specific makes or models. However,
the embodiment of the invention herein described is optimised for use with the Brooktree
range of RAM DAC's which are provided with a suitable programmable colour look-up
table and in addition offer multiplexed pixel ports thereby avoiding the need for
external multiplexing circuitry.
[0026] Figure 4 shows a functional block diagram of a windowing device 5 according to the
invention, the device comprising four viewport controllers 15 only one of which is
shown for the sake of clarity, together with functional blocks which are shared by
all four viewport controllers within the windowing device, namely a counter 16 for
synchronising the windowing device operation with the drawing processor and the raster
display, a VRAM controller 17 responsive to the viewport controllers 15 for determining
the extraction of image data from the VRAM 13, and global priority control logic 18
for controlling the overlapping display of viewports originating from memory planes
controlled by different windowing devices of a windowing device array. The viewport
controller 15 is shown in Figure 4 decomposed into its major subunits, namely a register
file 19, a VRAM setup list (VSL) 20, merge logic and video data buffer 21, video control
logic 22 and planar priority control logic 23, and the functions and the detailed
construction of these subunits will be described in the following, it being remembered
at all times that the windowing device of Figure 4 does in fact comprise four such
viewport controllers 15.
[0027] In operation of each viewport controller, information identifying the locations in
the VRAM display memory of the image windows and the viewport locations where the
image windows are required to be displayed together with viewport priority information
is downloaded into the register file 19 from the host computer via the host interface
24, it being recalled that each viewport controller 15 can control the display of
up to four viewports. The information downloaded into the register file 19 is used
to create a VRAM setup list which describes the actions to be performed by the VRAM
controller 17 in extracting image data from the VRAM for display. The data output
from the VRAM serial port is input a byte at a time to merge logic and video data
buffer 21 which, under the control of information stored in the register file 19,
shifts and merges the bytes of data which would each correspond to displays at a plurality
of display pixels to achieve the required single pixel display accuracy before passing
them to the video controller 22. The video controller 22 accepts the merged data and
outputs it under control of the priority controller 23 for display. Video data is
loaded from the VRAM into each of the four viewport controllers eight pixels at a
time and is output to the display four pixels at a time, and the video controller
takes care of this 8:4 multiplex operation; by virtue of this arrangement the maximum
on-chip clock rate required is reduced to one quarter of the pixel rate, making the
bandwidth required for high-resolution displays readily achievable using conventional
CMOS fabrication.
[0028] The viewport priority information that is loaded into the register file 19 is utilized
by the planar priority controller 23 to determine the display in overlapping viewports
of image data extracted from that memory plane of the VRAM display memory which is
associated with the respective viewport controller. The global priority controller
18 co-operates with the four planar priority controllers 23 within the windowing device
in order to determine which viewport data originating from the four memory planes
controlled by the windowing device should be passed to the display for a given display
location. The global priority controller 18 also includes a priority bus interface
which enables it to communicate over a priority bus 25 with other global priority
controllers in similar windowing devices when several such windowing devices are connected
in parallel to form a windowing device array as described hereinbefore. The global
priority controller thus has the capability to determine the display of overlapping
viewports corresponding to image data derived from different viewport controllers
whether or not these are contained within the same windowing device.
[0029] In order to enable viewport controller 15 to share access to the VRAM address bus
with the drawing processor 12, a handshake interface is provided between the VRAM
controller 17 and the drawing processor 12 which requires the transmission between
the VRAM controller and the drawing processor of video bus request (VBR) and video
bus grant (VBG) control signals. This interface ensures that the viewport controller
and the drawing processor do not both attempt to gain control of the VRAM at the same
time.
[0030] The detailed architecture of the Figure 4 windowing device is shown in Figure 5.
Each viewport controller contains three first in first out (FIFO) buffers, namely
a VRAM setup list FIFO (VSL FIFO) 26 which together with test logic and VRAM setup
list (VSL) compiler 27 and offset adder 28 the functions whereof will be explained
hereinafter makes up the VRAM setup list 20 of Figure 4, a data FIFO 29 corresponding
to the buffer between the merge logic 21 and the video controller 22, and a priority
FIFO 30 which buffers priority information from the register file 19 to the planar
priority controller 23. The three FIFO's taken together amount to less than 700 bits
of buffering per viewport controller which is approximately one quarter of the storage
that would be required with a serial line buffer approach. The four viewport controllers
in the windowing device operate independently and only interact at their output stages
where their outputs are synchronised so that identically defined viewports in separate
controllers overlap precisely on the display.
[0031] For each viewport controller 15, each of the four available window-viewport assignments
is defined by data downloaded from the host computer and held in registers within
the register file 19. For each viewport controller the nth window-viewport assignment
(n=1 to 4) is fully defined by six co-ordinate parameters and a viewport priority
parameter. As is shown graphically in Figure 6, the window-viewport co-ordinate definition
comprises:

[0032] The viewport X₁, Y₁ and X₂, Y₂ co-ordinates define the screen locations of opposite
corners of the viewport. The offset co-ordinates X
o, Y
o are added to the viewport X₁, Y₁ co-ordinates to provide the window start address
in memory. The viewport priorities are defined by a 3-bit priority word which enables
priority levels from 0 to 7 to be achieved, though it will be appreciated that this
is exemplary and that greater or lesser numbers of priority levels can be provided
for as desired. Figures 7A and 7B show respectively a possible arrangement of three
1-bit deep viewports V1, V2, V3 from a single memory plane where viewport V2 has been
assigned a higher priority than viewport V1, and a scanline A-A of the display.
[0033] During each scan line, the viewport controllers operate independently and asynchronously
except for their output stages where priority between planes is compared by the global
priority controllers. The following description applies to the operation of one viewport
controller only. The process of determining which pixel data is to be displayed in
a given scan line begins in the preceding scan line time period, during which the
VSL FIFO 26 is loaded with information from VSL compiler 27. During each scan line,
the VSL compiler 27 thus loads the VRAM setup list into the VSL FIFO 26 in preparation
for the following line. The VSL compiler 27 calculates the sequence in which viewport
data is to be extracted from the VRAM. In order to achieve this, data in the appropriate
form which is loaded into the register file 19 from the host computer is examined
by the VSL compiler 27 to determine the viewport priority hierarchy for the memory
plane in question. The VSL compiler makes no reference to the priorities of viewports
on other planes.
[0034] Information loaded into the VSL FIFO 26 consists of an ordered sequence of entries,
each entry being in the form (X
e, V#, S, P) where X
e is the X address at which the next visible viewport boundary occurs, V# is the number
of the active viewport (1-4) at that boundary, S is a setup bit which signals whether
or not a VRAM setup is required, that is to say whether the boundary in question is
followed by window data (i.e. marks the start of a window) or by background (i.e.
marks the end of a window), and P is a parity bit which signals whether VCOUNT is
odd or even for the line in question. In the case of scan line A-A shown in Figure
7B the sequence of entries from the VSL compiler into the VSL FIFO would be as follows:

where each X
i(n) is the relevant X-co-ordinate obtained from the register file 42.
[0035] As can be seen from Figure 7B the scan line has effectively been divided into a number
of data fields. The first data field, from the leftmost side of the display to X₁(1),
is formed of background or default data since there is no viewport in this section
of display. The second data field, between X₁(1) and X₁(2), is formed of viewport
V1 pixel data. The third data field, from X₁(2) to X₂(2), can be broken down into
two parts. The first part from X₁(2) to X₂(1) is common to both viewport V1 and viewport
V2 but, since viewport V2 has a higher priority than viewport V1, the information
associated with this part of the third field is exclusively viewport V2 pixel data.
Had viewports V1 and V2 been of equal priority and from different image planes, the
appropriate image data would have been extracted from both locations of memory and
combined as required. However, since the images are both from the same memory plane
they are not allowed to overlap transparently. The assignment of priorities to viewports
is a matter for the user of the system, and in the event that two overlapping viewports
from the same plane are assigned the same priority, the first viewport that is extracted
from the memory plane will automatically take priority over and opaquely overlap the
other. The second part of the third field contains only viewport V2 data since there
is no overlap of images. The remaining fields of data are made up in a similar manner.
[0036] The hardware assembles this list of entries from the VSL compiler into the VSL FIFO
for the scan line A-A of Figure 7B by working through the X edges defined in the register
file 42 in order from left to right across the scan line in a series of logical passes.
On the first pass, the logic tests each viewport to determine whether

indicating that viewport n is relevant to scanline A-A and identifies the relevant
viewport which has the smallest value of X₁(n), namely the viewport V1. Once the viewport
V1 has been identified, a flag-bit is set noting the fact that the left (X₁) edge
of this viewport has been passed. If the viewport has the highest priority of all
viewports active at the boundary location tested, and it is not already the current
display viewport, then the four fields of data X
e, V#, S and P above are loaded into the VSL FIFO 26.
[0037] Once the flag-bit has been set, the X₂ address of the viewport in question will be
examined instead of the X₁ address during future passes so that the right edge, as
seen on the screen, rather than the left edge will next be tested. Once both edges
of the viewport have been detected, a second flag-bit is set which prevents that viewport
from being subject to any testing in subsequent passes. Further similar passes are
now made, examining X₁ or X₂ for each viewport or ignoring the viewport altogether
as dictated by the set flag-bits. This continues until all viewports have been logically
eliminated. In practice it is possible to accomplish the entire process of detecting
viewports for a given scan line well within the time of a single scan line. The VSL
FIFO buffer 26 is sufficiently large to buffer data for up to two consecutive scan
lines, thereby enabling data for the next line to be loaded whilst the data for the
current line is being read. The parity bit is provided in order to signal the transition
to a new line since it toggles on each successive scan line.
[0038] On output, the contents of the VSL FIFO 26 is combined with offset data from the
register file 19 and the result is used by the VRAM controller 17 to perform the correct
sequence of VRAM setups for the scan line in question. For the scan line A-A, this
process begins during the flyback period preceding scan line A-A. The VRAM controller
17 is a finite state machine and only one such VRAM controller is provided in the
windowing device 5. In a windowing device array, all the VRAM controllers run synchronously.
During the line flyback time before line A-A, any entry in the VRAM setup list in
VSL FIFO 26 will cause the VRAM controller 17 to request control of the VRAM address
bus from the drawing processor by asserting the not-VBR (Video Bus Request) signal.
The VRAM controller is then loaded with a VRAM address (X
VRAM, Y
VRAM), where X
VRAM = X
e + X
o and Y
VRAM = VCOUNT + Y
o. When the drawing processor asserts not-VBG (Video Bus Grant) and releases control
of the VRAM buses, the VRAM controller 17 sets up the VRAM serial ports on each memory
plane to access data for the first viewport to appear from that memory plane. Once
set up, each VRAM serial port is clocked until a number of words equal to the difference
between successive values of X
e have been output. The next setup operation is then performed. The VRAM controller
can simultaneously supply four setup addresses (one per memory plane). It determines
which planes are set up on a particular cycle by controlling the not-RAS (Row Address
Strobe) signal for each plane.
[0039] Image data is extracted from the VRAM in eight bit words and loaded into the merge
logic 21. The VRAM is organised in 16-bit words and a 16:8 multiplexing operation
is performed by alternately output-enabling the VRAM making up the high and low bytes.
Data bytes output sequentially from the VRAM enter the merge logic 21 which, as is
explained more fully below, shifts, masks and merges the data to single pixel resolution
as specified by the values of the four bit quantities start-bit, stop-bit and offset-bit.
These correspond to the least significant 4-bits of X₁(n), X₂(n) and X
o(n) respectively, and define viewport boundaries and image offsets down to single
pixel accuracy.
[0040] The operation of the merge logic 21 will now be described with reference to Figures
8A, 8B and 8C which show respectively a schematic block diagram of the merge logic
circuit, a graphical depiction of the relationship between byte locations on the display
and image bytes as fetched from memory, and a graphical representation of a corresponding
sequence of merge logic operations.
[0041] In order to achieve single pixel resolution in the location of image data on the
display and in the location of viewport boundaries, it is necessary to mask, shift
and merge the image data bytes extracted from the VRAM memory before loading the data
FIFO 29. An image in VRAM remains fixed, and hence the image data fetched by the viewport
controller will not change. However, in order to be able to pan an image smoothly
across the display, the data loaded into the data FIFO must change on a pixel by pixel
basis as the viewport location on the display is changed. A simple example illustrating
this situation is shown in Figure 8B where the upper row of the diagram represents
byte locations on the display which must be filled exactly by the bytes loaded into
the data FIFO 29, and the lower row represents image bytes as fetched from memory.
In the example, a viewport starts at bit 2 of display byte D1, and the user has decreed
that bit 6 of memory byte M1 should appear at this location. These bit locations are
defined by the bottom three bits of X
e and X
o. These are 2 and 4 respectively. The merge logic must fetch image bytes and generate
display bytes, masking off those bits which fall outside of the viewport boundary.
Referring to Figure 8A, in this exemplary situation the merge logic operates as follows.
[0042] Memory byte M1 is loaded into input register 31 and is barrel shifted in barrel shifter
32 as defined by the bit offset, which is 4 in the case under consideration. Since
the viewport starts in background, register 33 will be clear. The appropriate mask
is applied to multiplexer 34 to select the low order two bits from register 33 and
the high order six bits from the barrel shifter 32. The result is stored in register
33 by setting the control bit of multiplexer 35 appropriately, selecting the feedback
path. As register 33 is loaded, register 31 receives memory byte M2 which is therefore
also shifted. The mask applied to multiplexer 34 is now changed to select the most
significant four bits from the barrel shifter 32 and the least significant four bits
from the register 33. Multiplexer 35 control bit also changes to select the shifter
output. This results in the first disply byte D1. The whole sequence is shown in Figure
8C for the exemplary situation of Figure 8B.
[0043] The merged data from the merge logic 21 is loaded into data FIFO 29 to achieve the
necessary output synchronisation. The FIFO 29 is 8-bits wide by 32-bits deep and is
equipped with a "FULL" output which halts the data coming in from the VRAM when necessary.
The presence of the data FIFO 29 allows the viewport controller to start accessing
the VRAM during the line flyback time, and buffers sufficient pixel data to enable
a steady output of pixels to be passed to the display. It is important that this feature
is included since the data stream from the VRAM into the merge logic is fragmented
whenever the VRAM controller resets the VRAM serial port between windows.
[0044] On exit from the data FIFO, the data enters the video control logic 22 which multiplexes
the 8-bit words into 4-bit subwords, controls the synchronisation of the data FIFO
29, and injects zero "background" data during intervals when no viewport is active
so that the data FIFO 29 only has to buffer active pixel data.
[0045] At the same time as these video operations are taking place, viewport edge information
X
e emerging from the VSL FIFO 26 is selectively loaded into the priority FIFO 30 together
with appropriate priority data from the register file 19. This loading process is
arranged so that priority values corresponding to the 4-bit video subword which contains
a given viewport edge are merged into the row of the priority FIFO 30 corresponding
to that edge. More particularly, as each VRAM set-up list entry is presented by the
VSL FIFO 26, the value X
e is compared with the previous value of X
e at the top of the priority FIFO 30, and if it falls in a different subword the priority
FIFO 30 is loaded. Associated with each X
e entry are four priority entries, one for each of the bits within the subword, which
are loaded from the register file 19 at the same time as X
e. When two or more successive values of X
e fall within a common subword, the priority FIFO 30 is not shifted, but the "overlapped"
priority values are updated. The result is a set of four priorities which will correspond
precisely to the four display data bits at the video output. The output from the priority
FIFO 30 is synchronised with the output from the video control logic 22 so that the
correct four priority values are presented for each four-bit subword.
[0046] During each scan line, the value of HCOUNT is continuously compared with the X address
at the top of the priority FIFO 30. When a match occurs, the priorities of the bits
in a 4-bit subword are output to the planar priority control logic 23. This determines
the highest priority at each of the four pixel locations so that bits from a viewport
which does not have the highest priority at that instant can be masked as they are
output from the video control logic 22. The priority FIFO 30 is shifted by one location
at each match in order to present the next subword address for comparison. If, at
a given 4-bit subword location, there is no match between HCOUNT and the X
e output of the priority FIFO 30, implying that there is no active boundary in that
subword, the active priority will be that of the rightmost pixel of the last matching
subword. In other words, the active priority during an active viewport transit remains
what it was at the left edge of the viewport. Since the data FIFO 29 and the priority
FIFO 30 are both loaded and read during a single scan line, only one of each is required.
[0047] The four priority values output from the priority FIFO 30 are passed via the planar
priority controller 23 where they are compared with synchronised priority information
from the other three viewport controllers within the windowing device. These are obtained
from the global priority control logic 18 which can also incorporate priority information
passed from other windowing devices in a multiple windowing device system via the
priority bus. The priority control logic 23 gates each bit of the 4-bit subword emerging
from the video control logic 22, enabling it only if its priority is the highest (or
equal highest) offered at that pixel. The resultant four bits are now ready for output
as the contribution of this plane to the four-pixel-wide video output bus.
[0048] In order to compare the priorities of competing windows at each pixel, the priority
values are converted from their binary representation to thermometer code and a bitwise-OR
is performed on the results. This operation is carried out in parallel for the four
pixels which are output by each viewport controller in every cycle and yields a thermometer
code value corresponding to the highest of the priorities being compared. The global
priority controller performs a bitwise OR on the thermometer code values between planes
and supplies each planar priority controller with the result.
[0049] As is shown in Figure 9 the planar organisation of the windowing device architecture
makes it very straightforward to cascade several such devices as a windowing device
array, each device controlling up to four memory planes in a multi-planar system.
When more than one windowing device is used, it is necessary to determine the highest
global priority overall at each pixel so that only the highest priority viewports
are displayed. This is accomplished by way of a 28-bit priority bus compring seven
bits for each of the four pixels. Connections to the priority bus are made via open-drain
input/output pins, so that no external logic is required to perform the OR operation.
In order for the bus to operate at the required speeds a pre-charge circuit is incorporated
into each of the open drain outputs. The result is that each chip "sees" four priority
words on the bus corresponding to the highest global priority at each of the four
pixels. The priority bus runs at one quarter of the pixel rate, e.g. at 27.5MHz for
1280x1024 resolution at 60Hz refresh rate. It is the only linkage (apart from the
standard timing signals) required in a multiple windowing device array.
[0050] From the foregoing description it will be seen that the present invention provides
a hardware windowing system wherein each window is managed automatically in hardware
and may be positioned, repositioned or removed instantaneously with no modification
of data in memory. By use of one or more of the described windowing devices, a user
can create, reposition and remove large numbers of viewports on a display screen,
each viewport displaying any chosen window from the frame buffer. Each viewport may
be any size and each window may be any number of bits deep depending upon the number
of memory planes in the system. Viewports are completely independent and can overlap
either transparently or opaquely. All boundary clipping and transparency effects are
performed on the fly, and overlapping areas are automatically obscured, revealed or
intermixed as required with no user intervention and no software or processing overhead.
[0051] Each of the windowing devices as hereinbefore described has the capability to control
up to four planes of memory and up to four independent windows per memory plane. These
may be stacked in any configuration ranging from sixteen 1-bit deep windows to four
4-bit deep windows or any combination in between. Multiple windowing devices may be
cascaded to provide any number of windows, each any number of bits deep. For example,
a sixteen plane system may be controlled by means of four of the described windowing
devices to provide up to 64 1-bit text windows, or one 16-bit deep window with up
to 48 1-bit text windows, or up to eight 8-bit deep windows, and so on. Window configuration
is dynamically allocated and re-allocated as required.
[0052] The modularity and high performance of the described windowing device makes it a
cost effective solution to image manipulation tasks in systems ranging from PC graphics
cards to top-end workstations. It is compatible with most implementations of graphics
standards such as GKS, CGI and DEGIS, and may be integrated with windowing protocols
such as X windows and NeWS. Major applications of the invention include CAD, particularly
for architecture, IC design and PCB layout, business graphics, drafting, medical imaging,
cartography, and electronic publishing.
[0053] Whilst a specific and currently preferred embodiment of the invention has been described
in the foregoing, it is to be appreciated that the described embodiment is exemplary
in all respects and that many modifications, additions and variations could be made.
For example, whilst the described windowing device comprises four viewport controllers
each capable of processing four window-viewport assignments in a respective memory
plane, the invention extends to a single such viewport controller and also extends
to a viewport controller operating on the same principles but not adapted for the
control of four viewports, the choice of four viewport controller per windowing device
and four viewports controlled by each viewport controller being a judicious selection
having regard to all of the operating requirements and constraints but otherwise being
exemplary. The use of VRAM for the display memory is advantageous in view of the inherent
suitability of VRAM for graphics applications, but the invention is not to be regarded
as limited to the use of VRAM and an alternative embodiment could be constructed with
DRAM (dynamic RAM) memory; such an alternative embodiment is in fact described in
the Ph.D. thesis submitted by David J. Phillips, the inventor of the present invention,
to the University of Kent at Canterbury, in England, in 1987 and forms the subject
of British Patent application No. 8704653 from which the present application claims
priority. Furthermore, whilst no mention has hitherto been made herein of the possibility
of providing a zoom facility in the described windowing device, hardware zoom could
readily be provided for each viewport by use of pixel replication techniques such
as, for example, by variation of the pixel rate for replication in the X-direction
and by displaying the same scan line more than once for replication in the Y-direction.
1. A hardware windowing system for use with a computer graphics facility (1) for determining
the transfer of image data from any chosen window in memory and the display of the
image represented by said data at any chosen viewport location of a display (3), the
hardware windowing system (5) comprising a plurality of viewport controllers (15)
each controller being individually coupled to a single plane (13a...13d) of a multi-planar
memory (13) for individually supervising the transfer of data from one or more windows
in its associated memory plane to viewports in the display.
2. A hardware windowing system as claimed in claim 1 wherein, for enabling the handling
of overlapping viewports, viewport priority information is included in window-viewport
mapping assignments held within the viewport controllers (15), and the viewport controllers
are responsive to such viewport priority information for selectively determining the
transfer of image data out of their respective memory planes (13a...13d) in accordance
with corresponding viewport priority information.
3. A hardware windowing system as claimed in claim 2 wherein priority control means (18,
23) are provided responsive to the viewport priority information included in the window-viewport
mapping assignments held within the plurality of viewport controllers (15) for determining
the display in overlapping viewports of image data from plural memory planes (13a...13d).
4. A hardware windowing system as claimed in claim 3 wherein said plurality of viewport
controllers (15) are included in a modular cascadable windowing device (5) whereof
the priority control means (18, 23) can communicate over a priority bus (25) with
the priority control means of one or more other such windowing devices (5) interconnected
with the first-mentioned windowing device (5) in a windowing device array (Fig. 9).
5. A hardware windowing system as claimed in claim 4 wherein the priority control means
(18, 23) of said windowing device (5) comprises a planar priority control means (23)
for handling overlapping viewports deriving from image data stored in windows of the
memory planes (13a...13d) associated with and controlled by the said windowing device
(5), and a global priority control means (18) coupled with said planar priority control
means (23) and adapted to communicate over said priority bus (25) with one or more
global priority control means (18) of other such windowing devices (5) forming said
array (Fig. 9) with the first-mentioned windowing device, the said global priority
control means (18) including means for handling overlapping viewports deriving from
image data stored in windows of memory planes (13a...13d) associated with and controlled
by different ones of the plurality of cascaded windowing devices (5).
6. A hardware windowing system as claimed in any of the preceding claims for use with
a raster scan computer graphics facility wherein window-viewport mapping assignments
are provided from a host processor for identifying to the system the required viewport
locations of the display and the corresponding window locations in the multi-planar
memory, said window-viewport mapping assignments including scan line coordinate information
relating to viewport and window boundaries, each said viewport controller (15) of
the hardware windowing system (5) including means (19) for receiving said viewport
boundary scan line co-ordinate information from the host processor, and means (20)
responsive to the received viewport boundary scan line co-ordinate information for
defining a corresponding address list for use by the viewport controller (15) in extracting
image data from memory (13) for display.
7. A hardware windowing system as claimed in claim 6 wherein said window-viewport mapping
assignments include, for each viewport, X₁ and Y₁ co-ordinates of the top left-hand
corner of a rectangular viewport, X₂ and Y₂ co-ordinates of the bottom right-hand
corner of the viewport, and Xo and Yo offsets indicative of the X and Y offsets of
the corresponding corners of a corresponding window of a memory plane, and said means
(20) for defining said address list derives from such co-ordinate information window
start addresses in memory and controls for starting and stopping the clocking out
of image data from the appropriate memory locations for each scan line of the display.
8. A hardware windowing system as claimed in claim 7 wherein the window-viewport mapping
assignments further include a viewport priority allocation, and said means (20) for
defining said address list is adapted to derive said window start addresses and said
starting and stopping controls in dependence upon said priority allocations in the
event of viewports overlapping on the display, the viewport priorities determining
which viewport boundaries will predominate in the display.
9. A hardware windowing system as claimed in claim 7 or 8 wherein image data is arranged
to be clocked out of memory in multi-bit words each corresponding to a plurality of
pixels of the display, and the viewport controllers (15) each include logic means
(21) for processing the data clocked out of memory (13) so as to obtain single pixel
viewport location accuracy in the display.
10. A hardware windowing system as claimed in claim 8 or 9 and wherein a memory controller
(17) is associated with said plurality of viewport controllers (15) and is responsive
to said controllers for organising the extraction of image data from said memory (13),
the arrangement being such that once started the clocking out of image data proceeds
until a stop control is received and in between times the memory (13) is accessible
for use by a drawing processor (12) for entering fresh image data into memory.
11. A hardware windowing system as claimed in claim 10 wherein said memory controller
(17) includes a handshake interface for enabling co-operation with the drawing processor
for time shared utilisation of the memory.
12. A hardware windowing system as claimed in any of the preceding claims wherein the
memory (13) comprises a multi-planar VRAM memory wherein image data is stored in multi-bit
words each corresponding to a plurality of display pixels, and the viewport controllers
(15) operate at a speed which is a fraction of the pixel rate of the display but to
output a plurality of pixels at a time, the arrangement thereby providing more time
for the processing of image data by the viewport controllers (15) without prejudice
to the integrity of the display.
13. A hardware windowing system as claimed in any of the preceding claims for use with
a raster scan computer graphics facility and wherein said viewport controllers (15)
are arranged to process the image data required to produce each scan line of the display
during the period of the immediately preceding scan line.
14. A hardware windowing system as claimed in any of the preceding claims wherein four
of said viewport controllers (15) each capable of independently controlling the display
of four windows in a single plane of a multi-planar VRAM memory (13) are assembled
together as a VLSI chip, and a single VRAM controller (17) is provided on the chip
and serves to provide a control interface between the four viewport controllers (15)
and the VRAM memory (13).
15. A hardware windowing system as claimed in claim 1, wherein each said viewport controller
(15) is adapted to be responsive to window-viewport mapping assignments provided thereto
from a host computer (1) for flexibly mapping windows in memory to viewports of the
display, and said window-viewport mapping assignments include co-ordinate data X₁,
Y₁ and X₂, Y₂ representative of the desired locations in the display of opposed corners
of a rectangular viewport and offset data Xo, Yo representative of the offsets in
the X and Y directions of the actual locations in memory of the corresponding corners
of the window that is required to be displayed in the said viewport from locations
defined in memory by the co-ordinate data X₁, Y₁ and X₂, Y₂.
16. A hardware windowing system as claimed in claim 15 wherein each viewport controller
(15) comprises a register (19) for receiving said window-viewport mapping assignments
from the host computer, a compiler (27) for processing the data received by the register
and deriving therefrom boundary address and associated control signals for each scan
line of the display, and a memory controller (17) responsive to the output of the
compiler for determining the appropriate extraction of image data from the memory
(13) for each scan line of the display.
17. A hardware windowing system as claimed in claim 16 wherein said window-viewport mapping
assignments further include viewport priority designations for use in the display
of overlapping viewports, and said compiler (27) is arranged to take account of said
viewport priority designations in the derivation of said viewport boundary address
signals.
18. A hardware windowing system as claimed in claim 16 or 17 wherein said memory (13)
comprises a VRAM memory, said compiler (27) comprises a VRAM setup list compiler,
and said memory controller (17) comprises a VRAM controller.
19. A hardware windowing system as claimed in claim 18 wherein said VRAM controller (17)
includes a handshaking interface for determining the sharing of the VRAM memory address
and control busses with a drawing processor (12).
20. A hardware windowing system as claimed in claim 18 or 19 wherein the image data is
arranged to be clocked out of the VRAM memory (13) under control of the VRAM controller
(17) in the form of data words each corresponding to a plurality of display pixels,
and the viewport controller (15) includes means (21) for logically processing the
data words output from the VRAM memory (13) so as to obtain single pixel display accuracy.
21. A hardware windowing system as claimed in any of claims 15 to 20 wherein the viewport
controller (15) is arranged to operate at a pixel rate which is a fraction of the
pixel display rate, for providing more time for the internal operations of the viewport
controller to be performed, and wherein pixel data is arranged to be output from the
viewport controller (15) for display of a plurality of pixels at a time to compensate
for the reduced pixel rate of the internal operations of the viewport controller.
22. A hardware windowing system as claimed in any of claims 15 to 21 wherein the plurality
of viewport controllers (15) is formed as a VLSI circuit chip.
1. Hardware-Windowingsystem bzw. -Fensterdarstellungssystem zur Verwendung bei einer
Computergrafik-Einrichtung (1) zum Bestimmen der Übertragung von Bilddaten von irgendeinem
gewählten Fenster im Speicher und der Darstellung des durch diese Daten repräsentierten
Bildes an irgendeinem ausgewählten Darstellungsfeld-Ort eines Displays (3), wobei
das Hardware-Windowingsystem (5) eine Vielzahl von Darstellungsfeld-Steuereinrichtungen
(15) umfaßt, wobei jede Steuereinrichtung individuell gekoppelt ist mit einer einzelnen
Ebene (13a...13d) eines Mehr-Ebenen-Speichers (13) zum individuellen Überwachen der
Übertragung von Daten von einem oder mehreren Fenstern in ihrer zugeordneten Speicherebene
an Darstellungsfelder in dem Display.
2. Hardware-Windowingsystem nach Anspruch 1, bei welchem zum Ermöglichen der Handhabung
des Überlappens von Darstellungsfeldern Darstellungsfeld-Prioritätsinformation in
Fenster-Darstellungsfeld-Abbildungszuordnungen vorhanden ist, die in den Darstellungsfeld-Steuereinrichtungen
(15) gehalten sind, und die Darstellungsfeld-Steuereinrichtungen auf derartige Darstellungsfeld-Prioritätsinformation
ansprechen, um die Übertragung von Bilddaten aus ihren zugeordneten Speicherebenen
(13a...13d) selektiv zu bestimmen, in Abhängigkeit von entsprechender Darstellungsfeld-Prioritätsinformation.
3. Hardware-Windowingsystem nach Anspruch 2, bei welchem Prioritätssteuermittel (18,
23) vorgesehen sind, die ansprechen auf die Darstellungsfeld-Prioritätsinformation,
welche in den Fenster-Darstellungsfeld-Abbildungszuordnungen, die in der Vielzahl
von Darstellungsfeld-Steuereinrichtungen (15) gehalten sind, vorhanden ist, um dei
Darstellung von Bilddaten von mehreren Speicherebenen (13a...13d) in überlappenden
Darstellungsfeldern zu bestimmen.
4. Hardware-Windowingsystem nach Anspruch 3, bei welchem die Vielzahl von Darstellungsfeld-Steuergeräten
(15) in einer modularen kaskadierbaren Windowingeinrichtung (5) sind, von wo aus die
Prioritätssteuermittel (18, 23) über einen Prioritätsbus (25) mit den Prioritätssteuermitteln
einer oder mehrerer anderer derartiger Windowingeinrichtungen (5) kommunizieren können,
die mit der erstgenannten Windowingeinrichtung (5) in einer Windowingeinrichtungsanordnung
(Fig. 9) verbunden sind.
5. Hardware-Windowingsystem nach Anspruch 4, bei welchem das Prioritätssteuermittel (18,
23) der Windowingeinrichtung (5) umfaßt: ein Ebenen-Prioritätssteuermittel (23) zum
Handhaben überlappender Darstellungsfelder, die von Bilddaten herrühren, welche in
Fenstern der Speicherebenen (13a...13d) gespeichert sind, die der Windowingeinrichtung
(5) zugeordnet und von ihr gesteuert sind, und ein Global-Prioritätssteuermittel (18),
das mit dem Ebenen-Prioritätssteuermittel (23) gekoppelt ist und geeignet ist, über
den Prioritätsbus (25) mit einem oder mehreren Global-Prioritätssteuermitteln (18)
anderer derartiger Windowingeinrichtungen (5), die die Anordnung (Fig. 9) mit der
erstgenannten Windowingeinrichtung bilden, zu kommunizieren, wobei das Global-Prioritätssteuermittel
(18) Mittel zum Handhaben überlappender Darstellungsfelder aufweist, die von Bilddaten
herrühren, welche in Fenstern von Speicherebenen (13a...13d) gespeichert sind, die
verschiedenen der Vielzahl von kaskadierten Windowingeinrichtungen (5) zugeordnet
und von diesen gesteuert sind.
6. Hardware-Windowingsystem nach einem der vorstehenden Ansprüche zur Verwendung bei
einer Rasterabtastungs-Computergrafikeinrichtung, wobei von einem Hostprozessor Fenster-Darstellungsfeld-Abbildungszuordnungen
geliefert werden, um dem System die Identifizierung für die erforderlichen Darstellungsfeld-Orte
des Displays und die entsprechenden Fensterorte in dem Mehr-Ebenen-Speicher zu geben,
wobei die Fenster-Darstellungsfeld-Abbildungszuordnungen Abtastzeilen-Koordinateninformation,
die sich auf Darstellungsfeld- und Fenstergrenzen bezieht, umfassen, wobei jede Darstellungsfeld-Steuereinrichtung
(15) des Hardware-Windowingsystems (5) Mittel (19) aufweist zum Empfangen der Abtastzeilen-Koordinateninformation
bezüglich der Darstellungsfeldgrenze von dem Hostprozessor, sowie Mittel (20), welche
auf die empfangene Abtastzeilen-Koordinateninformation bezüglich der Darstellungsfeldgrenze
ansprechen, um eine entsprechende Adressenliste zur Verwendung durch die Darstellungsfeld-Steuereinrichtung
(15) beim Herausziehen von Bilddaten aus dem Speicher (13) zum Zweck der Darstellung
zu definieren.
7. Hardware-Windowingsystem nach Anspruch 6, wobei die Fenster-Darstellungsfeld-Abbildungszuordnungen
für jedes Darstellungsfeld aufweisen: X₁- und Y₁-Koordinaten der oberen linken Ecke
eines rechteckigen Darstellungsfelds, X₂- und Y₂-Koordinaten der unteren rechten Ecke
des Darstellungsfelds, und X₀- und Y₀-Offsets, welche die X- und Y-Offsets der entsprechenden
Ecken eines entsprechenden Fensters einer Speicherebene angeben, und wobei das Mittel
(20) zum Definieren der Adressenliste von derartiger Koordinateninformation Fenster-Startadressen
im Speicher ableitet und das Starten und Stoppen des Austaktens von Bilddaten aus
den geeigneten Speicherorten für jede Abtastzeile des Displays steuert.
8. Hardware-Windowingsystem nach Anspruch 7, bei welchem die Fenster-Darstellungsfeld-Abbildungszuordnungen
weiter eine Darstellungsfeld-Prioritätszuweisung aufweisen, und das Mittel (20) zum
Definieren der Adressenliste geeignet ist, die Fenster-Startadressen und die Start-
und Stop-Steuerinstruktionen in Abhängigkeit von den Prioritätszuweisungen im Fall
von auf dem Display überlappenden Darstellungsfeldern abzuleiten, wobei die Darstellungsfeld-Prioritäten
bestimmen, welche Darstellungsfeld-Grenzen dominieren werden.
9. Hardware-Windowingsystem nach Anspruch 7 oder 8, bei welchem die Bilddaten so arrangiert
sind, daß sie aus dem Speicher in Mehr-Bit-Worten, die jeweils einer Mehrzahl von
Pixeln auf dem Display entsprechen, ausgetaktet werden, und die Darstellungsfeld-Steuereinrichtungen
(15) jeweils Logikmittel (21) aufweisen, mit denen die aus dem Speicher (13) ausgetakteten
Daten bearbeitet werden, um eine Darstellungsfeld-Ortsgenauigkeit von einem Pixel
in dem Display zu erzielen.
10. Hardware-Windowingsystem nach Anspruch 8 oder 9, bei welchem eine Speichersteuereinrichtung
(17) der Vielzahl von Darstellungsfeld-Steuereinrichtungen (15) zugeordnet ist und
auf diese Steuereinrichtungen anspricht, um das Herausziehen von Bilddaten aus dem
Speicher (13) zu organisieren, wobei die Anordnung so ist, daß das Austakten von Bilddaten,
einmal gestartet, fortschreitet, bis eine Stopinstruktion empfangen wird, und in der
Zwischenzeit der Speicher (13) zugänglich ist zur Verwendung durch einen Zeichenprozessor
(12) zum Eingeben frischer Bilddaten in den Speicher.
11. Hardware-Windowingsystem nach Anspruch 10, wobei die Speichersteuereinrichtung (17)
ein Handshake-Interface aufweist, mit dem ein Zusammenwirken mit dem Zeichenprozessor
für einen Time-Sharing-Betrieb des Speichers möglich ist.
12. Hardware-Windowingsystem nach einem der vorstehenden Ansprüche, bei welchem der Speicher
(13) einen Mehr-Ebenen-VRAM-Speicher aufweist, in dem Bilddaten in Mehr-Bit-Worten,
die jeweils einer Vielzahl von Display-Pixeln entsprechen, gespeichert sind, und die
Darstellungsfeld-Steuereinrichtungen (15) mit einer Geschwindigkeit arbeiten, die
ein Bruchteil der Pixelrate des Displays ist, wobei aber, um eine Vielzahl von Pixeln
gleichzeitig auszugeben, die Anordnung dabei mehr Zeit zum Verarbeiten von Bilddaten
durch die Darstellungsfeld-Steuereinrichtungen (15) vorsieht, ohne Einbuße der Integrität
des Displays.
13. Hardware-Windowingsystem nach einem der vorstehenden Ansprüche zur Verwendung bei
einer Rasterabtastungs-Computergrafikeinrichtung, wobei die Darstellungsfeld-Steuereinrichtungen
(15) so arrangiert sind, daß sie die Bilddaten, die erforderlich sind, um jede Abtastzeile
des Displays zu erzeugen, während der Periode der unmittelbar vorhergehenden Abtastzeile
verarbeiten.
14. Hardware-Windowingsystem nach einem der vorstehenden Ansprüche, bei welchem vier der
Darstellungsfeld-Steuereinrichtungen (15), von denen jede unabhängig die Darstellung
von vier Fenstern in einer einzelnen Ebene eines Mehr-Ebenen-VRAM-Speichers (13) steuern
kann, als ein VLSI-Chip zusammengefügt sind, und eine einzelne VRAM-Steuereinrichtung
(17) auf dem Chip vorgesehen ist, die dazu dient, ein Steuer-Interface zwischen den
vier Darstellungsfeld-Steuereinrichtungen (15) und dem VRAM-Speicher (13) zu schaffen.
15. Hardware-Windowingsystem nach Anspruch 1, wobei jede Darstellungsfeld-Steuereinrichtung
(15) auf Fenster-Darstellungsfeld-Abbildungszuordnungen ansprechen kann, die ihr von
einem Hostcomputer (1) geliefert werden, um flexibel Fenster im Speicher auf Darstellungsfelder
des Displays abzubilden, wobei die Fenster-Darstellungsfeld-Abbildungszuordnungen
Koordinatendaten X₁, Y₁ und X₂, Y₂ umfassen, welche die gewünschten Orte von entgegengesetzten
Ecken eines rechtwinkligen Darstellungsfeldes in dem Display repräsentieren, sowie
Offsetdaten X₀, Y₀, welche die Offsets in der X- und Y-Richtung der tatsächlichen
Orte der entsprechenden Ecken des Fensters im Speicher repräsentierten, wobei dieses
Fenster in dem Darstellungsfeld aus Orten, die im Speicher durch die Koordinatendaten
X₁, Y₁ und X₂, Y₂ definiert sind, dargestellt werden soll.
16. Hardware-Windowingsystem nach Anspruch 15, bei welchem jede Darstellungsfeld-Steuereinrichtung
(15) umfaßt: ein Register (19) zum Empfangen der Fenster-Darstellungsfeld-Abbildungszuordnungen
von dem Hostcomputer, einen Compiler (27), um die vom Register empfangenen Daten zu
Verarbeiten und daraus Grenzadressen und zugehörige Steuersignale für jede Abtastzeile
des Displays abzuleiten, und eine Speicher-Steuereinrichtung (17), welche auf die
Ausgabe des Compilers anspricht, um das geeignete Herausziehen von Bilddaten aus dem
Speicher (13) für jede Abtastzeile des Displays zu bestimmen.
17. Hardware-Windowingsystem nach Anspruch 16, bei welchem die Fenster-Darstellungsfeld-Abbildungszuordnungen
weiter Darstellungsfeld-Prioritätsbestimmungen zur Verwendung in der Darstellung überlappender
Darstellungsfelder aufweisen, und der Compiler (27) so arrangiert ist, daß er die
Darstellungsfeld-Prioritätsbestimmungen bei der Ableitung der Darstellungsfeldgrenz-Adreßsignale
berücksichtigt.
18. Hardare-Windowingsystem nach Anspruch 16 oder 17, wobei der Speicher (13) einen VRAM-Speicher
umfaßt, der Compiler (27) einen VRAM-Setup-Listencompiler umfaßt, und die Speicher-Steuereinrichtung
(17) eine VRAM-Steuereinrichtung umfaßt.
19. Hardware-Windowingsystem nach Anspruch 18, wobei die VRAM-Steuereinrichtung (17) ein
Handshaking-Interface zum Bestimmen der gemeinsamen Nutzung der VRAM-Speicheradreß-
und -steuerbusse mit einem Zeichenprozessor (12) aufweist.
20. Hardware-Windowingsystem nach Anspruch 18 oder 19, wobei die Bilddaten so arrangiert
sind, daß sie aus dem VRAM-Memory (13) ausgetaktet werden unter der Kontrolle der
VRAM-Steuereinrichtung (17) in Form von Datenworten, die jeweils einer Vielzahl von
Display-Pixeln entsprechen, und die Darstellungsfeld-Steuereinrichtung (15) Mittel
(21) aufweist zum logischen Verarbeiten der aus dem VRAM-Speicher (13) ausgegebenen
Datenworte, um eine Einpixel-Anzeigegenauigkeit zu erzielen.
21. Hardware-Windowingsystem nach einem der Ansprüche 15 bis 20, wobei die Darstellungsfeld-Steuereinrichtung
(15) so arrangiert ist, daß sie bei einer Pixelrate arbeitet, die ein Bruchteil der
Pixelanzeigerate ist, um mehr Zeit für die durchzuführenden internen Operationen der
Darstellungsfeld-Steuereinrichtung zur Verfügung zu stellen, und wobei die Pixeldaten
dazu arrangiert sind, von der Darstellungsfeld-Steuereinrichtung (15) zur gleichzeitigen
Anzeige einer Vielzahl von Pixeln ausgegeben werden, um die reduzierte Pixelrate der
internen Operationen der Darstellungsfeld-Steuereinrichtung zu kompensieren.
22. Hardware-Windowingsystem nach einem der Ansprüche 15 bis 21, wobei die Vielzahl von
Darstellungsfeld-Steuereinrichtungen (15) als ein VLSI-Schaltkreischip ausgebildet
ist.
1. Système de fenêtrage matériel destiné à être utilisé avec une installation d'infographie
(1) pour déterminer le transfert de données d'image à partir d'une fenêtre choisie
quelconque contenue en mémoire et l'affichage de l'image représentée par lesdites
données au niveau de l'emplacement choisi quelconque d'une zone de visualisation d'un
affichage (3), le système de fenêtrage matériel (5) comportant plusieurs dispositifs
(15) de commande de fenêtre de visualisation, chaque dispositif de commande étant
couplé individuellement à un plan unique (13a, ..., 13d) d'une mémoire (13) à plusieurs
plans pour superviser individuellement le transfert de données en provenance d'une
ou de plusieurs fenêtres contenues dans le plan mémoire associé à celui-ci vers des
zones de visualisation situées dans l'affichage.
2. Système de fenêtrage matériel selon la revendication 1, dans lequel, pour permettre
le traitement de zones de visualisation qui se chevauchent, des informations de priorité
de zone de visualisation sont incluses dans des assignations de correspondance fenêtre-zone
de visualisation contenues à l'intérieur des dispositifs (15) de commande de zone
de visualisation, et les dispositifs de commande de zone de visualisation réagissent
à ces informations de priorité de zone de visualisation pour déterminer de manière
sélective le transfert de données d'image à partir de leurs plans mémoire respectifs
(13a, ..., 13d) conformément aux informations de priorité de zone de visualisation
correspondantes.
3. Système de fenêtrage matériel selon la revendication 2, dans lequel des moyens (18,
23) de commande de priorité sont fournis, ceux-ci réagissant aux informations de priorité
de zone de visualisation incluses dans les assignations de correspondance fenêtre-zone
de visualisation contenues à l'intérieur des plusieurs dispositifs (15) de commande
de zone de visualisation pour déterminer l'affichage, à l'intérieur de zones de visualisation
qui se chevauchent, de données d'image provenant des plusieurs plans mémoire (13a,
..., 13d).
4. Système de fenêtrage matériel selon la revendication 3, dans lequel lesdits plusieurs
dispositifs (15) de commande de zone de visualisation sont inclus dans un dispositif
de fenêtrage (5) pouvant être monté de manière modulaire en cascade, les moyens (18,
23) de commande de priorité de ce dernier pouvant communiquer à travers un bus de
priorité (25) avec les moyens de commande de priorité d'un ou de plusieurs autres
dispositifs de fenêtrage (5) analogues, reliés mutuellement au dispositif de fenêtrage
(5), mentionné le premier, en formant un réseau de dispositifs de fenêtrage (voir
figure 9).
5. Système de fenêtrage matériel selon la revendication 4, dans lequel les moyens (18,
23) de commande de priorité dudit dispositif de fenêtrage (5) comportent des moyens
(23) de commande de priorité de plan pour traiter des zones de visualisation, qui
se chevauchent, déduites à partir de données d'image mémorisées à l'intérieur de fenêtres
des plans mémoire (13a, ..., 13d) associés avec et commandés par ledit dispositif
de fenêtrage (5), et des moyens (18) de commande de priorité globale couplés auxdits
moyens (23) de commande de priorité de plan et adaptés pour communiquer à travers
ledit bus de priorité (25) avec un ou plusieurs parmi les moyens (18) de commande
de priorité globale des autres dispositifs de fenêtrage (5) analogues qui forment
ledit réseau (voir figure 9) avec le dispositif de fenêtrage mentionné le premier,
lesdits moyens (18) de commande de priorité globale incluant des moyens pour traiter
les zones de visualisation, qui se chevauchent, déduites à partir de données d'image
mémorisées à l'intérieur de fenêtres des plans mémoire (13a, ..., 13d) associés à
et commandés par différents dispositifs parmi les plusieurs dispositifs de fenêtrage
(5) montés en cascade.
6. Système de fenêtrage matériel selon l'une quelconque des revendications précédentes,
destiné à être utilisé avec une installation d'infographie à balayage tramé, dans
lequel les assignations de correspondance fenêtre-zone de visualisation sont fournies
à partir d'un processeur central destiné à identifier auprès du système les emplacements
requis des zones de visualisation de l'affichage et les emplacements correspondants
des fenêtres dans la mémoire à plusieurs plans, lesdites assignations de correspondance
fenêtre-zone de visualisation incluant des informations de coordonnées de lignes de
balayage relatives aux limites de la zone de visualisation et de la fenêtre, chacun
desdits dispositifs de commande de visualisation (15) du système de fenêtrage matériel
(5) incluant des moyens (19) pour recevoir lesdites informations de coordonnées de
lignes de balayage relatives aux limites de la zone de visualisation à partir du processeur
central, et des moyens (20) réagissant aux informations de coordonnées de lignes de
balayage, relatives aux limites de la zone de visualisation, qui sont reçues pour
définir une liste correspondante d'adresses destinée à être utilisée par le dispositif
(15) de commande de zone de visualisation lors de l'extraction de données d'image
à partir de la mémoire (13) pour l'affichage.
7. Système de fenêtrage matériel selon la revendication 6, dans lequel lesdites assignations
de correspondance fenêtre-zone de visualisation incluent, pour chaque zone de visualisation,
les coordonnées X₁ et Y₁ du coin supérieur gauche d'une zone de visualisation rectangulaire,
les coordonnées X₂ et Y₂ du coin inférieur droit de la zone de visualisation, et des
décalages Xo et Yo indicatifs des décalages X et Y des coins correspondants d'une
fenêtre correspondante d'un plan mémoire, et lesdits moyens (20) pour définir ladite
liste d'adresses déduisent à partir de telles informations de coordonnées les adresses
de début de fenêtre contenues en mémoire et commandent le début et la fin de l'extraction
cadencée des données d'image à partir des emplacements mémoire appropriés pour chaque
ligne de balayage de l'affichage.
8. Système de fenêtrage matériel selon la revendication 7, dans lequel les assignations
de correspondance fenêtre-zone de visualisation comportent en outre une allocation
de priorité de zone de visualisation, et lesdits moyens (20) pour définir ladite liste
d'adresses sont adaptés pour déduire lesdites adresses de début de fenêtre et lesdites
commandes de début et de fin en fonction desdites allocations de priorité dans le
cas de zones de visualisation qui se chevauchent sur l'affichage, les priorités relatives
aux zones de visualisation déterminant quelles limites de zone de visualisation prédominent
sur l'affichage.
9. Système de fenêtrage matériel selon la revendication 7 ou 8, dans lequel les données
d'image sont agencées pour être extraites en cadence de la mémoire sous la forme de
mots constitués de plusieurs binaires, correspondant chacun à plusieurs pixels de
l'affichage, et les dispositifs (15) de commande de zone de visualisation incluant
chacun des moyens logiques (21) pour traiter les données extraites en cadence de la
mémoire (13) de manière à obtenir une précision de l'ordre du pixel au niveau de l'emplacement
de la zone de visualisation sur l'affichage.
10. Système de fenêtrage matériel selon la revendication 8 ou 9, dans lequel un dispositif
(17) de commande de mémoire est associé auxdits plusieurs dispositifs (15) de commande
de zone de visualisation et réagit auxdits dispositifs de commande pour organiser
l'extraction de données d'image à partir de ladite mémoire (13), l'agencement étant
tel que, une fois commencée, l'extraction cadencée des données d'image se poursuit
jusqu'à ce qu'une commande d'interruption soit reçue et, entre ces instants, la mémoire
(13) peut être utilisée par un processeur de dessin (12) de manière à rentrer en mémoire
de nouvelles données d'image.
11. Système de fenêtrage matériel selon la revendication 10, dans lequel ledit dispositif
(17) de commande de mémoire comporte une interface de mise en liaison destinée à permettre
une coopération avec le processeur de dessin pour une utilisation à temps partagé
de la mémoire.
12. Système de fenêtrage matériel selon l'une quelconque des revendications précédentes,
dans lequel la mémoire (13) est constituée d'une mémoire VRAM à plusieurs plans, dans
laquelle des données d'image sont mémorisées sous la forme de mots constitués de plusieurs
binaires, correspondant chacun à plusieurs pixels d'affichage, et les dispositifs
(15) de commande de zone de visualisation fonctionnent à une vitesse qui est une fraction
de la cadence d'affichage des pixels, mais afin de sortir plusieurs pixels en même
temps, l'agencement laisse par conséquent un temps plus important au traitement des
données d'image par les dispositifs (15) de commande de zone de visualisation, sans
aucun préjudice quant à l'intégrité de l'affichage.
13. Système de fenêtrage matériel selon l'une quelconque des revendications précédentes,
destiné à être utilisé avec une installation d'infographie à balayage tramé et dans
lequel lesdits dispositifs (15) de commande de zone de visualisation sont agencés
pour traiter les données d'image requises pour produire chaque ligne de balayage de
l'affichage au cours de la période de la ligne de balayage immédiatement précédente.
14. Système de fenêtrage matériel selon l'une quelconque des revendications précédentes,
dans lequel quatre parmi lesdits dispositifs (15) de commande de zone de visualisation,
capables chacun de commander de manière indépendante l'affichage de quatre fenêtres
dans un plan unique d'une mémoire VRAM (13) à plusieurs plans, sont assemblés mutuellement
en tant que puce VLSI, et un dispositif unique (17) de commande de VRAM est agencé
sur la puce et sert à fournir une interface de commande entre les quatre dispositifs
(15) de commande de zone de visualisation et la mémoire VRAM (13).
15. Système de fenêtrage matériel selon la revendication 1, dans lequel chacun desdits
dispositifs (15) de commande de zone de visualisation est adapté pour réagir à des
assignations de correspondance fenêtre-zone de visualisation envoyées vers celui-ci
à partir d'un ordinateur central (1) pour faire correspondre de manière flexible les
fenêtres en mémoire aux zones de visualisation de l'affichage, et lesdites assignations
de correspondance fenêtre-zone de visualisation incluent des données de coordonnées
X₁ et Y₁ et X₂ et Y₂ représentatives des emplacements voulus, sur l'affichage, des
coins opposés d'une zone de visualisation rectangulaire, et des données de décalage
Xo, Yo représentatives des décalages dans les directions X et Y des emplacements effectifs
en mémoire des coins correspondants de la fenêtre que l'on veut afficher dans ladite
zone de visualisation par rapport aux emplacements définis en mémoire par les données
de coordonnées X₁ et Y₁ et X₂ et Y₂.
16. Système de fenêtrage matériel selon la revendication 15, dans lequel chaque dispositif
(15) de commande de zone de visualisation comporte un registre (19) destiné à recevoir
lesdites assignations de correspondance fenêtre-zone de visualisation provenant de
l'ordinateur central, un compilateur (27) pour traiter les données reçues par le registre
et déduire à partir de ces dernières des signaux d'adresses de limites et des signaux
de commande associés pour chaque ligne de balayage de l'affichage, et un dispositif
(17) de commande de mémoire réagissant à la sortie du compilateur pour déterminer
l'extraction appropriée de données d'image à partir de la mémoire (13) pour chaque
ligne de balayage de l'affichage.
17. Système de fenêtrage matériel selon la revendication 16, dans lequel lesdites assignations
de correspondance fenêtre-zone de visualisation comportent en outre des désignations
de priorité de zone de visualisation destinées à être utilisées dans l'affichage de
zones de visualisation qui se chevauchent, et ledit compilateur (27) est agencé pour
prendre en compte lesdites désignations de priorité de zone de visualisation dans
la déduction desdits signaux d'adresses de limites de zone de visualisation.
18. Système de fenêtrage matériel selon la revendication 16 ou 17, dans lequel ladite
mémoire (13) est constituée d'une mémoire VRAM, ledit compilateur (27) est constitué
d'un compilateur de liste d'activation de mémoire VRAM, et ledit dispositif (17) de
commande de mémoire est constitué d'un dispositif de commande de mémoire VRAM.
19. Système de fenêtrage matériel selon la revendication 18, dans lequel ledit dispositif
(17) de commande de mémoire VRAM inclut une interface de mise en liaison pour déterminer
le partage des bus d'adresses de mémoire VRAM et de commande avec un processeur de
dessin (12).
20. Système de fenêtrage matériel selon la revendication 18 ou 19, dans lequel les données
d'image sont agencées pour être extraites en cadence de la mémoire VRAM (13) sous
la commande du dispositif (17) de commande de mémoire VRAM sous la forme de mots de
données, correspondant chacun à plusieurs pixels d'affichage, et le dispositif (15)
de commande de zone de visualisation comporte des moyens (21) pour traiter de manière
logique les mots de données extraits de la mémoire VRAM (13), de manière à obtenir
une précision d'affichage de l'ordre du pixel.
21. Système de fenêtrage matériel selon l'une quelconque des revendications 15 à 20, dans
lequel le dispositif (15) de commande de zone de visualisation est agencé pour fonctionner
à une cadence de pixels qui est une fraction de la cadence d'affichage des pixels,
de manière à ce que les opérations internes du dispositif de commande de zone de visualisation
disposent de davantage de temps pour être exécutées, et dans lequel les données de
pixels sont agencées pour être extraites à partir du dispositif (15) de commande de
zone de visualisation de manière à afficher plusieurs pixels à la fois afin de compenser
la cadence réduite des pixels au cours des opérations internes du dispositif de commande
de zone de visualisation.
22. Système de fenêtrage matériel selon l'une quelconque des revendications 15 à 21, dans
lequel les plusieurs dispositifs (15) de commande de zone de visualisation sont formés
en tant que puce à circuit VLSI.