Movatterモバイル変換


[0]ホーム

URL:


GB2269081A - Image processing apparatus - Google Patents

Image processing apparatus
Download PDF

Info

Publication number
GB2269081A
GB2269081AGB9315283AGB9315283AGB2269081AGB 2269081 AGB2269081 AGB 2269081AGB 9315283 AGB9315283 AGB 9315283AGB 9315283 AGB9315283 AGB 9315283AGB 2269081 AGB2269081 AGB 2269081A
Authority
GB
United Kingdom
Prior art keywords
image
buffer
information
depth information
processing apparatus
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
Application number
GB9315283A
Other versions
GB9315283D0 (en
GB2269081B (en
Inventor
Masahiro Murata
Takahiro Sakuraba
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from JP4197338Aexternal-prioritypatent/JPH0644385A/en
Priority claimed from JP4278666Aexternal-prioritypatent/JPH06131247A/en
Application filed by Fujitsu LtdfiledCriticalFujitsu Ltd
Priority to GB9607952ApriorityCriticalpatent/GB2299919B/en
Publication of GB9315283D0publicationCriticalpatent/GB9315283D0/en
Publication of GB2269081ApublicationCriticalpatent/GB2269081A/en
Application grantedgrantedCritical
Publication of GB2269081BpublicationCriticalpatent/GB2269081B/en
Anticipated expirationlegal-statusCritical
Expired - Fee Relatedlegal-statusCriticalCurrent

Links

Classifications

Landscapes

Abstract

An image processing apparatus for use in three-dimensional graphics has a frame buffer for storing image information and depth information per pixel. For high-speed pattern filling, the frame buffer has an image buffer (34) for simultaneously storing image information of a predetermined number of pixels arranged in a horizontal direction in response to write permit signals individually given to the pixels, respectively, a Z buffer (31) for simultaneously outputting stored depth information relative to the pixels and simultaneously storing new depth information with respect to the pixels in response to the write permit signals. An identifying circuit identifies whether a condition indicating that an image to be plotted is a horizontal line is satisfied or not. As many write permit signal output circuits as the predetermined number simultaneously calculate respective items of new depth information relative to the pixels when the condition is satisfied, compare the depth information read from the Z buffer (31) with the calculated depth information, and simultaneously output the write permit signals relative to the respective pixels to the image buffer (34) and the Z buffer based on the result of comparison. Such an image processing apparatus can calculate Z values at high speed when plotting a horizontal line to achieve high-speed plotting operation. For Z merging, another image processing apparatus has an image buffer for storing image information per pixel and outputting the stored image information, and a Z buffer for storing depth information per pixel and outputting the stored depth information. <IMAGE>

Description

IMAGE PROCESSING APPARATUSThe present invention relates to an image processing apparatus for use in three-dimensional graphics, the image processing apparatus having a frame buffer for storing image information and depth information per pixel, and more particularly to an image processing apparatus having a frame buffer for storing depth information to compare the depths of a plurality of figures for pattern filling or Z merging.
When a plurality of three-dimensional figures are simultaneously displayed on an image display device, a front figure and a back figure are superposed if all the image information of the figures is displayed. It is therefore necessary to employ a means for determining to which figure image information to be outputted to the image display device belongs pixel by pixel.
Three-dimensional image display systems display information which is composed of image information (I value) and depth information (Z direction information: Z value) that are assigned to each pixel.
When the information is to be displayed, the Z values of the pixels are compared, and the image information of the pixels are compared, and the image information of those pixels which are in the topmost position or front layer is written in an image buffer of a frame buffer.
FIG. 1(A) of the accompanying drawings is a c#i#tua1 representation of a pr?eviously-considered threedimensional image display system. The three-dimensional image display system shown in FIG. 1(A) comprises a Z buffer 1, an image buffer 4, a CRT (Cathode-Ray Tube) 5, a processor 6, and a main memory 7.
The Z buffer 1 and the image buffer 4 are jointly referred to as a frame buffer. The Z buffer 1 includes a Z buffer control circuit 2 and a Z buffer memory 3.
The processor 6 generates and stores plotting data in the main memory 7. The plotting data are composed as a cluster of line segments (straight lines) of three-dimensional data, and converted into two-dimensional projected data, which are written in the image buffer 4 and displayed on the CRT 5.
In plotting data in three-dimensional graphics, a Z buffer data concealing process is generally used in order to produce a two-dimensional projected image.
More specifically, the image buffer 4 stores I values, i.e., the image information of a figure, of respective pixels, and the Z buffer 1 stores Z values, i.e., the depth information of the figure, corresponding to the respective I values stored in the Image buffer 4. The Z buffer control circuit 2 for controlling the Z buffer 1 compares the depth information (Z value) of a certain pixel with the Z value of a pixel that has originally been plotted in the position (as expressed by X and Y coordinates) of that pixel, andLeaves the I and Z values of the pixel which is less deep, i.e., whose Z value is smaller, in the image buffer 4 and the Z buffer, respectively. Therefore, when a three-dimensional object is plotted as a twodimensional image, it is possible to display a naturally represented image whose deeper portions concealed by surfaces and ridges that are in the front position.
FIG. 2(A) of the accompanying drawings illustrates a process of calculating the Z value of each pixel for plotting a desired straight line in the three-dimensional image display system. In the process shown in FIG. 2(A), X and Y coordinates and corresponding Z values of pixels which make up a straight line extending from a starting point having coordinates (Xs, Ys) to an ending point having coordinates (Xe, Ye).
The Z buffer control circuit 2 is given an initial value Zs of the 2 value at the starting-point coordinates (Xs, Vs) and an increment Zi of the Z value between two adjacent pixels. Based on the given values, the Z buffer control circuit 2 calculates theZ values of the respective pixels making up the straight line, from starting-point coordinates (Xs, Ys) to the ending-point coordinates (Xe, Ye).
In addition, the Z buffer control circuit 2 compares each of the calculated Z values with the Z value of a pixel of an image that has originally been present at the corresponding X and V coordinates. If the calculated Z value is smaller than the Z value of the pixel that has originally been present, then the Z buffer control circuit 2 writes the calculated Z value into the Z buffer memory 3, and allows the I value of the corresponding pixel to be written into the image buffer 4, i.e., writes a newly plotted pixel into the image buffer 4. If the calculated Z value is greater than the Z value of the pixel that has originally been present, then the Z buffer control circuit 2 does not update the Z buffer memory 3 and the image buffer 4, and hence keeps the information relative to the origi nally present pixels in the buffer memory 3 and the image buffer 4.
FIG. 1(B) of the accompanying drawings shows the Z buffer control circuit 2 in detail. The Z buffer control circuit 2 includes a Zs register 25, aZi register 26, -a Y address register 28, and an X address register 29. These registers store the into tial value Zs, the increment Zi, the starting-point coordinates (Xs, Ys), and the ending-point coordinates (Xe, Ye) which are given from the processor 6. The Z buffer control circuit 2 also has an adder 22 for successively calculating the Z values of the respective pixels from starting-point coordinates (Xs, Ys) to the ending-point coordinates (Xe, Ye) based on the initial value Zs and the increment Z i, and successively outputting the calculated Z values to an output register 23.The output register 23 successively transmits the calculated Z values Zw to the Z buffer memory 3 through a signal line 20, and also to a comparator 24.
The comparator 24 successively compares the calculated Z values Zw from the output register 23 with Z values Zr of originally present pixels read from the Z buffer memory 3. If a calculated Z valueZw is smaller than a Z value Zr, then the comparator 24 supplies a write permit signal to the Z buffer memory 3 and the image buffer 4 through a signal line 21.
The Z buffer memory 3 and the image buffer 4 write therein a calculated Z value Zw and a corresponding I value at the time a write permit signal is supplied thereto. The addresses where these values are written in the Z buffer memory 3 and the image buffer 4 are determined on the basis of the starting point coordinates (Xs, Ys) to the ending-point coordinates (Xe,. Ye) that are stored in the X and V address registers 29, 28.
Heretofore, the Z buffer data concealing process is carried out with respect to each of the pixels that make up the straight line.
The coordinates of the pixels making up the straight line are calculated by DDA (Digital Differential Analyzer) or the like, which will however not be described below as it has no direct bearing on the present invention. The calculation of the I values of the pixels to be written in the image buffer 4 will no be described below either.
Pattern filling is frequently used in plotting an object as a solid model in three-dimensional graphics. In pattern filling, a surface is processed as a cluster of many horizontal lines as shown in FIG. 2(B) of the accompanying drawings. Since the above calcunation of a Z value per pixel greatly affects the processing time, it has been an obstacle to demands for high-speed image plotting.
The image buffer 4 of the frame buffer generally comprises a dual-port D-RAM '(Dynamic Rando.- Access Memory) called a video RAM. The video RAM has a plotting RAM port and a display SAM (Serial-AccessMemory) port, and writes and holds the I value of one frame through the RAM port, and successively outputs the I values of one scanning line through the SAM port.
The Z buffer 1 of the frame buffer is not required to have an SAM port as the Z values are usedin plotting an image but not in displaying an image.
Therefore, the conventional Z buffer may comprise a dual-port D-RAM with its SAM port made unusable or an inexpensive single-port D-RAM.
FIG. 3 of the accompanying drawings shows apreviously-considered flare buffer having an image buffer and aZ buffer which comprise D-RAMs, respectively. In FIG.
3, each of an image buffer 52 and a Z buffer 54 has aRAM port for communication with a plottingicontrolling unit 50. The image buffer 52 has a SAM port for outputting display data to an image display device (not shown). The Z buffer 54 has no such SAM port.
According to another previaJslyfflnsidered design, a frame buffer is not composed of two D-RAMs, but comprises a single video RAM for storing both Z and I values. The video RAM has an area for storing the Z values and an area for storing the I values, the areas being separately controlled. When an image is to be displayed, the video RAM outputs only the I values from a SAM port.
FIG. 4 of the accompanying drawings shows a prev:Loes1y#isid & d frame buffer which comprises a single video RAM chip. In FIG. 4, both Z and I values are written in a frame buffer 62 that comprises a single video RAM chip. The frame buffer 62 has a RAM port connected to a plotting/controlling unit 60 for inputting and outputting both the Z and I values, and a SAM port for outputting only the I values, but not the Z values.
Addresses of separate areas for storing Z andI values are illustrated in FIGS. 5(A) and 5(B) of the accompanying drawings. As shown in FIG. 5(A), all bits of a row address are used to indicate an address in a Y direction. As shown in FIG. 5(B), the most significant bit of a column address is used as a bit to differentiate the area for storing the Z values from the area for storing the I values, and the loworder 8 bits of the column address are used to indicate an address in an X direction.
There has recentLy been proposed a three diiensional image display system with a Z merging function for displaying a figure with a small depth, i.e., with small Z values, based on a plurality of three-dimensional graphic data after they have been plotted. According to the proposed three-dimensional image display system, the display data of three-dimensional figures that are plotted separately in a plurality of frame buffers are concealed in a Z merging unit, and thereafter a composite image thereof is displayed on an image display device. In order to realize this system, it is necessary to output both the Z and I values from each of the frame buffers.
FIG. 6 of the accompanying drawings shows a display mechanism of a three-dimensional image display system with no Z merging function. With no Z merging function, figures from a plurality of frame buffers cannot be concealed, and an image is displayed on a display unit 82 based on I values outputted from a single frame buffer 80.
FIG. 7 of the accompanying drawings shows a display mechanism of a three-dimensional image display system with a Z merging function. In FIG. 7, a Z merging unit 94 effects a concealing action on Z and I values outputted frox a frame buffer A 90 and Z and I values outputted from a frame buffer B 92, and outputs generated I values to a display unit 96.
The Z merging function allows a figure to be plotted by the plural frame buffers, resulting in high-speed graphic display operation. However, the frame buffers each capable of outputting both Z and I values are required to perform the Z merging function.
An #t#t of a first aspect of the present Invention can provide an image processing apparatus comprising a frame buffer for storing image information and depth information per pixel, the frame buffer comprising an image buffer for simultaneouslystoring image information of a predetermined number ofpixels arranged in a horizontal direction in response to write permit s i g na I s individually given to thepixels, respectively, and a Z buffer for simultaneous- ly outputting stored depth information with respect tothe pixels and simultaneously storing new depth infor ration with respect to the pixels in response to thewrite permit signals, identifying means for identifying whether a condition indicating that an image to beplotted is a horizontal line is satisfied or not, anda plurality of as many write permit signal outputmeans as the predetermined number, for simultaneouslycalculating respective items of new depth informationwith respect to the pixels when the condition issatisfied as identified by the identifying means,comparing the depth information read from the Z bufferwith the calculated depth information, and simultaneously outputting the write permit signals with respectto the respective pixels to the image buffer and the Zbuffer based on the result of comparison.
an animage professing ##tus can calculate Z values at high speed when plotting a horoantal line to achieve high speed plotting pperatim.
An afxdblutofa seond aspeet of the present inventioncan pride an iri## processing apparatus comprising a frame buffer for storing imageinformation and depth information per pixel, the frame buffer comprising, an image buffer for storing the image information per pixel and outputting the stored image information, and a Z buffer for storing the depth information per pixel and outputting the stored depth information.
Such an image processing apparatus can provide frame buffers each capable of outputting both Z and I values for plotting and displaying an image at high speed employing a Z merging function.
An embodiment of a further aspect of the present invention can provide
an image processing apparatus comprising a frame buffer for storing image information and depth information per pixel, the frame buffer comprising a single video RAM chip having a SAM port, writing means for writing the image information and the depth information in the frame buffer according to a row address and a column address which represents identifying information indicative of the image information or the depth information, reading means for distinguishing and alternately reading the image information and the depth information from the SAM port of the framebuffer based on the column address, and serial-toparallel converting means for simultaneously outputting the image information and the depth informationper pixel which are alternately read out of the SAMport.
Reference will be rrrade, by way of exxxple, to the accompaying drawings, in 'ticnt- Fig. 1(A) is a blodr diagram of a previwsly##sidered three-dimensional image display system;FIG. 1(B) is a block diagram of a buffer control circuit in the three-dimensional image display system shown in FIG. 1(A);FIG. 2(A) is a diagram iLLustrative of a process of calculating Z values when a desired straight line is to be plotted;FIG. 2(B) is a diagram illsutrdsadstive of a process of calculating Z values for pattern filling;Fig. 3 is a block diagram of a previously-considered frame buffer having an image buffer and a Z buffer which comprise D-RAMs, respectively;Fig. 4 is a block diagram of a previously-considered frame buffer comprising a single video RAM chip;;FIG. 5(A) is a diagram showing a row address for writing Z and I values in a single video RAM chip;FIG. 5(B) is a diagram showing a column address for writing Z and I values in a single video RAM chip;FIG. 6 is a diagram showing a display mechanism of a three-dimensional image display system with no Z merging function;FIG. 7 is a diagram showing a display mechanism of a three-dimensional image display system with a Z merging function;FIG. 8(A) is a block diagram of an image processing apparatus according to a first embodiment of the present invention;FIG. 8(B) is a block diagram of a buffer control circuit in the image processing apparatus shown in FIG. 8(A);FIG. 9 is a block diagram showing, in specific detail, the buffer control circuit shown in FIG. 8(B);; FIG. 10(A) is a diagram showing the relationship between a starting-point pixel and address boundaries of memories in case the address boundaries are taken into account;FIG. 10(B) is a diagram showing a first calcu- Lation table to be used by calculating circuits in case the address boundaries of memories are taken into account;FIG. 11 is a block diagram of an image processing apparatus according to a second embodiment of the present invention;FIG. 12 is a block diagram of an image proc essing apparatus according to a third embodiment of the present invention;FIG. 13 is a timing chart illustrative of an operation sequence of the image processing apparatus shown in FIG. 12;FIG. 14(A) is a showing a row address of the image processing apparatus shown in FIG. 12; andFIG. 14(B) is a showing a column address of the image processing apparatus shown in FIG. 12.
FIG. 8(A) shows in block form an image processing apparatus according to a first embodiment of the present invention for carrying out pattern filling. Those parts shown in FIG. 8(A) which are identical to those shown in FIG. 1(A) are denoted by identi cal reference numerals, and will not be described in detail below.
As shown in FIG. 8(A), the image processing apparatus includes an image buffer 34 for storing image information (I value) of each pixel. In response to write permit signals supplied from a Z buffer control circuit 32 (described later on), the image buffer 34 simultaneously writes image information of a predetermined number of (m + 1) pixels that are arranged horizontally. The write permit signals are individually given with respect to the respective pixels.
The image processing apparatus also has a Z buffer 31 including a Z buffer memory 33 for storing depth information (Z value) of each pixel corresponding to the image information (I value) stored in the image buffer 34. Stored depth information of the predetermined number of pixels can simultaneously be read out of the Z buffer memory 33. The Z buffer 31 also includes a Z buffer control circuit 32 which has as many Z value calculating circuits (AO N Am) 40 42 as the predetermined number of pixels, as shown inFIG. 8(B).When a plotting mode flag outputted from a plotting mode detector (Fh) 37 (described later on) is "1", then the Z value calculating circuits 40 N 42 simultaneously calculate new respective Z values twO Zwm of the predetermined number of pixels that make up a portion of a horizontal line, and compare Z values ZrO ~ Zrm of corresponding pixels read from theZ buffer memory 33 with the calculated Z values ZwO Zwm. Depending on the result of comparison, the Z value calculating circuits 40 cy 42 simultaneously output respective write permit signals WEO ~ WEm for respective pixels to the image buffer 34 and the Z buffer memory 33.The plotting mode detector (Fh) 37 determines whether an image to be plotted is a horizontal line or not. If the image to be plotted is a horizontal line, then the plotting mode detector (Fh) 37 outputs a plotting mode flag "1". Stated other wise, if one of the Z values ZwO ~ Zwm is smaller than the corresponding one of the original Z values ZrO Zrm, then the corresponding one of the write permit signals WEO cy WEm is set to "1". If not, then the corresponding one of the write permit signals WEO ~ WEm is set to NO.
The write permit signals WEO ~ WEm serve to control the writing of the corresponding pixels into the Z buffer memory 33 and the image buffer 34. If the write permit signals WEO N WEm are "1"1 they permit new values to be written into the Z buffer memory 33 and the image buffer 34. If the write permit signalsWEO ~ WE. are "O", they inhibit new values from being written into the Z buffer memory 33 and the image buffer 34, and keep the originally present values in the Z buffer memory 33 and the image buffer 34.
When a straight line is to be plotted at a desired angle, the image processing apparatus processes data at the same speed as the conventional system which processes data pixel by pixel. When a horizon tal line is to be plotted for pattern filling, howeverr the image processing apparatus processes data very quickly.
As shown in FIG. 8(B), the buffer control circuit 32 comprises a Zs register 35 for storing initial values Zs of the Z values, a Zi register 36 for storing an increment Zi of the Z values, a V register 38 for storing V coordinates of starting and ending points of a straight line, and an X register 39 for storing X coordinates of starting and ending points of a straight line. Data to be stored in these registers are supplied from the processor 6. The buffer control circuit 32 also has a Z; multiplier 45 for generating increments 0, Zi, 2 X Zi, .. 1 (m-1) X Zi based on the increment Zi, and outputting the generated increments to the Z value calculating circuits 40 ~ 42.
The Z buffer control circuit 32 of the circuit arrangement shown in FIG. 8(B) poses no problem if the image buffer 34 and the Z buffer memory 33 can simultaneously be accessed for a predetermined number of addresses from a designated address. Normally, each of the image buffer 34 and the Z buffer memory 33 is arranged such that it is accessed per memory cell block, each memory cell block being composed of as many memory cells as a power of 2. Since the coordinates of starting- and ending-point pixels in plotting a horizontal line are not necessarily the same as address boundaries at the ends of memory cell blocks in the image buffer 34 and the Z buffer memory 331 it is necessary to take this into account in the design of a Z buffer control circuit.
FIG. 9 shows in greater detail the Z buffer control circuit 32 that is designed in view of the above consideration. Those parts shown In FIG. 9 which are identical to those shown in FIG. 8(B) are denoted by identical reference numerals, and will not be described in detail below.
The Z buffer control circuit includes a Zi multiple selector 43 for selecting a necessary multi ple from the Ol Zi, 2 X Zi, ..., Cm-1) X Zi outputted by the Zi multiplier 45 according to a table (described later on), and outputting the selected multi- ply to the Z value calculating circuit 40. An EN generator 44 generates an enable signal EN according the table based on the contents of two low-order bits of an X address supplied from the X register 39. AnAND gate 46 serves to AND an output signal from the EN generator 44 and an output signal from a comparator in the Z value calculating circuit 401 and outputs a write permit signal WEO.The Zi multiple selector 43, the EN generator 441 the AND gate 46, and the Z value calculating circuit 40 jointly make up a circuit 70.
The Z buffer control circuit has other circuits 71 73 each identical to the circuit 70. There are as many circuits 70 ~ 73 as the number of memory cell blocks, i.e., four circuits 70 ~ 73 in this embodiment.
FIG. 10(A) shows the relationship between a starting-point pixel and address boundaries of the image buffer 34 and the Z buffer memory 33. Specifically, FIG. 10(A) shows the relationship between a starting-point pixel and address boundaries at the time a triangular pattern is filled.
In FIG. 10(A), if the image buffer 34 and theZ buffer memory 33 are to be accessed per unit of four pixels with respect to a horizontal line such as a straight line 5 at y=1, it is necessary that the image buffer 34 and the Z buffer memory 33 be accessed three times as shown. When the image buffer 34 and the Z buffer memory 33 are accessed for the first time and finally, it is necessary that the I and Z values of some pixels be not written and their original values be left due to lack of a portion of the horizontalLine. To meet such a requirement, the Zi multiple selector 43 selects a multiple based on the value of two low-order bits of an X coordinate (X address), and the EN generator 44 generates an enable signal EN.
More specifically, if the image buffer 34 and the Z buffer memory 33 are accessed per unit of four pixels while the plotting mode detector (Fh) 37 is outputting a plotting mode flag "1", the accessing corresponds to a horizontal line O in FIG. 10(A) when the two low-order bits of the X coordinate (X address) supplied from the X register 39 are of a value "0" (decimal notation), corresponds to a horizontal line # in FIG. 10(A) when the two low-order bits of the X coordinate (X address) supplied from the X register 39 are of a value "1" (decimal notation), corresponds to a horizontal line ~ in FIG. 10(A) when the two low- order bits of the X coordinate (X address) supplied from the X register 39 are of a value "2" (decimal notation), and corresponds to a horizontal line @ inFIG. 10(A) when the two low-order bits of the X coordinate (X address) supplied from the X register 39 are of a value "3" (decimal notation).
FIG. 10(B) is a first calculation table for determining a multiple and an enable signal EN for first accessing with the Z value calculating circuits AO cy A3 from the values of the two low-order bits of the X coordinates (X addresses). When the value of two low-order bits of an X coordinate (X address) is the the Zi multiple selector 43 in the circuit 70 selects a multiple no", and the Z value calculating circuit (AO) 40 calculates (Zs + 0) and outputs it as a new Z value ZwO to the Z buffer memory 33 according to the first row of the first calculation table ofFIG. 10(B). The EN generator 44 generates an enable signal 1" according to the first calculation table.
Since the AND gate 46 is supplied with the enable signal "1" from the EN generator 441 if the comparator in the Z value calculating circuit 40 outputs a signal "1", indicating that the new Z value ZwO is smaller than the original Z value ZrO, then the AND gate 46 outputs a write permit signal WEO of "1" to the Z buffer memory 33 and the image buffer 34.
Similarly, the Zi multiple selector in the circuit 71 selects a multiple Zi, and the Z value calculating circuit (Al) calculates (Zs + Zi) and outputs it as a new Z value Zw1 to the Z buffer memory 33. The EN generator generates an enable signal "1".
Since the AND gate is supplied with the enable signal "1" from the EN generator, if the comparator in the Z value calculating circuit outputs a signal "1", then the AND gate outputs a write permit signal WE1 of "1" to the Z buffer memory 33 and the image buffer 34.
Likewise, the Zi multiple selector in the circuit 72 selects a multiple 2Zi, and the Z value calculating circuit (A2) calculates (Zs + 2Zi) and outputs it as a new Z value Zw2 to the Z buffer memory 33. The EN generator generates an enable signal "1". Since theAND gate is supplied with the enable signal "1" from the EN generator, if the comparator in the Z value calculating circuit outputs a signal "1", then the AND gate outputs a write permit signal WE2 of Nln to the Z buffer memory 33 and the image buffer 34. Likewise, the Zi multiple selector in the circuit. 73 selects a multiple 3Zi, and the Z value calculating circuit (A3) calculates (Zs + 3Zi) and outputs it as a new Z value Zw3 to the Z buffer memory 33.The EN generator generates an enable signal "1". Since the AND gate is supplied with the enable signal "1" from the EN generator, If the comparator in the Z value calculating circuit outputs a signal "1", then the AND gate outputs a write permit signal WE3 of "1" to the Z buffer memory 33 and the image buffer 34.
Then, when the value of two low-order bits of an X coordinate (X address) Is "1", the Zi multiple selector 43 in the circuit 70 selects a multiple (ZiO), and the Z value calculating circuit (AO) 40 calculates (Zs - ZiO) and outputs it as a new Z vaLueZwO to the Z buffer memory 33 according to the second row of the first calculation table of FIG. 10(B).
However, the EN generator 44 generates an enable signal "0" according to the first calculation table.
Since the AND gate 46 is supplied with the enable signal "O" from the EN generator 441 the AND gate 46 outputs a write permit signal WEO of NO to the Z buffer memory 33 and the image buffer 34 regardless of the output signal from the comparator in the Z value calculating circuit 40. Stated otherwise, as any pixels making up a horizontal line do not exist, the contents of the Z buffer memory 33 and the image buffer 34 are not updated, and hence the problem of inconsistency between the coordinates of a startingpoint pixel and address boundaries in plotting a horizontal line is solved. Operation of the circuits 71 - 73 is similar to the above operation thereof at the time the value of the two low-order bits is NON.
When the value of two low-order bits of an X coordinate (X address) is "2" or "3", the circuits 70 ~ 73 operate in the same manner as above according to the second or third row of the first calculation table of FIG. 10(B).
Any lack of agreement between the coordinates of an ending-point pixel and address boundaries in plotting a horizontal line poses no problem because it can easily be handled under the control of the processor 6. Upon second and subsequent accessing of the Z buffer memory 33 and the image buffer 34, a multiple shown in the first calculation table of FIG. 10(B) is set to (previous multiple + 4Zi) and the enable signalEN is set to "1" except for final accessing.
For plotting a straight line inclined at a certain angle, rather than a horizontal line, i.e., when the plotting mode flag is "O", the Z values are calculated as they are, and only those of the write permit signals WEO ~ WE3 which correspond to designated addresses are set to "1".
In t h r e e - d I m-e n s i on a I g rap h i c s, the above circuit arrangement is highly effective to achieve high-speed plotting because pattern filling, which is a process of plotting horizontal lines, consumes most of the processing time. Inasmuch as it is easy to write and read a plurality of bits simultaneously in and out of the image buffer and the Z buffer memory for plotting horizontal lines, the circuit arrangement may be made relatively simple.
A image processing apparatus according to a second embodiment of the present invention, for use as a three-dimensional image display system with a Z merging function, will be described below.
FIG. 11 shows in block form the image processing apparatus according to the second embodiment. As shown in FIG. 111 an image buffer 112 comprises a video RAM having a RAM port and a SAM port, and a Z buffer 114 comprises a video RAM having a RAM port for inputting Z values from and outputting Z values to a plotting/controlling unit 110 and a SAM port for outputting Z values to a Z merging unit (not shown).
Therefore, the image buffer 112 can output I values, whereas the Z buffer 114 can output Z values.
The image processing apparatus has a plurality of frame buffers each comprising the image buffer 112 and the Z buffer 114. Output signals from the respective frame buffers are transmitted to the Z merging unit. With the plotting process distributed among the frame buffers, it is possible to display images at high speed using the Z merging function.
A image processing apparatus according to a third embodiment of the present invention, for use as a three-dimensional image display system with a Z merging function, with a single video RAM chip for storing both Z and I values, will be described below.
FIG. 12 shows in block form the image processing apparatus according to the third embodiment. As shown in FIG. 12, a frame buffer 122 comprises a single video RAM chip which writes both Z and I values according to a row address and column address, described later, the video RAM chip having RAM and SAM ports. The Z and I values that have been written per pixel in the frame buffer 122 are alternately read out, and outputted to Z and I value output terminals, respectively. Of the Z and I values per pixel, the Z value is outputted from the SAM port earlier than theI value. To the Z value output terminal, there are connected two flip-flops 1261 128 in cascade. One flip-flop 124 is connected to the I value output terminal. If the I value is to be outputted from theSAM port earlier than the Z value, then two flip-flops are connected in cascade to the I value output termi nal, and one flip-flop is connected to the Z value output terminal. These flip-flops operate to effect timing adjustment for outputting the Z and I values per pixel simultaneously to a Z merging unit (not shown)In Fig. 121 for alternately outputting the Z and I values from the SAM port of the frame buffer 122, a plotting/controlling unit 120 writes the corre sponding Z and I values alternately in the frame buffer 122 in the column direction. For reading out the Z and I values from the frame buffer 122, switchins is effected between the Z and I value output terminals to output the read values, using the value of the least significant bit of a column address of the frame buffer 122.In this manner, the Z and I values per pixel can alternately be outputted fro. the frame buffer 122.
FIG. 13 is a timing chart illustrative of a process of adjusting the timing to output the Z and I values with the flip-flops. In FIG. 13, the Z and I values per pixel are alternately outputted from theSAM port of the frame buffer 122. The first flip-flop 126 connected to the Z value output terminal operates at the time the Z value is outputted from the SAM port. The flip-flop 124 connected to the I value output terminal operates at the time the I value is outputted from the SAM port.
The second flip-flop 128 connected to the ftip-flop 126 for Z value operates at the time the I value is outputted from the SAM port, i.e., at the same time that the flip-flop 124 connected to the I value output terminal operates. Therefore, the Z andI values are outputted simultaneously fro. the flipflop 128 and the ftip-flop 124, respectively.
FIGS. 14(A) and 14(B) show addresses for alternately outputting the Z and I values per pixel. InFIGS. 14(A) and 14(B), all bits of a row address are used to designate an address in the Y direction, the least significant bit of a column address is used to represent information indicative of either an address relative to the Z value or an address relative to theI value, and the eight high-order bits of the column address are used to designate an address in the X direction.
If the least significant bit of a column address of data read out of the frame buffer 122 is Or for example, then the data is identified as the Z value. If the least significant bit of a column address of data read out of the frame buffer 122 is "1", for example, then the data is identified as the I value.
The image processing apparatus may comprise a plurality of frame buffers 122, and output signals from the respective frame buffers may be transeitted to a Z merging unit. With the plotting process distributed among the frame buffers, it is possible to display images at high speed using the Z merging function.
The foregoing is considered as illustrative only of the principles of the present invention.
Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and applications shown and described, and accord tingly, all suitable modifications and equivalents may be regarded as falling within the scope of the invention in the appended claims and their equivalents.

Claims (12)

CIA:
1. An image processing apparatus comprising:a frame buffer for storing image information and depth information per pixel;said frame buffer comprising:an image buffer for simultaneously storing image information of a predetermined number of pixels arranged in a horizontal direction in response to write permit signals individually given to said pixels, respectively; anda Z buffer for simultaneously outputting stored depth information with respect to said pixels and simultaneously storing new depth information with respect to said pixels in response to said write permit signals;identifying means for identifying whether a condition indicating that an image to be plotted is a horizontal line is satisfied or not; anda plurality of as many write permit signal output means as said predetermined number, for simul- taneously calculating respective items of new depth information with respect to said pixels when said condition is satisfied as identified by said identifying means, comparing the depth information read from said Z buffer with the calculated depth information, and simultaneously outputting the write permit signals with respect to the respective pixels to said image buffer and said Z buffer based on the result of com parson.
2. An image processing apparatus according to claim 1, wherein said condition comprises a condition for effecting pattern filling when an object is plotted as a solid model in three-dimensional graphics.
3. An image processing apparatus according to claim 1 or 2, #in said write permit signal output means comprise means for calculating the respective items of new depth information with respect to said pixels based on depth information of pixel at an end point of a horizontal line to be plotted and information with respect to a change in depth between adjacent pixels when said condition is satisfied as identified by said identifying means.
4. An image processing apparatus according to claim 1, 2, or 3, wherein said write permit signal > t m3ms comprise means for outputting said write permit signals when said calculated depth information represents a depth smaller than the depth represented by said depth information read from said Z buffer.
5. An image processing apparatus according to claim 1, 2 or 3, #in said write permit signal output meanscomprise means for failing to output said write permitsignals when any of pixels making up a horizontal lineto be plotted are not to be processed by the writepermit signal output means.
6. An image processing apparatus comprising:a frame buffer for storing image informationand depth information per pixel;said frame buffer comprising:an image buffer for storing the imageinformation per pixel and outputting the stored imageinformation; anda Z buffer for storing the depth information per pixel and outputting the stored depth information,
7.An image processing apparatus comprising:a plurality of frame buffers each for storingimage information and depth information per pixel;each of said frame buffers comprising:an image buffer for storing the imageinformation per pixel and outputting the stored imageinformation; anda Z buffer for storing the depth information per pixel and outputting the stored depth information; and Z merging means connected to said frame buffers, for determining relative front and back positions of figures represented by the image information stored in the image buffers, based on the depth information outputted by the Z buffers of the respective frame buffers.
8. An image processing apparatus comprising:a frame buffer for storing image information and depth information per pixel, said frame buffer comprising a single video RAM chip having a SAM port;writing means for writing the image information and the depth information in said frame buffer according to a row address and a column address which represents identifying information indicative of the image information or the depth information;reading means for distinguishing and alternately reading the image information and the depth information from the SAM port of said frame buffer based on said column address; andserial-to-parallel converting means for simultaneously outputting the image information and the depth information per pixel which are alternately read out of said SAM port.
9. An image processing apparatus according to claim 81 wherein said column address has a least significant bit, said identifying information being represented by said least significant bit of the column address.
10. An image processing apparatus according toclaim8 cr9, #frrein said serial-to-parallel converting means comprises a single flip-flop for outputting one of said image information and said depth information, and two cascaded flip-flops for outputting the other of said image information and said depth information.
11. An image processing system comprising:a plurality of image processing apparatus each comprising:a frame buffer for storing image information and depth information per pixel said frame buffer comprising a single video RAM chip having a SAM port;writing means for writing the image information and the depth information In said frame buffer according to a row address and a column address which represents identifying information indicative of the image information or the depth information;reading means for distinguishing and alternately reading the image information and the depth information from the SAM port of said frame buffer based on said column address; and serial-to-parallel converting means for simultaneously outputting the image information and the depth information per pixel which are alternately read out of said SAM port; anda plurality of Z merging means connected respectively to said image processing apparatus, for determining relative front and back positions of figures represented by the image information stored in the image buffers, based on the depth inforoation outputted by said serial-to-parallel converting means.
12. Image processing apparatus substantially as hereinbefore described with reference to Figures 8(A), 8(B), 9, 10(A) and lO(B), or to Figure 11, or to Figures 12, 13, 14(A) and 14(B) of the accompagying drawings.
GB9315283A1992-07-241993-07-23Image processing apparatusExpired - Fee RelatedGB2269081B (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
GB9607952AGB2299919B (en)1992-07-241993-07-23Image processing apparatus

Applications Claiming Priority (2)

Application NumberPriority DateFiling DateTitle
JP4197338AJPH0644385A (en)1992-07-241992-07-24 Z buffer control circuit
JP4278666AJPH06131247A (en)1992-10-161992-10-16 Frame buffer

Publications (3)

Publication NumberPublication Date
GB9315283D0 GB9315283D0 (en)1993-09-08
GB2269081Atrue GB2269081A (en)1994-01-26
GB2269081B GB2269081B (en)1997-03-12

Family

ID=26510307

Family Applications (1)

Application NumberTitlePriority DateFiling Date
GB9315283AExpired - Fee RelatedGB2269081B (en)1992-07-241993-07-23Image processing apparatus

Country Status (2)

CountryLink
US (1)US5621866A (en)
GB (1)GB2269081B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
EP1193650A2 (en)2000-09-292002-04-03Matsushita Electric Industrial Co., Ltd.Apparatus for painting figure
EP1705929A4 (en)*2003-12-252007-04-04Brother Ind Ltd IMAGE DISPLAY DEVICE AND SIGNAL PROCESSING DEVICE

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
GB2267203B (en)*1992-05-151997-03-19Fujitsu LtdThree-dimensional graphics drawing apparatus, and a memory apparatus to be used in texture mapping
US5596686A (en)*1994-04-211997-01-21Silicon Engines, Inc.Method and apparatus for simultaneous parallel query graphics rendering Z-coordinate buffer
US5801670A (en)*1995-06-061998-09-01Xerox CorporationImage generation system having a host based rendering element for generating seed pixel values and mesh address values for display having a rendering mesh for generating final pixel values
US5767856A (en)*1995-08-221998-06-16Rendition, Inc.Pixel engine pipeline for a 3D graphics accelerator
JP2976945B2 (en)*1997-09-111999-11-10日本電気株式会社 Image drawing device
US6747645B1 (en)*1998-03-132004-06-08Hewlett-Packard Development Company, L.P.Graphics memory system that utilizes detached-Z buffering in conjunction with a batching architecture to reduce paging overhead
US6476807B1 (en)*1998-08-202002-11-05Apple Computer, Inc.Method and apparatus for performing conservative hidden surface removal in a graphics processor with deferred shading
US6771264B1 (en)*1998-08-202004-08-03Apple Computer, Inc.Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
JP3907891B2 (en)*1999-11-112007-04-18富士フイルム株式会社 Image capturing apparatus and image processing apparatus
US20030164842A1 (en)*2002-03-042003-09-04Oberoi Ranjit S.Slice blend extension for accumulation buffering
US7599044B2 (en)2005-06-232009-10-06Apple Inc.Method and apparatus for remotely detecting presence
US7242169B2 (en)*2005-03-012007-07-10Apple Inc.Method and apparatus for voltage compensation for parasitic impedance
US9298311B2 (en)*2005-06-232016-03-29Apple Inc.Trackpad sensitivity compensation
US7577930B2 (en)2005-06-232009-08-18Apple Inc.Method and apparatus for analyzing integrated circuit operations
US7433191B2 (en)*2005-09-302008-10-07Apple Inc.Thermal contact arrangement
US7598711B2 (en)*2005-11-232009-10-06Apple Inc.Power source switchover apparatus and method

Citations (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
EP0360903A1 (en)*1988-09-291990-04-04Kabushiki Kaisha ToshibaDepth information buffer control apparatus
US5001470A (en)*1987-04-301991-03-19Kabushiki Kaisha ToshibaThree-dimensional display apparatus
EP0467394A2 (en)*1990-07-201992-01-22Kabushiki Kaisha ToshibaGraphic processor

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US4347587A (en)*1979-11-231982-08-31Texas Instruments IncorporatedSemiconductor integrated circuit memory device with both serial and random access arrays
US4725831A (en)*1984-04-271988-02-16Xtar CorporationHigh-speed video graphics system and method for generating solid polygons on a raster display
US5043714A (en)*1986-06-041991-08-27Apple Computer, Inc.Video display apparatus
US4882683B1 (en)*1987-03-161995-11-07Fairchild SemiconductorCellular addrssing permutation bit map raster graphics architecture
US5029105A (en)*1987-08-181991-07-02Hewlett-PackardProgrammable pipeline for formatting RGB pixel data into fields of selected size
US5170468A (en)*1987-08-181992-12-08Hewlett-Packard CompanyGraphics system with shadow ram update to the color map
US4970499A (en)*1988-07-211990-11-13Raster Technologies, Inc.Apparatus and method for performing depth buffering in a three dimensional display
US4951229A (en)*1988-07-221990-08-21International Business Machines CorporationApparatus and method for managing multiple images in a graphic display system
US4951232A (en)*1988-09-121990-08-21Silicon Graphics, Inc.Method for updating pipelined, single port Z-buffer by segments on a scan line
JP3028963B2 (en)*1988-09-212000-04-04株式会社東芝 Video memory device
US5159663A (en)*1988-11-221992-10-27Wake Robert HImager and process
US5063533A (en)*1989-04-101991-11-05Motorola, Inc.Reconfigurable deinterleaver/interleaver for block oriented data
US5043921A (en)*1989-10-231991-08-27International Business Machines CorporationHigh speed Z-buffer control
KR950003605B1 (en)*1990-04-271995-04-14가부시키가이샤 도시바 Semiconductor memory
US5121360A (en)*1990-06-191992-06-09International Business Machines CorporationVideo random access memory serial port access
US5179372A (en)*1990-06-191993-01-12International Business Machines CorporationVideo Random Access Memory serial port access
JPH07118025B2 (en)*1990-06-291995-12-18インターナショナル・ビジネス・マシーンズ・コーポレイション Computer graphics processing method and system
US5301263A (en)*1990-09-181994-04-05Hewlett-Packard CompanyHigh memory bandwidth system for updating z-buffer values
US5420972A (en)*1990-11-151995-05-30International Business Machines CorporationMethod and apparatus for rendering lines
JPH0785219B2 (en)*1990-11-151995-09-13インターナショナル・ビジネス・マシーンズ・コーポレイション Data processing system and data control method
US5274760A (en)*1991-12-241993-12-28International Business Machines CorporationExtendable multiple image-buffer for graphics systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US5001470A (en)*1987-04-301991-03-19Kabushiki Kaisha ToshibaThree-dimensional display apparatus
EP0360903A1 (en)*1988-09-291990-04-04Kabushiki Kaisha ToshibaDepth information buffer control apparatus
EP0467394A2 (en)*1990-07-201992-01-22Kabushiki Kaisha ToshibaGraphic processor

Cited By (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
EP1193650A2 (en)2000-09-292002-04-03Matsushita Electric Industrial Co., Ltd.Apparatus for painting figure
EP1193650A3 (en)*2000-09-292007-12-12Matsushita Electric Industrial Co., Ltd.Apparatus for painting figure
EP1705929A4 (en)*2003-12-252007-04-04Brother Ind Ltd IMAGE DISPLAY DEVICE AND SIGNAL PROCESSING DEVICE
US8089506B2 (en)2003-12-252012-01-03Brother Kogyo Kabushiki KaishaImage display apparatus and signal processing apparatus

Also Published As

Publication numberPublication date
US5621866A (en)1997-04-15
GB9315283D0 (en)1993-09-08
GB2269081B (en)1997-03-12

Similar Documents

PublicationPublication DateTitle
US5621866A (en)Image processing apparatus having improved frame buffer with Z buffer and SAM port
US6819328B1 (en)Graphic accelerator with interpolate function
US4967392A (en)Drawing processor for computer graphic system using a plurality of parallel processors which each handle a group of display screen scanlines
US4648049A (en)Rapid graphics bit mapping circuit and method
EP0613098B1 (en)Image processing apparatus and method of controlling the same
US4984183A (en)Graphics display controller for transferring figure data to overlapping portions of destination area and drawing-enable area defined by clipping rectangle
JPS61230477A (en)Picture converter
EP0827114B1 (en)Method and apparatus for texture data
JPH0355832B2 (en)
US5714975A (en)Apparatus and method for generating halftoning or dither values
CN86105738A (en) TV monitor control circuit wiring
JPH0562348B2 (en)
CN113934393B (en)FPGA-based image transformation method and aircraft cabin display system
GB2299919A (en)Image processing apparatus
US5305431A (en)Method and system for rendering polygons on a raster display
JPS61290486A (en)Display controller
JPH0697388B2 (en) Image display device
JPH07118006B2 (en) Image processing device
JP2708841B2 (en) Writing method of bitmap memory
SU1072092A1 (en)Device for formiing image on ty receiver scrreen
JPH0374071B2 (en)
JPS58129473A (en) Memory control method
JPS6362750B2 (en)
JPH0765198A (en) Image memory device
JPH04329482A (en)Image rotation processing method and processing device for relevant method

Legal Events

DateCodeTitleDescription
PCNPPatent ceased through non-payment of renewal fee

Effective date:20030723


[8]ページ先頭

©2009-2025 Movatter.jp