WO1991011774A1 - Video image creation system - Google Patents

Video image creation system Download PDF

Info

Publication number
WO1991011774A1
WO1991011774A1 PCT/GB1991/000172 GB9100172W WO9111774A1 WO 1991011774 A1 WO1991011774 A1 WO 1991011774A1 GB 9100172 W GB9100172 W GB 9100172W WO 9111774 A1 WO9111774 A1 WO 9111774A1
Authority
WO
WIPO (PCT)
Prior art keywords
pixels
image
pixel
data
storage means
Prior art date
Application number
PCT/GB1991/000172
Other languages
French (fr)
Inventor
Michael Joseph Kemp
Original Assignee
Spaceward Holdings Limited
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
Application filed by Spaceward Holdings Limited filed Critical Spaceward Holdings Limited
Publication of WO1991011774A1 publication Critical patent/WO1991011774A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves

Definitions

  • This invention relates to video image creation systems and their methods of operation and in particular to systems for simulating drawing and painting with artists implements.
  • a 1 bit patch of pixels 2 or bit-mask representing a brush or some other drawing implement is positioned on a video image under the control of a tablet and stylus.
  • the patch of pixels representing the brush are used to write • into a frame store 4 from which the image is displayed, at co-ordinates derived from the tablet and stylus.
  • a designated colour assigned to the brush will be written into those pixels and in a rronochrorne system a designated level of intensity. Since the bit-mask through which colour is applied is only 1 bit the pixels in the brush can only apply full colour or no colour. No intermediate levels are possible.
  • any graphics application whether it be for the production of television images or for hard copy, it is desired to generate pictures to a pre-specified resolution, without the aliasing effect described above.
  • a video image creation system comprising means for storing image data at a first resolution means for writing new data into selected pixels of the storage means under the control of a bit-mask, and means for displaying the image at a second lower resolution wherein each pixel in the display means displays an image portion derived from a group of pixels in the storage means.
  • Figure 1 shows the prior art method of drawing and displaying an aliased image in a frame store.
  • Figure 2 shows how an anti-aliased image can be generated in accordance with the invention by displaying an aliased image at a lower resolution
  • FIG. 3 shows circuitry for a system embodying the invention
  • Figure 4 shows how image data can be stored in accordance with the invention
  • Figure 5 shows schematically how a user selects a portion of an image in a frame store to work in on an er ⁇ im ⁇ nt of the invention.
  • Figure 6 shows schematically how the portion selected in Figure 5 is enlarged to fill a second frame store;
  • Figure 7 shows schematically the mapping of pixels from the frame store of Figure 5 to the second frame store of Figure 6;
  • Figure 8 shows schematically the user working on an image in the second frame store
  • Figure 9 shows schematically how the enlarged portion of the image is mapped back into the first frame store
  • Figure 10 shows a gaussian distribution associated with a irst airbursh einbodying the invention
  • Figure 11 shows a flow diagram for the application of a first type of airbrush embodying the invention.
  • Figure.12 shows a flow diagram for the application of a second type of irbursh embodying the invention.
  • the invention proposes the use of a frame store of a higher resolution than is desired for a particular application.
  • the aliased drawing techique described above can now be applied within the higher resolution frame store producing jagged edges at the finer precision of the higher resolution.
  • the frame store contents must be scanned through a down-conversion filter to the required resolution.
  • the desired resolution is a horizontal resolution of 720 pixels and a vertical resolution of 576 pixels, with 8-bits of precision for each of red, green and blue or a full colour system, these techniques are applicable for any desired resolution.
  • Figure 2 shows a double resolution frame store 8 of 1440 by 1152 pixels with an aliased black line drawn in on a white background.
  • the close-up 10 shows part of a jagged aliased edge.
  • the frame store is displayed at the desired resolution of 720 by 576 by averaging groups of 4 pixels of the frame store 10 to produce each pixel of the display.
  • the four pixels in the top left hand corner of frame store 10 will be averaged to produce the image data for the top left hand pixel in the display. For example, if all 4 source pixels are black the resultant pixel is black, if one is white the resultant is dark grey, etc.
  • the resultant edge appears to be ree of aliasing and the eye sees an edge with the apparent resolution of the original frame store of 1440 by 1152.
  • an original resolution of 2880 by 2304 can be filtered down by averaging groups of 16 pixels to produce even better results.
  • Progressing to yet higher resolutions can produce even better results but it has been found that beyond the 4:1 linear ratio rurther improvements are rriinimal and the expense of implementing them is not worthwhile.
  • FIG. 3 An embodiment of the invention is shown in Figure 3. This shows how one colour component of a 2:1 linear oversampling system is provided by having 4 identical standard (720 x 576 pixels) resolution frame stores 22, 24, 26, 28 each producing a standard video ouput 30, 32, 34, 36. These outputs are produced in synchronism by scan circuitry 38, 40, 42, 44 under the control of genlock circuitry 46 according to known techniques. The outputs are summed in adders 48, 50, 52 to produce a 10 bit output from the original 8 bit data at outputs 30, 32, 34, 36. Bbwever, a computer 54 controlling the system sees the frame stores not as four separate ones but as one single frame store.
  • the computer's address generator produces a row address (or scan line address) on data line 56 and a column addresses on data line 58. All address data expect for the least significant bits of both addresses are supplied to all the stores in parallel.
  • the least significant bit (LSB) of the column address is used to select between the left hand two stores and the right hand two stores and the LSB of the row data 10 is used to select between the top two and the bottom two stores.
  • the computer 54 will ⁇ xink it is addressing a single store of double the width whilst actually addressing alternately the left and right hand stores.
  • Each scan line of pixels will be written either into the top pair of stores 22, 24 or the bottom pair of stores 26, 28 as the LSB of the row address toggles between 1 and 0 with each successive line.
  • Figure 4 shows how video data is read into the stores, and in particular how 10 bit incxaming data at standard resolution can be encoded into the stores.
  • 10-bit data 60 is split into the highest 8 bits and the least significant two bits.
  • the 8 MSB's are split into 4 paths 62, 64, 66, 68 one to each store.
  • the two LSB's are supplied to a decoder 70 which has four outputs each of which is responsive to one of the 4 possible values of the two LSB's. These outputs are connected via a pair of OR gates 71 to adders 72,74 and 76. If the value is 0 no change is made to any of the four 8 bit data paths. If the value is one then path 64 has 1 added to it in adder 72. If the value is 2, both paths 64 and 66 have 1 added is adders 72 and 74 respectively. If the value is 3 then paths 64, 66 and 68 have one added to them is adders 72, 74 and 76 respectively.
  • Adders 72, 74, 76 are arranged so that in the event of an overflow the output value is set to the rnaximum value. Thus if the incoming data has a value of 255, the additional 1 bit added makes no difference to the data.
  • This input circuitry is for standard resolution input video. If higher resolution input were supplied then a similar addressing scheme of using the LSB'S of the row and column addresses to toggle the input between the frame stores would be used.
  • the LSB's of the row and column addresses must be used to toggle the input between the frame stores.
  • This method of producing an anti-aliased sharp edge has the advantage over previously published methods such as that described in GB 2,089, 625 in that repeated drawing over the same edge produces no degradation to the anti-aliased image. It can be seen that repeated applications in the high resolution frame store produce no change to the edge of the line since data is always overwritten with the same value, and thus the filtered down output remains unchanged. In the method of GB 2, 089, 625 such repeated drawing eventually destroys the anti-aliased edge producting a jagged result.
  • each application of the brush produces only a small proportional change of the colour in the store towards the new colour for each pixel of the _Q_
  • the user can be allowed to select the actual interpolation factor used either overall for a line or by means of using the pressure applied to the pen to change the ratio.
  • the pressure applied to the pen can alternatively be used to select between different brush shapes, of say different sizes. Another use of the pressure can be to control the number of applications at each pixel location before the shape is advanced to the next pixel.
  • the user can then draw over the zoomed-up image using the basic aliased drawing tools 96 (1 bit bit-mask) described herein.
  • the image he is creating in frame store 90 via monitor 88 as an aliased image whilst he draws since there is no hardware to provide a real-time display of the anti-aliased results.
  • Drawing is typically done under the control of the tablet and ' stylus 80.
  • the user instructs the computer and the groups of pixels are averaged and replaced in the appropriate portion of the original image in the other frame store or on disk as shown in Figure 9.
  • the user can now see that the image is anti-aliased at a resolution related to the zoom factor he used. Note that pixels which have not been painted remain unchanged by the zoom back as the average exactly balances the zoom up. Modified pixels may result in additional precision bits which can be discarded or rounded up by a variety of techniques to the desired frame-store resolution.
  • an area around the pen is automatically zoomed up to a higher resolution in to an area of memory not visible to the user.
  • the brush is written into the memory with the aliased drawing algorithm, and after each brush is applied the image is zoomed down to its original resolution and back into a visible standard resolution store. This allows the user to see the progress of his drawing.
  • the zoomed up image has already been written back with each brush application, so it is only necessary to zoom up the new pixels covered by the moved area around the brush into the invisible store, while discarding the zoomed up image coresponding to the pixels which we have now moved away from.
  • the area to be zoomed up can be as small as a rectangle completely encompassing the size of the brush in use.
  • FIG. 1 represents a circular pen tip.
  • Other pen types such as slanted nibs can be implemented with different shaped bit-masks.
  • a randomised distribution often called a "spatter brush” can be used.
  • This spatter brush has an effect similar to an airbrush with a very course ink spatter. Pixels in the bit-mask are either set or not set (1 or 0) and the ink spots simulated are the size of the high resolution pixels.
  • the effective simulation is of either large spots of ink with a low opacity or spots of ink much smaller than a high resolution pixel of opaque ink. When this pen is observed at the lower standard resolution the airbrush effect is heightened.
  • spatter brush above suffers from a major disadvantage in that each application of the random pattern is in fact the same random pattern. Thus as the pen is moved a sequence lines from each scattered point will be generated, rather like a paint-brush with many errant hairs leaving their own trails.
  • This problem can be eliminated by generating a true random distribution for each application of the brush. This can be done by several methods some of which are described here.
  • a probability distribution is generated in the form of a 3-dimensional curve of the type shown in Figure 10 with the x and y coordinates of the brush shape forrning the base of the curve and with the probability of ink reaching a pixel as the height of the curve of the 3-d shape.
  • This typcially is a gaussian curve although it is allowed to deacy to zero around the edge of the brush for practical reasons.
  • FIG. 11 A flow chart showing how the brush is applied is illustrated in Figure 11 and the steps are as follows. Initially 100, coordinates x and y are set to zero. These are used for pixel locations within a brush patch. For each pixel in the brush patch a random number is generated 102 and this is compared with the height of the probability shaped curve. If the probablity shape curve is greater than the random number ink is deposited 106 in this pixel, otherwise it is not. The x coordinate is then incremented 108 and the process repeated until the edge of the patch is reached 110. The y co-ordinates is then incremented 112 in steps of one pixel. If the co-ordinate is still within the patch 114 then x co-ordinate is reset to zero 116 and the process started again for the next line of pixels in the patch.
  • the probability curve reaches a maximum corresponding to the maximum random number that can be generated in the system the probability of application becomes a near certainty. For every pixel in the area around the brush this operation is performed producing a truly random distribution across the area corresponding to the desired probability distribution. Subsequent applications produce new random distributions causing build up of ink according to the desired random distribution. Where every ink application is only a small proportion of a 100% repalcement this effect is very similar to an airbrush even at the resolution of the framerstore. Where the method of supersampling described above is used in addition the effect becomes even more realistic.
  • pressure can be used to control the size of the random number generated for each pixel so that a higher pressure increases the probability of a pixel hit. This can be done by multipying the random number generator output by the pressure value.
  • a quasi random distribution can be acheived by having multiple distributions according to the desired probability distribution pre-stored as different brush shapes which can be selected either at random or in sequence for successive brush applications.
  • the pressure value must either change the proportion of ink applied on each pixel hit or further select between pre-calculated distributions of pixel hits.
  • FIG. 1 Another method of generating truly random airbrushes is as follows. Ink is applied at a constant rate to selected pixels in the frame store one by one. The pixels are chosen at random with a probability distribution around a central target pixel in the brush. A flow diagram illustrating this method of randomly depositing ink in pixels one by one is shown in Figure 12. Co-ordinates (X, Y) from a touch tablet and stylus are first read into the computer 120. Pixel co-ordinates (x, y) relative to (X,Y) are then generated according to a gaussian distribution centered on (X,Y).
  • An optional delay 126 may be included in the sytem according to the flow chart and this would preferably be controllable either by stylus pressure on some other means to vary the rate at which image data is written to the pixels.
  • the ink or paint is applied to the image in a pixel of the frame store whose co-ordinates are (X+x, Y+y) 128. Whilst the stylus remains 'in pressure' 130 this loop of the flow chart will be re-executed thus gradually building up ink or paint in a gaussian distribution around the co-ordinates (X,Y) until a desired amount of ink has been deposited.
  • a generally circular gaussian distribution is achieved by having separable gaussian functions in each of the x and y directions.
  • Computer algorithms for generating such a gaussian distribution are described in 'Semi-numerical algorithms' D.E. Knuth, 2nd. Ed. 1981.
  • the selected pixels will be clustered around the target or central pixel.
  • a technique now described to produce acceptable results is to generate a semi-random digital number with a linear distribution in the range 0 - 65535 by well known techniques.
  • the lower 12 bits of this random number are used to address a 4096 byte look-up-table which is preloaded with bytes in the range 0 - 255. Any particular entry in the table is thus selected with an equal probability.
  • the entry selected is used to provide the offset in the x direction of a selected pixel from the stylus location.
  • the value 0 (no offset) is say 8 times as likely to occur than the value 255 (maximum offset)
  • 0 is entered at eight times as many locations in the table as the value 255 is entered.
  • the top bit of the original random number is used to generate a sign bit for the resultant value thus generating a random distibution between - 255 and + 255 with a distribution determined by the frequency at which numbers appear in the table. This may be calculated for a gaussian distribution.
  • a similar arrangement deter ⁇ rines the offset of a selected pixel in the y direction.
  • Table 1 This shows the number of occurrences of each number in the range 0 - 114 which will be required to produce a gaussian distribution in this range.
  • the rate of applying ink can be varied, or the proportion on ink applied at each bit can be varied.
  • the delay 126 may be varied with pressure.
  • Another way of using pressure would be to vary the width/fineness of the airbrush with the width of the gaussian distribution controlled by pressure.
  • Other probability distributions give other shapes which may be used as desired.
  • a further technique benefitting from this higher resolution approach to image creation is a 1-bit cut and paste technique, where an otherwise high resolution aliased join between two images will appear at a standard lower resolution as a anti-aliased edge.
  • the spatter or airbrush technique could be used to 'airbrush' a portion of an image from a first frame store into an image in a second frame store by varying the ink colour used for writing into the store on a pixel by pixel basis, using for each pixel the colour in the matching pixel in the second frame store which contains a second image. Furthermore, a (x,y) displacement can be applied when reading from the second frame store to effect a shift in the image position.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

