GB2075317A - Computer graphics system - Google Patents
Computer graphics system Download PDFInfo
- Publication number
- GB2075317A GB2075317A GB8111724A GB8111724A GB2075317A GB 2075317 A GB2075317 A GB 2075317A GB 8111724 A GB8111724 A GB 8111724A GB 8111724 A GB8111724 A GB 8111724A GB 2075317 A GB2075317 A GB 2075317A
- Authority
- GB
- United Kingdom
- Prior art keywords
- data
- video
- address
- bus
- frame store
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/391—Resolution modifying circuits, e.g. variable screen formats
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/02—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
- G09G5/022—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed using memory planes
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/045—Zooming at least part of an image, i.e. enlarging it or shrinking it
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/02—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
- G09G5/026—Control of mixing and/or overlay of colours in general
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Input (AREA)
- Digital Computer Display Output (AREA)
Abstract
In a computer graphics system, data e.g. from an artist's tablet is passed via master bus 40, interface 48 and multiplexer 54 to frame store 50 holding intensity data for each pixel and two component colour data for alternate pixels. Alternatively data can be written into frame store 50 from scanner 44 comprising e.g. a colour camera. Simultaneously the video processor 42 reads from the frame store and provides signals for colour monitor 38. Video processor 44 includes two identical parameter stores, one controlling the display while the other is available for modification. The parameters stored include the number of elements to be sent in a 'superword' and the number of these in a line, number of lines in a field, the address of the top left (origin) of the picture in the frame store to allow shift, and the degree of magnifications (at least vertically by line repetition). <IMAGE>
Description
SPECIFICATION
YIQ computer graphics system
This invention relates to computer graphic systems and particularly to computer graphic systems providing color television raster scan video signals as an output.
Raster scan video graphic systems have an advantage over vector display types of graphic systems in that they can produce much more complex graphic images which include multicolor areas shading and blending. However, to achieve this flexibility a raster scan system must process a huge number of picture elements of pixels corresponding to individually sampled points within a row and column pixel matrix for each frame of a visual image. In such a system a frame store is typically provided to store a byte of information for each pixel of a video image. Such frame stores are extremely large and expensive. In some systems the three color components of a visual image are stored within the single byte of storage capacity for each pixel location. This results in an unsatisfactory video image with poor definition of color and intensity throughout the image.
In other systems known as color map systems a second, much smaller color map memory is provided which is addressed by the one byte of video information at each pixel location of the frame store memory. The color map memory has a typical configuration of 256 words x 24 bits. The 24 bits permit one 8 bit byte of resolution for each of three primary components of a color video signal. The artists is then able to store one of 256 colors at each color map address location and then store a byte of data identifying one of these color defining locations at each pixel location within the frame store. Such an arrangement is capable of producing a high quality video image but is limited in that it is limited to 256 preselected colors out of combination of millions of possible colors which can be distinguished on a television video display.The limitation of 256 predefined colors is not sufficient to permit general low pass filtering of television quality complex pictures.
In a preferred embodiment of the invention a data processing system is coupled to receive graphic input commands from an artist and a video processing system coupled to the data processing system.
The video processing system stores video information in a three component video format in which one component, the video intensity signal, is stored with a full dynamic range and at a full spatial resolution and two color defining components are each stored with a full dynamic range but have half the spatial resolution of the video intensity signal component.
That is, the intensity component is defined at two pixel locations for each single pixel location of the color component signals. The two color component signals thus have in combination the same effective bandwidth as the single intensity component signal.
The video processing system includes an expandable or contractable frame store, a memory controller coupled to convert X, Y coordinate matrix addresses into hardware frame store component addresses, an interface circuit coupling the video processor to the data processor, and a video output processor coupled to read frames of data from the frame store and generate a full color video signal with a format that is acceptable by video display device such as a color video monitor or a television set in response thereto.
The frame store stores video information for each pixel in a coordinate matrix of pixels for a visual display and has a first frame store component storing intensity information for each pixel of the visual display with a given resolution and a second component store storing color defining information for two color components of the visual display. Each of the color components are defined with full dynamic range but are sampled at only half of the pixel locations of a visual display and are stored at alternating pixel locations of the second frame store component to facilitate synchronized, equal bandwidth processing of the contents of the two frame store components.
Aflexible hardware architecture permits the video graphic system to be upgraded in sequential steps from a simple color map system to a YIQ full color double frame store component system and to a red, green, blue full color resolution triple frame store component system by merely adding memory storage capacity and making minor adjustments and without having to discard expensive components used in the lower grade systems.
A better understanding of the invention may be had from a consideration of the following detailed description taken in conjunction with the accompanying drawings in which:
Fig. 1 is a block diagram representation of a computer graphic system in accordance with the invention;
Fig. 2 is a block diagram representation of a frame store forthe computer graphic system shown in Fig.
1;
Fig. 3 is a block diagram representation of a memory controller for the computer graphic system shown in Fig. 1;
Fig. 4 is a block diagram representation of an input scanner for the computer graphic system shown in
Fig. 1;
Fig. 5 is a block diagram representation of a picture address transform interface for the computer graphic system shown in Fig. 1;
Fig. 6 is a block diagram representation of an X, Y address generator forthe picture address transform interface shown in Fig, 5;
Fig. 7 is a block diagram and schematic representation of a data buffer shown in the picture address transform interface shown in Fig. 5;
Fig. 8 is a block diagram representation of a video output processor shown in the video graphic system of Fig. 1; and
Figs. 9A and 9B are a block diagram and schematic representation of a single component video data path for the video output processor shown in Fig. 8.
Referring now to Fig. 1, a raster scan computer graphics system 10 which is advantageously configured for YIQ color representation includes a computer bus 12 having a central processing unit 14 such as a Digital Equipment Corporation PDP 11/34 con nected thereto. Computer components connected to the computer bus 12 include additional random access memory 16, a disk file system 18, a magnetic tape file system 20, and a console and console interface 22. A video processing system 24 is connected to computer bus 12 through a Master Bus interface 26 while a data tablet 28 and a menu display 30 are connected to computer bus 12 through a 38.2 kilobaud dual serial interface 32. Other computer peripherals may be coupled to the computer bus 12 if desired.The computer peripherals such as additional memory 16, disk file system 18, magnetic tape file system 20 and console 22 may be of conventional construction except that a minor modification is required for any unit which is to be capable of making a block access, ia a high speed continuous string of serial words or bytes, to the video processing system 24. In a conventional DMAtype of block access an address counter such as address counter 34 within a master unit such as disk file system 18 is set to a desired beginning address and then incremented for each read or write word transferred until a specified number of words are transferred over the computer bus.However, the video processing system 24 has a special block access mode in which all data words of a block transfer must be presented to an addressable address location identifying a component of the frame store while the video processing system itself accesses a prearranged X, Y address location and automatically increments the address for the prearranged location for each word transfer. It is apparent that the computer bus master must continuously address the frame store component access location and not increment the address placed on the computer bus. This is accomplished by connecting a count enable input for address counter 34 through an AND gate 36 which may be selectively enabled by a bit position within an addressable control register 38.A similar modification may be provided for any computer bus 12 device which is to become a bus master for a block mode read or write data exchange with the video processing system 24.
Data tablet 28 is preferably a coordinate matrix device which senses the location of a pen in an X-Y orthogonal coordinate system. A data pen 29 contains a pressure sensitive microswitch to provide on-off z axis information. The data tablet 28 preferably has two adjacent areas, a first corresponding to a color monitor 38 within video processing system 24 and the second corresponding to menu display 30. Upon touching the pen within one of the display areas, a display cursor provides visual feedback to an operator as to the location of the pen within the coordinate system.
The menu display is preferably arranged to provide mode control for the computer graphic system 10. For example, a plurality of available modes may be displayed on menu display 30 and one of the modes may be selected by moving the pen to a tablet location corresponding to the mode display location as indicated by the cursor displayed on menu display 30 and activating the microswitch at that location. It will be appreciated that selection of a given mode can lead to the subsequent display and selection of submodes. For example, the modes might include such things as painting, draw, clear, fill, tint fill, letter task, save picture, recall picture, select brush, design brush, design palette, recall palette, store sequence, and recall sequence.An example of a submode might resultwhen an operator selects the recall brush mode, causing a previously designed selection of brush shapes to be displayed with one of the brush shapes being selected by depressing the pen 29 while positioned at the brush shape as previously described. Thereafter, movement of the pen within the monitor display area of tablet 28 will cause the painting on color monitor 38 of areas corresponding to pen movement as if the pen had the shape of the selected brush.
Other functions may of course be selected since CPU 14 has essentially complete control over each picture element or pixel displayed on color monitor38.
The Master Bus interface 26 provides a connection between computer bus 12 and a Master Bus 40 for the video processing system 24. The Master Bus 40 includes 16 data lines, 18 address lines, and 16 control lines which permit the Master Bus 40 to permit it to become in effect an extension of the computer bus 12 which permits computer bus masters to have direct addressable access to major components of the video processing system 24 such as a video output processor 42 and input scanner 44, a memory controller 46, and a picture address transform interface (PATI) 48.
An encoder 58 may be provided as an optional device to read the red, green, blue (are common gb) video color signals from video output processor 42 and generate a composite video television signal.
The heart of the video processing system portion 24 of raster scan computer graphics system 10 is a modularly expandable frame store 50. Frame store 50 contains what would be considered in a conventional graphics system 1,2 or3 separate frame stores as well as a 1 bit deep overlay store. While each of the component stores of the frame store is implemented with 16K x 1 bit memory chips, a memory controller 52 provides an address transformation such that each pixel of a video display may be addressed in an XY coordinate system wherein an X address selects one of 768 pixels in a scan lin - of a video frame while a Y address selects one of 512 scan lines or rows within a video frame. This represents only a portion of a complete frame which can be considered to have 910 pixels per scan line and 525 scan lines per frame. Each of the 16K x 1 memory chips is effectively arranged in parallel to provide frame store 50 with a very high input/output band.
width which enables itto support simultaneously real time video input from input scanner 44, real time video output through video output processing 42 to monitor 38, access by a bus master on computer bus 12 through picture address transform interface, refresh access to permit refreshing r 'the memory chips, and access by at least one rr Jre video processing system device in the event or suture expansion.
The frame store data bus contains 104 data lines, which are grouped as 32 for each of the three component stores and 8 for the overlay store. A multiplexer 54 permits selection of one of these groups for transfer over a 32 bit bus to provide communication through the picture address transform interface 48 to a bus master on computer bus 12.
In the word/byte mode the three components of the frame store other than the overlay component store and read one word (16) bits) or one byte (8 bits) of information for each XV pixel location. In the multiple byte mode these components store and read a super word containing 24 bytes which correspond to 24 adjacent pixels in a scan line of a video frame. The 768 pixels for any given scan line may thus be contained within one of 32 super words forthe scan lines. Each of the super words it communicated on the frame store data bus 56 as six serial slices or barrels of 4 bytes each. Because the overlay memory stores only one bit for each pixel location ratherthan eight bit byte as for the three component memories, an overlay super word contains only 3 bytes.Separate input and output latches permit the frame store 50 to write in information from input scanner 44 or another source while data is being transferred over frame store data bus 56 from the output latches to video output processor 42 for display on the color monitor 38.
Referring now to Fig. 2, frame store 50 includes four memory components including Y/Red component 66, 1, Q/Green component 68, blue component 70 and overlay component 72. In the case of a color map system, Y component 66 would be implemented to store the video frame information while IQ component 68 and blue component 70 would not be implemented. However, the system is readily expandable by simply inserting memory cards into available slots. For example, a black and white monitrum system or color mapped system can be expanded to a Y, I,O, system by simply inserting three 16K x 64 memory cards to implement 1,0 component 68. The two component frame store can then be further expanded to a full red, green, blue (r, g, b) system by adding still three more memory cards to form blue component 70.Overlay component 72 may be utilized as an optional with any of the available monitrum, color mapped, Y, I,O or rgb configurations. It will further be appreciated that other configurations such as VUV could be implemented in accordance with the principles of this invention with minor modifications.
Although the frame buffer 50 is addressed externally of memory controller 52 as four selectable components storing video information in an X/V matrix, internally each of the frame store components is comprised of memory boards having a configuration of 16K words by 64 bits perword. Since each of the frame store components 66,68, and 70 is implemented with three memory boards, each frame store read or write axis results in atransferof 192 bits for each of these memory components. Furthermore, the resolution of storage capacity of each of the components 66,68,70,72, may be increased by adding additional memory capacity for each component by adding additional memory boards in half board increments.Although the boards have a 16K x 64 configuration for data transfer purposes, for address selection and control purposes the memory chips of the boards are grouped into 8 bit bytes with each board having 8 bytes of parallel information.
Each byte stores video information for a single pixel
at an X, Y matrix location and is further divided into
an upper half and a lower half so that memory
increments may be provided in half board capacity or groups of 1 6K x 4 bytes. The three boardsforeach of the memory components 66, 68 and 70 thus pro
duce 192 bits or 24 bytes of data in parallel corres
ponding to 24 pixels of video information. These 24
bytes of data are referred to as super word and are
organized to contain video information for 24 adja
cent pixels along the X matrix coordinate with a
super word boundry being coterminus with the first
pixel of each scan line of the matrix.The XV matrix
of pixels is deemed to start at the upper left hand corner with pixel 0,0 with the X coordinate increas
ing toward the right with each pixel position and the
Y coordinate increasing downwardly with each row or scan line. This configuration thus results in 32 super words to define the 768 pixels in each row times 512 scan lines for a total of 16K super words. It will be recalled that only scan lines 0 through 484 are
actually visible with the remaining scan lines being
available for purposes other than storing video pixel
information such as storage of color selection infor
mation. The primary frame store components 66, 68 and 70 are addressed by 14 bits selecting one of 16K words in each memory chip with the 14 bits being conventionally multiplexed as 7 row bits and 7 col -umn bits.Common row select signals are sent to all of the memory chips with individual column address select signals (24 per component) providing individual byte level selection. That is, any single byte or pixel of information may be selected from any one of the memory components for the reading writing of information.
The overlay frame store 72 has the same X, Y mat- rix coordinate addressability as the other frame store components but stores only 1 bit of information
instead of 8 bits for each pixel location. Consequently, overlay store 72 contains only half of a
memory card and is organized at 16K words by 24
bits or 3 bytes. At each memory access overlay store 72 reads or writers 24 bits of information correspond
ing to the same 24 pixels which comprise a super word for the primary frame store components. Over
lay store 72 is byte addressable in a manner similar to the primary components except that each byte
corresponds to 8 individual pixels in a row matrix
rather than a single pixel as in the case of the prim
ary components.
Each of the frame store components has an input
buffer and an output buffer capable of storing a
super word of information. Overlay store 72 has a 24
bit input buffer 76 and a 24 bit output buffer 78. Input
buffer 76 is divided into three controllable bytes which are connected in parallel to an 8 line data bus
OD8 80 which forms a portion of the data bus 56
shown in Fig. 1. The 3 bytes of input buffer 76 are
individually controllable by 3 overlay write clock
lines OWCLK0-2. Similarly the 3 bytes of output buf fer 78 are individually enabled to place data on bus
OD8 by 3 overlay read enable lines ORDEN0-2.
Data is transferred over data bus 56 which
includes bus OD8 80 in six high speed data transfer
cycles with a slice or barrel of information being transferred during each of the six cycles. In the case of the overlay store 72, a first byte of data is transferred redundantly during the first and second cycles, a second byte is transferred redundantly during the third and fourth cycles and a third byte is transferred redundantly during the fifth and sixth cycles. This redundancy is utilized to maintain pixel coordinate synchronization with the largerframe store components which require a much greater data transfer bandwidth.
Vcomponentframe store has a 192 bit input buffer 82 and a 192 bit output buffer 84. Each of the buffers is connected to a 32 bit Y component data bus 86 which is designated YD 32 and forms a part of data bus 56 as shown in Fig. 1. The buffers forY component 66 are configured as six groups of 4 bytes each and are arranged to receive or place receive from or place data on VD 32 bus 86 in groups of4 bytes in response to 6 Y write clock control signals designated VWCLKO-5 and 6 Y read enable signals designated YRDEN0-5. The 192 bits of a superword are thus transferred over the data bus YD 32 in six successive high frequency slices or barrels of 32 bits or 4 bytes each.The buffering and data transfer organization for l,Q store 68 and blue store 70 is substantially identical to Y component 66 and will not be further described.
The use of input and output buffers for each frame store component provides the frame store 50 with an extremely wide data bit bandwidth which permits 5,790 bits to be read orwritten in parallel while the multiplexing of the buffers onto data bus 56 in six separate slices or barrels enables the data bus 56 to have an economically feasible size. This extremely high bandwidth forthe frame store 50 enables continuous, real time access to the frame store by both the video output processor 42 driving a color monitor 38 and input scanner 44 receiving video camera information. This means that the color monitor 38 may display essentially real time information as it is received by input scanner 44. It will be appreciated that there will be a small phase delay which is required for the video signal to be pipe lined through the video processing system 24.The bandwidth of the frame store 50 is sufficient that while it is supporting real time video accesses by input scanner 44 and video output processor 42 it can simultaneously support lower frequency accesses
by additional components such as picture address transform interface 48, and chip refresh circuitry.
Referring now to Fig. 3, there is shown in greater detail the memory controller 52 which receives XN addresses and frame store access requests from var
ious components in the video processing system 24 and in return generates address and timing com
mands to access the actual hardware configuration of the frame store components in frame store 50. A
request sampler 100 receives frame store access
requests from frame store users at 8 inputs desig
nated REQAthrough REQH and grants the request
on a priority basis with input REQA having the highest priority. A memory refresh request is granted the
highest priority at input A and is granted only when a
refresh request enable signal from timing and control logic 102 is active. The memory refresh can be disabled for a diagnostic or maintenance mode of operation.During normal operation the input scanner 44 and video output processor 42 access frame store 50 on a sufficiently rapid and sequential basis to meetthe refresh requirements for the memory storage chips offrame store 50. Three encoded signals identfying a selected user are presented to an acknowledge one decode circuit 104 and an acknowledge two decode circuit 106. The acknowledge one decode 104 generates a user acknowledge one signal to the selected user in response to a user select signal from timing and control circuit 102. The user responds to the user acknowledge one signal by placing X/Y address and other control information on the user bus 108.Thereafter, acknowledge two decode responds to a data bus grant from timing and control circuit 102 to generate a user acknowledgetwo signal for the selected one of eight users to command the user to place data on or receive data from the data bus 56. In the even of a byte or word type of data transfer, timing and control circuit 102 generates a single pulse on a signal designated user bump which serves as read/enable pulse or write strobe by the user which is enabled by the user acknowledge two signal. In the event of a barrel type of transfer over data bus 56, six sequential pulses are generated on the user bump signal by timing and control circuit 102, to clock the six sequential slices of a super word.Request sampler 100 provides to timing and control circuit 102 a sequence start command to initiate a frame store access sequence and receives back non-barrel request enable and barrel enable signals to enable request sampler 700 to latch a highest priority user request at a given instant of time.
Afield decoder 108 receives a 3 bit user field signal on user bus 108 which may be decoded to address a particular one of the frame store components 66, 68, 70, or 72 within frame store 50. For example, zero may select overlay component 72, one may select Y component 66, two may select 1,0 component 68, three may select B component 70 and seven may select all four component simultaneously. Field decoder 108 outputs to a column address select decoder 110 and a memory latch control decoder 112 four individual signals reflecting the selection of the individual frame store components, Y, I,Q, B and
O in response to the three userfield inputs. Field decoder 108 also receives user control signals indicating whether a requested access is a read or write access, indicating whether a requested access is to be a full super word barrel type of access or a nonbarrel access and if a non-barrel access is requested whether the access is to be a word access or a byte access.
Shortly after timing and control circuit 102 generates a user select signal causing a requesting userto place address and control informati jn on the user bus, it generates an address latch .trove signal which causes field decoder 108 as well as an address translator 1 14to receive and latch the user information.
Each time a new memory access cycle begins tim
ing and control circuit 102 provides another cycle
pulse to field decoder 108. In order to maximize the full bandwidth of frame store 50 and its connecting data bus 56 an interleave type of data transfer is performed. The field decoder 108 must therefore keep track of a current memory access cycle as well as a next memory access cycle and the new cycle command causes field decoder 108 to release information pertaining to a current cycle, redesignate next cycle information as current cycle information and accept new next cycle information.For example, during a current read cycle, while information is being addressed in the individual memory ships and transferred to output buffers of the frame store components, data can be barreled in six successive slices over the data bus to input buffers of the frame store components for a next write cycle. Upon completion of the current read cycle the read data can be barreled over the data bus 56 while the previously buffered write data is written into the frame component stores.To enable this overlapped operation field decoder 108 provides timing and control circuitry 102 with signals indicating whetherthe nest frame store access cycle is a non-barreled or a barreled type of access, whether a current or a next cycle is similar, whether the next access is a read or a write access, whether the current access is a non-barreled or barreled access, whether the current access is a word or byte access if it is a non-barreled type of access and whether the current access is a write or a read type of access. Timing and control circuit 102 responds to this information by generating timing and control signals to make proper address information available to the component memory chips and input and output buffers and to control the transfer of information over data bus 56.
An address translator 114 includes a programmable ROM which receives the X,Y pixel matrix selection addresses as a 10 bitX or row address and a 10 bit Y or scan line address and in response provides a translation to a 14 bit super word address which serves as a word address for the actual 16K memory chips and a 3 bit memory board number and 3 bit pixel number which permit the identification of a particular word or byte within a super word during a non-barreling type of memory access.
An address multiplexer 116 receives the 14 bit super word address as well as a column/row select signal from timing and control circuit 102 to convert the 14 bit super word address to two time division multiplexed 7 bit addresses identifying first a selected row and then a selected column within a memory chip.
Column address strobe decoder 110 responds to the 4 Y/Red, 1/0/Green, Blue and 0 select signals as well asthe board number and pixel number select signals to generate column address strobe signais to individually control the accessing of each separately controllable data byte within frame store 50. That is, 24 column address strobe signals are generated for each of the primary frame store components 66, 68, and 70 with 3 column address strobe signals being generated for overlay component 72. For a barrel type of read access or a barrel type of write access all byte locations within a selected frame store component, which may be any one component or all components, are activated.In the event of a nonbarreling type of read access, full super words of data are loaded into the output buffers with a single slice being selected for transfer over data bus 56 and the other 5 slices being ignored. However, in the event of a non-barrel write type of operation only one word or one byte of a 24 byte input buffer stores valid information and a selected 2 or 1 column address strobe signal must be activated to enable the writing of a word or byte of information into only the corresponding 2 or 1 bytes of data storage locations.
Memory latch control decoder 112 generates 6 control signals for each of the primary frame store component input and output buffers and 3 control signals each for the overlay component input buffers and output buffers to control the transfer of information between the input and output buffers 76,78,82, and 84, with data bus 56. in the event of a barrel type of transfer, each of the six signals for a selected read or write direction of transfer is enabled in sequence for each of the frame store components transferring data. The Y/Red, 1/0/Green, Blue and 0 select signals from field decoder 108 enable the generation of these buffer control signals for one or all of the frame store components in accordance with the user field 0-2 inputs as previously indicated.In the event of a barrel type of data transfer the six sequential write clock signals for a data transfer are generated in response to 6 write clock signals WRITECLK0-5 from timing and control circuit 102 while the 6 read enable signals are generated sequentially in response to 6 READ ENABLE SIGNALS 0-5 from timing and control circuit 102. In the event of a nonbarrel type of data transfer, timing and control circuit 102 receives the board number and pixel number encoded outputs from address translator 114 to select only a write clock or read enable corresponding to the single one of six super word slices which contains the addressed word or bytes and activates only the corresponding write clock or read enable signal.Consequently, only a single slice of data for each selected memory component is transferred over the data bus for a non-barrel cycle. It is up to the user to receive the full slice and select the desired word or byte from the 4 byte slice.
A master bus interface circuit 118 provides a coupling and decoding for master bus 40 into a maintenance bus 120. Maintenance bus 120 provides a bus master on computer bus 12 direct addressable access through master bus 40 to selected word spaces within memory controller 52 for maintenance and diagnostic purposes. While the exact connections of maintenance bus 120 have been omitted for simplicity, it will be appreciated that bus 120 may carry data to be loaded into memory controller registers in response to addressed write commands and similarly addressable gates may selectively place data on the maintenance bus 120 in response to address read commands. For example, it may be desirable for the CPU 14 to be able to addressably write into the input latches for request sampler 100, field decoder 108 and address translator 114 to simulate user command signals. Similarly, selected register outputs for control signals may be gated through the maintenance bus to CPU 14to sample and inves tigate the response of the memory controller 52. It will be noted that maintenance bus 120 also extends to timing and control circuits 108.
Referring now to Fig. 4, the input scanner 44 includes a color camera coupled to provide red, green and blue video color signals to a conversion matrix 132 which converts the RGB power signals to a YIQ format. Alternatively, in a monochrome system a monochrome camera 134 supplies the Y intensity signal through with a switch 136 selecting the Y signal from either the monochrome camera 134 or the conversion matrix 132. In a monochrome system the components of input scanner 44 relating to the land 0 signals would of course be unnecessary.
The Y, I, and 0 video signals are communicated through low pass filters 138, 139 and 140 respectiveiy to a double pole triple throw switch 142 having one set of contacts coupled to receive the YIO outputs of filters 138, 139 and 140 and a second set of poles coupled to receive VlQ outputs generated by a comb filter 144 in response to an NTSEcomposite video signal. The analog outputs from switch 142 designated AV, Al, and AQ are sampled and converted to 8 bit digital representations by analog-todigital converters 146, 147 and 148. Analog-to-digital converter 146 samples signal AV at a pixel rate having a period of approximately 70 nanoseconds, in response to signal VCLK generated by a timing and control circuit 150.Similarly, Ato D converters 147 and 148 sample signals Al and AO respectively at a rate of one-half the pixel rate in response to a signal IQCLK from timing and control circuit 150. This half rate sampling enables the land Q signals when combined together in IQ component frame store 68 with the I samples in the even numbered pixel locations and Q samples in the odd numbered pixel locations to have a total data rate equal to the Y signal data rate. This enables the combined IQ signals to be handled synchronously and in parallel with the Y signal.
AY store 152 operates under control of clock signal YCLK to receive the 8 bit output of Ato D converter 146 as a read address input and in response it outputs an 8 bit word corresponding thereto. Y store 156 provides an extremely simple and economical yet effective means of varying the Y signal in accordance with a predetermined function.
As an example, Y store 152 might store at each of its 256 addressable locations data equal to the address for the location. This would result in the output of Y store 152 being identical to the input. Alternatively, the Y store 152 could contain data providing a cor
rection for nonlinearities in the Y signal or providing
any other desired functional relationship between the input and the output. An I store 154 and a 0 store
156 permit similar functional transformations of the I
and Q signals respectively. A double line Y buffer
158 contains two 768 x 8 line buffers for storing the Y
component of the video signal as it is received from
Y store 152. Timing and control circuit 150 provides
buffer input controls for storing a line of video
information in a first buffer portion of double line Y
buffer 158.As soon as the first portion stores a line
of video Y component information, a switch is made and buffer input controls begin causing the second line buffer to receive and store the second line of video information. In a two field format it will be apprecaited that the second line will correspond to the second line of the first field or the third line of a complete frame. As the second line of information is being loaded into the second portion of double line Y buffer 158, timing and control circuitry 150 generates buffer output control signals which command the first portion of double liner buffer 158 to output the previously stored first line of information to the V component 66 of frame store 50 over Y data bus VD32 portion of data bus 56.By the time the second portion of double line Y buffer 158 has received the second line of information, the first portion will have transferred its entire contents to the Y frame store component 66 and it can then begin receiving the third line of video information while the second line of video information is transferred from the second portion of double line Y buffer 158 to appropriate locations in Y component 66 of frame store 50. It will be appreciated that double line Y buffer 158 thus permits complete lines of data to be transferred to Y component 66 while providing buffering the accommodate delays in obtaining access to frame store 50 as well as the alternate pauses and bursts which result from the wide bandwidth of superword transfers over data bus VD32 in six sequential slices or barrels of 4 bytes each.That is, after a 24 byte superword is transferred overthe data bus in rapid succession, a pause may be encountered as the input scanner 44 awaits access to the frame store 50 for another data transfer. Under normal circumstances it is expected hat the output portion of double line Y buffer 158 will be emptied into frame store component 66 before the other portion is filled with a line of incoming video data.
The operation of double line 10 buffer 160 is substantially identical to the operation of double line Y buffer 158 except that double line IQ buffer receives alternately outputs from I store 154 and 0 store 156.
Since each of these outputs is received at half the data rate of the output of Y store 152, the total data rate for double line IQ buffer 160 is identical to that of double line Y buffer 158. A frame store address counter 162 identifies X, Y matrix superword boundaries for superwords being output from the double line buffers 158, 160 to frame store 50 and is incremented for each superword output bytiming and control circuit 150. Timing and control circuit 150 also provides an address output enable signal in response to the ACK1 (ACKNOWLEDGE 1) signal from memory controller 46 and generates a reset signal which permits synchronization of address counter 162 with the incoming video signal. Timing and control circuit 150 also receives and generates the user bus control signals which have been described in conjunction with memr ry controller 46.
The field 0-2 outputs specify a nurraer6 which iden tidies the selection of Y compon1, 66 and 1, Q com- Ocom- ponent 68 of frame store 50 for the simultaneously transfer of data. It will be appreciated that with slight
modifications, such as the addition of a third double
line bufferto provide buffering forthree color com
ponents, and appropriate modifications to conver
sion matrix 132 and LPfilters 138-140, the input
scanner 44 could be converted into a full RGB 3 color
input scanner for use in a configuration wherein
frame store 50 is implemented with three primary
frame store components 66,68 and 70 which would
store the component signals for the red, green and
blue signals respectively.
A Master Bus interface circuit 164 and its associ
ated maintenance bus 166 provide a connection to
Master Bus 40 to permit a computer bus 12 master to
have addressable read and write access to selected
data storage locations and data status information of
the input scanner 44. In a manner similar to the
implementation of maintenance bus for memory
controller 46, maintenance bus 166 permits the writ
ing as well as the reading of selected word locations for the Y store 152, Istore 154and Qstore 156 aswell as the writing of data into and reading of data from
double line buffers 158 and 160. Maintenance and
diagnostic access is also provided to selected infor
mation groups within timing and control circuit 150.
Input and output buffers for each frame store com
ponent provides the frame store 50 with an
extremely wide data bit bandwidth which permits
5790 bits to be read or written in parallel while the
multiplexing of the buffers onto data bus 56 in six
separate slices or barrels enables the data bus 56 to
have an economically feasible size. This extremely
high bandwidth for the frame store 50 enables con
tinuous, real time access to the frame store by both
the video output processor 42 driving a color
monitor 38 and input scanner 44 receiving video
camera information.This means that the color
monitor 38 may display essentially real time infor
mation as it is received by input scanner 44. It will be
appreciated that there will be a small phase delay
which is required forthe video signal to be pipelined
through the video processing system output proces
sor 42. The bandwidth of frame store 50 is sufficient
that while it is supporting real time video accesses
by input scanner 44 and video output processor 42 it
can simultaneously support lower frequency acces
ses by additional components such as picture
address transform interface 48 and memory refresh
circuitry.
Referring now to Fig. 5, the picture address trans
form interface circuit (PATI) 48 includes a Master Bus
interface circuit 180 receiving the Master Bus - address and control circuits 0-12 and providing a
system sync signal, SSYNC, back to the Master Bus
to facilitate communication between Master Bus 40 and PATI 48. PATI 48 further includes a timing and
control circuit 182 which receives Master Bus control
signal information from Master Bus interface circuit
180 and generates the required timing and control
signals for the PATI 48 in response thereto.These
control signals include signals transferred to Master
Bus interface circuit 180 to enable the generation of
decoded read decode signals, RDEC0-15, and write
decode signals, WDEC0-1 5, for selection of specific
register and gate locations in response to Master
Bus addresses. Timing and control circuit 182 also
generates selected decoded signals for gating and
loading selected data and register locations desig
nated respectively GATE enable, GE0-1 5, and write strobe, WS0-15. A pairoftristate buffers 184, 185 are enabled in response to decoded timing signals WS0 and GE0 to provide bidirectional communications between the 16 bit master data bus and a 16 bit buffered data bus internal to the PATI 48.Buffer data bus 0-15 provides communication to all of the major operating components of PATI 48 including timing and control circuits 182, a user bus interface circuit 188, an address control register 190, a data buffer 192 and an X Y address generator 194.
Address control register 190 is loaded with data from the master data bus in response to write decode signal WDEC0 from Master Bus interface circuit 180. Address control register 190 stores status information provided by CPU 14to control the mode of operation of PATI 48.
Because of the large number of pixels in a single frame of a television video image (768 pixels per row x485 rows or scan lines), it is not feasible to utilize the normal CPU address space to distinguish individual pixel locations within a frame of video information. The idenification of a pixel location by the
CPU 14 is accomplished by first transferring over the computer bus 12 and Master Bus 40 a 10 bitX address identifying a particular pixel location within a row and then transferring a 10 bitV address idenifying a particular row within a frame. Athird data transfer is utilized to access the video information corresponding to the pixel location.Since the three primary frame store components 66,68 and 70 store one byte of information for each pixel location and overlay component 72 stores one bit of information for each pixel location but transfers data only in byte level data groups, up to 4 bytes of data must be transferred to communicate with a single pixel location in all four frame store components.
To facilitate sequences of frame store accesses and avoid the need to transfer a word of X address information and a word of Y address information for each of a sequence of pixel locations, PATI 48 implements a block mode of operation under control of address control register 190 to provide automatic incrementing of address locations under circumstances which may be defined by the CPU loading the selected mode control information into address control register 190. Bit locations 15, 14, and 13 respectively of address control register 190 store data bits for enabling automatic incrementing of pixel
addresses in response to accesses to the Y/Red frame store component 66, 10/Green frame store component 68 and blue frame store component 70.
Bit position 10 similarly stores a bit for enabling
automatic incrementing in respnse to the accessing
of overlay frame store component 72. Bit positions 9
and 8 store bits deignated EAINCR and EAINCW for
enabling automatic incrementing or read or write
accesses respectively. Bit position 2 commands
block mode operations with a logic one block load
enable bit, BME, or single read orwrite accesses with no automatic incrementing when zero. Bit position 1 indicates whether the pixel addresses are to be
decremented or incremented during a block mode
operation with a signal designated ADEC/INC. Bit
position zero is effective only in a non-block mode
operating condition and indicates whether a word or
a byte of data has been requested.
The block mode of operation provides for multiple word transfers in the same direction. The X, Y
address must start on a superword boundary (the
beginning of each line, i.e., X = 0, is guaranteed to be a superword boundary) and the number of transfers must be an integral number of superwords.
The user bus interface circuit 188 responds to timing and control signals from timing and control circuit 182 as well as frame store component selection signals communicated as part of a computer bus master address designation through Master Bus interface circuit 180 and timing and control circuit 182 to the user bus interface circuit 188. In response, user bus interface circuit 188 generates the combination of user field signals 0-2 to select an addressed frame store component. User bus interface circuit 188 also generates the PATI request C signal which informs memory controller 46 that PATI 48 is seeking an access to frame store 50. User bus interface circuit 188 also receives the ACK1 and ACK2 return timing signals from memory controller 52.
Referring now to Fig. the X Y address generator 194 includes a pair of 12 bit X and Y limit registers or fences 200,202. These registers may be loaded with
CPU generated data transferred over the buffered data bus. Even though the X and Y addresses have a maximum size of 10 bits, the use of 12 bit limit registers avoids the possibility of treating an address increment or an address supplied by the CPU as a wraparound with information which extends offthe video display to the right being displayed at the left improperly.The limit registers provide an automatic hardware check for video frame boundaries and thus relieve the CPU 14 of a considerable amount of program execution time which would normally be required to provide checks to be certain that each selected pixel address location is within the address range of a video frame. The limit registers also provide programmable indications of maximum address limits to permit automatic incrementing during block mode transfers. For example, on detecting that the X address counter has reached a maximum limit, the counter is reset and the Y address counter is incremented by one to begin an access at a new line of a frame.
Each of the components of X Y address generator 194 is implemented with tristate gating to permit easy selection of data transfers from one location to another with the Master Bus interface and timing and control decoded output signals. For example, by enabling the output of 12 bitX limit register 200 with a signal RCED2 and simultaneously enabling a tristate gate 204 with the same signal, the CPU can cause the contents of the 12 bit X limit registerto be placed on the buffered data bus fortransferto the computer bus 12 for maintenance and diagnostic purposes. Alternatively, the output of 12 bit X limit register 200 can be disabled with its output bus being utilized to transfer data from the buffered data bus through tristate gate 206 to a 10 bit X address counter 208. A 10 bit Y address counter 210 may be loaded in a similar manner.
A 12 bit compare circuit 212 receives at its B input the output of 12 bit X limit register 200 and at its A input the output of 10 bit X counter 208 and generates an output signal X greater than maximum,
XGTM, any time the contents of the X address counter 208 exceed the contents of X limit register 200. Depending upon the circumstances and mode of operation, signal XGTM might indicate that the end of a scan line has been reached and thattheX counter should be reset to zero with the Y counter being incremented to begin a new scan line or might indicate that an improper address has been loaded into X address counter 208 from the data processing system. In this even, the PATI 48 engages in data transfers with the computer bus 12 but disables data transfers with frame store 50 until the improper address condition has been corrected.Similarly, a 12 bit compare circuit 214 compares the 10 bit V address stored in counter 210 with the 12 bit limit address stored in counter 202 to generate a Y greater than maximum signal VGTM, whenevertheY counter 210 indicates an address greater than the limit address which has been previously loaded into limit register 202. An OR gate 216 receives the signals XGTM and VGTM to generate a signal X or V greater than maximum, X orYGTM to indicate a possible error condition to the timing and control circuit 182. A 10 bitX address buffer circuit 218 receives an X address from X address counter 208 and holds the address during frame store read or write accesses.Similarly, a 10 bit Y address buffer 220 receives the 10 bit Y address from 10 bitY counter 210 and holds this address during read or write frame accesses. The use of this address buffering enables the X and Y address counters 208,210 to be modified while relatively long duration 6 slice superword data transfers are in progress.
While all of the buses, gates, and load and output selection enable logic forX, Y address generator 194 has not been described in detail, it will be appreciated that each of the storage locations can be write strobed in conjunction with the enabling of selected register outputs and gates to provide the required communication of data from one location to another.
The data buffer 192 for PATI 48 is illustrated in greater detail in Fig. 7, to which reference is now made. Data buffer 192 is comprised of two section corresponding to an upper word or bit positions 16-31 of the Pdata bus to multiplexer 54 and a lower word corresponding to bit positions 0-15 for the P data bus.
The upper half of data buffer 192 includes a 16 bit write buffer 234 having two 8 bit sections 236 and 238, a 16 bit read buffer 240, a 16 word x 16 bit superword RAM 242 of which only 6 words are actually used, a 16 bit input data buffer 244 and a 16 bit gate 246 connecting an upper data bus 248 with the
P data bus lines 16-31. As with the X,Y address generator 194, each register and gate of the data buffer 192 is implemented with trist; te outputs.
In a similar manner, the lower pc.tion of data buffer 192 includes a lower date bus L50 interconnecting a 16 bit write buffer 252, a 16 bit read buffer 254, a superword addressable RAM 256, a 16 bit input buffer 258 and a gate 260 providing connection to the lower 16 bits of the Pdata bus.
In the event of a block mode data transfer, data is communicated as 32 bit superword slices between data buffer 192 and a selected component of frame store 50. The entire 32 bit capacity of data buffer 192 is thus utilized with the data being multiplexed onto the buffered data bus for transfer to the computer bus 12 in 16 bit words taken alternately from the lower and upper portion of data buffer 192. However, in the event of a byte or word mode access, data is transferred from frame store 50 to data buffer 192 as a single 32 bit superword slice containing four bytes and the specifically accessed one ortwo bytes might appear anywhere within the group of four bytes.However, to reduce the required programming for CPU 14 PATI 48 provides an automatic realignment in the case of byte or word access modes to place the data at a preferred location on the buffered data bus for transfer through the Master
Bus 40 to computer bus 12. A single byte of data is always transferred at data bus bit locations 0-7 while a word of two bytes of data is transferred with the byte corresponding to the smallest pixel address at data bus locations 0-7 and the byte corresponding to the next pixel address at bit locations 8-15.
The possible relocation of these data bytes from a superword slice position to a data bus position is facilitated by the use of the two part write buffer 234 in conjunction with a pair of gates 262,264.
As an example, assume that PATI 48 is in a byte mode and a desired byte of information comes in from frame store 50 in the uppermost byte position corresponding to data bits 24-31. The byte will be received by input data buffer 244 and communicated over upper data bus 248 to read buffer 240. By enabling the uppermost output byte of read buffer 240 with signal GE 10, the information can be placed on the buffered data bus at the upper byte bit positions and then transferred through gate 262 to be dupiicated at the lower byte bit positions in response to write strobe signal WS9 and loaded into the lower 8 bit write buffer 238.From lower write buffer 238 the desired byte of data can then be transferred to the lower 8 bits of read buffer 240 for subsequent trans ferto the computer bus 12 asthe lower data byte through buffer data bus upon enabling the output of the lower portion of read data bus 240 in response to gate enable signal GE 11. Alternatively, data can be transferred through the buffered data bus from upper read buffer 240 to lower write buffer 250.It is thus apparent that by utilizing transfers between upper and lower byte positions within the upper word portion of data buffer 192 as well as transfers between upper word and lower word transfers of portions of data buffer 192 either a byte our a double byte word of data received over the 32 bit P data bus may be relocated to any desired byte positions for transfer to the data processing system. The use of the data buffer 192 permits the storage of a superword to match the relatively low bandwidth of the computer bus 12 to the relatively high bandwidth of the 32 bit P data bus which connects to the frame store 50 through multiplexer 54. The buffering also serves to minimize waiting time and thereby maximize utilization of the computer bus 12.
As an example of a block type of data transfer assume that the CPU 14 commands a transfer from disk file system 18 to Y component 66 of frame store 50 of 128K bytes of data corresponding to successive pixel address locations commencing with pixel address 0,0. The 128K bytes of data is atypical limit imposed by the length of computer system control ler length counters ratherthan by the PATI 48 which could handle longer strings of data transfers. The
CPU 14 wouid initiate the data transfer by first writing the addresses 0, 0 into X address counter 208 and Y address counter 210 and then placing PATI 48 in the proper mode by wiring 1's into bit positions 15,8, and 2 and writing 0's into the other positions.
This enables automatic incrementing upon accessing the Y component 66 of frame buffer 50 with a write type of data access. The CPU 14 then establishes the proper address on computer bus 12 to write a 0 into the count control bit position of control register 38 and disable the incrementing of address counter 34. Disk file system 18 is then commanded to become bus master and perform a direct memory access by transferring the the stated number of bytes of data from a designated disk file location to the PATI address which corresponds to the Y component 66 of frame store 50. This address is written into address counter 34 by CPU 14 and subsequently drives the address bits of computer bus 12 and hence master bus 40 during each of the 128K cycles of the ensuing direct memory access block mode data transfer operation.
The master bus interface circuit 180 responds to the selected address by causing timing and control circuit 182 and user bus interface circuit 188 to generate a user field code which identifies the Y component 66 of frame store 50 to memory controller 52 and multiplexer 54 to establish the proper addressing and data paths. PATI 48 then begins to receive word transfers from disk file system 18 over computer bus 12 and master bus 40 to the buffered data bus with alternate words being loaded into the lower and upper rams sections 256 and 242 respectively of data buffer 192 until 12 word transfers cause the rams to store a full superword.At this point, the user bus interface circuit 188 generates a PATI request C signal to the memory controller 52 and upon being granted access to the frame store data bus 56 the first superword is transferred to the frame store input buffer for V component 66 in six successive slices. As each 4 bit slice is transferred to frame store 50 the X and Y address buffer register 218, 220 hold the initial 0,0 address while the X address counter 208 is incremented by 4 after each slice is transferred. Consequently, upon the completion of the six slicetransferX address counter 208 has been incremented to a count of 24 to indicate the beginning pixel address of the next superword, there being 24 bytes or pixels per superword. In the meantime, the read buffer registers 254 and 240 are available to receive the 13th and 14th data words from disk file system 18 while the first superword is being transferred to the Y frame component 66. Under normal circumstances, the PATI 48 will receive sufficiently quick response to a data transfer request and the six slices of data are transferred sufficiently rapidly that the superword ram 242, 256 can be emptied and receive data from the read buffers 240, 254 respectively before the relatively slow disk file system 18 and computer bus 12 are ready to transfer the 15th word. Consequently, the read buffer 254 is ready to receive the 15th word with no delay and the full bandwidth of the computer bus 12 is used. As soon as the second superword is loaded into the ram 256,242, another Y component frame store access request is made and the process is repeated.This process continues until all of the commanded data bytes have been transferred from the disk file system to the frame store.
In the event that a block transfer is to be made in the other direction, the address command register 190 would be loaded to cause enable automatic increment on read ratherthan write. The disk file system 18 and computer bus 12 would place the Y component 66 address on the address lines along with a read command. Thereafter, the computer system would be required to wait for a shorttime interval until the first slice of a superword is read from the frame store and loaded into the read buffer registers 254, 240. As the registers are emptied by transfers of successive word pairs over the computer bus 12 and master bus 40 the subsequent slices of the first superword are stored in the superword rams 256, 242.As the lastword of a superword is loaded into the read buffer 240 reading of the next superword from the Y frame store component 66 is requested and normally the first slice can be received and made available for transfer into the two read buffers 254,240 before the two buffer words can be transferred overthe master bus 40 and computer bus 12.
Consequently, the data processing system can normally receive data at its maximum rate and fully util ire the bandwidth of computer bus 12 during a data read as well as a data write operation once the first data word has been received.
As with a data write operation, the address buffers 218,220 drive the X and Y user address lines while X counter 208 is incremented by a count of 4 after every second word transfer over the buffered data bus to the master bus 40. This address in the X counter is incremented by a count of 4 for each 4 byte transfer so that at the end of a 24 byte superword, X counter 208 has been incremented by a count of 24 to indicate the beginning address of the next superword. Upon making a request for another superword transfer, this new address is transferred from the X and Y counters 208,210 to the X and Y address buffers 218,220.Furthermore, as explained previously, as soon as the X counter 208 exceeds the limit of the image field that is indicated by a comparison with the contents of the next limit register 200, the X counter 208 is reset and Y counter 210 is incremented. In the eventthat Y counter 210 becomes incremented beyond its image limit, further accesses to frame store 50 are inhibited while
PATI 48 continues to receive transfers from the data processing system.
Referring now to Fig. 8, the video output processor 42 receives superword slices of video data from frame store 50 over frame store data buffer 56 and processes this video data along a video data path 276. A VOP control circuit 278 provides the timing and control signals for video output processor 42 including a plurality of data path address control signals which are communicated to data path 276.
VOP control circuit 278 also provides gate enable signals GE0-1 5 and write strobe signals WS0-1 5 to control the loading of data registers and gating of data information. While the exact manner of generating these gating signals has not been shown, it will be appreciated that they may be conventionally generated to gate desired locations at appropraite times.
A programmable timing generator 280 receives external synchronization signals if any and in return generates a composite sync signal, a pixel clock signal and various synchronization and timing signals for controlling video output processor control circuit 278.
The data portion of the Master Bus, MBDAT0-15 is communicated through bidirectional gates 282, 284 which are selectively gated by gating signals GE0 and WSO respectively to provide communication with a buffered Master Bus data bus, BMBDAT0-15 286. It will be appreciated that the video output processor 42 uses the same tristate gating complex as is used throughout the computer graphics system 10.
A Master Bus interface circuit 288 provides address and control interface to the Master Bus by receiving
Master Bus address control signals and generating a system synchronization signal in return. Master Bus interface 288 provides control and timing signals to
VOP control circuit 278 and generates decoded register and gate select outputs WDEC0-15 and RDEC0-15 in response to timing signal 290 and the decoding of
Master Bus address signals.
A Master Bus parameter store 230 is implemented as a double store with components designated A and B. Each component is a 64 word x 16 bit store and stores programmable VOP operating mode control information. A signal select A from VOP control circuit 278 determines whether or not the control circuit 278 responds to the A or B portion of parameter store 290. While the A portion is responsive to addressing by control circuit 278, the B portion may be addressed by the CPU 14 through the computer bus 12, Master Bus 40, buffered master data bus 286 and Master Bus interface 288. The 64 words of the unselected parameter store component become p- rt of the address base of computer bus 12. This permits new parameters to be loaded into one component of parameter store 290 without affecting system operation.Upon loading a complete set of parameters, the
VOP control circuit 278 can be commanded to switch the parameter store component to which it responds to permit the new set of parameters to control video output processor 42 operation. This can be done at frame start time to avoid the generation of jumbled picture. The use of the double parameter store 290 further avoids the problem of a video picture frame being partly responsive to old control parameters and partly responsive to new contro' parameters as a new set of control parameters is Jaded over a period of time. In one example o, use of parameter store 290, the store contains a number of constants which are useful to the control circuit 278, information indiciating the number of pixels per superword which is 24 in this particular embodiment, information indicating the number of superwords per line
which is 32 in this embodiment, information indicat
ing the number of lines per field, which is 242.5 in
this embodiment, a CMAPPTR signal, a Y magnify
signal which indicates the degree of picture magnifi
cation in the Y direction, and X and Y origian signals
which indicate the location within the frame store 50
video signal which is to become the upper lefthand
corner of the output video picture. In the Y direction,
magnification is accomplished by duplicating a line
of information one, two, three or more times.Inter
facing is accounted for to permit Y magnification of
any number of frame lines. Data is received from the
frame store a line at a time and stored in a double
buffered line buffer from which it is repeated for V magnification.
Without a relocation of the output display origin,
the output video image would always place pixel
location 0,0 as stored in the frame buffer 50 at the
upper lefthand corner of the picture. As a result, as
the image is magnified in the Y direction itwould be
expanded from top towards bottom and the bottom
of the picture would be lost and as the image is
expanded in the X direction it would expand from
left towards right and the righthand portion of the
picture would be lost. Consequently, magnification
would always result in viewing only the upper lefth
and corner of the video image as stored in the frame
buffer. The X and Y origian data of frame store 290
permits the output video signal to display any
desired portion of a video image.By specifying X
original equals 48 and Y origin equals 25 the video
output processorwould usethis pixel location as the
upper lefthand corner of the output video image dis
play and the portiontothe right and belowthis new
origin would be displayed to the extent that the
magnification would permit
A user bus interface circuit 292 exchanges sync
hronization signals with the VOP control circuit 278
and generates and receives the user bus control
signals which are communicated with the picture
address transform interface 48. These include the
user field bits 0-2 which for video output processor
42 would always specify all of the frame store com
ponents which have been implemented in the par
ticular arrangement of the system.The VOP request
B signal is the second highest priority signal
implemented in this system and the ACK1 and ACK2
signals are returned with the meaning which has previously been described. Ten bit X and Y address
registers 294, 296 receive and latch X and Y address
information for communication over the X and Y suser address buses.
The video data path 276 is shown in greater detail
in Fig. 9A and Fig. 9B for a single one of three color
components of the video signal. Although the video
data path 276 is shown in detail for only one of the
components, this is deemed to be sufficient inas
much as tha paths for the order two components are
identical except for minor modifications which will
be apparent from the following description.
A double line buffer 300 receives and stores on a
slice-at-a-time basis a complete line of video infor
mation. To avoid time delays, one portion of the
double line buffer 300 provides a line of video infor
mation which is currently being displayed while the other half inputs from frame store 50 the next line of video information. When a new line of information is to be displayed, the rolls of the two double line buffer portions are switched with the new line of information being used to drive the display and a subsequent line of information being read into the other portion of the buffer. At any instant in time the two portions of the buffer appear to be operating independently.
Each portion of double line buffer 300 is a 256 word x 32 bit memory which writes or reads out a 4 byte slice of a superword at one time. The 4 bytes of a slice from frame store 50 are communicated through multiplexers 302-305 which permit double line buffer 300 to selectively receive the 4 bytes of information from either frame store 50 in a normal manner or from the buffered Master Bus data bus for diagnostic and maintenance purposes.
While the double line buffer 300 outputs 32 bits in parallel, internal gating circuit divides this into two serial words of 2 bytes each. A first or even byte is loaded into an even byte data register 308 while the next most significant byte is loaded into odd byte data register 310. For the 10 frame store component 68, even register 308 would receive an I component pixel byte while odd byte data register 310 would receive a Q component data byte. For the Y component frame store 66 or for any of the primary frame store color components in an RGB system the even and odd data registers 308,310 would be loaded with even and odd address successive pixel video information.An address and control circuit 312 responds to data path address and control signals from VOP control circuit 278 to independently control the addressing and outputing of information from the two halvesofthe double line buffer300.
Address and control circuit 312 further generates a pixel clock at the rate of occurrence of successive pixels in the video display at a period of approximately 70 nanoseconds. The pixel clock is first divided by a selected number N indicated by commanded X magnification ratios to control the clocking of an address counter within address and control circuit 312. The loading of data into even byte and odd byte data registers 308,310 is controlled by the next to least significant bit of this address counter. It will be appreciated that since two bytes are loaded in parallel into registers 308,310, they need be reloaded only for every second pixel location. Internally of double line buffer 300, at the output section each pulse of the divided pixel clock 314 causes a transition between the upper and lower words of a 4 byte superword slice while each second occurrence causes an address increment to a new superword slice.
A gating network including tristate gates 316-319 provides for the selective gating of data stored by the even and odd byte data registers 308,310 onto either a color map bus 320 or onto a color component data path 322 or 323.
The video data path is illustrated in Fig. forthe 10 components of a YIQ color system. In this arrangement gate 317 is continuously enabled through a switch 324 to continuously gate the output of even byte data register 308 onto I component data bus 322. Similarly, a switch 326 continuously enables gate 319 to continuously gate the output of odd byte data register310 onto a Y component data bus 323 which is connected to gate 326 through a switch 328.
It will be recalled that the even and odd byte data registers 308, 310 are reloaded only on alternate pixel clock signals. consequently, duplicate bytes of pixel information are transferred over the odd component data bus 322 and the Q component data bus 323 before the video information is updated. This duplicating of I and Q component pixel information for successive pixels maintains the I and Q color components synchronized with a full color component at the pixel rate even though the I and Q color components are each stored with only half the bandwidth of a full color component signal.
Moving the switch 328 to the F or full color component position and changing switches 322 and 324 and 326 to their alternate positions causes gates 317 and 319 to be enabled in response to the noninverted and inverted outputs respectively from the least significant bit of the address counter within timing and control circuit 312. This arrangement corresponds to a full color component data path with the even byte and odd byte data register 308, 310 data contents being alternately loaded onto the I color component data path 322.
An IQ gate signal is applied to gates 331,332 to alternately gate the contents of the even byte data register 308 and odd byte data register 310 onto the color map bus 320 under control of the least significant address bit. This arrangement permits a selected frame store component to drive the color map bus from which each of three color map stores may receive the color map bus data as address information to generate full three color video information in a color mapped mode of operation. A multiplexer 374 responds to a color map mode input signal to generate an 8 bit data output which represents either information appearing on the color map bus 320 or information appearing on I color component bus 322.In the described YlQ system, multiplexer 374 would in a normal mode respond to the I component color signal appearing on bus 322.The Q color component signal appearing on bus 323 would be communicated to a third multiplexer corresponding to multiplexer 374 with the remaining signal processing for the Q color component being substantially duplicative of that for the I color component which is shown in Fig. 9B. The color component would of course have its own separate frame store storage component and video path circuitry.
A pipeline definition register 336 is connected to be loaded by the central processing unit 14 in response to a decoded signal WDEC1 to designate the operating status of the video data path 276.
Definition register 336 need not be duplicated for each color component. A color map mode output at a first bit position selectively enables the response of the video system to either data appearing on color
map bus 320 or on a color component bus such as bus 322. An I, Q gate signal commands the selective gating of video information from the even byte and odd byte data registers 308, 310 onto the color com
ponent bus 320 as previously explained. Similar gate and B gate signals cause the selective gating of those color components onto the color map bus 320 when they are implemented. Signals force overlay, disable overlay and flip/substitute overlay control the response of the video signal to data from overlay component store 72 as described in more detail subsequently in conjunction with Fig. 9B.
Signal magnification in the X register is specified by encoded signals XMAG0 through XMAG3 to permit magnification with any factor between 1 and 16 inclusive. These signals are communicated to divide by N register 338 which divides the pixel clock signal by the designated number prior to presentation to the timing and control circuit 31 0. The divide by N circuit causes a selected number of repeats of pixel information, thereby expanding the video display in the X direction. Definition register 336 also generates an enable/blank signal which is utilized in the portion of the data path shown in Fig. to selectively blankthe entire output display.
An 8 bit maintenance register may be selectively loaded by CPU 14 as part of its address field in response to decoded loading signal WDEC3 and its output may be selectively gated onto color map bus 320 with signal RDEC3 for diagnostic and maintenance purposes. Neither maintenance register 342, address control register 312, divide by N circuit 338 nor divided by two circuit 340 need be repeated for each of the three color components.
Referring now to Fig. 9B the successive pixels of color component information are loaded into an 8 bit counter 344. Counter 344 serves as an address register for a 256 word x 8 bit color map RAM 346 during a color map mode of operation. The color map 346 for each color component receives its address from the color map data bus and outputs a colorcomponent corresponding thereto. In a full color implementation, the color map RAM 346 outputs a color component signal which may be identical to its incoming address or alternatively may provide an adjustment for intensity nonlinearities in the incoming color component signal. An 8 bit output register 348 serves as an output data buffer for color map RAM 346 and is clocked at the pixel clock rate.The output of register 348 is selectively modified in accordanr e with the contents of the overlay frame store component 72 as well as other control signals.
It will be recalled that overlay frame store component 72 stores only one bit of information for each pixel location and that data is output 8 pixels at a time. Since only 3 bytes of information are required to define an overlay superword, the 3 bytes are placed on the superword data bus as 8 bit bytes but duplicated in pairs of 6 slice transfers. While the data input buffer portion of the video data path 276 for overlay store component 272 is somewhat different from the other components has not been shown, it will be appreciated that the overlay ,tore information can be loaded into a double ir dut buffer and simulatenously gated at an output portion of the bufferto generate a serial bit stream of overlay data corresponding to the same pixel locations which are being addressed by the primary color components of the video data path 276.
This serial bit stream is received as an overlay input to an OR gate 348 which receives as a second in put the forced overlay output of definition register 336 to override the overlay bit when enabled. The output of OR gate 348 is communicated to the input of an AND gate 350 which receives as a second input the inversion of the disable overlay signal generated by definition register 336. The output of AND gate 350 thus represents the overlay signal as modified by the force on and disable signals This signal is communicated to an exclusive OR gate 352 which selectively inverts the most significant bit of the video data signal which is output by an 8 bit register 354. This selective inversion of the most significant bit of the color signal in response to the overlay signal assures a contrasting color when passed through a digital-to-analog converter.Alternatively, the controlled overlay signal is communicated as one input to an AND gate 356 which receives as a second input the inversion of flip overlay signal output from definition register 336. Under normal circumstances the flip overlay signal is at logic 1 causing the output of AND gate 356 to be disabled and thereby enabling a gate 358 through an inverter360.
This enables the normal data path through 8 bit register 354 with the most significant color component bit being selectively inverted by the controlled inversion signal. Alternatively however, the flip/substitute signal is at logic 0 to enable AND gate 356 and cause the enabling of a gate 362 whenever the controlled overlay signal is present. Uriderthis circumstance data which is previously written into 8 bit register 364 as part of the address base of central processing unit 14 is gated to the A input ofa multiplexer 366 in place of the output from gate 358. Even with AND gate 356 enabled, normal data is com municatedto multiplexer366 through gate 358 in the absence of a logic 1 overlay control bit.Multiplexer 366 selectively provides the gated video signal as previously defined or a logic 0 video blanking signal in response to the enable/blank output signal from definition register 336. The output of multiplexer 366 is communicated to a digital-to-analog converter 368 and is selectively gated onto the buffered Master Bus data bus through a gate 370 in response to a gating signal RDEC6.
The output of a digital-to-analog converter 368 is successively passed through an amplifier 371, a low pass fillter 372, a YIQ to RGB transformation matrix 374, a gamma correction filter 376 and an output driver 378 to generate the Y component of the video signal.
It will be appreciated that the other components of the color signal may be similarly developed and that the specific values of filters and component transforms may depend upon the particular video system that is implemented and the desired characteristics of the video output signal.
Claims (2)
1. A video output processor having a data processing system and a video processing system, the video output processor for a computer graphics system comprising:
a video data path coupled to receive a sequence of digital video information for at least one video component of a video signal and output a raster scan video signal in response thereto; and
a double parameter store for a plurality of parameters defining a video output processing system mode of operation, the store having first and second duplicate storage components storing information defining mode control information including the number of picture elements in a frame of an output video image, the magnification of the output video image relative to the received digital video information in at least one dimension, and the location of the output video image relative to the received digital video information.
2. Asystem substantially as herein before described with reference to the accompanying drawings.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13933180A | 1980-04-11 | 1980-04-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
GB2075317A true GB2075317A (en) | 1981-11-11 |
GB2075317B GB2075317B (en) | 1984-11-14 |
Family
ID=22486131
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB8111724A Expired GB2075317B (en) | 1980-04-11 | 1981-04-13 | Computer graphics system |
GB08409677A Expired GB2137857B (en) | 1980-04-11 | 1984-04-13 | Y1q computer graphics system |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB08409677A Expired GB2137857B (en) | 1980-04-11 | 1984-04-13 | Y1q computer graphics system |
Country Status (3)
Country | Link |
---|---|
JP (1) | JPS5713484A (en) |
DE (2) | DE3114923C2 (en) |
GB (2) | GB2075317B (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2141908A (en) * | 1983-05-25 | 1985-01-03 | Westinghouse Electric Corp | Multi-level raster scan display arrangement |
GB2149265A (en) * | 1983-11-03 | 1985-06-05 | Bank Of England The Governor A | Construction of complex patterns |
EP0169940A1 (en) * | 1984-07-27 | 1986-02-05 | Siemens Aktiengesellschaft | Display controller for a data display terminal |
GB2180427A (en) * | 1983-11-03 | 1987-03-25 | Bank Of England | Image formation and storage |
EP0303138A3 (en) * | 1987-07-31 | 1991-01-09 | Compaq Computer Corporation | Method and apparatus for controlling two or more video display devices |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57190995A (en) * | 1981-05-20 | 1982-11-24 | Mitsubishi Electric Corp | Display indicator |
JPS61137186A (en) * | 1984-12-07 | 1986-06-24 | 株式会社東芝 | Display controller |
FR2585530B1 (en) * | 1985-07-23 | 1987-11-27 | Texas Instruments France | COLOR COMPONENT SIGNAL COMPOSING DEVICE FROM LUMINANCE AND CHROMINANCE SIGNALS AND VIDEO DISPLAY DEVICE INCLUDING APPLICATION |
JPS6242277A (en) * | 1985-08-19 | 1987-02-24 | Fanuc Ltd | Image processor |
US4755956A (en) * | 1985-11-01 | 1988-07-05 | Allied-Signal Inc. | Freeze frame apparatus for moving map display system |
US4897812A (en) * | 1986-06-25 | 1990-01-30 | Wang Laboratories, Inc. | Graphics adapter |
US4809166A (en) * | 1986-08-27 | 1989-02-28 | Advanced Micro Devices, Inc. | Data assembly apparatus and method |
GB8707088D0 (en) * | 1987-03-25 | 1987-04-29 | Quantel Ltd | Character & graphical generating systems |
GB2203873B (en) * | 1987-04-07 | 1991-04-03 | Possum Controls Ltd | Control system |
US5369744A (en) * | 1989-10-16 | 1994-11-29 | Hitachi, Ltd. | Address-translatable graphic processor, data processor and drawing method with employment of the same |
US5847700A (en) * | 1991-06-14 | 1998-12-08 | Silicon Graphics, Inc. | Integrated apparatus for displaying a plurality of modes of color information on a computer output display |
GB2270450B (en) * | 1992-09-08 | 1997-03-26 | Silicon Graphics Incorporation | Integrated apparatus for displaying a plurality of modes of color information on a computer output display |
EP0590966B1 (en) * | 1992-09-30 | 2000-04-19 | Hudson Soft Co., Ltd. | Sound data processing |
US5459485A (en) * | 1992-10-01 | 1995-10-17 | Hudson Soft Co., Ltd. | Image and sound processing apparatus |
TW371340B (en) * | 1992-10-09 | 1999-10-01 | Hudson Soft Co Ltd | Image processing system |
CA2108730C (en) * | 1992-12-07 | 1999-10-12 | James Corona | Apparatus for, and methods of providing a universal format of pixels and for scaling fields in the pixels |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3555523A (en) * | 1969-03-28 | 1971-01-12 | Ultrasonic Systems Corp | Information storage and display system |
DE2636788C3 (en) * | 1976-08-16 | 1980-01-31 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Data storage for data display devices |
-
1981
- 1981-04-11 JP JP5494781A patent/JPS5713484A/en active Pending
- 1981-04-13 DE DE19813114923 patent/DE3114923C2/en not_active Expired
- 1981-04-13 GB GB8111724A patent/GB2075317B/en not_active Expired
- 1981-04-13 DE DE19813153277 patent/DE3153277C2/en not_active Expired
-
1984
- 1984-04-13 GB GB08409677A patent/GB2137857B/en not_active Expired
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2141908A (en) * | 1983-05-25 | 1985-01-03 | Westinghouse Electric Corp | Multi-level raster scan display arrangement |
GB2149265A (en) * | 1983-11-03 | 1985-06-05 | Bank Of England The Governor A | Construction of complex patterns |
GB2180427A (en) * | 1983-11-03 | 1987-03-25 | Bank Of England | Image formation and storage |
EP0169940A1 (en) * | 1984-07-27 | 1986-02-05 | Siemens Aktiengesellschaft | Display controller for a data display terminal |
US4731608A (en) * | 1984-07-27 | 1988-03-15 | Siemens Aktiengesellschaft | Image control unit for a video display unit |
EP0303138A3 (en) * | 1987-07-31 | 1991-01-09 | Compaq Computer Corporation | Method and apparatus for controlling two or more video display devices |
Also Published As
Publication number | Publication date |
---|---|
DE3153277A1 (en) | 1985-07-11 |
GB2075317B (en) | 1984-11-14 |
DE3153277C2 (en) | 1986-09-18 |
JPS5713484A (en) | 1982-01-23 |
GB8409677D0 (en) | 1984-05-23 |
GB2137857A (en) | 1984-10-10 |
DE3114923C2 (en) | 1985-10-24 |
DE3114923A1 (en) | 1982-02-04 |
GB2137857B (en) | 1985-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4564915A (en) | YIQ Computer graphics system | |
US4475161A (en) | YIQ Computer graphics system | |
US4459677A (en) | VIQ Computer graphics system | |
GB2075317A (en) | Computer graphics system | |
US4907086A (en) | Method and apparatus for overlaying a displayable image with a second image | |
US4104624A (en) | Microprocessor controlled CRT display system | |
EP0128051B1 (en) | Video display system | |
US4580134A (en) | Color video system using data compression and decompression | |
US4704697A (en) | Multiple station video memory | |
US4991110A (en) | Graphics processor with staggered memory timing | |
GB2073997A (en) | Computer graphics system | |
EP0071744A2 (en) | Method for operating a computing system to write text characters onto a graphics display | |
JPS6334471B2 (en) | ||
CA1220293A (en) | Raster scan digital display system | |
US5258843A (en) | Method and apparatus for overlaying displayable information | |
US5058041A (en) | Semaphore controlled video chip loading in a computer video graphics system | |
EP0525986B1 (en) | Apparatus for fast copying between frame buffers in a double buffered output display system | |
GB2073995A (en) | Computer graphic system | |
US4591845A (en) | Character and graphic signal generating apparatus | |
US4991120A (en) | Apparatus for interfacing video frame store with color display device | |
US4626839A (en) | Programmable video display generator | |
US4647971A (en) | Moving video special effects system | |
JPH0218594A (en) | Display controller | |
JP3002951B2 (en) | Image data storage controller | |
JP2907630B2 (en) | Frame memory controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
732E | Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977) | ||
PCNP | Patent ceased through non-payment of renewal fee |
Effective date: 19940413 |