A peripheral apparatus for image memories

Abstract: A peripheral apparatus for image memories can com­ municate image data with a memory assembly composed on n blocks (60-63) of a standard-type DRAM, whether DRAM is of page mode or of nibble mode. The apparatus comprises a read data processing unit (82) sending the data of selected one among n pixels read from the DRAM blocks in parallel to an external image/graphics processor (2), a write data processing unit (84) modifying the image data taken therein-­ to and writing the modified data in the DRAM blocks, a feedback data (86) processing unit writing the image data now on displaying into the DRAM blocks after a desired processing again, a display data processing unit (88) sending the data read from the DRAM blocks to a monitor for display and to the external processor (2) for the feedback processing, and a control unit (80) furnishing control signals to those processing units in response to instructions from the exter­ nal processor.

Description: BACKGROND OF THE INVENTION Field of the Invention The present invention relates to an apparatus according to the first part of claim 1 such as a large-scale-integration circuit apparatus (LSI) for constituting an image and/or graphics processing system, and more particularly to an apparatus suitable for using standard-type random access memories which are broadly used. Description of the Related Art Image and/or graphics processing systems mostly use dynamic type random access memories (DRAM) which have made a remarkable progress in higher integration density to satisfy the demand for image memories having a greater capacity. The following are main requirements for the image memory; (1) to be capable of reading out data for display on an image monitor, and (2) to allow an image and/or graphics processor access (read/write). Usually, a memory cycle time of DRAM is about 300 nano-seconds. When such DRAM is used for the image memory, the operational speed of the image memory becomes around 3 megapixels per second. On the other hand, the display speed in the image monitor is 6 to 100 megapixels per second. Therefore, a plurality of DRAMs in which data for pixels are stored are operated in parallel in order to cope with the difference in the operational speed. For the purpose of this parallel operation of plural DRAMs, a large number of peripheral circuits have been necessary conventionally. As an LSI for this image memory peripheral circuit, a graphics LSI which can designate one of a plurality of pixels being processed in parallel and can read out the image data of the pixel to an external processor or write it to the image memory, is described in the article entitled "Color-graphics controller chip set reduces part count, incoporates microcomputer" in Electronics/April 19 (1984), p.p.166-168. However, the known image memory peripheral LSI does not include the following functions: (1) a nibble or page mode access, whereby a DRAM is capable of operating at a high speed; (2) a real time data processing, in which a processing of data read out from the image memory, such as a density conversion of pixel data, a calculation between images, a convolution and the like, is executed at the same speed as the display and a processed data is written into the image memory at the same speed again, and/or in which an image data taken by a television camera is written into the image memory at the high speed (the former is especially called a feedback processing, hereinafter); (3) a modification-write operation, in which a modification processing, such as logical and/or arithmetic operation, is carried out between an image data existing in the image memory and an image data to be written afresh and a modified data is written into the image memory again; (4) a block-write operation for high speed processing, in which an image data of plural pixels is written into the image memory in parallel; (5) an arbitrary region processing, in which the data of pixels can be processed pixel by pixel without depending upon the delimitation in the parallel read/write operation of the memories in a case of the feedback processing or the movement of the image (scroll); and (6) a smooth scroll processing in a transverse direction in image display. A display controller implementing nibble-mode access according to above function (1) is disclosed in Electrical Design Views, Vol. 28, No. 4, February 1983, pages 231 to 242, Boston, Massachusetts, U.S.; D. Wooten: "Nibble-mode technique simplifies complex RAM designs". This system has the disadvantage that it is not capable of supporting the external CPU in carrying out complex graphics functions such as above functions (2) to (6). A further video RAM control apparatus is disclosed in EP-A-0 106 121 from which the preamble of claim 1 starts out. This apparatus is provided with a write circuit allowing an external processor to write into the storage location of each individual pixel or of a contiguous group of pixels within one byte. This known circuit is suitable for setting individual pixels in the displayed image or for loading an image in bitmap representation into the video RAM. This system, however, does not provide means for modifying an image already existing in the video RAM. Modifications of the image, such as moving, scrolling, rotating for example, require extensive calculations by the processor. To achieve smooth scrolling, the external processor has repeatedly to shift the image by one pixel and rewrite the shifted image into the video RAM. SUMMARY OF THE INVENTION An object of the present invention is to provide a peripheral apparatus for an image and/or graphics processing system supporting an external processor during complex graphics operations, particularly during smooth scrolling in a transverse direction of the image. This object is solved by the invention characterized in claim 1. Preferred embodiments are set forth in the subclaims. The peripheral apparatus for image memories in accordance with preferred embodiments of the present invention supports the n pixels parallel access to the random access memories, whether they are of page mode or nibble mode, effects data processing capable of simultaneously processing the image data of n x m pixels (m: number of repetition times per one access operation), and is equipped with a shift function for the read/write image data to make it possible to execute the given processing on the image data existing in an arbitrary region within the image memory. Further, these processing functions are set in a control unit provided in the peripheral apparatus in order to attain programmable change-over. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 shows a view of a total structure of an image and/or graphics processing system to which the present invention is applied; Fig. 2 shows an organization of a dynamic random access memory as an image data strage used in the processing system shown in Fig. 1; Fig. 3 is a structual view of a peripheral apparatus according to an embodiment of the present invention; Fig. 4 is a time chart for the purpose of explaining the read/write operation of the dynamic random access memory shown in Fig. 2; Fig. 5 is a schematic diagram for the purpose of explaining three modes of the write operation by means of the peripheral apparatus shown in Fig. 3; Fig. 6 is a block diagram of a control unit of the peripheral apparatus shown in fig. 3; Fig. 7 is a block diagram showing a read data processing unit and a write data processing unit of the peripheral apparatus shown in Fig. 3; Fig. 8 is a block diagram of a feedback data processing unit of the peripheral apparatus shown in Fig. 3; Fig. 9 is a block diagram of a display data processing unit of the peripheral apparatus shown in Fig. 3; Fig. 10 is a schematic view for the purpose of explaining the shift operation in the display data processing unit shown in Fig. 9; and Fig. 11 is a schematic view for the purpose of explaining the feedback-write operation to the image memory by means of the feedback data processing unit shown in Fig. 8. DESCRIPTION OF THE PREFERRED EMBODIMENT Hereinafter, the description will be made of a peripheral LSI for an image memory according to a preferred embodiment of the present invention, with reference to accompanying drawings. 1. Outline of System Referring to Fig.1, an image and/or graphics system has an image processor 2 for image and/or graphics processing, an image memory 4 and a display monitor 10. The image memory 4 comprises DRAM 6 and its peripheral LSI 8. The latter to which the present invention is applied is called a raster memory adapter (RMA), hereinafter. The following description will deal with the image memory 4 consisting of DRAM 6 which has the data quantity of 4 bits per pixel and in which four pixels are accessible in parallel with one another and RMA 8 which supports such DRAM 6. The image processor 2 conducts graphics processing such as depictions of straight lines, circles, characters and the like and image processing such as movement, rotation, enlargement, smoothening, contour emphasis, fast fourier transform (FFT) and the like, of the image. The image processor 2 may be constituted by a microcomputer so long as it can read and write with respect to the image memory 4. If higher performance is required, it may consist of a processor having a specific construction. In this description, the detail of the image processor 2 is omitted. 2. Dynamic Random Access Memory (DRAM) As shown in Fig.2, a DRAM assembly is composed of four blocks of DRAM 60 to 63, each of which is organized by four memory units, i.e., chips or modules. Accordingly, data read out from one DRAM block, i.e., data for one pixel, is made up of four-bit signals. DRAM block has an address signal terminal ADR, two strobe signal terminals, i.e., one for a row address strobe RAS and the other for a column address strobe CAS , a write signal terminal WRT, and a data terminal DIN/OUT. Reference characters used here for indication of the terminals also mean signals applied to or derived from the corresponding terminals in the description hereinafter. The signals ADR, RAS , CAS and WRT are all provided from the image processor 2, and the terminals DIN/OUT of DRAM blocks 60 to 63 are connected with respective buses MDATA 0, 1, 2 and 3, through which a data communication between DRAM 6 and RMA 8 is carried out. It is to be noted here that the signal WRT from the image processor 2 is applied to DRAM blocks through one of terminals of two-input NAND gates 601 to 631. The other input terminals of the NAND gates are supplied with write enable signals WE 0, 1, 2 and 3, respectively, which are furnished from RMA 8 and therefore will be explained in detail in connection therewith later. Accordingly, the accessible DRAM block is selected by the WE 0, 1, 2 or 3. Further, the signal WRT determines the mode of access to DRAM blocks. Namely, the signal WRT is a binary signal, and when the signal WRT is maintained at one of two states, the access to DRAM 6 becomes a read operation mode, so that the data stored in a location of DRAM 6 designated by the signal ADR is read out to RMA 8 through the bus MDATA 0, 1, 2 or 3. The timing of reading the data is determined by the signals RAS and CAS . To the contrary, when the signal WRT is in the other state, the access to DRAM 6 becomes a write operation mode. In this access mode, the data sent through the bus MDATA 0, 1, 2 or 3 is written into DRAM 6 selected by the signal WE 0, 1, 2 or 3 at a location designated by the signal ADR. As is understood from a memory organization shown in Fig.2 and the description mentioned above, DRAM 6 used in this embodiment is a standard one. Therefore, the further description about DRAM will be omitted. 3. Raster Memory Adapter (RMA : Peripheral LSI) As has been already described, RMA 8 supports four DRAM blocks 60 to 63 and consists of 48-pin LSI having 45 signal lines tabulated in a signal line table of Table 1. As is shown in Fig.3, RMA 8 has a control unit 80, a read data processing unit 82, a write data processing unit 84, a feedback data processing unit 86, a display data processing unit 88, and input buffers 900 to 908 and output buffers 920 to 925. Further, a read data bus 100 and a write data bus 102 are disposed in RMA 8 for the purpose of reading or writing data from or to DRAM 6, and each has a data width of 4 bits/pixel x 4 pixels. The display on the display monitor 10 is effected in the following manner. The image data read out from DRAM 6 is taken into the display data processing unit 88 through the buses MDATA 0 to 3, the input buffers 900 to 903 and the internal read data bus 100, where it is serialized for each pixel and then sent to the display monitor 10 through the output buffer 925 as a display image data DDATA. This display image data DDATA is also fed back to the image processor 2, in which the processing such as the density conversion and the calculation between images is carried out and the processed data can be written into the image memory 4 again. This is the feedback data processing described already. Accordingly, it is also possible that the calculation between the image data taken by a television camera (not shown) and the image data read out from the image memory 4 is conducted and the calculated data is written into the image memory 4. This processing is executed by means of that the feedback image data is taken into the feedback data processing unit 86 through a bus IDATA and the input buffer 904 and is written into DRAM 6 through the internal write data bus 102, the output buffers 920 to 923 and the bus MDATA 0, 1, 2 or 3. 3.1 Input/Output Operation between the image processor 2 and the image memory 4: A read operation of the image processor 2 which reads out the data from the image memory 4 is executed as follows. Namely, referring to Fig. 3, the image data for the pixel read out from DRAM blocks 60 to 63 is selected in the read data processing unit 82 in accordance with the block address signal BADR which represents one of the four pixels read out simultaneously or in parallel, and is transferred to the image processor 2 through the output buffer 924 and the bus IDATA. A write operation is conducted by the write data processing unit 84, which takes the image data from the image processor 2 through the bus IDATA and the input buffer 904, processes the taken-into image data in a predetermined manner, and writes the processed data into DRAM 6 through the internal write data bus 102, the output buffers 920 to 923 and the bus MDATA 0, 1, 2 or 3. The mode of access to the image memory 4 is determined by an access mode signal AMOD to RMA 6 and its timing by RAS , CAS and WRT. The timing is the same as that of standard DRAM, therefore. DAM 6 can be operated in a high speed access mode. The page mode access or the nibble mode access can be made maximum four times by means of RMA 8 according to this embodiment, as shown in the timing chart of Fig.4. However, ordinary single access and, if necessary, access of twice or thrice can also be made. In the write operation, an arbitrary one of four DRAM blocks 60 to 63 is selected by the write enable signal WE 0, 1, 2 or 3, and the write operation can be done for the selected DRAM block. This operation holds true of both the page mode and the nibble mode. For the purpose of this selective write operation, as shown in Fig. 2, there are provided, before the WRT terminal of each DRAM block, the NAND gates 601,611,621,631 which permit the application of the signal WRT from the image processor 2 to DRAM blocks 60, 61, 62 or 63 in accordance with the signal WE 0, 1, 2 or 3. Referring back to Fig. 3, the output of the output buffers 920 to 923 to the bus MDATA 0, 1, 2 and 3 is permitted or inhibited by signals CW 0 to 3 which are in synchronism with the signals WE 0 to 3, respectively. When the output is inhibited, the inhibited output buffer 920, 921,922 or 923 is kept at the high impedance state. The access operations to the image memory 4 are altogether tabulated in Table 2. As is seen from this table, when the access mode signal AMOD is "0", the read operation for display and the write operation for feedback processing can be executed. At this time, the output buffer 924 always keeps the bus IDATA at the high impedance state as viewed from RMA 8. To the contrary, the bus IDATA is maintained at the low impedance state as viewed from the image processor 2. Accordingly, the feedback image data from the image processor 2 can be transferred into RMA 8 through the bus IDATA and the input buffer 904 and written into DRAM 6 from RMA 8 without any interruption at the same speed as the display speed of the data DDATA. The common use of the bus IDATA for output from and input into RMA 8, as mentioned above, is directed to reduce the number of necessary pins of the LSI chip as RMA 8. If the number of pins may or can be increased, the write data signal pin for feedback is disposed independently of the bus IDATA, and such an arrangement is more versatile. In other words, if only the timing is permissible, the ordinary read/write operation of the image processor 2 can be made even during the feedback processing. 3.2 Read/Write Operation: Ordinary read/write operations can be made when the access mode signal AMOD is "1", as is understood from Table 2. In the case of the read operation, the data of the pixel designated by the block address signal BADR is sent through the bus IDATA to the image processor 2. If the value of tee control data CDATA is "1" at this time, the data of all the pixels read out is set into a read data register for modification (i.e., modification register) in the write data processing unit 84, and if it is "2", the data are set to the read data register for copy (i.e., copy register) of the write data processing unit 84. These are the data which are used for the write operation of the next time. Three kinds of the write operations exist in accordance with the content of a write mode register WMOD, one of the control registers in the control unit 80, and the page and nibble mode operations both are possible for each of these write operations. They are shown in Figs.5a through 5c, and will be described below; (a) Single-mode write operation: The data IDATA is modified and written into the storage location of the image memory 4 designated by the signals ADR and BADR. This storage location corresponds to a memory cell of DRAM blocks 60 to 63, i.e., one pixel. The modification is made such that the data IDATA and the data read out in advance for modification are calculated in a modification ALU of the write data processing unit 84 in accordance with a signal from the control register MFUN of the control unit 80. (b) Block-mode write operation: The data IDATA is modified in the modification ALU and written for all the four pixels. However, the pixels to be written can be designated by the signal CDATA. (c) Copy-mode write operation: The term "copy" here means that an image data stored in an arbitrary region of the image memory 4 is transferred to another region. For this copy, the image data is in advance read out into the copy register of the write data processing unit 84, and, after shifted by a predetermined number (three pixels in Fig.5c), the data is written into another region for the four pixels. Also in this case, the write data can be modified in the modification ALU in accordance with the signal from the control register MFUN. The performance of the image memory 4 can be exhibited to its maximum by combining the page/nibble mode operations of DRAM 6 with the block-mode and copy-mode write operations. 3.3 Control Unit 80: Next, the detailed description will be made of each unit of RMA 8. Referring-to Fig. 6, first of all, the control unit 80 is explained. The control unit 80 comprises a group of control registers 802, a controller 804, a register-number register 806, a controller 808, a selector 810, a decoder 812, NAND gates 814, and an access controller 816. The group of control registers 802 is formed by seven 4-bit registers. These registers 802 are supplied with the signal CDATA from the image processor 2 under control of the controller 804, and initialized by the signal RESET. The functions and operations of main ones of these registers 802 are as follows. (1) WMOD register (register No. 0) This register designates the mode of the write operation to the image memory 4 which has been already referred to. The relation between the content of this register (called value of WMOD hereinafter) and the mode of the write operation is as follows: Value of WMOD Mode of Write Operation 0 single mode 1 block mode 2 copy mode (2) MFUN register (register No.1) This register designates the mode of the modification in the write data processing unit 84. The mode of modification between two signals, e.g. f and g, is determined as follows in accordance with the content of this register (called a value of MFUN hereinafter): Value of MFUN Mode of Modification 0 f (no modification) 1 f AND g 2 f OR g 3 f Exclusive OR g 4 f Exclusive NOR g 5 g (no modification) 6 NOT f 7 NOT g 8 f + g 9 max (f, g) 10 min (f, g) (3) CN/DN register (register No.2) The CN/DN register is one that designates the access mode in the copy and display operations. This register can take a value from "1" to "4" as its content. The value is called a CN/DN value hereinafter. When the CN/DN value is "1", the access is of ordinary mode. This value must be set at "1" when a static-type RAM is used. When the CN/DN value is other than "1", the access is of either one of the page and nibble modes and a repetition cycle within one access is determined by the value thereof. The CN/DN value is necessary for a barrel shift in the copy and display processings. Though this can be automatically detected and controlled by the strobe signals RAS and CAS , as shown in Fig.4, it is set from outside in this embodiment for the purpose of simplification. The remaining registers, i.e., DSFT, VSFT, FSFT and CSFT registers which have the register Nos. 3, 4, 5 and 6, respectively, designate the number of shift stages in the display, feedback data input, feedback write and copy processings, respectively, which will be referred to more in detail with reference to the data processing to which these registers relate. The group of these control registers 802 is controlled by the controller 804, which receives the signals STB and RS/ DS and controls whether to set the signal CDATA of four bits to the register-number register 806 or to one of the control registers 802 designated by the register-number register 806. Namely, when the signal RS/ DS is "0", the register number indicated by the signal CDATA is set to the register-number register 806 in synchronism with the signal STB . When the signal RS/ DS is "1", the signal CDATA is set into one of the control registers 802 designated by the content of the register-number register 806. The information of the control registers 802 is sent to the necessary portions of RMA 8 through an internal control bus CB1. A control of the write enable signals WE 0 to 3 is made in the following manner. The controller 808 receives the signals AMOD and WMOD and makes the selector 810 select one of three input signals in accordance with combination of the value of the signals AMOD and WMOD. The three input signals of the selector 810 are the signal BADR decoded by the decoder 812, a feedback data write enable signal FDEN sent through the write data bus 102 and the signal CDATA. The selected signal is produced as the signal WE 0 to 3 from the selector 810. The condition of selection is as follows. (a) AMOD=0 and WMOD is not cared about In this case, the operation is the feedback-write operation, and the signals FDEN sent from the feedback data processing unit 86 are selected. (b) AMOD=1 and WMOD=0 The operation is the single mode access from the image processor 2. In this case, the signal BADR is decoded by the decoder 812 and selected by the selector 810. Accordingly, the data is permitted to be written for only one pixel. (c) AMOD=1 and WMOD=1 or 2 The operation is the block-mode or copy-mode write operation, and the signal CDATA is selected. Therefore, it can be arbitrarily designated by the image processor 2 which pixels are to be written. The signal CDATA may be controlled in accordance with the time chart of Fig.4 at the time of the page and nibble mode access. In order to control the buses MDATA 0 to 3 connecting between DRAM blocks 60 to 63 and MRA 8, control signals CW 0 to 3 are provided by four 2-input NAND gates 814 (only two gates are indicated in the drawing) and carried to the output buffers 920 to 923 through a line CW. One input signal of each of NAND gates 814 is the signal WRT sent from the image processor 2 through the access controller 816 and the other input is one of the signals WE 0 to 3. It is noted that the signals WE 0 to 3 correspond to the signals CW 0 to 3, respectively. Accordingly, only the output buffer 920, 921, 922 or 923 which relates to DRAM block 60, 61, 62 or 63 selected by the signal WE 0, 1, 2 or 3 can pass the data to the selected DRAM block through MDATA 0, 1, 2 or 3. For the purpose of other controls, the access controller 816 produces the following signals in accordance with the signals AMOD, RAS , CAS , WRT and CDATA. (1) MRSTB A strobe signal which is produced by the leading edge of CAS under the condition of AMOD="1", WRT="0" and CDATA="1" and sets the read data into a modification register of the write data processing unit 84; (2) CRSTB A strobe signal which is produced by the leading edge of CAS under the condition of AMOD="1", WRT="0" and CDATA="2" and sets the read data into copy registers of the write data processing unit 84; (3) DSTB A strobe signal which is produced by the leading edge of CAS under the condition of AMOD="0" and WRT="0" and sets the read data into a display data register in the display data processing unit 88; (4) FSTB A strobe signal for a feedback write shift register in the feedback data processing unit 86, which is produced by the leading edge of CAS under the condition of AMOD="0" and WRT="1"; (5) FWDSEL A signal for selecting data to be written into the feedback write shift register, which is set by FSTB above and reset by the trailing edge of RAS ; and (6) IPREN A signal which is produced under the condition of AMOD="1", WRT="0" and CAS ="0" and outputs the data from the read data processing unit 82 as the data IDATA to the image processer 2. These signals are transmitted to the necessary portion in RMA 8 through an internal control bus GB 2. 3.4 Read and Write Data Processing Units 82 and 84: As shown in Fig. 7, the read data processing unit 82 selects and produces the data for one pixel designated by the signal BADR among the data for four pixels on the read data bus 100 by means of a selector 822. This output data is sent out to the bus IDATA through the output buffer 924, which is controlled by the signal IPREN signal. The write data processing unit 84 consists of a read data register 842 for modification (modification register), read data registers 844, 846 for copy (copy register), a barrel shifter 848, a selector 850 and a modification arithmetic logic unit (modification ALU) 852. The data read out onto the read data bus 100 is taken into the modification register 842 by the signal MRSTB. The modification ALU 852 calculates the data g from the modification register 842 and the output data f of the selector 850 in accordance with the instruction of the signal MFUN, and produces the result to the write data bus 102, when the signal AMOD is "1". When the write operation is not in the copy mode, i.e., WMOD is "0" or "1", the selector 850 selects the signal IDATA. In the copy mode, however, the selector 850 selects the shift result of the content of the copy registers 844, 846 which is shifted by the barrel shifter 848 in accordance with the signal CSFT. The copy registers 844, 846 are triggered by the signal CRSTB and, as shown in Fig.5c, have to hold the read data for the two operations. For this purpose, two registers are provided so that the newly read-out data is set to the register 844 and the old data read out at the previous time is transferred to the register 846. The barrel shifter 848 shifts these two read-out data by the arbitrary amount of pixels and, as shown in Fig.5c, selects the data for four pixels to send them to the selector 850. The page or nibble mode access operation here is controlled by the signal CN, but since this control is the same as the control in the display processing unit 88, its detailed description is omitted here. 3.5 Feedback Data Processing Unit 86: Referring to Fig.8, the feedback data processing unit 86 consists of a variable-length shift register 862, a shift register 864, a barrel shifter 866, a latch 868, a feedback-data-write shift register 870 composed of three shift registers and a selector 872. The signal IDATA and the feedback data effective signal FDEN are once applied to the variable-length shift register 862. The length of this register 862 is designated by the signal VSFT, and can be used for compensation of delay of the processing in the image processor 2. The output of this variable-length shift register 862 is transferred to the shift register 864 which has a capacity of 32 pixels, that is, 4 pixels x 4 times of page or nibble mode read-out operations x 2 sets. Among them, the data for arbitrary 16 pixels is segmented by the barrel shifter 866 and set to the latch 868 by an external load signal FDLD. Further, the shift register 862, 864 and the latch 868 are operated by a video clock signal VCLK and the amount of shift in the barrel shifter 866 is determined by the signal FSFT. The data loaded to the latch 868 is transferred to the feedback-data-write shift register 870 by the "ON" state of both the signals FWDSEL and FSTB and the transferred data is shifted in the shift registers 870 by the signal during the "OFF" state of the signal FWDSEL. In other words, as shown in the time chart of Fig.4, the data of the latch 868 is produced as the write data to be set into the shift registers 870 in the first period of the signal CAS and the data set to the shift registers 870 is shifted one after another and produced in the subsequent periods of the signal CAS . The selector 872 selects the repetition number of the page or nibble mode operation in accordance with the value of the signal DN. That is to say, when DN=4, the data for the four pixels at the left end of the selector 872 is always produced to the write data bus 102 and eventually, the data for every four pixels from the left end of the latch 868 are produced four times. Similarly, when DN=3, the data for every four pixels from the fifth pixel on the left side are produced thrice. When DN=2, the data for every four pixels are produced twice from the ninth pixel on the left side, and when DN=1, the data for only four pixels on the right end of the selector 872 are produced once. In any of these cases, therefore, the data for only one write-in region may be segmented by the signal FSFT in the barrel shifter 866 and may be set to the latch 868, when the data of the write pixels for two times are input to the shift register 864 and shifted therein in the right-justified arrangement. This will be explained once again with reference to Fig.11 3.6 Display Data Processing Unit 88: Referring to Fig. 9, the display data processing unit 88 has a display-data-read shift register 882 composed of eight shift registers, a barrel shifter 884, a shift register 886, a latch 888, a decoder 890 and three buffers 892 to 894. The data corresponding to the four pixels read out onto the read data bus 100 are taken into one of the eight shift registers 882 designated by the signal DN at the timing of the signal DSTB, each of the shift registers being capable of storing the data for four pixels. The data of maximum 32 pixels that are read out in this manner for the purpose of display are shifted by the barrel shifter 884 in accordance with the value designated by the signal DSFT, and are set to the shift register 886 by the external load signal DDLD. The data of the shift register 886 is shifted by the video clock VCLK, and the result is produced as the display data DDATA through the latch 888. The output processing of the read data will be explained with reference to Fig.10. When DN=4, for example, the data for 32 pixels are set to the registers 882 by two access operations, and the data that are deviated toward the right by the number of pixels corresponding to the value of 0 to 15 of the signal DSFT are set to the shift register 886. When DN=1, the data for eight pixels corresponding to two access operations are set in the left-justified arrangement to the display-data-read register 882, and the data that are deviated toward the right by the number of pixels in accordance with the value 0 to 3 of the signal DSFT are set to the shift register 886. In this manner, the transverse scroll of a display screen can be realized smoothly by the signal DSFT. 4. Operation and Others: Hereinbefore, every units forming RMA 8 have been explained in detail. Next, referring to Fig.11, the description will be made of an example of the operation that the display data is fed back to be processed and is written into the image memory 4 again. Fig. 11a assumes the display and feedback processing at the time of the nibble mode of DN=4. Namely, 48 pixels from the fourth pixel of the i-th row are read out and the processed result is written from the 12th pixel of the j-th row, by way of example. Fig.11b shows the time chart of this operation. After the read operation is effected twice for display, the four-pixel shift is conducted toward the right (DSFT=4) and the shifted data is produced as the display data. After the image processor 2 processes this result, the data is applied from the bus IDATA to RMA 8. After the feedback data processing unit 86 takes the data for that 16 pixels thereinto, the data are shifted toward the right by 12 pixels corresponding to the region of the first write operation (FSFT=12) and are segmented. They are written at the next timing of the write operation, and this operation is repeated four times. Portions unnecessary for the first and final write operations are controlled by the feedback data effective signal FDEN. The signal VSFT is utilized in order to synchronize the timing of the load of the feedback data with that of the write operation to the image memory 4. The function and operation of the image memory peripheral LSI, i.e., raster memory adapter (RMA) has thus been described with respect to the case where the number of pixels read out in parallel is four (n=4), the maximum repetition number of the page or nibble mode operation is also 4 (m=4), and one pixel has four bits. The reason why n=4 in this embodiment, as mentioned above, is as follows. Namely the formation speed of the image data of an ordinary television camera is 12 mega pixels/sec. On the other hand, when the aforementioned DRAM is operated in the nibble mode (repeated four times), the time required is about 500 n sec, and therefore the processing of 16 pixels can be made in 1µ sec, that is, 16 mega pixels/sec, when display (feedback) is made on the time-sharing basis. The reason why 4 bits/pixel is used is that the technology of gray-scaled and colored image has made a progress in recent years and hence, the bit number should better be increased within the range permitted by the number of pins, though the minimum density information is 1 bit/pixel. If 8 bit/pixel is used, the number of pins of the peripheral LSI chip exceeds 64, and if 4 bit/pixel is used, the pin number is below 48. On the other hand, even if 2 bit/pixel is used, the pin number is about 40. Therefore, four pixel parallel, 4 bit/pixel is the most optimal as described above. Although RMA has been described as a definite example of the image memory peripheral LSI, the following variations are considered with respect to the present invention. (1) When only graphics function is required, the feedback data processing unit 86 is deleted and, further in a specific case, the copy function of the write data processing unit 84 can be also deleted. (2) Two of the display data processing unit 88 may be disposed so that they are used for the overlap display or be used independently for display and for feedback processing, respectively. (3) By inputting the feedback data signal IDATA processed in the image processer 2 into the display data processing unit 88 and switching the signal. IDATA and the data read out from DRAM, the monitor 10 can display both data selectively. As to the expansibility of the present embodiment, the following expansion can be made. (1) Increase of the number of bits per pixel: This can be accomplished by merely increasing the number of pairs of DRAM and RMA. (2) Promotion of display data speed: The speed is 16 mega pixels/sec by one RAM (twice, if used exclusively for display). The display data speed can be made double by allotting odd-numbered pixels to one RMA and even-numbered pixels to the other RAM and by externally serializing the outputs from these two RMAs. In this manner, a plurality of RMAs disposed in parallel becomes possible to promote the display data speed. 5. Effects of the Invention: In accordance with the present invention, an image memory having high function and high performance can be realized by use of the standard-type DRAM. (1) DRAM can be operated in the nibble or page mode, and the performance can be doubled when compared with ordinary access. (2) Feedback processing necessary for the image processing system which processes the image data now on displaying and writes the processed data into the image memory again, can be made. (3) Modification write operation between the data that has already been written in the image memory and the data that is to be written afresh can be-made. (4) Block write operation for writing plural pixels in parallel is possible, and thereby, the performance can be improved. (5) Feedback processing and copy processing for an arbitrary region can be made. (6) The smooth scroll of the display screen is possible.