A video image creation system has means (22, 24, 26, 28) for storing image data at a first resolution. Means (54) for writing data into selected pixels of the storage means are provided and these may be under the control of a manually operable means. A display means (88) has a second lower resolution and each pixel in the display means displays an image portion derived from a group of pixels in the storage means. If the system is to simulate drawing with artists implements, the implement is represented by a group of pixels at a third higher resolution than the stored image. If the implement is to be written into the storage means at a particular location the stored image is enlarged to the same resolution as the implement, image data in the enlarged portion is replaced with image data derived from the pixels in the group, and image data for pixels in the stored image is derived from groups of pixels in the enlarged portion. An airbrush can be simulated by assigning a probability density function to a group of pixels representing the airbrush, positioning the group over a desired portion of the stored image and generating a random number for each pixel in the group. The random number is compared with the probability density function value for each pixel and new data written to that pixel in accordance with the result of the comparison. Another airbrush may be simulated by selecting a coordinate location where the airbrush is to be applied, randomly selecting a displacement from that location and then writing new image data to a pixel at that displacement.

Description

VIDBO IMAGE CKEaTICN SYSTEM
This invention relates to video image creation systems and their methods of operation and in particular to systems for simulating drawing and painting with artists implements.
In the past painting and drawing systems have simply used overwriting techniques to simulate painting and drawing as shown in figure 1. A 1 bit patch of pixels 2 or bit-mask representing a brush or some other drawing implement is positioned on a video image under the control of a tablet and stylus. When the stylus is pressed down or put "in pressure" the patch of pixels representing the brush are used to write into a frame store 4 from which the image is displayed, at co-ordinates derived from the tablet and stylus. In a colour system a designated colour assigned to the brush will be written into those pixels and in a rronochrorne system a designated level of intensity. Since the bit-mask through which colour is applied is only 1 bit the pixels in the brush can only apply full colour or no colour. No intermediate levels are possible.
As the stylus is moved across the tablet a sequence of brushes is deposited leaving a line in the rame store in the chosen colour as illustrated at 6. If the pen is moved slowly enough for a brush to be deposited for every pixel moved by the stylus a continuous line is drawn. It is also a known technique to provide a brush for every pixel step in the line even when the pen is moved too fast for the computer to keep up thus preventing the line from becoming fragmented.
The drawback always encountered with lines drawn using this technique is that the lines, although sharp, show aliased (or stepped) edges. For instance a line nearly horizontal will lie on a horizontal line of the frame store until the pen has moved a pixel's width vertically. Then the brushes will jump up one pixel and continue along the next higher horizontal line of the frame store.
One solution to the aliasing problem has been proposed in GB 2,089,625. In this the patch of pixels through which colour is written into the frame store has one or more intermediate value assigned to each pixel. When a pixel has a "1" assigned to it then full colour will be written into the frame store. When the value is a "0" the pixel in the frame store will be unchanged. Intermediate values will result in the final value written into the pixel being formed partially from the orginal background colour and partially from the brush colour in proportions dependent upon the intermediate value.
Using such a system it is possible to create brushes which more accurately simulate artists implements. This is achieved by varying the values in the patch across the patch thereby enabling a gradual transition from background colour to painting colour to be achieved. This is equivalent to giving the brush a profile or "shape" which is stored.
It will be appreciated that a different brush profile has to be stored in memory for each brush provided in a system at the desired precision e.g. 8 bits. Another drawback is the fact that each pixel in the patch has to be processed separately when a brush is being written into the frame store. Thus, unless a fast microprocessor, or dedicated hardware is used it will not be possible to simulate real time drawing or painting.
In any graphics application, whether it be for the production of television images or for hard copy, it is desired to generate pictures to a pre-specified resolution, without the aliasing effect described above.
According to one aspect of the present invention there is provided a video image creation system comprising means for storing image data at a first resolution means for writing new data into selected pixels of the storage means under the control of a bit-mask, and means for displaying the image at a second lower resolution wherein each pixel in the display means displays an image portion derived from a group of pixels in the storage means.
Further aspects of the invention are defined in the appended claims to which reference should now be made.
The invention will now be described in detail by way of example with reference to the drawings in which:
Figure 1 shows the prior art method of drawing and displaying an aliased image in a frame store.
Figure 2 shows how an anti-aliased image can be generated in accordance with the invention by displaying an aliased image at a lower resolution;
Figure 3 shows circuitry for a system embodying the invention;
Figure 4 shows how image data can be stored in accordance with the invention;
Figure 5 shows schematically how a user selects a portion of an image in a frame store to work in on an er± imεnt of the invention. Figure 6 shows schematically how the portion selected in Figure 5 is enlarged to fill a second frame store;
Figure 7 shows schematically the mapping of pixels from the frame store of Figure 5 to the second frame store of Figure 6;
Figure 8 shows schematically the user working on an image in the second frame store;
Figure 9 shows schematically how the enlarged portion of the image is mapped back into the first frame store;
Figure 10 shows a gaussian distribution associated with a irst airbursh einbodying the invention;
Figure 11 shows a flow diagram for the application of a first type of airbrush embodying the invention; and
Figure.12 shows a flow diagram for the application of a second type of irbursh embodying the invention.
The invention proposes the use of a frame store of a higher resolution than is desired for a particular application. The aliased drawing techique described above can now be applied within the higher resolution frame store producing jagged edges at the finer precision of the higher resolution. However to meet the required lower resolution of the application the frame store contents must be scanned through a down-conversion filter to the required resolution.
Although all descriptions in this application will consider a television application where the desired resolution is a horizontal resolution of 720 pixels and a vertical resolution of 576 pixels, with 8-bits of precision for each of red, green and blue or a full colour system, these techniques are applicable for any desired resolution.
Figure 2 shows a double resolution frame store 8 of 1440 by 1152 pixels with an aliased black line drawn in on a white background. The close-up 10 shows part of a jagged aliased edge. Using the method of the invention the frame store is displayed at the desired resolution of 720 by 576 by averaging groups of 4 pixels of the frame store 10 to produce each pixel of the display. Thus the four pixels in the top left hand corner of frame store 10 will be averaged to produce the image data for the top left hand pixel in the display. For example, if all 4 source pixels are black the resultant pixel is black, if one is white the resultant is dark grey, etc. The resultant edge appears to be ree of aliasing and the eye sees an edge with the apparent resolution of the original frame store of 1440 by 1152. Similarly an original resolution of 2880 by 2304 can be filtered down by averaging groups of 16 pixels to produce even better results. Progressing to yet higher resolutions can produce even better results but it has been found that beyond the 4:1 linear ratio rurther improvements are rriinimal and the expense of implementing them is not worthwhile.
An embodiment of the invention is shown in Figure 3. This shows how one colour component of a 2:1 linear oversampling system is provided by having 4 identical standard (720 x 576 pixels) resolution frame stores 22, 24, 26, 28 each producing a standard video ouput 30, 32, 34, 36. These outputs are produced in synchronism by scan circuitry 38, 40, 42, 44 under the control of genlock circuitry 46 according to known techniques. The outputs are summed in adders 48, 50, 52 to produce a 10 bit output from the original 8 bit data at outputs 30, 32, 34, 36. Bbwever, a computer 54 controlling the system sees the frame stores not as four separate ones but as one single frame store. The computer's address generator produces a row address (or scan line address) on data line 56 and a column addresses on data line 58. All address data expect for the least significant bits of both addresses are supplied to all the stores in parallel. The least significant bit (LSB) of the column address is used to select between the left hand two stores and the right hand two stores and the LSB of the row data 10 is used to select between the top two and the bottom two stores. Thus as the computer addresses seqentially along a line, beginning with an even numbered pixel (starting at 0 as an even numbered pixel) it will address a pixel in one of the left hand stores 22 or 26. On the next pixel (which will be an odd numbered pixel) it will address the πatctiing pixel in one of the right hand stores 24 or 28. Thus the computer 54 will ϋxink it is addressing a single store of double the width whilst actually addressing alternately the left and right hand stores. Each scan line of pixels will be written either into the top pair of stores 22, 24 or the bottom pair of stores 26, 28 as the LSB of the row address toggles between 1 and 0 with each successive line.
If interlace display is required this is handled by the genlock and scan circuits reading out alternate lines in the normal way and no special techniques are needed.
Because the computer sees a larger frame store when images are painted or drawn pen and stylus data of a resolution matching that of the frame store must be provided. Such a resolution is available from current tablets and styli.
Where fast computing is required it is possible to have one cαmputer associated with each of the frame stores 22, 24, 26, 28 each operating in parallel. This would require a supervising computer distributing the tasks between computers.
Figure 4 shows how video data is read into the stores, and in particular how 10 bit incxaming data at standard resolution can be encoded into the stores.
10-bit data 60 is split into the highest 8 bits and the least significant two bits. The 8 MSB's are split into 4 paths 62, 64, 66, 68 one to each store. The two LSB's are supplied to a decoder 70 which has four outputs each of which is responsive to one of the 4 possible values of the two LSB's. These outputs are connected via a pair of OR gates 71 to adders 72,74 and 76. If the value is 0 no change is made to any of the four 8 bit data paths. If the value is one then path 64 has 1 added to it in adder 72. If the value is 2, both paths 64 and 66 have 1 added is adders 72 and 74 respectively. If the value is 3 then paths 64, 66 and 68 have one added to them is adders 72, 74 and 76 respectively.
Adders 72, 74, 76 are arranged so that in the event of an overflow the output value is set to the rnaximum value. Thus if the incoming data has a value of 255, the additional 1 bit added makes no difference to the data.
Together with the read-out circuitry of figure 3 any 10 bit input eventually produces the same 10 bit output, with the exception of the highest three 10 bit values which cannot be passed through the system. With an 8 bit input the data can be read directly into the stores.
This input circuitry is for standard resolution input video. If higher resolution input were supplied then a similar addressing scheme of using the LSB'S of the row and column addresses to toggle the input between the frame stores would be used.
Similarly when using a bit-mask to paint into four separate frame stores simulating a high resolution frame store, the LSB's of the row and column addresses must be used to toggle the input between the frame stores.
It should be pointed out that there are further advantages of this method. In the 2:1 case described above there is a higher precision available after the averaging process. An original precision of 8-bits per colour in the frame-store produces an output precision of 10-bits per colour. If only 8-bit precision is required the two LSB's may be discarded. Also described is how to store an original image of 10-bits of precision in such a store.
This method of producing an anti-aliased sharp edge has the advantage over previously published methods such as that described in GB 2,089, 625 in that repeated drawing over the same edge produces no degradation to the anti-aliased image. It can be seen that repeated applications in the high resolution frame store produce no change to the edge of the line since data is always overwritten with the same value, and thus the filtered down output remains unchanged. In the method of GB 2, 089, 625 such repeated drawing eventually destroys the anti-aliased edge producting a jagged result.
The sublety of the line that can be created by this method is improved if instead of a 100% overwrite of the contents of the frame store as the line is drawn, each application of the brush produces only a small proportional change of the colour in the store towards the new colour for each pixel of the _Q_
brush shape. Thus a linear interpolation from the original colour toward the ink colour is performed on each application. One way of implementing this is, when a new colour is written into the store the system must, at least temporarily, store the colour which is being replaced at each pixel. A convenient ratio to use in a binary computer is to use l/16th of the ink colour and 15/16th of the original ink colour. It should be emphasised that this method does not of itself produce an anti-aliased edge, it is the over-sampling of the frame-buffer compared with the desired final resolution that is responsible..
The user can be allowed to select the actual interpolation factor used either overall for a line or by means of using the pressure applied to the pen to change the ratio. The pressure applied to the pen can alternatively be used to select between different brush shapes, of say different sizes. Another use of the pressure can be to control the number of applications at each pixel location before the shape is advanced to the next pixel.
Although it is desirable to have a complete frame store of the resolution described above useful results can be obtained by using a smaller frame store and working on a part of the image at any one time. In this method the user can select a desired portion of the higher resolution image to use. This is achieved as shown in Figure 5 by using a tablet and stylus 80 to designate the coordinates of a desired portion 82. This is done whilst the viewer 84 views the contents of the whole image from a frame store 86 on a monitor 88. He is then presented with a cursor showing the small proportion of the screen that would fill the entire screen if expanded to the higher resolution. When he selects the part of the screen he wants to work on by positioning the cursor and pressing the stylus, the portion of the image under the cursor is expanded up as shown in Figure 6 by a software process similar to that described with reference to Figure 4 to fill a second standard resolution frame store. In practice it is only necessary to copy the source pixels into the frame store as no extra precision is required. The full original image is either stored in a separate frame store or saved on disc if no other frame-store is available. Typically single pixels 92 in the first frame store 86 will each map to four pixels 94 in the second frame store 90 as as shown in Figure 7.
The user can then draw over the zoomed-up image using the basic aliased drawing tools 96 (1 bit bit-mask) described herein. As shown in Figure 8 he sees the image he is creating in frame store 90 via monitor 88 as an aliased image whilst he draws since there is no hardware to provide a real-time display of the anti-aliased results. Drawing is typically done under the control of the tablet and' stylus 80. When he has finished his painting of the original image the user instructs the computer and the groups of pixels are averaged and replaced in the appropriate portion of the original image in the other frame store or on disk as shown in Figure 9. The user can now see that the image is anti-aliased at a resolution related to the zoom factor he used. Note that pixels which have not been painted remain unchanged by the zoom back as the average exactly balances the zoom up. Modified pixels may result in additional precision bits which can be discarded or rounded up by a variety of techniques to the desired frame-store resolution.
With this method, after the image is zoomed back down the high resolution work is lost due to the averaging process, so, if the user zooms up again he will not have the repeated overdrawing advantages preserving anti-aliasing described -11-
above, although it is still difficult for him to destroy the anti-aliasing as he will have to zoom up and down repeatedly to do this.
An intermediate method of implementing this method of line drawing is possible by combining the advantage of the full frame-store (where the user always sees the image anti-aliased, and never has to zoom in on sections) with the oversampling frame-store.
In this method, an area around the pen is automatically zoomed up to a higher resolution in to an area of memory not visible to the user. As he draws the brush is written into the memory with the aliased drawing algorithm, and after each brush is applied the image is zoomed down to its original resolution and back into a visible standard resolution store. This allows the user to see the progress of his drawing. As the pen is moved the area around the pen which is zoomed up moves. The zoomed up image has already been written back with each brush application, so it is only necessary to zoom up the new pixels covered by the moved area around the brush into the invisible store, while discarding the zoomed up image coresponding to the pixels which we have now moved away from. The area to be zoomed up can be as small as a rectangle completely encompassing the size of the brush in use.
With this method the high resolution version of the image is discarded continuously as the artist draws so if he draws back over a line there is a risk of destroying an anti-aliased edge. On the other hand if the brush is the original 100% brush of figure 1 there is no need to prevent repeated applications over the same point when the pen is held still because the high resolution image is not discarded until the pen is moved. The advantage preventing the destruction of anti-aliasing still applies. In practice a slightly larger area than the brush area is used to allow for small unavoidable movements of the pen to occur without losing this advantage. In the case of a linear interpolated application the user will be allowed to apply repeated applications or he may instruct the machine not to apply unless the pen moves by at least one high resolution pixel thereby offering two alternative types of pen, one where the ink flows wihtout pen motion, and one where ink flow only occurs on pen movement.
It is now possible to examine the effect of other brush shapes to that shown in figure 1 which represents a circular pen tip. Other pen types■such as slanted nibs can be implemented with different shaped bit-masks. Also a randomised distribution often called a "spatter brush" can be used. This spatter brush has an effect similar to an airbrush with a very course ink spatter. Pixels in the bit-mask are either set or not set (1 or 0) and the ink spots simulated are the size of the high resolution pixels. By applying the brush with the reduced application of the interplation method described above the effective simulation is of either large spots of ink with a low opacity or spots of ink much smaller than a high resolution pixel of opaque ink. When this pen is observed at the lower standard resolution the airbrush effect is heightened.
However the spatter brush above suffers from a major disadvantage in that each application of the random pattern is in fact the same random pattern. Thus as the pen is moved a sequence lines from each scattered point will be generated, rather like a paint-brush with many errant hairs leaving their own trails.
This problem can be eliminated by generating a true random distribution for each application of the brush. This can be done by several methods some of which are described here.
In the first method a probability distribution is generated in the form of a 3-dimensional curve of the type shown in Figure 10 with the x and y coordinates of the brush shape forrning the base of the curve and with the probability of ink reaching a pixel as the height of the curve of the 3-d shape. This typcially is a gaussian curve although it is allowed to deacy to zero around the edge of the brush for practical reasons.
A flow chart showing how the brush is applied is illustrated in Figure 11 and the steps are as follows. Initially 100, coordinates x and y are set to zero. These are used for pixel locations within a brush patch. For each pixel in the brush patch a random number is generated 102 and this is compared with the height of the probability shaped curve. If the probablity shape curve is greater than the random number ink is deposited 106 in this pixel, otherwise it is not. The x coordinate is then incremented 108 and the process repeated until the edge of the patch is reached 110. The y co-ordinates is then incremented 112 in steps of one pixel. If the co-ordinate is still within the patch 114 then x co-ordinate is reset to zero 116 and the process started again for the next line of pixels in the patch.
Thus, where the probability curve reaches a maximum corresponding to the maximum random number that can be generated in the system the probability of application becomes a near certainty. For every pixel in the area around the brush this operation is performed producing a truly random distribution across the area corresponding to the desired probability distribution. Subsequent applications produce new random distributions causing build up of ink according to the desired random distribution. Where every ink application is only a small proportion of a 100% repalcement this effect is very similar to an airbrush even at the resolution of the framerstore. Where the method of supersampling described above is used in addition the effect becomes even more realistic.
In this■technique pen pressure can be used to control the size of the random number generated for each pixel so that a higher pressure increases the probability of a pixel hit. This can be done by multipying the random number generator output by the pressure value.
A quasi random distribution can be acheived by having multiple distributions according to the desired probability distribution pre-stored as different brush shapes which can be selected either at random or in sequence for succesive brush applications. To add the effect of pressure to this method the pressure value must either change the proportion of ink applied on each pixel hit or further select between pre-calculated distributions of pixel hits.
Another method of generating truly random airbrushes is as follows. Ink is applied at a constant rate to selected pixels in the frame store one by one. The pixels are chosen at random with a probability distribution around a central target pixel in the brush. A flow diagram illustrating this method of randomly depositing ink in pixels one by one is shown in Figure 12. Co-ordinates (X, Y) from a touch tablet and stylus are first read into the computer 120. Pixel co-ordinates (x, y) relative to (X,Y) are then generated according to a gaussian distribution centered on (X,Y). An optional delay 126 may be included in the sytem according to the flow chart and this would preferably be controllable either by stylus pressure on some other means to vary the rate at which image data is written to the pixels. Next the ink or paint is applied to the image in a pixel of the frame store whose co-ordinates are (X+x, Y+y) 128. Whilst the stylus remains 'in pressure' 130 this loop of the flow chart will be re-executed thus gradually building up ink or paint in a gaussian distribution around the co-ordinates (X,Y) until a desired amount of ink has been deposited.
A generally circular gaussian distribution is achieved by having separable gaussian functions in each of the x and y directions. Computer algorithms for generating such a gaussian distribution are described in 'Semi-numerical algorithms' D.E. Knuth, 2nd. Ed. 1981.
Using such a method the selected pixels will be clustered around the target or central pixel.
A technique now described to produce acceptable results is to generate a semi-random digital number with a linear distribution in the range 0 - 65535 by well known techniques. The lower 12 bits of this random number are used to address a 4096 byte look-up-table which is preloaded with bytes in the range 0 - 255. Any particular entry in the table is thus selected with an equal probability. The entry selected is used to provide the offset in the x direction of a selected pixel from the stylus location. To achieve a distribution where the value 0 (no offset) is say 8 times as likely to occur than the value 255 (maximum offset), 0 is entered at eight times as many locations in the table as the value 255 is entered. The top bit of the original random number is used to generate a sign bit for the resultant value thus generating a random distibution between - 255 and + 255 with a distribution determined by the frequency at which numbers appear in the table. This may be calculated for a gaussian distribution. A similar arrangement deterπrines the offset of a selected pixel in the y direction. An example of such a look up table is shown in Table 1. This shows the number of occurrences of each number in the range 0 - 114 which will be required to produce a gaussian distribution in this range.
Better results are achieved if a larger table is used, as this reduces the likelihood of completely missing numbers in the table where the probability desired falls below 1 in 4096.
A further refinement improves this technique. As described the distribution cuts off at - 255 and + 255. This means that if the airbursh is sprayed for some time a rectangular edge beyond which paint does not fall appears due to the lack of the expected ink spots which would otherwise fall beyond this edge. In practice a circular boundary is more acceptable, and this can be achieved by performing an additional test on the random number pair generated. The x and y offset coordinates are each squared and the results added. This result is then tested against a limit threshold set to 255 squared. If the value is above this, the ink deposit is inhibited. A lower limit will produce a smaller brush. Although this slightly reduces the ink flow rate due to the occasional inhibiting of the ink deposit this occurs relatively rarely and thus in general the ink flow rate is maintained.
In the example resolution discussed a correction is needed due to the horizontal pixel pitch being different from the vertical pixel pitch. This means that pixels are slightly rectangular, and an equal distribution horizontally and vertically will produce a slightly elliptical result, appearing stretched horizontally. This can be corrected whatever the method of generating the gaussian distribution by rπultiplying the horizontal coordinate by a factor less than unity to reduce the coordinate in the correct proportion. In a system where the rectangularity results in a stretch vertically the factor would be applied to the vertical coordinate.
To apply the effects of pressure to this technique the rate of applying ink can be varied, or the proportion on ink applied at each bit can be varied. For example the delay 126 may be varied with pressure.
Another way of using pressure would be to vary the width/fineness of the airbrush with the width of the gaussian distribution controlled by pressure. Other probability distributions give other shapes which may be used as desired.
These airbrush techniques are appliable to all the higher resolution implementations described here as well as standard resolution painting techniques.
A further technique benefitting from this higher resolution approach to image creation is a 1-bit cut and paste technique, where an otherwise high resolution aliased join between two images will appear at a standard lower resolution as a anti-aliased edge.
The spatter or airbrush technique could be used to 'airbrush' a portion of an image from a first frame store into an image in a second frame store by varying the ink colour used for writing into the store on a pixel by pixel basis, using for each pixel the colour in the matching pixel in the second frame store which contains a second image. Furthermore, a (x,y) displacement can be applied when reading from the second frame store to effect a shift in the image position.
Figure imgf000020_0001
Figure imgf000021_0001
Figure imgf000021_0002
Figure imgf000022_0002
Figure imgf000022_0001

Claims

1. A video image creation system comprising means for storing image data at a first resolution, means for writing data into selected pixels of the storage means under the control of a bit-mask, and means for displaying the image data at a second lower resolution wherein each pixel in the display displays an image portion derived from a group of pixels in the storage means.
2. A video image creation system according to claim 1 in which the means for writing image data into the storage means is under the control a manually operable means.
3. A video image creation system comprising means for storing image data at a first resolution, means for writing data into selected pixels of the storage means under the control of a manually operable means, and means for displaying the image at a second lower resolution wherein each pixel in the display displays an image portion derived from a group of pixels in the storage means.
4. A video image creation system according to claim 1, 2 or 3 in which the image portion displayed by each pixel in the display is derived from a group of at least four pixels in the storage means.
5. A video image creation system according to claim 1, 2, 3 or 4 in which the storage means comprises at least four substantially identical frame storage means each having a resolution substantially identical to the display means.
6. A video image creation system according to claim 5 including means for addressing the four frame storage means by supplying row and column addresses, the least significant bits (LSB's) of the row and column addresses selecting which of the frame storage means is addressed.
7. A video image creation system according to any preceding claim in which the means for writing data into the storage means only partially overwrites existing data with new data by interpolating between new and existing data and replacing existing data with data resulting from the interpolation.
8. A video image creation system according to claim 7 in which the interpolation factor is derived from pressure applied to a manually operable means.
9. A.method for creating a video image with a simulated artist implement under the control of a tablet and stylus, comprising the steps of storing and displaying image data at a desired resolution, the data comprising a plurality of pixels, selecting one of a plurality of artists implements, each implement comprising a group of pixels at a second higher resolution than the stored image, positioning the group of pixels at a desired location in the stored image under the control of the tablet and stylus, and, if the implement is to be written into the stored image at that location, enlarging a portion of the stored image surround ng the implement to the same resolution as the implement, replacing image data in pixels in the enlarged portion with image data derived from corresponding pixels in the group, and deriving image data for each pixel in the stored image from groups of pixels in the enlarged portion.
10. A method of creating a video image with a simulated airbrush comprising the steps of: providing image data in a storage means comprising a plurality of pixels, assigning a probability density function to a group of pixels representing the air-brush, positioning the group of pixels over a desired portion of the stored, generating a random number for each pixel in the group, comparing the random number for a pixel with the value of the said function assigned to that pixel and over-writing data in the corresponding pixel in the stored image with image data assigned to the airbrush in accordance with the result of the comparison.
11. A method of creating a video image with a simulated airbrush, comprising the steps of: providing image data in a storage means comprising a plurality of pixels, selecting a co-ordinate location in the storage means associated with an area of storage means where the airbrush is to be applied, randomly selecting a displacement from the selected co-ordinates location, writing image data to a pixel at that displacement, and repeating the steps of randomly selecting a displacement and writing image data to a pixel at that displacement.
PCT/GB1991/000172 1990-02-05 1991-02-05 Video image creation system WO1991011774A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB909002463A GB9002463D0 (en) 1990-02-05 1990-02-05 Video image creation systems
GB9002463.9 1990-02-05

Publications (1)

Publication Number Publication Date
WO1991011774A1 true WO1991011774A1 (en) 1991-08-08

Family

ID=10670404

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB1991/000172 WO1991011774A1 (en) 1990-02-05 1991-02-05 Video image creation system

Country Status (2)

Country Link
GB (1) GB9002463D0 (en)
WO (1) WO1991011774A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0654765A1 (en) * 1993-11-23 1995-05-24 Hewlett-Packard Company Ink rendering
CN1313959C (en) * 1995-04-19 2007-05-02 吴乐南 Four picture collector intelligent monitoring method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0202747A2 (en) * 1985-04-20 1986-11-26 Quantel Limited Improvements in or relating to video image creation systems
US4873515A (en) * 1987-10-16 1989-10-10 Evans & Sutherland Computer Corporation Computer graphics pixel processing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0202747A2 (en) * 1985-04-20 1986-11-26 Quantel Limited Improvements in or relating to video image creation systems
US4873515A (en) * 1987-10-16 1989-10-10 Evans & Sutherland Computer Corporation Computer graphics pixel processing system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Society for Information Display, International Symposium, Digest of Technical Papers, vol. XVIII, New Orleans, Louisiana, 12-14 May 1987, Palisades Institute for Research Services, Inc., (New York, US), D. Oakley et al.: "Turbo convolution: a fast antialiasing algorithm for dejagging raster graphics displays", pages 398-401 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0654765A1 (en) * 1993-11-23 1995-05-24 Hewlett-Packard Company Ink rendering
US5999659A (en) * 1993-11-23 1999-12-07 Hewlett-Parkard Company Apparatus and method for smoothing the lines drawn by a user at a computer
CN1313959C (en) * 1995-04-19 2007-05-02 吴乐南 Four picture collector intelligent monitoring method

Also Published As

Publication number Publication date
GB9002463D0 (en) 1990-04-04

Similar Documents

Publication Publication Date Title
US5459529A (en) Video processing for composite images
US4602286A (en) Video processing for composite images
US4633416A (en) Video image creation system which simulates drafting tool
US5276787A (en) Electronic graphic system
US5077610A (en) Previewing cuts and transformations in an electronic image composition system
EP0202014B1 (en) Improvements in video image creation systems
US5216755A (en) Video image creation system which proportionally mixes previously created image pixel data with currently created data
US5986665A (en) Electronic graphic system
GB2113950A (en) Image composition system
GB2235856A (en) Paintbox-type graphics system trials at low resolution then converts to high resolution
WO1992021096A1 (en) Image synthesis and processing
US5289566A (en) Video image creation
US5175625A (en) Video image creation systems combining overlapping stamps in a frame period before modifying the image
GB2157122A (en) Image composition system
GB2140257A (en) Video image creation
US4775858A (en) Video image creation
EP0538056B1 (en) An image processing system
WO1991019266A1 (en) Computer graphics
WO1991011774A1 (en) Video image creation system
GB2327838A (en) Modifying image data
JPH01131976A (en) Device and method for texture mapping
JP3501479B2 (en) Image processing device
GB2157121A (en) Image composition system
JP3300058B2 (en) Electronic graphic system
JP4372924B2 (en) Moving image material generation method and apparatus

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IT LU NL SE

NENP Non-entry into the national phase

Ref country code: CA