Claims: A peripheral apparatus for an image and/or graphics processing system having an image memory (4) with a memory assembly (6) composed of plural random access memory blocks (RAM blocks 60-63), n blocks thereof being accessible in parallel, wherein n is an integer of 2 or more, the image memory (4) being connected to an external image and/or graphics processor (2) and a display monitor (10), the apparatus comprising: a write data processing unit (84) receiving data from said external processor (2) and writing data into said memory assembly (6); a display data processing unit (88) comprising a display shift register (886) which holds display data of a plurality of pixels for outputting the data sequentially to the display monitor (10); and a control unit (80) which furnishes control signals to each of said processing units (84,88), in response to instructions from said external processor (2) to control the operation of said peripheral apparatus, characterized in that the control signals furnished by said control unit (80) include a block address signal (BADR) indicating which of the n memory blocks (60-63) is to be accessed for outputting display data from the peripheral apparatus, an access mode signal (DN) determining a number m of repetitive read operations in one access cycle of said image memory (4), and a signal (DSFT) designating a number of pixels by which the display image is to be shifted with respect to the image stored in the memory assembly (6), that a read data processing unit (82) is provided comprising a selector (822) receiving image data of n pixels read out from said n RAM blocks (60-63) in parallel, selecting the image data of one of said n pixels designated by said block address signal (BADR) and outputting the selected data to said external processor (2), and that said display data processing unit (88) further comprises a display data register (882) holding data of 2 x n x m pixels obtained in two access cycles and a display data barrel shifter (884) for selecting the display data of n x m pixels stored within said register (882) at positions indicated by said signal (DSFT) designating the number of pixels the display image is to be shifted, and outputting the selected display data to said shift register (886). A peripheral apparatus for image memories according to claim 1, wherein said memory assembly (6) is organized such that said n RAM blocks operate in a page mode. A peripheral apparatus for image memories according to claim 1, wherein said memory assembly (6) is organized such that said n RAM blocks operate in a nibble mode. A peripheral apparatus for image memories according to any of claims 1 to 3, wherein said write data processing unit (84) has a copy register (844, 846) holding the image data of n x m pixels read out from said n RAM blocks (60-63) and the image data held in said copy register is copied into said memory assembly (6) by writing m times the image data of n pixels. A peripheral apparatus for image memories according to claim 4, wherein said copy register (846) consists of two registers (844, 846) each of which is capable of holding the image data of n x m pixels, one (846) of them holding the image data that have already been read out for copy and the other (844)the image data that has has just been read out afresh and said write data processing unit (84) further comprises a barrel shifter (848) which segments arbitrary n x m pixels from the contents of said two registers (844, 846). A peripheral apparatus for image memories according to claim 4, wherein said write data processing unit (84) further comprises a modification register (842) holding the image data of n x m pixels read out from said n RAM blocks (60-63) and an arithmetic logic unit (852) which executes an arithmetic or logic operation with the contents of said copy register (844, 846) and said modification register (842) in accordance with a modification function signal (MFUN) furnished by said control unit (80) and writes the operational result into said memory assembly (6) by writing m times the image data of n pixels. A peripheral apparatus for image memories according to any of claims 1 to 6, wherein said write data processing unit (84) comprises a modification register (842) holding the image data of n x m pixels read out from said n RAM blocks (60-63) and a modification arithmetic logic unit (852) which executes an arithmetic or logic operation with the image data from said external processor (2) and the content of said modification register (842) in accordance with a modification function signal (MFUN) furnished by said control unit (80), and writes the operational result into said memory assembly (6) by writing m times the image data of n pixels. A peripheral apparatus for image memories according to claim 7, wherein said write data processing unit (84) has a copy register (846) holding the image data of n x m pixels read out for copy from said n RAM blocks (60-63) and a selector (850) for selecting either one of the content of said copy register (844, 846) or the image data from said external processor (2), and wherein said modification arithmetic logic unit (852) executes the arithmetic or logic operation on the output from said selector (822) and the content of said modification register (842). A peripheral apparatus for image memories according to any of claims 1 to 8, wherein there is further provided a feedback data processing unit (86) which comprises a shift register (862, 864) for storing the data sent from said external processor (2) as a result of processing on the image data now being displayed, a latch (868) for holding the image data of n x m pixels from among the data stored in said shift register (862, 864) and a selector (872) which selects an amount of the image data designated by the access mode signal (DN) from the image data held in said latch (868) and writes the selected image data into said memory assembly (60-63) by writing m times the image data of n pixels. A peripheral apparatus for image memories according to claim 9, wherein said shift register (862, 864)of said feedback data processing unit (87) is capable of storing the image data of 2 x n x m pixels and there is further provided a barrel shifter (866) which segments the image data of n x m pixels from the content of said shift register (864) and supplies the segmented image data to said latch (868).

Inventors: KATOH TAKESHI, KOBAYASHI YOSHIKI, TAKENAGA HIROSHI, KATOH, TAKESHI, KOBAYASHI, YOSHIKI, TAKENAGA, HIROSHI
Applicants: HITACHI LTD, HITACHI, LTD.
Application year: 1985
Main classification: G09G1
IPC codes: G06T1, G09G5, G06F12